*{box-sizing:border-box}
:root{color-scheme:dark;--bg:#202521;--panel:#19241f;--text:#e9e5d9;--muted:#b0b5aa;--line:#4b584d;--subtle:#2b352e;--action:#e5ddc6;--action-text:#252b22;font:14px/1.6 Arial,Helvetica,sans-serif}
:root[data-theme=light]{color-scheme:light;--bg:#fff;--panel:#fff;--text:#292929;--muted:#686868;--line:#d8d8d8;--subtle:#f4f4f4;--action:#303030;--action-text:#fff}
body{margin:0;background:var(--bg);color:var(--text)}
a{color:inherit;text-underline-offset:4px}a:hover{color:var(--muted)}
button,input,select{font:inherit;color:inherit}button{font-weight:400;cursor:pointer}
button,input,select,.button{border:1px solid var(--line);border-radius:4px;padding:10px 14px;background:transparent}
button{width:fit-content}button:hover:not(:disabled),.button:hover{background:var(--subtle);color:var(--text)}
button:disabled{opacity:.5;cursor:default}
:focus-visible{outline:2px solid var(--muted);outline-offset:3px}
input,select{background:var(--bg);min-width:0;max-width:100%}input[type=checkbox]{width:auto}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;text-decoration:none;font-weight:400}
.primary{background:var(--action);border-color:var(--action);color:var(--action-text)}
.primary:hover{background:var(--action);color:var(--action-text);filter:brightness(.92)}
.site-header,.page-content,.site-footer{width:calc(100% - 64px);max-width:1120px;margin-inline:auto}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:24px 0}
.brand{display:inline-flex;align-items:center;gap:12px;font:24px/1.2 Georgia,serif;text-decoration:none;white-space:nowrap}
.brand-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
nav{display:flex;align-items:center;gap:22px;flex-wrap:wrap}nav a{text-decoration:none;font-size:13px}
.theme-toggle{border:0;padding:5px 0;color:var(--muted);font-size:12px}
.page-content{padding-block:44px 64px;min-height:65vh}
h1,h2{font-family:Georgia,serif;font-weight:400;line-height:1.25;overflow-wrap:anywhere}
h1{font-size:32px;margin:0 0 16px}h2{font-size:23px;margin:28px 0 14px}
p{margin:0 0 18px}.muted{color:var(--muted)}.eyebrow{font:10px/1.6 monospace;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);margin:0 0 12px}
form{max-width:36rem;display:grid;gap:12px}form p{margin:0}form label{font-size:13px}
.page-content>form,.page-content>p,.page-content>ul:not(.station-grid):not(.member-list),.danger-zone{max-width:48rem}
.validation-summary-valid,.field-validation-valid{display:none}
.validation-summary-errors,.field-validation-error{color:#eeada6}
:root[data-theme=light] .validation-summary-errors,:root[data-theme=light] .field-validation-error{color:#9d2020}
.notice,#session-notice{padding:14px 18px;border:1px solid var(--line);background:var(--subtle);border-radius:4px}
#session-notice{max-width:1120px;margin:16px auto 0}
.site-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:20px 0 28px;border-top:1px solid var(--line);font:10px/1.6 monospace;letter-spacing:.5px;color:var(--muted)}
.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:32px}
.page-heading h1{margin-bottom:8px}.page-heading p:last-child{margin-bottom:0}
.create-station{text-align:right;max-width:230px}.create-station p{font-size:12px;margin-top:8px}
.station-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.station-card{border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:24px;min-width:0;display:flex;flex-direction:column}
.station-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.station-card-top .eyebrow{margin:0}
.role-badges{display:flex;flex-wrap:wrap;gap:6px}.role-badge{font:10px/1.5 monospace;border:1px solid var(--line);border-radius:3px;padding:3px 7px;color:var(--muted)}
.station-card h2{font-size:27px;margin:25px 0 10px}.station-card>p{font-size:13px;margin-bottom:28px}
.station-card-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto}
.station-management{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.station-management a{text-decoration:none}.station-management a:hover{text-decoration:underline}
.empty-state{border:1px dashed var(--line);padding:36px;border-radius:6px}.empty-state h2{margin-top:0}.empty-state p:last-child{max-width:520px;margin:0}
.home-intro{padding:34px 0 60px;max-width:720px}.home-intro h1{font-size:clamp(38px,5vw,60px);line-height:1.12;margin:20px 0 24px}
.intro{font-size:17px;color:var(--muted);max-width:500px}.home-actions{margin-top:28px}
.home-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-top:1px solid var(--line);padding-top:28px}
.home-details h2{font-size:21px;margin:12px 0}.home-details p{font-size:13px;color:var(--muted);max-width:290px;margin:0}
.qr{width:220px;max-width:100%;padding:12px;background:#fff}.qr svg{display:block;width:100%;height:auto}
code{overflow-wrap:anywhere}.recovery-codes{columns:2;padding-left:1.5rem}
.member-list{list-style:none;padding:0}.member-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:20px 0;border-bottom:1px solid var(--line)}
.member-list small{display:block;color:var(--muted)}.member-actions{display:flex;flex-wrap:wrap;gap:8px;max-width:none}
.danger-zone{margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}.danger-button{border-color:#bf7770;color:#eeada6}
:root[data-theme=light] .danger-button{border-color:#9d2020;color:#9d2020}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:760px){.site-header,.page-content,.site-footer{width:calc(100% - 36px)}.site-header{align-items:flex-start;flex-direction:column;gap:18px;padding:20px 0}nav{gap:18px}.page-content{padding-top:28px}.station-grid{grid-template-columns:1fr}.home-details{grid-template-columns:1fr;gap:26px}.home-intro{padding-top:12px}.page-heading{align-items:flex-start;flex-wrap:wrap}.create-station{text-align:left;max-width:none}.station-card{padding:20px}.station-card h2{font-size:25px}.brand{font-size:23px}.recovery-codes{columns:1}}


/* Form guideline: primary action first, Cancel beside it; wrap only when necessary. */
.form-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.form-actions>a{display:inline-flex;align-items:center;min-height:44px}

/* Breathing room between fields, actions and secondary navigation. */
form > button,form > .form-actions{margin-top:8px}
form + p,form + a,form + .secondary-links{margin-top:24px}
form + a{display:inline-block}
.secondary-links{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center}
.page-content > section + section,.page-content > section + p{margin-top:28px}
.qr{margin-bottom:24px}
.validation-summary-errors{margin-bottom:8px}
