:root{--surface-0:#f4f3ef;--surface-1:#faf9f5;--surface-2:#fff;--text-primary:#1a1915;--text-secondary:#6b6a63;--text-muted:#93918a;--border:#0000001f;--border-strong:#0000003d;--blue-fill:#185fa5;--blue-text:#0c447c;--blue-bg:#e6f0fa;--alarm-bg:#fdecec;--alarm-text:#a32d2d;--amber-bg:#faeeda;--amber-text:#633806;--radius:8px;--font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--surface-0:#141413;--surface-1:#1d1d1b;--surface-2:#252523;--text-primary:#f5f4ef;--text-secondary:#b0aea6;--text-muted:#87857e;--border:#ffffff24;--border-strong:#ffffff47;--blue-text:#8fc0f5;--blue-bg:#16293d;--alarm-bg:#3d1a1a;--alarm-text:#f5b4b3;--amber-bg:#3a2a10;--amber-text:#f2c177}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{min-height:100%}body{background:var(--surface-0);color:var(--text-primary);font-family:var(--font-sans);-webkit-text-size-adjust:100%;margin:0;font-size:16px;line-height:1.45}button,input,select{font:inherit;color:inherit}button{cursor:pointer}h1,h2{margin:0 0 .6rem}h1{font-size:1.6rem}h2{font-size:1.15rem}.muted{color:var(--text-secondary)}.error{color:var(--alarm-text);background:var(--alarm-bg);border-radius:var(--radius);padding:.5rem .75rem}.notice{color:var(--amber-text);background:var(--amber-bg);border-radius:var(--radius);padding:.5rem .75rem}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:20px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.card-head h2{margin:0}input,select{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);width:100%;min-height:44px;padding:.65rem .75rem}input:disabled{opacity:.6}label{margin:.75rem 0 .25rem;font-size:.9rem;font-weight:600;display:block}label input,label select{margin-top:.25rem;font-weight:400}button.primary{background:var(--blue-fill);color:#fff;border-radius:var(--radius);border:0;min-height:44px;padding:.7rem 1.1rem;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}button.link{color:var(--blue-text);background:0 0;border:0;padding:.5rem;text-decoration:underline}button.small{background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--radius);min-height:36px;padding:.35rem .8rem}.signin{width:100%;max-width:380px}.signin form{flex-direction:column;gap:.25rem;display:flex}.signin .primary{margin-top:1rem}input.code{letter-spacing:.5em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.8rem}.topbar{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top));background:var(--surface-2);border-bottom:1px solid var(--border);z-index:5;flex-wrap:wrap;align-items:center;gap:16px;display:flex;position:sticky;top:0}.brand{flex-direction:column;line-height:1.15;display:flex}.brand .team{font-weight:700}.brand .app{color:var(--text-secondary);font-size:.8rem}.tabs{flex:1;gap:4px;display:flex}.tab{border-radius:var(--radius);min-height:44px;color:var(--text-secondary);background:0 0;border:0;padding:.55rem .9rem;font-weight:600}.tab.on{background:var(--blue-bg);color:var(--blue-text)}.who{color:var(--text-secondary);align-items:center;gap:4px;font-size:.9rem;display:flex}.page{max-width:960px;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));margin:0 auto}.facts{grid-template-columns:max-content 1fr;gap:.35rem 1rem;margin:0;display:grid}.facts dt{color:var(--text-secondary)}.facts dd{margin:0}.staff{margin:0;padding:0;list-style:none}.staff li{border-top:1px solid var(--border);grid-template-columns:minmax(0,2fr) auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.staff li.off{opacity:.55}.who-col{flex-direction:column;min-width:0;display:flex}.who-col span{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.role{background:var(--surface-0);white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:600}.role-admin{background:var(--blue-bg);color:var(--blue-text)}.groups{font-size:.9rem}.status{font-size:.85rem}@media (width<=640px){.staff li{grid-template-columns:1fr auto;row-gap:4px}.staff li .groups,.staff li .status{grid-column:1}.tabs{flex-basis:100%;order:3}}.staff-form{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);margin:8px 0;padding:12px 16px}.staff-form .row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=640px){.staff-form .row{grid-template-columns:1fr}}fieldset{border:0;margin:.75rem 0 0;padding:0}legend{margin-bottom:.35rem;font-size:.9rem;font-weight:600}legend .muted{font-weight:400}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:999px;min-width:52px;min-height:44px;font-weight:600}.chip.on{background:var(--blue-fill);border-color:var(--blue-fill);color:#fff}label.check{align-items:center;gap:.5rem;font-weight:400;display:flex}label.check input{width:auto;min-height:0}.actions{align-items:center;gap:8px;margin-top:12px;display:flex}.staff li .small{justify-self:end}
