/* Hosted account controls and touch-friendly installation. Local desktop styles remain unchanged. */
.web-status{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 16px;margin:-20px 0 24px;background:#e8eddf;border:1px solid #d5ddcb;border-radius:12px;font-size:13px}
.web-status>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.web-status button{font-size:12px;padding:9px 12px}
.web-sync-dot{width:8px;height:8px;border-radius:50%;background:#758176}.web-sync-dot.ready{background:#34734c}.web-sync-dot.conflict,.web-sync-dot.error,.web-sync-dot.auth{background:#b75a35}.web-sync-dot.syncing,.web-sync-dot.pending{background:#bd9239}
.web-welcome{max-width:700px;margin:5vh auto}.web-welcome>p{max-width:540px}.web-welcome .card{max-width:450px;margin-top:30px}.web-welcome input{width:100%;font-size:16px}.web-welcome form>button{width:100%;min-height:48px}#webLoginError{color:#9f3f2c;min-height:20px;font-size:14px}
.web-locked aside nav,.web-locked header{display:none}.web-locked main{padding-top:25px}.web-locked .aside-footer{margin-top:80px}
.web-settings{width:min(720px,94vw);max-height:90dvh;overflow:auto;border:1px solid #d9ddcf;border-radius:18px;background:#fffef8;color:#253c35;padding:28px}.web-settings::backdrop{background:#10282099}.web-settings section{border-top:1px solid #e1e3d7;padding:24px 0 10px}.web-settings h2{margin:0}.web-settings p{overflow-wrap:anywhere}.web-conflict{background:#fff1d8;border:1px solid #e3c99d;border-radius:12px;padding:18px;margin:15px 0}
@media(display-mode:standalone){body.hosted-app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}body.hosted-app aside{padding-top:max(20px,env(safe-area-inset-top))}}
@media(max-width:700px){.hosted-app input,.hosted-app textarea,.hosted-app select{font-size:16px}.web-locked aside{position:static;width:auto;padding:20px}.web-locked aside .brand-small,.web-locked aside .aside-footer{display:none}.web-locked main{margin-left:0;padding:20px}.web-welcome{margin:10px auto}.web-welcome h1{font-size:36px}.web-status{margin-top:-10px}.web-settings{padding:19px}.web-settings button{min-height:44px}.web-settings .row{align-items:stretch}}

.web-password-toggle{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}.web-welcome .web-password-toggle input{width:20px;height:20px;margin:0;flex:none}#webPasswordHint:empty{display:none}
