.auth-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;padding:32px 20px 48px;background:radial-gradient(ellipse at 15% 8%,#e6ecd7a6,transparent 52%),var(--bg,#fbf7ef)}
.auth-screen>.onboard-brand{margin:0 0 28px}
.auth-panel{width:min(100%,450px);background:#fffdf8;border:1px solid #e5ddce;border-radius:28px;padding:32px;box-shadow:0 16px 50px #6559430b}
.auth-emblem{display:grid;place-items:center;width:55px;height:55px;background:#edf0e1;color:#708361;border-radius:19px;margin:0 auto 18px;transform:rotate(-6deg)}
.auth-emblem .icon{width:28px;height:28px}
.auth-panel>.eyebrow{text-align:center;font-size:10px;letter-spacing:1.5px}
.auth-panel h1{font-size:29px;line-height:1.25;text-align:center;margin:10px 0 12px;color:#544936}
.auth-intro{text-align:center;color:#877966;font-size:13px;line-height:1.7;margin-bottom:23px}
.auth-tabs{display:flex;gap:5px;background:#f3eee3;padding:5px;border-radius:14px;margin-bottom:24px}
.auth-tabs button{flex:1;border:0;border-radius:10px;padding:11px 8px;background:transparent;font:inherit;font-size:13px;color:#746853;cursor:pointer}
.auth-tabs button[aria-pressed=true]{background:#fffdf8;color:#536544;box-shadow:0 2px 6px #5e553f10;font-weight:600}
.auth-panel fieldset{border:0;margin:0;padding:0;min-width:0}
.auth-panel label,.account-form label{display:block;font-size:13px;font-weight:600;color:#645741;margin-bottom:17px}
.auth-panel input,.account-form input{display:block;width:100%;box-sizing:border-box;margin-top:8px;border:1px solid #dfd7c7;border-radius:12px;background:#fffcf6;padding:13px 14px;font:inherit;font-size:16px;color:#514631}
.auth-panel input:focus-visible,.account-form input:focus-visible{outline:2px solid #8eaa78;outline-offset:2px}
.password-control{position:relative;display:block}
.password-control input{padding-right:52px}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:10px;background:transparent;color:#6d7e62;cursor:pointer}
.password-toggle:hover,.password-toggle:focus-visible{background:#edf0e1;color:#4f6345;outline:none}
.password-toggle .icon{width:21px;height:21px}
.password-toggle[aria-pressed=true]{background:#edf0e1}
.auth-panel input{scroll-margin-block:120px}
.auth-panel .primary{width:100%;margin-top:6px}
.auth-hint{font-size:11px;line-height:1.6;color:#8a7d68;margin:-8px 0 17px}
.auth-error{font-size:13px;line-height:1.6;color:#a04437;margin:0 0 12px;overflow-wrap:anywhere}
.auth-error:empty{display:none}
.auth-footnote{font-size:11px;text-align:center;color:#93856e;line-height:1.6;margin:20px 0 0}
.auth-panel button:disabled{cursor:wait;opacity:.65}
.account-panel{max-width:560px}
.auth-link{display:block;margin:18px auto 0;border:0;background:none;color:#586c48;font:inherit;font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.auth-notice{padding:12px 14px;border-radius:12px;background:#edf0e1;color:#4e6540;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.auth-notice:empty{display:none}
.verification-state{font-size:12px;color:var(--muted)}
.push-panel{border-top:1px solid #e5ddce;margin-top:28px;padding-top:20px}
.push-panel h2{font-size:19px;margin:0 0 10px}
.push-panel p{font-size:13px;line-height:1.7}
.push-panel .auth-hint{margin:15px 0 0}
.push-panel button:disabled{opacity:.6;cursor:default}
.account-email{overflow-wrap:anywhere;color:var(--muted);line-height:1.6;margin:0 0 25px}
.account-logout{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;border:1px solid #d9ccbd;background:#fffaf1;border-radius:14px;padding:14px;font:inherit;color:#8a4f42;cursor:pointer;margin-top:20px}
@media(max-width:480px){.auth-screen{padding:24px 15px max(36px,env(safe-area-inset-bottom));min-height:100dvh}.auth-panel{padding:25px 22px;border-radius:23px}.auth-panel h1{font-size:26px}.auth-screen>.onboard-brand{margin-bottom:22px}}

.account-security,.calendar-manage{border-top:1px solid var(--line,#e1ddd4);padding:18px 0;text-align:left}
.account-security summary,.calendar-manage summary{cursor:pointer;font-weight:600;overflow-wrap:anywhere}
.account-security form,.calendar-manage form{margin-top:18px}
.space-managed{min-width:0}.space-managed>.space-card{width:100%}.calendar-manage{padding:14px 12px}
#conflict-banner{margin-bottom:20px}
.device-row {display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border,#ddd);flex-wrap:wrap;}
.device-row p,.device-row span {overflow-wrap:anywhere;min-width:0;flex:1 1 140px;}
.device-row select {max-width:100%;padding:8px;border-radius:8px;}
#billing-status,#invitation-inbox {margin:20px 0;}
#billing-status p,#invitation-inbox p {line-height:1.6;}
#device-management h3,[data-sharing-members] h3 {margin:18px 0 10px;line-height:1.5;}
#device-management .auth-hint {margin:8px 0 12px;line-height:1.7;}
.device-row .text-button {font-size:12px;line-height:1.5;min-height:36px;}
.sync-banner,.window-controls{border:1px solid var(--border,#dce3d7);border-radius:16px;padding:12px 16px;margin-bottom:20px;background:var(--surface,#fffdf6);font-size:.85rem;line-height:1.5}
.sync-banner p,.window-controls p{margin:4px 0 10px}
.sync-actions,.window-pages,.window-controls form{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.window-controls label{display:flex;flex-direction:column;gap:4px;min-width:0}
.window-controls input{max-width:100%;padding:8px;border:1px solid #dce3d7;border-radius:8px;background:transparent;color:inherit;font:inherit}
.window-controls button:disabled{opacity:.45;cursor:default}
@media(max-width:600px){.window-controls form label{flex:1 1 40%}.window-controls form button{flex-basis:100%}}
