:root{--auth-paper:#fbfaf4}.auth-shell{width:min(920px,calc(100% - 32px));margin:52px auto 80px}.auth-card{background:#fffef9;border:1px solid #cedbd0;border-radius:24px;padding:clamp(26px,5vw,48px);box-shadow:0 24px 70px #173c3914}.auth-compact{max-width:560px;margin:auto}.auth-wide{max-width:920px;margin:auto}.auth-card h1{font-size:clamp(2.2rem,5vw,3.7rem);margin:.55rem 0 1rem}.auth-card form>label,.form-columns label{display:block;margin:18px 0 7px;font-weight:750}.auth-card input{width:100%;min-height:51px;padding:0 14px;border:1px solid #bdcbbf;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}fieldset{margin:28px 0 0;padding:0;border:0}legend{font-weight:800;font-size:1.05rem}.field-help{margin:3px 0 12px;font-size:.9rem}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.choice-grid.compact{grid-template-columns:repeat(7,1fr)}.choice{display:flex;align-items:center;gap:9px;min-height:44px;padding:8px 11px;border:1px solid #ccd9ce;border-radius:11px;background:#fff;font-size:.91rem}.choice input{width:18px;min-height:auto;height:18px;margin:0}.prototype-note{margin-top:28px;padding:14px 16px;border-left:4px solid #d39642;background:#fff7df;color:#5f5542;font-size:.9rem}.form-status{min-height:24px;color:#a13b32;font-weight:650}.auth-submit{width:100%;margin-top:5px}.auth-switch{text-align:center}.account-body{background:#f8faf6}.account-layout{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.account-sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid #d8e1d9;background:#f1f6f2;display:flex;flex-direction:column}.account-sidebar .brand{padding:0 8px 22px;border-bottom:1px solid #d8e1d9}.account-sidebar nav{display:grid;gap:5px;margin-top:20px}.account-sidebar nav a{display:flex;gap:11px;padding:11px 13px;border-radius:11px;color:#365954;text-decoration:none;font-weight:700}.account-sidebar nav a.active,.account-sidebar nav a:hover{background:#dff0df;color:#173f3b}.sidebar-bottom{margin-top:auto;display:grid}.sidebar-bottom a{padding:7px 12px;color:var(--muted);text-decoration:none}.account-main{min-width:0;padding:32px clamp(24px,5vw,68px) 70px}.account-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.account-top p{margin:0}.avatar{display:grid;place-items:center;width:46px;height:46px;padding:0;border:0;border-radius:50%;background:#dff0df;color:#17453f;font-weight:850}.account-welcome{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;border:1px solid #cfe0d2;border-radius:22px;background:#edfaf2}.account-welcome h1{font-size:clamp(2.1rem,4vw,3.6rem);margin:.5rem 0 1rem}.account-welcome p{max-width:720px}.account-actions{margin-top:34px}.account-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.account-grid a{display:block;min-height:170px;padding:22px;border:1px solid #d1ddd3;border-radius:18px;background:#fffef9;text-decoration:none}.account-grid b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#dff0df}.account-grid strong,.account-grid small{display:block}.account-grid strong{margin:25px 0 5px;font-size:1.15rem}.account-grid small{color:var(--muted)}.profile-card,.materials-empty{margin-top:26px;padding:28px;border:1px solid #d1ddd3;border-radius:19px;background:#fffef9}.profile-card{display:grid;grid-template-columns:1fr 1.2fr auto;gap:24px;align-items:center}.profile-card h2{margin:7px 0}.profile-card dl{margin:0}.profile-card dt{font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.profile-card dd{margin:2px 0 12px}.materials-empty{border-style:dashed}.account-logout{margin-top:24px}@media(max-width:850px){.choice-grid{grid-template-columns:1fr 1fr}.choice-grid.compact{grid-template-columns:repeat(4,1fr)}.account-layout{grid-template-columns:1fr}.account-sidebar{position:static;height:auto}.account-sidebar nav{display:flex;overflow:auto}.account-sidebar nav a{white-space:nowrap}.sidebar-bottom{display:none}.account-grid{grid-template-columns:1fr}.profile-card{grid-template-columns:1fr}.account-welcome{align-items:flex-start;flex-direction:column}}@media(max-width:580px){.form-columns,.choice-grid{grid-template-columns:1fr}.choice-grid.compact{grid-template-columns:repeat(3,1fr)}.account-main{padding:22px 16px 55px}.account-welcome{padding:24px}}
.optional-label{margin-left:6px;color:var(--muted);font-size:.76rem;font-weight:500}
.profile-details-dialog{max-width:520px}
.profile-details-dialog h2{font-size:1.65rem}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px;flex-wrap:wrap}
.auth-shell{display:grid;place-items:center}
.auth-compact{width:min(100%,560px)}
.auth-compact h1{font-size:clamp(2rem,7vw,3rem);line-height:1.08;letter-spacing:-.035em}
.admin-tools{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-top:26px;padding:28px;border:1px solid #d4c494;border-radius:19px;background:#fff8dd}
.admin-tools h2{margin:6px 0 8px;font-size:1.6rem}
.admin-tools p{max-width:700px;margin:0;color:var(--muted)}
@media(max-width:520px){.dialog-actions{flex-direction:column-reverse}.dialog-actions .btn{width:100%}}
@media(max-width:760px){.admin-tools{align-items:flex-start;flex-direction:column}.admin-tools .btn{width:100%}}

/* Compact account panels keep the page hierarchy calm and leave safe inner space. */
.account-welcome{gap:26px;padding:26px 30px;border-radius:20px}
.account-welcome h1{font-size:clamp(1.75rem,3vw,2.65rem);line-height:1.12;margin:.42rem 0 .7rem}
.account-welcome p{margin:0;font-size:.97rem}
.account-actions{margin-top:28px}
.admin-tools{gap:24px;margin-top:22px;padding:22px 26px;border-radius:17px}
.admin-tools h2{margin:5px 0 6px;font-size:1.35rem}
@media(max-width:760px){.admin-tools{padding:20px}}
@media(max-width:580px){.auth-card h1{font-size:1.95rem;line-height:1.12}.account-welcome{padding:21px}.account-welcome h1{font-size:1.8rem}}
@media(max-width:850px){.account-layout,.account-sidebar,.account-main{min-width:0;max-width:100%}.account-sidebar{overflow:hidden}.account-sidebar nav{min-width:0;max-width:100%;overflow-x:auto}.account-welcome h1{overflow-wrap:anywhere}}


.admin-test-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;flex:0 0 48%;min-width:0}.admin-test-actions .btn{white-space:normal;text-align:center;justify-content:center}@media(max-width:760px){.admin-test-actions{width:100%;flex:auto}}@media(max-width:520px){.admin-test-actions{grid-template-columns:1fr}}
/* Keep selection targets legible beside long subject names. */
.auth-card .choice{overflow-wrap:anywhere;line-height:1.45}
.auth-card .choice input[type="checkbox"]{flex:0 0 18px;min-width:18px;width:18px;height:18px;min-height:18px;padding:0;accent-color:var(--teal)}

.auth-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.phone-consent{display:flex;gap:12px;align-items:flex-start}.phone-consent input{width:20px;min-height:20px;flex:0 0 20px;margin-top:4px}.guest-actions{display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-top:22px}#turnstile{max-width:100%;overflow:hidden;margin:16px 0}.auth-submit:disabled{opacity:.55;cursor:default}.auth-compact{max-width:620px}.auth-compact input{max-width:100%}
