/* Author layout rules must not reveal a notice carrying the HTML hidden attribute. */
.notice[hidden]{display:none!important}
:root{color-scheme:light;--navy:#0b1f3a;--blue:#075ea8;--cyan:#007c91;--hi:#f6c744;--bg:#f3f6f9;--surface:#fff;--surface2:#e9eef4;--text:#132238;--muted:#52647a;--border:#c8d2de;--good:#19733b;--warn:#815800;--danger:#b42318;--shadow:0 10px 28px rgba(11,31,58,.09)}
[data-theme=dark]{color-scheme:dark;--navy:#081525;--blue:#58a6e7;--cyan:#53c7d6;--hi:#ffd75e;--bg:#0c1726;--surface:#142337;--surface2:#1d3047;--text:#edf4fb;--muted:#b6c7d9;--border:#38516d;--good:#65d48a;--warn:#ffd75e;--danger:#ff8b82;--shadow:0 12px 30px rgba(0,0,0,.25)}
@media(prefers-color-scheme:dark){[data-theme=system]{color-scheme:dark;--navy:#081525;--blue:#58a6e7;--cyan:#53c7d6;--hi:#ffd75e;--bg:#0c1726;--surface:#142337;--surface2:#1d3047;--text:#edf4fb;--muted:#b6c7d9;--border:#38516d;--good:#65d48a;--warn:#ffd75e;--danger:#ff8b82;--shadow:0 12px 30px rgba(0,0,0,.25)}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:99;background:var(--surface);padding:.75rem}.topbar{position:fixed;z-index:10;inset:0 0 auto 0;height:72px;background:var(--navy);color:#fff;display:flex;align-items:center;gap:2rem;padding:0 1.25rem;box-shadow:var(--shadow)}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:.65rem;font-size:1.25rem;font-weight:750}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;background:var(--hi);color:#142238}.context{display:flex;gap:.65rem;align-items:center;font-size:.88rem}.context span{opacity:.72}.context strong{padding:.35rem .6rem;background:rgba(255,255,255,.12);border-radius:6px}.topbar .button{margin-left:auto;color:#fff;border-color:rgba(255,255,255,.42)}.main{margin:72px 0 0 210px;padding:2rem;max-width:1500px}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.25rem}.page-heading h1,.panel h2{margin:.05rem 0}.page-heading p{margin:.2rem 0;color:var(--muted)}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.72rem;font-weight:800;color:var(--cyan);margin:0}.button{border:1px solid var(--border);border-radius:7px;padding:.68rem .9rem;font:inherit;font-weight:720;cursor:pointer;background:transparent;color:var(--text)}.button:hover{filter:brightness(1.08)}.button:focus-visible,a:focus-visible{outline:3px solid var(--hi);outline-offset:2px}.button-primary{background:var(--blue);border-color:var(--blue);color:#fff}.button-secondary{background:var(--surface)}.notice{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.85rem 1rem;border-radius:8px;margin-bottom:1.25rem}.notice-warning{background:color-mix(in srgb,var(--hi) 17%,var(--surface));border-left:5px solid var(--hi)}.notice a{color:var(--text);font-weight:750}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.metrics article,.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.metrics article{padding:1rem}.metrics span,.metrics small{display:block;color:var(--muted)}.metrics strong{display:block;font-size:1.55rem;margin:.25rem 0}.good{color:var(--good)}.content-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1rem}.panel{padding:1.15rem}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem}.panel-heading a{color:var(--blue);font-weight:700}.status{font-size:.76rem;font-weight:800;text-transform:uppercase;padding:.3rem .55rem;border-radius:999px}.status-draft{color:var(--warn);background:color-mix(in srgb,var(--hi) 18%,var(--surface))}.steps{display:grid;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;gap:.5rem}.steps li{padding:.75rem;border-top:4px solid var(--border);background:var(--surface2);border-radius:4px}.steps strong,.steps span{display:block}.steps span{color:var(--muted);font-size:.82rem}.steps .complete{border-color:var(--good)}.steps .current{border-color:var(--hi)}.actions{display:flex;gap:.65rem;margin-top:1rem}.chart{height:150px;display:flex;align-items:end;gap:8%;padding:1rem;border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.chart span{display:block;flex:1;min-width:12px;background:linear-gradient(var(--cyan),var(--blue));border-radius:4px 4px 0 0}.chart .bar-25{height:25%}.chart .bar-42{height:42%}.chart .bar-35{height:35%}.chart .bar-64{height:64%}.chart .bar-54{height:54%}.chart .bar-78{height:78%}.chart-summary{color:var(--muted)}.clean-list{list-style:none;padding:0}.clean-list li{display:flex;justify-content:space-between;padding:.75rem 0;border-top:1px solid var(--border)}.clean-list span{color:var(--muted)}.count{display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:999px;min-width:30px;height:30px;font-weight:800}
@media(max-width:900px){.context span{display:none}.main{padding:1.25rem 1rem}.metrics{grid-template-columns:repeat(2,1fr)}.content-grid{grid-template-columns:1fr}}
@media(max-width:560px){.topbar{height:64px;padding:0 .75rem;gap:.6rem}.context{font-size:.76rem}.context>span{display:none}.main{margin-top:64px}.page-heading{align-items:stretch;flex-direction:column}.metrics{grid-template-columns:1fr}.notice{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.clean-list li{flex-direction:column}.topbar .button{padding:.5rem;font-size:.78rem}}
@media print{.topbar,.sidebar,.button{display:none!important}.main{margin:0;padding:0}.panel,.metrics article{box-shadow:none;break-inside:avoid}}
.auth-page{min-height:100vh;background:var(--bg)}.auth-header{height:72px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 1.25rem;color:#fff}.auth-header .button{color:#fff;border-color:rgba(255,255,255,.42)}.auth-main{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:2rem 1rem}.auth-card{width:min(100%,440px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);padding:2rem}.auth-card h1{margin:.25rem 0}.auth-intro,.auth-help{color:var(--muted)}.auth-form{display:grid;gap:1rem;margin:1.5rem 0}.auth-form label{display:block;font-weight:700;margin-bottom:.35rem}.auth-form input{width:100%;min-height:44px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;padding:.65rem .75rem}.auth-form input:focus-visible{outline:3px solid var(--hi);outline-offset:2px}.auth-form .button{width:100%}.notice-error{border-left-color:var(--danger);color:var(--text)}
.account-list{display:grid}.account-row{display:grid;grid-template-columns:minmax(13rem,1.2fr) auto minmax(14rem,1fr) auto;gap:1rem;align-items:center;padding:1rem .25rem;border-top:1px solid var(--border);color:var(--text);text-decoration:none}.account-row:first-child{border-top:0}.account-row:hover,.account-row:focus-visible{background:var(--surface2)}.account-row span:first-child{display:grid}.account-row small,.account-roles{color:var(--muted)}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .65rem;font-size:.78rem;font-weight:800;background:var(--surface2);text-transform:uppercase;letter-spacing:.04em}.status-active{color:var(--good)}.status-pending{color:var(--warn)}.status-disabled,.status-expired{color:var(--danger)}.filter-bar{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.filter-bar>*{min-width:0;max-width:100%}.filter-bar label{font-weight:700}.filter-bar input{min-height:44px;min-width:min(24rem,100%);border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;padding:.65rem .75rem}.field{display:grid;gap:.3rem}.field>label{font-weight:700}.field input:not([type=checkbox]),.field textarea,.field select{width:100%;min-height:44px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;padding:.65rem .75rem}.field-error input,.field-error textarea{border-color:var(--danger)}.errorlist{color:var(--danger)}.form-actions{display:flex;align-items:center;gap:1rem}.form-actions [role=status]{color:var(--muted)}
@media(max-width:760px){.account-row{grid-template-columns:1fr auto}.account-roles{grid-column:1/-1}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar input{min-width:0;width:100%}}
.error-summary{border:2px solid var(--danger);border-left-width:6px;background:var(--surface);border-radius:8px;padding:.85rem 1rem;margin-bottom:1.25rem}.error-summary__heading{margin:0 0 .5rem;font-size:1.05rem;color:var(--danger)}.error-summary__list{margin:0;padding-left:1.2rem}.error-summary__list li{margin:.2rem 0}.error-summary__list a{color:var(--danger);font-weight:700}.error-summary:focus{outline:3px solid var(--hi);outline-offset:2px}
/* Active-session lists. Each row is a definition pair plus its own action, so
   the row wraps rather than squeezing the button or overflowing the timestamps.
   `flex:1 1 18rem` with `min-width:0` lets the detail column shrink inside a
   narrow column instead of pushing the action off the panel. */
.session-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:space-between;padding:.85rem 0;border-top:1px solid var(--border)}
.session-row:first-child{border-top:0}
.session-detail{display:grid;gap:.2rem;min-width:0;flex:1 1 18rem}
.session-detail small{color:var(--muted);overflow-wrap:anywhere}
.session-action{margin-left:auto}
@media(max-width:560px){.session-action{margin-left:0;width:100%}.session-action .button{width:100%}}
