:root{color-scheme:light;--bg-primary:#f0eae0;--bg-elevated:#e7ddd1;--text-primary:#1b2a1f;--text-secondary:#3d4e41;--gold:#b8953e;--border:rgba(90,138,135,.28)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg-primary);color:var(--text-secondary);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
a{color:var(--text-primary);text-underline-offset:4px}
a:hover{color:#65501c}
:focus-visible{outline:3px solid #486f69;outline-offset:4px}
.skip-link{position:absolute;left:16px;top:-100px;z-index:2;padding:12px;background:white}
.skip-link:focus{top:12px}
.account-header{border-bottom:1px solid var(--border);background:rgba(255,255,255,.35)}
.header-inner,main,.footer-inner{max-width:1120px;margin:auto;padding:24px 32px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-family:"Space Grotesk",Inter,system-ui,sans-serif;font-weight:700;font-size:19px;line-height:1.3;text-decoration:none;max-width:260px;color:var(--text-primary)}
.session-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap;font-size:14px}
.session-nav a{text-decoration:none;font-weight:600}
.session-nav button{width:auto;padding:8px 16px;min-height:44px;background:transparent;border-color:var(--border);font-size:14px}
main{padding-top:48px;padding-bottom:64px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;color:#685522}
h1,h2,legend{font-family:"Space Grotesk",Inter,system-ui,sans-serif;color:var(--text-primary);line-height:1.2}
h1{font-size:clamp(32px,5vw,48px);letter-spacing:-.04em;margin:0 0 16px}
.intro{max-width:650px;margin:0 0 28px;font-size:17px}
#message{white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-left:4px solid var(--gold);border-radius:4px;padding:16px 20px;margin:0 0 24px}
#message:empty{display:none}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:28px;align-items:start}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:30px;box-shadow:0 8px 28px rgba(27,42,31,.035)}
.card+.card{margin-top:24px}
fieldset{min-width:0;padding:0;margin:0;border:0}
legend{font-size:25px;font-weight:600;letter-spacing:-.025em;padding:0;margin-bottom:8px}
.form-intro{margin:0 0 24px;font-size:14px}
label{display:block;font-size:14px;font-weight:600;color:var(--text-primary);margin:18px 0}
input,select{display:block;width:100%;min-height:48px;margin-top:7px;padding:11px 13px;font:inherit;font-weight:400;color:var(--text-primary);background:#fcfcfa;border:1px solid #94a198;border-radius:6px}
input:focus,select:focus{border-color:#486f69}
button,.button-link{display:inline-flex;justify-content:center;align-items:center;min-height:48px;width:100%;padding:12px 18px;border:1px solid var(--gold);border-radius:6px;background:var(--gold);color:var(--text-primary);font:inherit;font-size:15px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.4}
button:hover,.button-link:hover{background:#d4b96a;color:var(--text-primary)}
button:disabled{opacity:.65;cursor:not-allowed}
.secondary{background:transparent;border-color:var(--border)}
.secondary:hover{background:var(--bg-primary)}
.hint{font-size:13px;line-height:1.6;margin:12px 0;color:var(--text-secondary)}
.field-hint{margin-top:-10px}
.legal{border-top:1px solid var(--border);padding-top:18px;margin:22px 0}
details{margin-top:26px;border-top:1px solid var(--border);padding-top:20px}
summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--text-primary);padding:4px 0}
details form{margin-top:20px}
details legend{font-size:19px}
.session-card{margin:0 0 24px;background:var(--bg-elevated);padding:22px 26px;border:1px solid var(--border);border-radius:10px}
.session-card h2{font-size:20px;margin:0 0 8px}
.session-card p{margin:0 0 16px}
.session-actions{display:flex;gap:12px;flex-wrap:wrap}
.session-actions>*{width:auto}
.account-footer{border-top:1px solid var(--border)}
.footer-inner{display:flex;justify-content:space-between;gap:20px;font-size:13px;flex-wrap:wrap}
.footer-inner p{margin:0}
.footer-links{display:flex;gap:20px}
@media(max-width:720px){.header-inner,main,.footer-inner{padding-left:20px;padding-right:20px}.header-inner{align-items:flex-start;flex-direction:column;gap:16px}.brand{max-width:none}.session-nav{gap:18px}main{padding-top:32px}.account-grid{grid-template-columns:minmax(0,1fr);gap:22px}.card{padding:24px}.session-card{padding:20px}.session-actions>*{width:100%}.intro{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
