/* Plans, sign-in gate, onboarding and admin. Builds on style.css tokens. */
body.booting .sidebar,body.booting .app-shell{visibility:hidden}
[hidden]{display:none!important}
a{color:inherit}

/* gate */
.gate{min-height:100vh;background:var(--paper);display:flex;flex-direction:column}
.gate-inner{flex:1;display:grid;grid-template-columns:1.2fr 1fr;grid-template-areas:'copy auth' 'plans auth';grid-template-rows:auto 1fr;column-gap:56px;row-gap:0;max-width:1180px;margin:0 auto;padding:56px 32px;align-items:start}
.gate-brand{color:var(--ink);text-decoration:none;display:flex;gap:12px;align-items:center;margin-bottom:40px}
.gate-copy{grid-area:copy}.gate-plans{grid-area:plans}.gate-auth{grid-area:auth}
.gate-copy h1{font:400 clamp(34px,4.4vw,56px)/1.05 var(--serif);margin:10px 0 18px}
.gate-copy>p{font-size:17px;max-width:560px;color:#3c4c52}
.gate-auth{background:var(--white);border:1px solid var(--line);padding:30px;position:sticky;top:30px}
.gate-auth .auth-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.gate-auth input[type=email],.gate-auth input[type=text],.gate-auth input[type=password]{width:100%}
.pw-row{display:flex;gap:6px}.pw-row input{flex:1}
.check-line{display:block!important;font-size:13px;line-height:1.5;color:var(--ink)}
.check-line input{margin:0 8px 0 0;vertical-align:-2px;width:auto}
.auth-tabs{display:flex;border-bottom:1px solid var(--line)}
.auth-tab{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:10px;font-weight:bold;letter-spacing:.04em;color:var(--muted)}
.auth-tab.active{border-color:var(--gold);color:var(--ink)}
.auth-submit-btn{width:100%;padding:13px}
.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--muted);font-size:12px}
.auth-divider:before,.auth-divider:after{content:"";flex:1;border-top:1px solid var(--line)}
.google-auth-section{display:flex;justify-content:center}
.gate-foot{text-align:center;padding:20px;font-size:12px;color:var(--muted)}
#gate-error{margin-top:14px}

/* plan cards */
.plan-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px 0 14px}
.plan-card{background:var(--white);border:1px solid var(--line);padding:20px}
.plan-card.pro{border-color:var(--gold);box-shadow:inset 0 3px 0 var(--gold)}
.plan-card.current{outline:2px solid var(--green)}
.plan-card h3{font:400 30px/1.1 var(--serif);margin:6px 0 10px}
.plan-card ul{margin:0;padding-left:18px;color:#3c4c52}
.plan-card li{margin:4px 0}
.upsell{border-color:var(--gold)}
.upsell .btn{white-space:nowrap}

/* onboarding */
body.onboarding .sidebar nav,body.onboarding .side-bottom .quiet{visibility:hidden}
.onboard{max-width:760px;margin:20px auto 60px}
.onboard h1{font:400 clamp(28px,3.4vw,40px)/1.15 var(--serif);margin:12px 0 10px}
.onboard .lead{font-size:16px;color:#3c4c52;max-width:620px}
.onboard-progress{height:3px;background:var(--line);margin-bottom:14px}
.onboard-progress i{display:block;height:100%;background:var(--gold);transition:width .3s}
.ob-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}
.ob-options.dense{grid-template-columns:repeat(4,1fr)}
.ob-option{text-align:left;background:var(--white);border:1px solid var(--line);padding:14px 16px;line-height:1.35;min-height:52px;transition:border-color .15s,background .15s}
.ob-option:hover{border-color:var(--gold)}
.ob-option.on{border-color:var(--navy);background:var(--navy);color:#fff}
.ob-extra{display:grid;gap:8px;max-width:360px}
.onboard-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}
.data-notice{background:var(--white);border:1px solid var(--line);padding:20px 24px;margin-top:22px}
.data-notice h3{margin-top:0}
.data-notice li{margin:8px 0}
.summary-card{background:var(--white);border-left:3px solid var(--gold);padding:20px 24px;margin:20px 0;font-size:16px}
#ob-tz{max-width:360px;width:100%}

/* settings */
.account-row,.plan-now{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.plan-now h3{font:400 28px var(--serif);margin:4px 0}
.answers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 20px;margin:14px 0}
.answers-grid p{margin:2px 0 0}
.btn.danger{color:#9b2c2c;border-color:#d9b3b3}
.role-badge.pro{background:var(--gold);color:#fff}

/* progress */
.progress-block{margin:26px 0}
.progress-track{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:10px 0}
.progress-track i{display:block;height:100%;background:var(--green)}
.history-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.history-day{background:var(--white);border:1px solid var(--line);padding:6px 10px;font-size:12px;display:flex;gap:8px}
.back-link{margin-bottom:16px}
.single-word{max-width:860px}
.evidence-note{margin-top:10px;font-style:italic}

/* admin */
.admin-table-wrap{overflow-x:auto;background:var(--white);border:1px solid var(--line)}
.admin-table{width:100%;border-collapse:collapse;font-size:13px}
.admin-table th{text-align:left;font-size:11px;letter-spacing:.06em;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}
.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.admin-table tr.muted{opacity:.5}

/* accessibility preferences */
body.large-text{font-size:16px}
body.large-text .example p,body.large-text .definition{font-size:1.1em}
body.reduce-motion *{transition:none!important;animation:none!important}

@media(max-width:900px){
 .gate-inner{grid-template-columns:1fr;grid-template-areas:'copy' 'auth' 'plans';padding:28px 16px;row-gap:24px}
 .gate-brand{margin-bottom:24px}
 .gate-auth{position:static;padding:22px}
 .answers-grid{grid-template-columns:1fr 1fr}
 .ob-options.dense{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
 .plan-cards,.ob-options,.answers-grid{grid-template-columns:1fr}
 .ob-options.dense{grid-template-columns:1fr 1fr}
}

/* top-right Plans / Sign in, dialogs (v4.1) */
.top-right{display:flex;align-items:center;gap:12px}
.plans-btn{background:none;border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink)}
.plans-btn:hover{border-color:var(--gold);color:var(--gold)}
.signin-btn{padding:9px 18px;border-radius:999px;font-size:12px}
dialog.small-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto}
dialog.small-dialog.wide{width:min(720px,calc(100vw - 32px))}
.auth-body{padding:0 28px 28px}
.auth-body .auth-form{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.auth-body input[type=email],.auth-body input[type=text],.auth-body input[type=password]{width:100%}
#auth-error{margin-top:14px}
.plan-card{display:flex;flex-direction:column}
.plan-card ul{flex:1}
.plan-action{margin-top:16px;width:100%}
.plan-action:disabled{cursor:default;opacity:.7}
.plan-cards.choose{margin-top:8px}
.signin-prompt{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:10px}
@media(max-width:800px){.plans-btn{padding:6px 10px;font-size:11px}.signin-btn{padding:7px 12px}.top-right .voice-tag{display:none}.auth-body{padding:0 18px 20px}}
