*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){html{--lightningcss-light: ;--lightningcss-dark:initial}}img,svg{max-width:100%}:focus-visible{outline-offset:2px;outline:2px solid}:root{--bg:#fff;--panel:#f7f7f7;--surface-raised:#f7f7f7;--surface-selected:#fff;--border:#d5d5d5;--fg:#1a1a1a;--text-prose:#1a1a1a;--muted:#565656;--ok:#0b6b3a;--bad:#97210f;--link:#0b57d0;--scrim:#00000073;--accent-blue:#4cc2ff;--accent-amber:#ffc247;--accent-green:#7ee081;--accent-red:#ff5470;--accent-orange:#ff7a45;--accent-purple:#9d7bff;--accent-violet:#c98bff;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "Cascadia Code", Consolas, monospace;--text-label:.6563rem;--text-ui:.7188rem;--text-body:.75rem;--text-h1:1.25rem;--rail-width:15.5rem;--content-min:0}@media (prefers-color-scheme:dark){:root{--bg:#07090b;--panel:#0b0d10;--surface-raised:#0e1216;--surface-selected:#1c242e;--border:#1d242c;--fg:#e6ecf2;--text-prose:#b9c4cf;--muted:#8f9dab;--ok:#7ee081;--bad:#ff5470;--link:#4cc2ff;--scrim:#000000a6}}dialog::backdrop{background:var(--scrim,#00000073)}html:has(dialog[open]){overflow:hidden}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);margin:0;line-height:1.5}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:3rem 1.5rem;display:flex}.auth-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:1.125rem;width:100%;max-width:25rem;padding:1.875rem;display:flex}.auth-brand{color:var(--fg);margin:0;font-weight:600}.auth-heading{font-family:var(--font-mono);font-size:var(--text-ui);letter-spacing:.13em;text-transform:uppercase;color:var(--fg);margin:0;font-weight:600}.auth-subheading{font-size:var(--text-body);color:var(--text-prose);margin:-.5rem 0 0}.auth-field{flex-direction:column;gap:.375rem;display:flex}.auth-label{font-family:var(--font-mono);font-size:var(--text-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.auth-field input{box-sizing:border-box;background:var(--bg);border:1px solid var(--border);width:100%;color:var(--fg);font-size:var(--text-body);border-radius:4px;padding:.625rem .75rem}.auth-password-row{align-items:center;gap:.5rem;display:flex}.auth-password-row input{flex:1}.auth-toggle{border:1px solid var(--border);color:var(--text-prose);font-size:var(--text-label);cursor:pointer;background:0 0;border-radius:4px;flex:none;padding:.375rem .625rem}.auth-toggle-standalone{align-self:flex-start}.auth-error{background:var(--bg);border-left:2px solid var(--bad);color:var(--text-prose);font-size:var(--text-body);border-radius:4px;padding:.5625rem .6875rem}.auth-submit{background:var(--fg);color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:.6875rem .875rem;font-weight:600}.auth-submit:disabled{opacity:.6;cursor:default}.auth-secondary{color:var(--link);font-size:var(--text-ui);text-align:left;cursor:pointer;background:0 0;border:none;padding:0}.auth-footer{font-size:var(--text-ui);color:var(--muted);margin:0;line-height:1.5}.calendar-toolbar{gap:.5rem;margin-bottom:1rem;display:flex}.calendar-toolbar button{border:1px solid var(--border);color:var(--fg);font-size:var(--text-ui);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem .875rem}.calendar-error{background:var(--surface-raised);border-left:2px solid var(--bad);border-radius:4px;align-items:center;gap:.75rem;padding:.625rem .75rem;display:flex}.calendar-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:44rem;font-size:var(--text-body)}.calendar-table caption{text-align:left;font-size:var(--text-h1);margin-bottom:.5rem;font-weight:600}.calendar-table th{text-align:left;font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:.375rem .5rem}.calendar-table td{vertical-align:top;border:1px solid var(--border);height:6.25rem;padding:.5rem}.calendar-table td.calendar-day-outside .calendar-day-number{opacity:.55}.calendar-table td[aria-current=date]{background:var(--surface-selected);border-color:var(--fg)}.calendar-day-number{font-family:var(--font-mono);font-size:var(--text-ui);font-weight:600;display:block}.calendar-entries{font-size:var(--text-label);margin:.375rem 0 0;padding:0;list-style:none}.calendar-entries li{margin-bottom:.75rem}.calendar-entry-kind{font-weight:600}.calendar-entry-actions{gap:.75rem;margin-left:.25rem;display:inline-flex}.calendar-entry-actions button{min-height:24px;color:var(--muted);font-size:var(--text-label);cursor:pointer;background:0 0;border:none;margin:-.375rem;padding:.375rem;text-decoration:underline}.calendar-add-button{text-align:center;width:24px;min-height:24px;color:var(--muted);font-size:var(--text-ui);cursor:pointer;background:0 0;border:none;margin-top:.375rem;padding:.375rem 0;display:block}.planned-session-dialog{background:var(--surface-raised);color:var(--fg);border:1px solid var(--border);border-radius:6px;width:min(32rem,100vw - 2rem);max-height:calc(100vh - 4rem);padding:1rem 1.25rem;overflow-y:auto}.planned-session-dialog-heading{font-size:var(--text-h1);margin:0 0 .75rem}.planned-session-view-notes{white-space:pre-wrap}.planned-session-form-field{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.planned-session-form-label-row{align-items:baseline;gap:.25rem;display:flex}.planned-session-form-required{color:var(--muted);font-size:var(--text-ui)}.planned-session-form-field input,.planned-session-form-field select,.planned-session-form-field textarea{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:4px;padding:.5rem .625rem;font-family:inherit}.planned-session-form-field-error{color:var(--bad);font-size:var(--text-ui);margin:0}.planned-session-form-error{background:var(--bg);border-left:2px solid var(--bad);color:var(--text-prose);border-radius:4px;margin:.75rem 0;padding:.5625rem .6875rem}.planned-session-form-actions{gap:.5rem;display:flex}.planned-session-form-actions button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem .875rem}.shell{background:var(--bg);min-height:100vh;display:flex}.skip-link{z-index:1;background:var(--surface-selected);color:var(--fg);padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:.5rem;left:.5rem}.rail{width:var(--rail-width);background:var(--surface-raised);border-right:1px solid var(--border);flex:none;padding:1rem 0;overflow-y:auto}.rail-group{margin-bottom:1.25rem}.rail-group-label{font-size:var(--text-label);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 .75rem .375rem}.rail-list{margin:0;padding:0;list-style:none}.rail-link{font-size:var(--text-ui);color:var(--text-prose);border-left:2px solid var(--rail-accent,var(--border));padding:.5rem .625rem;font-weight:500;text-decoration:none;display:block}.rail-link[data-accent=blue]{--rail-accent:var(--accent-blue)}.rail-link[data-accent=amber]{--rail-accent:var(--accent-amber)}.rail-link[data-accent=green]{--rail-accent:var(--accent-green)}.rail-link[data-accent=red]{--rail-accent:var(--accent-red)}.rail-link[data-accent=orange]{--rail-accent:var(--accent-orange)}.rail-link[data-accent=purple]{--rail-accent:var(--accent-purple)}.rail-link[data-accent=violet]{--rail-accent:var(--accent-violet)}.rail-link[aria-current=page]{border-left-width:4px;border-left-color:var(--fg);background:var(--surface-selected);color:var(--fg);font-weight:600}.shell-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow-x:auto}.shell-header{min-width:var(--content-min);background:var(--surface-raised);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.shell-brand{margin:0;font-weight:600}.shell-header-actions{align-items:center;gap:1rem;display:flex}.shell-header-link{color:var(--link)}.shell-sign-out{border:1px solid var(--border);color:var(--fg);font-size:var(--text-ui);cursor:pointer;background:0 0;border-radius:4px;padding:.375rem .75rem}.shell-main{min-width:var(--content-min);flex:1;padding:1.5rem}.impersonation-banner{background:var(--surface-raised);border-bottom:2px solid var(--bad);font-size:var(--text-ui);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 1.5rem;display:flex}.impersonation-banner p{margin:0}.impersonation-notice{background:var(--surface-raised);border-bottom:1px solid var(--border);font-size:var(--text-ui);padding:.75rem 1.5rem}.impersonation-notice ul{margin:.375rem 0;padding-left:1.25rem}.screen-title{font-size:var(--text-h1);margin:0 0 .75rem}.screen-answer{max-width:40rem;font-size:var(--text-body);color:var(--text-prose);margin:0;line-height:1.6}.not-found{max-width:40rem}.not-found-link{color:var(--link)}.users-create{border:1px solid var(--border);background:var(--fg);color:var(--bg);cursor:pointer;border-radius:4px;margin-bottom:1rem;padding:.5rem .875rem;font-weight:600}.users-error{background:var(--surface-raised);border-left:2px solid var(--bad);color:var(--text-prose);border-radius:4px;padding:.625rem .75rem}.users-table{border-collapse:collapse;width:100%;font-size:var(--text-body)}.users-table th,.users-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem}.users-row-actions{gap:.5rem;display:flex}.users-row-actions button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:4px;padding:.25rem .5rem}.users-badge-inactive{border:1px solid var(--border);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-radius:4px;padding:.125rem .5rem}.user-form-panel{background:var(--surface-raised);border:1px solid var(--border);border-radius:6px;margin:1rem 0;padding:1rem 1.25rem}.user-form-heading{font-size:var(--text-h1);margin:0 0 .75rem}.user-form-field{flex-direction:column;gap:.25rem;margin-bottom:.75rem;display:flex}.user-form-field input,.user-form-field select{background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:4px;padding:.5rem .625rem}.user-form-field-error{color:var(--bad);font-size:var(--text-ui);margin:0}.user-form-error{background:var(--bg);border-left:2px solid var(--bad);color:var(--text-prose);border-radius:4px;margin:.75rem 0;padding:.5625rem .6875rem}.user-form-actions{gap:.5rem;display:flex}.user-form-actions button{border:1px solid var(--border);color:var(--fg);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem .875rem}.panel{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:1.25rem}.panel h2{margin:0 0 1rem;font-size:1.1rem}.panel--error{border-color:var(--bad)}.facts{grid-template-columns:auto 1fr;gap:.5rem 1rem;margin:0;display:grid}.facts dt{color:var(--muted)}.facts dd{overflow-wrap:anywhere;margin:0}@media (width<=26rem){.facts{grid-template-columns:1fr;gap:0}.facts dd{margin-bottom:.75rem}}.badge{font-weight:600}.badge--ok{color:var(--ok)}.badge--bad{color:var(--bad)}code{font-family:var(--font-mono);font-size:.9em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
