@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Gothic+A1:wght@700;800&display=swap";:root{--vt-ink:#1a1f36;--vt-body:#3c4257;--vt-muted:#697386;--vt-faint:#8792a2;--vt-border:#e6e9ee;--vt-hairline:#edf0f3;--vt-fill:#f6f8fb;--vt-fill-strong:#f2f4f7;--vt-surface:#fff;--vt-accent:#1a7f52;--vt-accent-hover:#156a44;--vt-accent-soft:#1a7f521a;--vt-accent-ring:#1a7f5247;--vt-amber:#bb7a0e;--vt-amber-soft:#bb7a0e1a;--vt-danger:#b42318;--vt-danger-soft:#fef3f2;--vt-danger-border:#fecdca;--vt-info:#175cd3;--vt-info-soft:#eff4ff;--vt-info-border:#b2ccff;--vt-shadow-card:0 1px 2px #1018280d, 0 14px 34px -16px #10182842;--vt-shadow-sm:0 1px 2px #1018280f;--vt-shadow-pop:0 4px 12px #1018281a, 0 1px 3px #1018280f;--vt-radius-panel:12px;--vt-radius-control:10px;--vt-radius-chip:8px}*{box-sizing:border-box}body{background:var(--vt-fill);color:var(--vt-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}h1,h2,h3{letter-spacing:-.02em;color:var(--vt-ink);font-family:Gothic A1,Inter,sans-serif;font-weight:800}a{color:var(--vt-accent)}:focus-visible{outline:2px solid var(--vt-accent);outline-offset:2px}header.admin-nav{background:var(--vt-surface);color:var(--vt-body);border-bottom:1px solid var(--vt-border);box-shadow:var(--vt-shadow-sm);justify-content:space-between;align-items:center;padding:.85rem 1.75rem;display:flex}header.admin-nav .nav-left{align-items:center;gap:1.75rem;display:flex}header.admin-nav .brand{letter-spacing:-.02em;color:var(--vt-ink);align-items:center;gap:.5rem;font-family:Gothic A1,Inter,sans-serif;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}header.admin-nav .brand-mark{width:1.15rem;height:1.03rem;color:var(--vt-ink);flex-shrink:0}header.admin-nav nav a{color:var(--vt-muted);border-bottom:2px solid #0000;margin-right:1.5rem;padding-bottom:2px;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}header.admin-nav nav a:hover{color:var(--vt-ink)}header.admin-nav nav a.active{color:var(--vt-accent);border-bottom-color:var(--vt-accent)}header.admin-nav .session{color:var(--vt-muted);align-items:center;gap:.85rem;font-size:.85rem;display:flex}header.admin-nav button{background:var(--vt-surface);border:1px solid var(--vt-border);color:var(--vt-body);border-radius:var(--vt-radius-chip);cursor:pointer;padding:.35rem .85rem;font-family:inherit;font-size:.8rem;font-weight:600;transition:border-color .15s,color .15s}header.admin-nav button:hover{color:var(--vt-ink);border-color:var(--vt-faint)}main{max-width:1080px;margin:2rem auto;padding:0 1.5rem 3rem}.login-page{background:var(--vt-surface);border:1px solid var(--vt-border);border-radius:var(--vt-radius-panel);max-width:380px;box-shadow:var(--vt-shadow-card);margin:4rem auto;padding:2rem}h1{margin-bottom:1rem;font-size:1.55rem}h2{margin:1.75rem 0 .75rem;font-size:1.15rem}.table-scroll{background:var(--vt-surface);border:1px solid var(--vt-border);border-radius:var(--vt-radius-panel);box-shadow:var(--vt-shadow-card);scrollbar-width:thin;overflow-x:auto}table{border-collapse:separate;border-spacing:0;background:var(--vt-surface);width:100%}.schedules-table{min-width:640px}th,td{text-align:left;border-bottom:1px solid var(--vt-hairline);vertical-align:top;padding:.65rem .85rem;font-size:.88rem}tr:last-child td{border-bottom:none}th{background:var(--vt-fill);color:var(--vt-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--vt-border);font-size:.78rem;font-weight:600}thead th{white-space:nowrap}tbody tr:hover{background:var(--vt-fill)}.schedules-table .group-row th{background:var(--vt-fill-strong);color:var(--vt-ink);text-transform:none;letter-spacing:normal;border-top:1px solid var(--vt-border);border-bottom:1px solid var(--vt-hairline);font-size:.84rem}.schedules-table tbody:first-of-type .group-row th{border-top:none}.schedules-table .group-row:hover{background:var(--vt-fill-strong)}.group-count{float:right;font-weight:400}.schedules-table .col-updated-at{white-space:nowrap}.warn-flag{vertical-align:-.1em;align-items:center;margin-right:.45rem;display:inline-flex}.schedules-table .empty-org-row td{background:var(--vt-amber-soft);color:var(--vt-amber);font-size:.84rem}.muted{color:var(--vt-muted);font-size:.82rem}.banner{border-radius:var(--vt-radius-control);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;padding:.7rem 1rem;font-size:.9rem;display:flex}.banner--success{background:var(--vt-accent-soft);color:var(--vt-accent-hover);border:1px solid #1a7f5240}.banner--info{background:var(--vt-info-soft);color:var(--vt-info);border:1px solid var(--vt-info-border)}.banner--error{background:var(--vt-danger-soft);color:var(--vt-danger);border:1px solid var(--vt-danger-border)}.banner ul{margin:0;padding-left:1.1rem}.banner__dismiss{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;font-size:1rem;line-height:1}.banner__dismiss:hover{opacity:1}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.toolbar-actions{align-items:center;gap:.75rem;margin-left:auto;display:flex}.button-link,button[type=submit],.button-primary{background:var(--vt-accent);color:#fff;border-radius:var(--vt-radius-control);cursor:pointer;border:1px solid #0000;padding:.5rem 1rem;font-family:inherit;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.button-link:hover,button[type=submit]:hover,.button-primary:hover{background:var(--vt-accent-hover)}button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.button-secondary{background:var(--vt-surface);color:var(--vt-body);border:1px solid var(--vt-border);border-radius:var(--vt-radius-control);cursor:pointer;padding:.45rem .9rem;font-family:inherit;font-size:.88rem;font-weight:600;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.button-secondary:hover{color:var(--vt-ink);border-color:var(--vt-faint)}.button-danger{background:var(--vt-surface);color:var(--vt-danger);border:1px solid var(--vt-danger-border);border-radius:var(--vt-radius-chip);cursor:pointer;padding:.4rem .8rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:background .15s;display:inline-block}.button-danger:hover{background:var(--vt-danger-soft)}.link-action{color:var(--vt-accent);margin-right:.75rem;font-size:.85rem;font-weight:600;text-decoration:none}.link-action:hover{text-decoration:underline}label{color:var(--vt-ink);margin-bottom:.9rem;font-size:.85rem;font-weight:600;display:block}input[type=text],input[type=email],input[type=password],input[type=date],select{width:100%;max-width:420px;color:var(--vt-ink);background:var(--vt-surface);border:1px solid var(--vt-border);border-radius:var(--vt-radius-chip);margin-top:.35rem;padding:.5rem .6rem;font-family:inherit;font-size:.9rem;font-weight:400;transition:border-color .15s,box-shadow .15s;display:block}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=date]:focus,select:focus{border-color:var(--vt-accent);box-shadow:0 0 0 3px var(--vt-accent-ring);outline:none}input:disabled{background:var(--vt-fill-strong);color:var(--vt-faint)}.field-error{color:var(--vt-danger);margin:.25rem 0 0;font-size:.78rem;font-weight:500}.hint{color:var(--vt-muted);margin:.25rem 0 0;font-size:.78rem;font-weight:400}.phase-table input[type=text],.phase-table input[type=date]{max-width:none;margin-top:0}.phase-table td.phase-number{width:2rem;color:var(--vt-ink);font-weight:600}.phase-table .col-start-date,.phase-table .col-duration{min-width:10rem}.form-actions{align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.filter-form{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.filter-form label{color:var(--vt-body);align-items:center;gap:.5rem;margin-bottom:0;font-weight:400;display:inline-flex}.filter-form select{width:auto;margin-top:0;display:inline-block}.danger-zone{border-top:1px solid var(--vt-border);margin-top:2rem;padding-top:1rem}.allowlist-add-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.allowlist-add-row .field{min-width:260px}.allowlist-add-row label{margin-bottom:.3rem}.search-select{max-width:420px;position:relative}.search-select__control{align-items:center;gap:.4rem;display:flex}.search-select__input{flex:1;margin-top:0}.search-select__short-id{color:var(--vt-muted);white-space:nowrap;font-size:.8rem}.search-select__clear{cursor:pointer;color:var(--vt-muted);background:0 0;border:none;padding:.2rem .35rem;font-size:1rem;line-height:1}.search-select__clear:hover{color:var(--vt-ink)}.search-select__listbox{z-index:20;background:var(--vt-surface);border:1px solid var(--vt-border);border-radius:var(--vt-radius-control);max-height:16rem;box-shadow:var(--vt-shadow-pop);margin:.25rem 0 0;padding:.25rem 0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-select__option{cursor:pointer;padding:.45rem .65rem;font-size:.88rem}.search-select__option--active{background:var(--vt-accent-soft);color:var(--vt-accent-hover)}.search-select__option-id{color:var(--vt-muted);font-size:.8rem}.search-select__option--disabled{cursor:not-allowed;color:var(--vt-faint)}.search-select__option--disabled.search-select__option--active{color:var(--vt-faint);background:0 0}.search-select__option-hint{color:var(--vt-muted);margin-left:.4rem;font-size:.78rem;font-style:italic}.search-select__empty,.search-select__footer{color:var(--vt-muted);padding:.45rem .65rem;font-size:.82rem}.confirm-dialog{border:1px solid var(--vt-border);border-radius:var(--vt-radius-panel);width:min(26rem,100vw - 2rem);box-shadow:var(--vt-shadow-card);color:var(--vt-body);padding:0}.confirm-dialog::backdrop{background:#10182866}.confirm-dialog__body{padding:1.25rem 1.5rem 1.5rem}.confirm-dialog h2{margin:0 0 .6rem;font-size:1.05rem}.confirm-dialog p{margin:0;font-size:.9rem;line-height:1.5}.confirm-dialog__actions{justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}.badge{border-radius:var(--vt-radius-chip);background:var(--vt-accent-soft);color:var(--vt-accent-hover);white-space:nowrap;vertical-align:middle;margin-left:.5rem;padding:.12rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}
