/* AppBoom account screens. Presentation only; auth state remains in client.js. */
.is-start{padding-bottom:env(safe-area-inset-bottom,0px)}
.access-screen{display:block;max-width:460px;margin:18px auto 30px;min-height:0}
.access-panel.auth-card{display:block;width:100%;max-width:none;min-height:0;padding:25px 22px;background:var(--surface);border:1px solid var(--edge);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);margin:0}
#gatePanel{display:flex;flex-direction:column}.access-mark{order:0;display:grid;place-items:center;width:46px;height:46px;border:1px solid #ffffffde;border-radius:16px;background:linear-gradient(135deg,#ffffffc9,#dce7ff87);color:#6869df;box-shadow:0 5px 15px #5a7aa914;margin-bottom:20px}.access-mark svg{width:25px;height:25px}.access-eyebrow{order:0;font-size:9px;line-height:1.5;letter-spacing:1.5px;font-weight:750;color:#7187a6;margin-bottom:7px}
.access-heading{order:0;font-size:29px!important;letter-spacing:-1.1px;line-height:1.2;margin:0;color:var(--ink)}
.access-description{order:0;font-size:13px!important;line-height:1.75;color:#6a809f;margin:11px 0 23px!important}
.social-actions{order:1;display:grid;grid-template-columns:1fr;gap:10px;margin-top:2px}
.provider-button{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:center;width:100%;min-height:54px;border:1px solid var(--line);border-radius:15px;font-size:14px;font-weight:700;text-align:left;line-height:1.5;padding:12px 15px;color:#30496f;background:var(--surface-strong);touch-action:manipulation}
.provider-button [data-provider-label]{grid-column:2;line-height:1.45}.provider-button small{grid-column:2;font-size:10px;line-height:1.5;color:#798ba5;font-weight:500}
.provider-icon{display:grid;place-items:center;grid-column:1;grid-row:1 / span 2;width:28px;height:28px;line-height:1;border-radius:9px;flex:none}.provider-yandex{background:#191b21;border-color:#191b21;color:#fff}.provider-yandex .provider-icon{background:#fa453c;color:#fff;font:20px Arial,sans-serif;border-radius:50%;letter-spacing:-1px}.provider-vk{background:#087bff;border-color:#087bff;color:#fff}.provider-vk .provider-icon{color:#087bff;background:white}.provider-icon svg{width:23px;height:19px;fill:currentColor;stroke:none}.provider-button:disabled{opacity:1;cursor:default}.provider-yandex:disabled{background:#ffffff80;border-color:#dce5f1;color:#536782}.provider-vk:disabled{background:#edf4ffb3;border-color:#dbe7fb;color:#557ba9}.provider-note{order:2;font-size:10px!important;line-height:1.75;text-align:center;color:#7a8da8;margin:11px 0 20px!important}
.email-access{order:3;border:0;border-top:1px solid #dce5f0;margin:0;padding:5px 0 0}.email-access>summary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;list-style:none;cursor:pointer;font-size:12px;font-weight:650;color:#6d83a3}.email-access>summary::-webkit-details-marker{display:none}.email-access>summary:after{content:'⌄';font-size:18px;font-weight:400;color:#8b9bb1}.email-access[open]>summary:after{content:'⌃'}
#webAuthTitle,#webAuthHint{display:none}.access-panel .auth-tabs{display:flex;gap:4px;margin:9px 0 21px;padding:4px;border:1px solid #ffffff87;border-radius:15px;background:#dee8f780}.access-panel .auth-tabs button{flex:1;min-height:44px;border:0;border-radius:11px;background:transparent;padding:9px 6px;font-size:12px;font-weight:700;color:#778ba9}.access-panel .auth-tabs button.active{background:var(--surface-strong);color:#305fd0;box-shadow:0 2px 8px #43649512}
.access-panel form{margin:0}.access-panel form label:not(.consent){display:block;font-size:12px;line-height:1.6;font-weight:650;color:#546d91;margin:17px 0 7px}.access-panel form label:first-child{margin-top:0}.access-panel input:not([type=checkbox]),.access-panel select{width:100%;height:53px;min-height:53px;padding:13px 14px;border:1px solid #dce6f3;border-radius:15px;background:var(--surface-strong);font-size:16px;line-height:1.5;color:#243c61;box-shadow:inset 0 2px 4px #3f629408;scroll-margin-block:24px}.access-panel input::placeholder{color:#99a9bf;font-size:13px}.access-panel input:focus,.access-panel select:focus{outline:3px solid #336cf512;border-color:#7c9fee;box-shadow:none;background:#fff}.access-panel .input-wrap input{padding-right:82px}.access-panel .reveal{position:absolute;right:7px;top:50%;transform:translateY(-50%);height:44px;min-height:44px;min-width:66px;padding:10px 5px;font-size:10px;color:#7b8eab;background:transparent;border:0}
.access-panel .primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:54px;margin-top:23px;border-radius:var(--button-radius);background:var(--accent);color:#fff;font-size:14px;font-weight:750;line-height:1.5}.access-panel .primary svg{width:18px;height:18px}.access-panel .secondary{min-height:48px;font-size:12px;line-height:1.6;width:100%}
.access-panel .policy-note{order:8;font-size:10px!important;line-height:1.8;color:#8191aa;text-align:center;margin:21px 0 0!important}.access-panel .policy-note a{color:#647da4;text-decoration-color:#a9bbd3;text-underline-offset:3px}
#gatePanel[data-provider-mode=email] .email-access{order:1;border:0;padding:0}#gatePanel[data-provider-mode=email] .email-access>summary{display:none}#gatePanel[data-provider-mode=email] .auth-tabs{margin-top:0}#gatePanel[data-provider-mode=email] .social-actions{order:5;gap:9px;padding-top:19px;margin-top:21px;border-top:1px solid #dce5f0}#gatePanel[data-provider-mode=email] .provider-button{min-height:60px;font-size:12px;padding:10px 13px}#gatePanel[data-provider-mode=email] .provider-note{order:6;font-size:10px!important;margin:10px 0 0!important}
.access-context{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 24px;font-size:9px;line-height:1.5;letter-spacing:.65px;color:#6f86a8;text-transform:uppercase}.access-context span{font-size:10px;text-transform:none;letter-spacing:0;padding:6px 9px;border-radius:8px;background:#e2eefec7;color:#4f7ab9;white-space:nowrap}.access-context b{font-weight:650}body[data-auth-step=gate] .access-context{display:none}
.access-panel .form-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:16px;background:#e4edffb0;color:#5473cf;margin:0 0 21px;border:1px solid #ffffffaa}.access-panel .form-icon svg{width:24px;height:24px}
.access-panel #applePanel h2,.access-panel #codePanel h2,.access-panel #waitingPanel h2,.access-panel #pausedPanel h2{font-size:28px;line-height:1.2;letter-spacing:-1px;text-align:left;margin:0 0 13px;color:var(--ink)}.access-panel .muted{font-size:13px;line-height:1.8;color:#6b82a2;text-align:left;margin:0 0 23px}
.access-panel .consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.75;font-weight:400;color:#6b809f;min-height:44px;margin:19px 0 0}.access-panel .consent input{width:20px;height:20px;min-height:20px;flex:none;margin:2px 0 0;accent-color:#3d6cde}.access-panel .code-input{font-size:29px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}.access-panel .code-input::placeholder{font-size:28px;letter-spacing:.25em;color:#a4b3c8}
.access-panel .tiny{font-size:11px;line-height:1.85;color:#7c8faa;margin:15px 0 0}.access-panel .login-privacy{font-size:11px;line-height:1.85;color:#7186a4;margin-top:20px}.access-panel .login-privacy summary{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:11px;color:#6b83a6}.access-panel .text-button{width:100%;text-align:center;min-height:44px;padding:11px 0;font-size:11px;line-height:1.6;color:#7087aa;margin:9px 0 0}.access-panel #websiteLogout{border-top:1px solid #dce5f0;margin-top:17px;padding-top:17px}.access-panel .error,.provider-feedback{background:#fff3ef;border:1px solid #eed4cc;border-radius:15px;color:#a4533f;font-size:12px;line-height:1.75;padding:13px 14px;overflow-wrap:anywhere;margin:15px 0 0}.provider-feedback{max-width:460px;margin:15px auto}.provider-feedback[data-tone=success]{background:#eaf8f0;border-color:#cae5d6;color:#3b8568}.access-panel .offline{background:#fff9ee;border:1px solid #efdfbe;border-radius:15px;font-size:12px;line-height:1.8;padding:13px}.access-panel #authWaitNote{background:#edf2fdbd;border-radius:13px;padding:12px;color:#6e84aa}
.connection-visual{display:flex;align-items:center;justify-content:center;gap:17px;padding:17px 0 28px}.connection-tile{display:grid;place-items:center;width:67px;height:67px;border:1px solid #ffffffd9;border-radius:23px;background:linear-gradient(145deg,#ffffffd9,#e4edff9e);box-shadow:0 8px 19px #5074ab19,inset 0 1px 0 white}.connection-tile img{width:43px;height:43px}.connection-tile svg{width:29px;height:29px;color:#6682b4}.connection-flow{display:flex;align-items:center;gap:5px}.connection-flow i{width:5px;height:5px;border-radius:50%;background:#82a0e7;animation:connection-dot 1.5s ease-in-out infinite}.connection-flow i:nth-child(2){animation-delay:.2s}.connection-flow i:nth-child(3){animation-delay:.4s}.access-panel .waiting-label{display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:12px 14px;background:#e6eefb93;border:1px solid #ffffff9e;border-radius:14px;color:#7087aa;font-size:11px;margin-top:22px}.waiting-note{font-size:11px;line-height:1.85;color:#7c90ac;margin:15px 0 0}.access-panel #waitingPanel h2{text-align:center;font-size:27px}.access-panel #waitingPanel .muted{text-align:center;margin-bottom:0}.access-panel .status-dot{background:#37a38c;box-shadow:0 0 0 4px #37a38c12}
.account-methods{border-top:1px solid #dce5f0;padding-top:7px;margin-top:18px}.account-methods>summary{display:flex;align-items:center;justify-content:center;min-height:44px;color:#788eac;font-size:11px;cursor:pointer}.account-methods p{font-size:11px;line-height:1.8;color:#7a8eaa;margin:0 0 13px}.account-methods .provider-button{min-height:48px;font-size:12px;margin-top:10px}.is-start .site-foot{display:none}
#gateFeedback .error{margin-top:15px}#authFeedback .error{margin:0 0 20px}
@keyframes connection-dot{0%,80%,100%{opacity:.3;transform:scale(.7)}40%{opacity:1;transform:scale(1.1)}}
@media(min-width:761px){.access-screen{margin-top:38px}.access-panel.auth-card{padding:32px}.access-heading{font-size:31px!important}}
@media(max-width:350px){.access-screen{margin-top:13px}.access-panel.auth-card{padding:22px 18px}.access-mark{width:41px;height:41px;border-radius:14px;margin-bottom:17px}.access-heading{font-size:26px!important}.access-description{font-size:12px!important;margin-bottom:21px!important}.access-panel #applePanel h2,.access-panel #codePanel h2,.access-panel #pausedPanel h2{font-size:26px}.access-panel .muted{font-size:12px}.access-context{font-size:8px;gap:6px}.access-context span{font-size:9px}.access-panel .consent{font-size:11px}.provider-button{column-gap:10px}}
@media(prefers-reduced-motion:reduce){.connection-flow i{animation:none;opacity:.65}}

/* Account identity stays visible before any credentials are entered. */
body.is-start .office-wallet{display:none}
.access-screen{margin:12px auto 24px}
.access-panel.auth-card{padding:24px 21px}
.identity-header{display:flex;align-items:center;gap:14px;margin:0 0 25px;min-width:0}
.identity-header>div{min-width:0}
.identity-mark{display:grid;place-items:center;flex:none;width:58px;height:58px;border:1px solid #fff;border-radius:19px;background:linear-gradient(145deg,#ffffffdc,#e9efffb8);box-shadow:0 5px 18px #4f74ad12,inset 0 1px 0 white;color:#172137}
.identity-mark img{display:block;width:43px;height:43px;object-fit:contain;background:transparent}
.apple-glyph{fill:currentColor!important;stroke:none!important}
.identity-mark .apple-glyph{width:30px;height:33px}
.identity-header .access-heading{font-size:25px!important;line-height:1.2;letter-spacing:-.9px;margin:0}
#gatePanel .identity-header .access-description{font-size:11px!important;line-height:1.65;margin:6px 0 0!important;color:#8291aa}
.access-panel #applePanel .identity-header h2,.access-panel #codePanel .identity-header h2{font-size:28px;line-height:1.2;letter-spacing:-.8px;margin:0}
.identity-description{font-size:11px!important;line-height:1.6!important;color:#8291aa!important;margin:6px 0 0!important}
.access-panel .auth-tabs{margin:0 0 20px;padding:4px;border-radius:15px}
.access-panel form label:not(.consent){font-size:12px;margin-top:18px;margin-bottom:7px}
.access-panel input:not([type=checkbox]),.access-panel select{height:54px;min-height:54px;border-radius:15px}
#codeForm input.code-input{font-size:29px;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
.access-panel .primary{margin-top:22px;min-height:54px;font-size:13px}
.access-panel .consent{font-size:12px;line-height:1.7;gap:10px;margin-top:19px}
.access-panel .consent input{width:20px;height:20px;margin-top:2px}
.access-panel .policy-note{font-size:10px!important;margin-top:19px!important;line-height:1.8}
.access-context{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:22px;letter-spacing:0;text-transform:none}
.access-context>span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;font-size:10px;line-height:1.5;border-radius:10px;background:#e4edf8a6;color:#7b90ad}
.access-context img{width:17px;height:17px;object-fit:contain}
.access-context svg{width:13px;height:13px;flex:none}
.access-context>span>svg:not(.apple-glyph){width:12px;height:12px;color:#43a18e}
.access-context .context-arrow{width:14px;height:14px;color:#a8b7ca}
.access-context>span.context-apple{background:#ffffff8a;color:#657d9e}
.access-context .context-apple .apple-glyph{width:12px;height:14px;color:#34475f}
.access-context b{font-weight:600}
#gatePanel[data-provider-mode=email] .social-actions,#gatePanel[data-provider-mode=email] .provider-note{display:none}
.social-actions:not(:has(.provider-button:not([hidden]))){display:none}
.account-methods:not(:has(.provider-button:not([hidden]))){display:none}
.access-panel .login-privacy{margin-top:13px;padding-top:0;font-size:11px}
.access-panel .login-privacy>summary{min-height:44px;color:#6d83a5;list-style:none;cursor:pointer;gap:6px}
.access-panel .login-privacy>summary::-webkit-details-marker{display:none}
.access-panel .login-privacy>summary:after{content:'⌄';font-size:16px;color:#97a8c1}
.access-panel .login-privacy[open]>summary:after{content:'⌃'}
.access-panel .login-privacy p{font-size:11px;line-height:1.85;padding:13px 14px;background:#e8eff8a1;border-radius:14px;margin:5px 0 10px}
.access-panel .login-privacy strong{font-weight:650;color:#617b9d}
.access-panel #websiteLogout{margin-top:10px;padding-top:13px;font-size:10px}
.access-panel #authFeedback .error{margin:0 0 20px}
.connection-tile .apple-glyph{width:31px;height:34px;color:#263b59}
.access-panel #waitingPanel h2{font-size:25px;letter-spacing:-.8px}
.access-panel #waitingPanel .muted{font-size:12px}
.access-panel .waiting-label{justify-content:center;margin-top:21px}
.waiting-note{text-align:center;font-size:10px;line-height:1.8}
@media(min-width:761px){.access-screen{margin-top:32px}.access-panel.auth-card{padding:29px}}
@media(max-width:350px){.access-panel.auth-card{padding:21px 18px}.identity-header{gap:11px;margin-bottom:22px}.identity-mark{width:50px;height:50px;border-radius:16px}.identity-mark img{width:37px;height:37px}.identity-mark .apple-glyph{width:27px;height:29px}.identity-header .access-heading{font-size:22px!important}.access-panel #applePanel .identity-header h2,.access-panel #codePanel .identity-header h2{font-size:25px}#gatePanel .identity-header .access-description,.identity-description{font-size:10px!important}.access-context{gap:6px}.access-context>span{font-size:9px;padding-inline:7px}.access-panel .consent{font-size:11px}}

/* Email is the primary sign-in method. Provider marks follow their published artwork. */
#gatePanel .email-access{order:1;border:0;margin:0;padding:0}
#gatePanel .email-access>summary{display:none}
#gatePanel .social-section{order:2;margin-top:24px}
#gatePanel .social-section:not(:has(.provider-button:not([hidden]))){display:none}
#gatePanel .social-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;padding:0;margin:0;border:0}
#gatePanel .social-section .provider-note{display:flex;align-items:center;gap:12px;margin:0 0 17px!important;color:#7d8da4;font-size:11px!important;line-height:1.5;white-space:nowrap}
#gatePanel .social-section .provider-note:before,#gatePanel .social-section .provider-note:after{content:"";height:1px;flex:1;background:#dce5f0}
.provider-button{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:56px;padding:12px 18px;border:0;border-radius:12px;font:500 15px/20px Arial,sans-serif;text-align:center;box-shadow:none;transition:opacity .15s,transform .15s}
.provider-button [data-provider-label]{line-height:20px}
.provider-button .provider-icon{display:flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;margin:0;border-radius:0;background:transparent;font:inherit;letter-spacing:normal}
.provider-button .provider-icon img{display:block;width:28px;height:28px;object-fit:contain}
.provider-button small{display:none}
.provider-yandex,.provider-yandex:disabled{background:#000;border-color:#000;color:#fff}
.provider-vk,.provider-vk:disabled{background:#0077ff;border-color:#0077ff;color:#fff}
.provider-yandex .provider-icon,.provider-vk .provider-icon{background:transparent;color:inherit}
.provider-button:disabled{opacity:.55}
.provider-button:focus-visible{outline:3px solid #83a8ff;outline-offset:3px}
.provider-button:not(:disabled):active{transform:scale(.985)}
.account-methods .provider-button{min-height:48px;font-size:14px}
#gatePanel[data-provider-mode=email] .social-actions{display:grid}
@media(max-width:350px){.provider-button{font-size:14px;padding-inline:12px}.provider-button .provider-icon,.provider-button .provider-icon img{width:26px;height:26px}#gatePanel .social-section{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.provider-button{transition:none}.provider-button:not(:disabled):active{transform:none}}
