:root{--account-navy:#092556;--account-gold:#ffca38;--account-line:#dce3ec}
.access-locked #learning-area,.access-locked .hero-brief,.access-locked #focus-exit{display:none!important}
.access-locked .brand-hero{margin-top:24px}.access-locked .hero-actions{display:none}
.access-locked #help-open{display:none}.access-locked.training-started #brand-intro{display:grid!important}
.account-card{margin:24px 0;padding:30px;background:white;border:1px solid var(--account-line);border-radius:24px;color:var(--account-navy);box-shadow:0 8px 30px #09255606}
.account-card h2{margin:9px 0 12px;font-size:28px;line-height:1.2;letter-spacing:-.7px}.account-card h3{font-size:17px}
.account-card p{color:#536681;line-height:1.65}.account-kicker{color:#657590;font-size:10px;font-weight:800;letter-spacing:1.5px}
.account-gate{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,330px);gap:12px 40px;align-items:center;border-top:5px solid var(--account-gold)}
.gate-copy p{max-width:650px;margin-bottom:0}.gate-actions{text-align:center}.gate-actions button{width:100%;min-height:48px}.google-button{display:flex;align-items:center;justify-content:center;gap:13px;background:white;border:1px solid #747775;border-radius:6px;color:#1f1f1f;font:500 15px Arial,sans-serif}.google-button:hover{background:#f4f6f8}
.account-small,.account-card .account-small{font-size:12px;color:#6a7890}.account-message{grid-column:1/-1;margin:0}.account-message:empty{display:none}
.account-strip{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--account-line)}
.account-strip strong{display:block;font-size:13px;overflow-wrap:anywhere}.account-strip span{font-size:12px;color:#61728a}.account-strip-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#cloud-status{max-width:250px;font-size:12px}#cloud-status[data-state="saved"]{color:#246850}#cloud-status[data-state="error"],#cloud-status[data-state="conflict"]{color:#a7352b}
.account-buttons,.account-heading{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.account-buttons{justify-content:flex-start}.account-heading h2{margin:0}.account-heading{margin-bottom:16px}
.price-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0}.price-card{position:relative;border:1px solid var(--account-line);border-radius:20px;padding:28px 24px;background:#fafbfe;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.price-card strong{font-size:37px;letter-spacing:-1.5px}.price-card p{margin:0;font-size:14px}.price-featured{background:#fffbeb;border:2px solid var(--account-gold)}.plan-label{font-size:10px;text-transform:uppercase;background:var(--account-gold);border-radius:30px;padding:4px 10px;font-weight:800;position:absolute;top:-12px;right:16px}
.payment-steps{padding:20px 22px;border-radius:16px;background:#edf2fa}.payment-steps small{color:#586d88}.payment-steps p{margin:8px 0 12px}.payment-steps a{overflow-wrap:anywhere}
.admin-find{display:flex;gap:14px;align-items:flex-end}.admin-find .field{flex:1;margin:0}.admin-find button{min-height:46px}.admin-fields{display:grid;grid-template-columns:1fr 1.3fr;gap:18px}.admin-panel input,.admin-panel select{font-size:16px!important}.student-result{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:18px;background:#eef4fc;border-radius:13px;margin:18px 0}.student-result strong{overflow-wrap:anywhere}.student-result span{font-size:13px}.payment-confirm{display:flex;align-items:flex-start;gap:10px;margin:6px 0 18px;font-size:14px}.payment-confirm input{width:19px;height:19px;flex-shrink:0;accent-color:var(--account-navy)}.revoke-area{margin-top:24px;border-top:1px solid var(--account-line);padding-top:16px}.revoke-area summary{font-size:13px;cursor:pointer}.revoke-area form{margin-top:18px}
.progress-history{list-style:none;padding:0}.progress-history li{border-bottom:1px solid var(--account-line);padding:13px 0;display:flex;justify-content:space-between;gap:15px;font-size:13px}.progress-history strong{display:block;overflow-wrap:anywhere}.progress-history span{color:#5c6e88}.restore-label{font-size:13px;display:flex;gap:10px;flex-direction:column}.restore-label input{max-width:100%;font-size:12px}#sync-problem{border-color:#efb3a5;background:#fff7f1}
body.focus .account-strip{display:flex}body.focus #account-gate{display:grid}.account-strip button,.account-card button{min-height:44px}.account-card .field input{background:white}
@media(max-width:750px){.account-card{padding:22px 18px;margin:16px 0;border-radius:19px}.account-card h2{font-size:23px}.account-gate{grid-template-columns:1fr;gap:22px}.gate-actions{text-align:left}.gate-actions .account-small{margin-bottom:0}.account-strip{align-items:flex-start;flex-direction:column;gap:10px}.account-strip-actions{justify-content:flex-start;gap:7px;width:100%}#cloud-status{width:100%;max-width:none}.header-actions{gap:5px!important}.header #account-open{font-size:11px;padding:8px}.price-grid{gap:12px}.price-card{padding:24px 14px 18px;gap:10px}.price-card strong{font-size:28px;white-space:nowrap}.price-card p{font-size:12px}.plan-label{font-size:8px;right:7px}.admin-fields{grid-template-columns:1fr;gap:0}.admin-find{align-items:stretch;flex-direction:column}.progress-history li{flex-direction:column;gap:5px}.account-buttons>*{max-width:100%}.payment-steps{padding:16px}.account-card input,.account-card select{font-size:16px}.account-heading{align-items:flex-start}}
@media print{.account-strip,.account-card{display:none!important}}
