/* Account access shares the training dashboard's blue and slate palette. */
.account-button { position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 13px;border:1px solid #d4deee;border-radius:9px;background:#fff;color:#354b70;font-size:12px;font-weight:600; }
.account-button:hover { background:#edf3ff;border-color:#b9cdf2; }
.account-button>svg { width:18px;height:18px; }
#account-button-label { display:block;max-width:94px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.account-status-dot { width:6px;height:6px;position:absolute;right:5px;top:5px;border-radius:50%;background:#94a3b8; }
.account-button[data-phase="synced"] .account-status-dot { background:#3268e8; }
.account-button[data-phase="saving"] .account-status-dot { background:#6994ef; }
.account-button[data-phase="offline"] .account-status-dot,.account-button[data-phase="conflict"] .account-status-dot,.account-button[data-phase="expired"] .account-status-dot,.account-button[data-phase="error"] .account-status-dot { background:#b47516; }
.sync-banner { display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 36px;border-bottom:1px solid #e9dbb8;background:#fff8e9;color:#775923;font-size:12px;line-height:1.7; }
.sync-banner[hidden] { display:none; }
.sync-banner button { border:1px solid #ddc99d;background:#fffdf8;border-radius:7px;padding:8px 12px;min-height:44px;font-size:12px;white-space:nowrap; }
.account-dialog { width:min(900px,calc(100% - 40px));max-width:900px;max-height:calc(100svh - 40px);padding:0;border:1px solid #e3eaf5;border-radius:20px;background:#fff;color:#202938;box-shadow:0 24px 100px #0c1a3c42;overscroll-behavior:contain; }
.account-dialog::backdrop { background:#0d1a32a6;backdrop-filter:blur(5px); }
.account-shell { display:grid;grid-template-columns:.85fr 1.15fr;min-height:620px; }
.account-story { display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;padding:37px 32px;background:#172a48;color:#fff; }
.account-story:before { content:'';position:absolute;z-index:-1;width:440px;height:440px;border:1px solid #456ca859;border-radius:50%;left:-190px;bottom:-90px;box-shadow:0 0 0 45px #446eaa10,0 0 0 100px #446eaa08; }
.account-wordmark { font-family:'Manrope',sans-serif;font-size:40px;line-height:1;font-weight:800;letter-spacing:-2px; }
.account-wordmark>span,.account-mobile-brand>span { color:#75a2ff; }
.account-story-copy { margin:65px 0 25px; }
.account-kicker { color:#6c82a4;font-size:10px;letter-spacing:1.6px;font-weight:600;line-height:1.8;margin:0 0 13px; }
.account-story .account-kicker { color:#91b1ed; }
.account-story h2 { font-size:32px;font-weight:550;letter-spacing:-1px;line-height:1.3;margin:12px 0 18px;color:#fff; }
.account-story-copy>p:last-child { color:#becce2;font-size:13px;line-height:1.9;margin:0; }
.account-mini-card { border:1px solid #5b7caf63;border-radius:13px;padding:22px 19px;background:#ffffff08;margin-top:auto; }
.account-mini-card>span { font-size:8px;letter-spacing:1.4px;color:#98b6e7; }
.account-mini-card>strong { display:block;font-family:'Manrope',sans-serif;font-size:16px;font-weight:550;letter-spacing:-.2px;line-height:1.5;margin:10px 0 20px;color:#e5edfb; }
.account-mini-bars { display:flex;height:62px;gap:8px;align-items:flex-end; }
.account-mini-bars i { display:block;flex:1;height:30%;border-radius:4px 4px 0 0;background:#6e9cf1;opacity:.65; }
.account-mini-bars i:nth-child(2) { height:42%; }.account-mini-bars i:nth-child(3) { height:38%; }.account-mini-bars i:nth-child(4) { height:57%; }.account-mini-bars i:nth-child(5) { height:72%; }.account-mini-bars i:nth-child(6) { height:63%; }.account-mini-bars i:nth-child(7) { height:100%;opacity:1; }
.account-mini-card>p { margin:16px 0 0;color:#9bb1d4;font-size:8px;letter-spacing:1.7px; }
.account-story-footer { font-size:10px;color:#8ca0c0;line-height:1.8;margin-top:25px; }
.account-body { position:relative;padding:49px 42px 31px;min-width:0; }
.account-close { position:absolute;right:15px;top:14px;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:9px;background:transparent;color:#6d7c94; }
.account-close:hover { background:#eff3fa; }
.account-close>svg { width:20px;height:20px; }
.account-mobile-brand { display:none; }
.account-tabs { display:flex;gap:5px;padding:4px;background:#f0f3f8;border:1px solid #e7ecf4;border-radius:10px;margin:12px 0 31px; }
.account-tabs>button { flex:1;min-height:42px;border:0;border-radius:7px;background:transparent;color:#6d7a90;font-size:12px;font-weight:500; }
.account-tabs>button[aria-pressed="true"] { background:#fff;color:#2b5294;box-shadow:0 2px 5px #2342740a; }
.account-body h1 { font-size:29px;line-height:1.35;letter-spacing:-1px;margin:9px 0 11px;font-weight:650;color:#23354f; }
.account-intro { font-size:13px;line-height:1.8;color:#707f95;margin:0 0 23px; }
.google-signin { display:flex;align-items:center;justify-content:center;gap:13px;min-height:48px;width:100%;padding:12px;border:1px solid #c8d1df;border-radius:8px;background:#fff;color:#202124;font-family:Arial,sans-serif;font-size:14px;font-weight:500; }
.google-signin:hover { background:#f7faff;border-color:#a9bfdc; }
.google-signin:disabled { cursor:default;opacity:.6; }
.google-mark { width:20px;height:20px;stroke:none;flex-shrink:0; }
.google-availability { color:#7c8492;font-size:11px;line-height:1.7;margin:9px 0 0; }
.account-divider { position:relative;display:flex;align-items:center;gap:14px;margin:23px 0;color:#8791a1;font-size:11px; }
.account-divider:before,.account-divider:after { content:'';height:1px;background:#e7ebf2;flex:1; }
.account-field { display:block;margin:0 0 18px; }
.account-field>span { display:block;font-size:12px;font-weight:550;color:#465b7a;margin-bottom:8px; }
.account-field input { display:block;width:100%;min-width:0;min-height:48px;border:1px solid #d5dfed;border-radius:8px;padding:12px 13px;font-size:16px;line-height:1.5;color:#263a59;background:#fcfdff; }
.account-field input::placeholder { color:#98a4b6;font-size:13px; }
.account-field>small { display:block;margin-top:8px;font-size:11px;line-height:1.7;color:#7b899e; }
.account-password { position:relative; }
.account-password>input { padding-right:65px; }
.account-password>button { position:absolute;right:4px;top:3px;min-width:53px;min-height:44px;border:0;border-radius:6px;background:transparent;color:#54709a;font-size:11px; }
.account-error { padding:12px 13px;border:1px solid #eed1ca;border-radius:8px;background:#fff4f1;color:#9c4a38;font-size:12px;line-height:1.7;margin:15px 0; }
.account-error[hidden] { display:none; }
.account-submit { display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:49px;width:100%;padding:13px 16px;border:1px solid #3268e8;border-radius:8px;background:#3268e8;color:#fff;font-size:13px;font-weight:600; }
.account-submit:hover { background:#245cda; }
.account-submit>span { font-size:20px;font-weight:400;line-height:1; }
.account-submit:disabled { cursor:wait;opacity:.65; }
.account-device-option { text-align:center;border-top:1px solid #e8edf4;margin-top:24px;padding-top:13px; }
.account-device-option button { background:transparent;border:0;min-height:44px;padding:10px;color:#596f91;font-size:12px; }
.account-device-option button>span { margin-left:7px; }
.account-device-option p { font-size:11px;line-height:1.8;color:#8491a4;margin:0; }
.account-person { display:flex;align-items:center;gap:13px;margin:29px 0 24px;min-width:0; }
.account-person-avatar { display:grid;place-items:center;width:49px;height:49px;flex-shrink:0;border-radius:50%;background:#e9f0ff;color:#3268e8;font-size:18px;font-family:'Manrope',sans-serif; }
.account-person>div { min-width:0; }
.account-person strong { display:block;color:#354967;font-size:15px;margin-bottom:5px;overflow-wrap:anywhere; }
.account-person div>span { display:block;color:#7c8aa0;font-size:12px;overflow-wrap:anywhere; }
.account-sync-card { background:#f4f7fd;border:1px solid #dce6f6;border-radius:11px;padding:18px 17px;margin:20px 0 25px; }
.account-sync-card>div { display:flex;align-items:center;gap:9px; }
.account-sync-card h2 { font-size:13px;line-height:1.5;font-weight:650;letter-spacing:-.1px;color:#3c5f99;margin:0; }
.account-sync-card i { width:7px;height:7px;border-radius:50%;background:#3268e8;flex-shrink:0; }
.account-sync-card p { font-size:12px;line-height:1.8;color:#6a7e9d;margin:10px 0 0; }
.account-sync-card[data-phase="conflict"],.account-sync-card[data-phase="offline"],.account-sync-card[data-phase="expired"] { border-color:#e6d6b3;background:#fffbf1; }
.account-sync-card[data-phase="conflict"] i,.account-sync-card[data-phase="offline"] i,.account-sync-card[data-phase="expired"] i { background:#b1832f; }
.account-inline-button { display:block;margin-top:12px;background:#fff;border:1px solid #cfdaec;border-radius:7px;min-height:44px;padding:10px 12px;color:#40669f;font-size:12px;line-height:1.6;text-align:left; }
.account-backup { margin-bottom:22px;width:100%; }
.account-import { margin:0 0 27px; }
.account-import h2 { font-size:15px;color:#344e76;margin:0 0 10px; }
.account-import p { color:#71809a;font-size:12px;line-height:1.8;margin:0 0 16px; }
.account-import .account-submit { background:#edf3ff;color:#3268e8;border-color:#c9daf9; }
.account-profile-actions { display:flex;justify-content:space-between;gap:15px;margin:14px 0; }
.account-profile-actions>button { padding:10px 0;min-height:44px;background:transparent;border:0;font-size:12px;color:#61789c; }
.account-footnote { font-size:11px;line-height:1.8;color:#8995a6;margin-top:20px; }
.account-loading { display:flex;min-height:450px;align-items:center;justify-content:center;flex-direction:column;text-align:center; }
.account-loading h1 { font-size:25px;margin-top:25px; }
.account-loading p { color:#8190a6;font-size:13px;line-height:1.8; }
.account-loader { display:block;width:34px;height:34px;border:2px solid #e0e8f6;border-top-color:#3268e8;border-radius:50%;animation:account-spin .8s linear infinite; }
@keyframes account-spin { to { transform:rotate(360deg); } }
@media(max-width:1140px) { .topbar .local-indicator { display:none; } }
@media(max-width:760px) {
 .account-dialog { width:calc(100% - 24px);max-height:calc(100svh - 24px); }
 .account-shell { grid-template-columns:1fr;min-height:0; }
 .account-story { display:none; }
 .account-body { padding:40px 32px 28px; }
 .account-mobile-brand { display:block;font-family:'Manrope',sans-serif;font-size:28px;line-height:1;font-weight:800;letter-spacing:-1.3px;color:#243c62;margin:2px 0 24px; }
 .account-tabs { margin-top:0;margin-bottom:28px; }
 .account-loading { min-height:330px; }
}
@media(max-width:650px), (max-width:980px) and (max-height:600px) and (pointer:coarse) {
 .account-button { min-height:44px;padding:9px 10px;font-size:11px;gap:7px; }
 .sync-banner { padding:13px max(16px,env(safe-area-inset-right,0px)) 13px max(16px,env(safe-area-inset-left,0px));flex-wrap:wrap;gap:8px; }
 .sync-banner button { font-size:12px; }
 .account-dialog { width:100%;height:100dvh;max-width:100%;max-height:100dvh;border:0;border-radius:0;margin:0; }
 .account-body { padding:max(32px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) max(28px,env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px)); }
 .account-close { right:max(12px,env(safe-area-inset-right,0px));top:max(16px,env(safe-area-inset-top,0px)); }
 .account-body h1 { font-size:29px; }
 .account-shell { min-height:100%; }
 .account-intro { font-size:14px; }
 .account-field>span { font-size:13px; }
 .account-field input { min-height:52px;font-size:16px;scroll-margin-block:70px; }
 .account-tabs>button,.account-submit,.google-signin { min-height:50px;font-size:14px; }
 .account-tabs>button { min-height:44px;font-size:13px; }
 .account-body .account-kicker { font-size:10px; }
 .account-person { margin-top:28px; }
 .account-password>button { min-height:46px;top:3px; }
 .account-loading { min-height:calc(100svh - 150px); }
}
@media(max-width:430px) {
 .breadcrumb>#page-label { display:none; }
 #account-button-label { display:none; }
 .account-button { width:44px;padding:9px; }
 .topbar .breadcrumb { gap:9px; }
 .account-body { padding-left:max(22px,env(safe-area-inset-left,0px));padding-right:max(22px,env(safe-area-inset-right,0px)); }
}
@media(prefers-reduced-motion:reduce) { .account-loader { animation:none;border-top-width:5px; } }
