﻿:root{--navy:#17324d;--navy-2:#244b6b;--teal:#147d77;--teal-2:#0f625e;--cream:#f7f5ef;--paper:#fff;--ink:#17222e;--muted:#667585;--line:#dce3e8;--soft:#edf5f4;--danger:#b42318;--warn:#9a6700;--ok:#147a45;--tg:#a35f1c;--xm:#9b2c47;--ny:#3568a8;--shadow:0 8px 30px rgba(23,50,77,.09);--radius:14px}
  *{box-sizing:border-box}html{background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.45}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:100;color:var(--navy)}.skip-link:focus{top:1rem}
  .site-header{height:72px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 clamp(1rem,4vw,3rem);gap:2rem;position:sticky;top:0;z-index:20;box-shadow:0 2px 10px rgba(0,0,0,.16)}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:.7rem;min-width:max-content}.brand-mark{display:grid;place-items:center;width:38px;height:38px;background:var(--teal);border-radius:11px;font-weight:800}.brand strong,.brand small{display:block}.brand small{font-size:.72rem;opacity:.72}.site-header nav{display:flex;gap:.25rem;overflow:auto;scrollbar-width:none}.site-header nav button,.site-header nav a{border:0;background:transparent;color:#dfeaf3;padding:.65rem .8rem;border-radius:8px;text-decoration:none;white-space:nowrap;cursor:pointer}.site-header nav .active,.site-header nav button:hover,.site-header nav a:hover{background:rgba(255,255,255,.12);color:#fff}.viewer-context{display:none;margin-left:auto;align-items:center;gap:.35rem;color:#dce9ef;font-size:.7rem;white-space:nowrap}.viewer-context:not(:empty){display:flex}.viewer-context span{padding:.2rem .42rem;border:1px solid rgba(255,255,255,.22);border-radius:999px}.viewer-context .viewer-status{background:rgba(20,125,119,.35)}.viewer-context .viewer-status.paused{background:rgba(154,103,0,.42);color:#fff4d8}.viewer-context:not(:empty)+.connection{margin-left:0}.connection{margin-left:auto;font-size:.75rem;color:#a8c0d2;white-space:nowrap}
  main{width:min(1520px,100%);margin:0 auto 0 0;padding:clamp(1rem,3vw,2.4rem)}h1,h2,h3{color:var(--navy);line-height:1.15;margin-top:0}h1{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.035em}h2{font-size:1.25rem}h3{font-size:1rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:var(--teal)}.lede{font-size:1.05rem;color:var(--muted);max-width:760px}.muted{color:var(--muted)}.small{font-size:.82rem}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.nowrap{white-space:nowrap}
  .hero{background:linear-gradient(125deg,var(--navy),#265a72);color:#fff;border-radius:20px;padding:clamp(1.5rem,5vw,3.5rem);margin-bottom:1.4rem;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:280px;height:280px;border:55px solid rgba(255,255,255,.05);border-radius:50%;right:-90px;top:-100px}.hero h1,.hero .eyebrow{color:#fff}.hero p{color:#dce9ef}.hero-row{display:flex;align-items:end;justify-content:space-between;gap:1rem;position:relative;z-index:1}
  .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;box-shadow:0 2px 10px rgba(23,50,77,.04)}.card.flat{box-shadow:none}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{padding:1rem;border-left:4px solid var(--teal)}.stat strong{font-size:1.65rem;display:block;color:var(--navy)}.section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.6rem 0 .8rem}.section-head h2{margin:0}.toolbar{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}.stack{display:grid;gap:1rem}.split{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:1rem;align-items:start}.sticky-panel{position:sticky;top:90px}
  .button{border:1px solid var(--teal);background:var(--teal);color:#fff;border-radius:9px;min-height:42px;padding:.58rem .92rem;font-weight:700;cursor:pointer}.button:hover{background:var(--teal-2)}.button:disabled{opacity:.48;cursor:not-allowed}.button.secondary{background:#fff;color:var(--navy);border-color:#b9c6d0}.button.secondary:hover{background:#f1f5f7}.button.danger{background:var(--danger);border-color:var(--danger)}.button.small-button{font-size:.78rem;min-height:34px;padding:.3rem .58rem}.icon-button{border:0;background:transparent;font-size:1.6rem;cursor:pointer}.link-button{border:0;background:transparent;color:var(--teal);padding:.2rem;cursor:pointer;text-decoration:underline}.segmented{display:flex;background:#e7ecef;padding:4px;border-radius:11px;gap:3px;overflow:auto}.segmented button{border:0;background:transparent;color:var(--navy);padding:.55rem .85rem;border-radius:8px;white-space:nowrap;cursor:pointer}.segmented button.active{background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12);font-weight:700}
  label{display:grid;gap:.32rem;font-size:.82rem;font-weight:700;color:var(--navy)}input,select,textarea{width:100%;min-height:42px;border:1px solid #bac7d1;background:#fff;color:var(--ink);border-radius:8px;padding:.55rem .68rem}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid rgba(20,125,119,.23);outline-offset:2px;border-color:var(--teal)}input[type=checkbox]{width:18px;min-height:18px}.check-label{display:flex;align-items:center;gap:.4rem}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.auth-card{max-width:430px;margin:8vh auto;padding:2rem}.auth-card .brand-mark{margin-bottom:1rem;color:#fff}
  .badge{display:inline-flex;align-items:center;gap:.35rem;border-radius:999px;padding:.25rem .55rem;background:#e9eef2;color:var(--navy);font-size:.72rem;font-weight:800;letter-spacing:.02em}.badge.ok{background:#e5f5eb;color:var(--ok)}.badge.warn{background:#fff4d8;color:var(--warn)}.badge.error{background:#fee9e7;color:var(--danger)}.badge.tg{background:#fff0df;color:var(--tg)}.badge.xm{background:#fce8ee;color:var(--xm)}.badge.ny{background:#e8f0fb;color:var(--ny)}
  .lock-status{display:inline-flex;align-items:center;gap:.32rem;min-height:34px;padding:.3rem .58rem;border:1px solid;border-radius:999px;white-space:nowrap;font-size:.73rem}.lock-status small{font-size:.65rem;font-weight:600;opacity:.78}.lock-status.locked{background:#fff4d8;border-color:#e2c36b;color:#75540a}.lock-status.unlocked{background:#e8f5ef;border-color:#9acbb2;color:#145c43}.nav-lock{float:right;margin-left:.5rem;font-size:.75rem;opacity:.78}.admin-nav button{display:flex;align-items:center;justify-content:space-between;gap:.45rem}.order-locked{grid-template-columns:46px 22px 1fr;background:#f7f9fa}.order-locked .order-drag-handle{font-size:.75rem}
  .table-wrap{overflow:auto;border:1px solid var(--line);border-radius:11px;background:#fff}table{border-collapse:collapse;width:100%;font-size:.86rem}th,td{padding:.7rem .75rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f3f6f8;color:var(--navy);font-size:.73rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:1}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfc}.table-actions{display:flex;gap:.25rem}
  .calendar-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.shift-calendar{min-width:700px;table-layout:fixed}.shift-calendar th:first-child,.shift-calendar td:first-child{width:120px;position:sticky;left:0;background:#f7f9fa;z-index:2}.shift-calendar th:first-child{z-index:3}.shift-cell{min-height:54px;display:flex;flex-wrap:wrap;gap:4px;align-items:center}.shift-chip{border:1px solid #b9c7d2;background:#fff;color:var(--navy);border-radius:7px;padding:.32rem .42rem;font-size:.74rem;font-weight:750;cursor:pointer}.shift-chip.selected{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 0 2px rgba(20,125,119,.2)}.shift-chip.unavailable{opacity:.45}.shift-chip.external{background:#fff5d9;border-color:#e0bd5b;color:#755a09;cursor:default}.block-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem}.block-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:.85rem;text-align:left;cursor:pointer}.block-card:hover,.block-card.selected{border-color:var(--teal);box-shadow:0 0 0 2px rgba(20,125,119,.14)}.block-card strong{display:block;color:var(--navy);font-size:1.05rem}.block-card .score{font-size:1.25rem;color:var(--teal);font-weight:800}.pain-list{padding-left:1.2rem}.pain-list li{margin:.35rem 0;display:flex;justify-content:space-between;gap:1rem}.success-panel{border:1px solid #9bd0ae;background:#edf9f1;padding:1.4rem;border-radius:14px}.warning-panel{border:1px solid #e6c56e;background:#fff9e9;padding:1rem;border-radius:11px}.error-panel{border:1px solid #efaaa5;background:#fff3f2;padding:1rem;border-radius:11px;color:#7f1d1d}
  .admin-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:1.3rem}.admin-nav{display:grid;align-content:start;gap:.25rem;position:sticky;top:90px}.admin-nav button{border:0;text-align:left;background:transparent;color:var(--navy);padding:.7rem .8rem;border-radius:8px;cursor:pointer}.admin-nav button.active{background:var(--navy);color:#fff}.health-row{display:grid;grid-template-columns:90px 160px 1fr;gap:.8rem;padding:.8rem 0;border-bottom:1px solid var(--line)}.health-row:last-child{border:0}.order-grid{align-items:stretch}.order-list{display:grid;grid-template-rows:auto 1fr}.order-list h2{margin-top:0}.order-list-body{min-height:var(--order-list-min-height);align-content:start}.order-row{display:grid;grid-template-columns:38px 1fr;gap:.4rem;align-items:center;min-height:40px;padding:.25rem .35rem}.order-row:last-child{border:0}.order-placeholder{background:#f7fafb;color:var(--muted)}.order-placeholder .order-rank{color:#9aa9b4}.order-draggable{grid-template-columns:38px 18px 1fr;cursor:grab;user-select:none}.order-draggable:active{cursor:grabbing}.order-draggable.dragging{opacity:.45}.order-draggable.drag-over{border-top:3px solid var(--teal);padding-top:calc(.25rem - 2px)}.order-drag-handle{color:var(--muted);font-size:1rem;line-height:1}.order-rank{font-size:.95rem;font-weight:800;color:var(--teal)}
  .loading-page{min-height:50vh;display:grid;place-content:center;text-align:center;color:var(--muted)}.loading-inline{display:flex;align-items:center;gap:.5rem}.spinner{width:25px;height:25px;border:3px solid #cfd9df;border-top-color:var(--teal);border-radius:50%;display:inline-block;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast-region{position:fixed;right:1rem;bottom:1rem;display:grid;gap:.5rem;z-index:100}.toast{background:var(--navy);color:#fff;padding:.8rem 1rem;border-radius:9px;box-shadow:var(--shadow);max-width:390px}.toast.error{background:#8b1e18}.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty>span{font-size:2rem}.dialog{border:0;border-radius:14px;padding:0;max-width:min(520px,calc(100vw - 2rem));width:100%;box-shadow:0 25px 80px rgba(0,0,0,.25)}.dialog::backdrop{background:rgba(10,24,36,.55)}.dialog form{padding:1.2rem}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dialog-actions{justify-content:flex-end;margin-top:1.2rem}.dialog h2{margin:0}
  .form-span{grid-column:1/-1}.timing-preview{margin-top:.4rem;padding:1rem;background:var(--soft);border:1px solid #bfd9d6;border-radius:11px}.compact-head{margin:0 0 .5rem}.time-chip-list{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin:.7rem 0}.time-chip{color:var(--navy);font-size:.82rem;font-weight:700;white-space:nowrap}.time-chip:not(:last-child)::after{content:'·';margin-left:.3rem;color:var(--teal);font-weight:800}.timing-rounds{margin-top:.8rem}.timing-round{display:grid;gap:.2rem;background:#fff;border:1px solid var(--line);border-radius:9px;padding:.8rem}.holiday-calendar-head{margin-top:0}.holiday-calendar-title{margin:-1.2rem -1.2rem 1rem;padding:.72rem 1rem;border-radius:var(--radius) var(--radius) 0 0;text-align:center}.holiday-calendar-title.tg{background:#fff0df;color:var(--tg)}.holiday-calendar-title.xm{background:#fce8ee;color:var(--xm)}.holiday-calendar-title.ny{background:#e8f0fb;color:var(--ny)}.holiday-weekend-toggle{background:var(--soft);border:1px solid #bfd9d6;border-radius:10px;padding:.65rem .8rem;white-space:nowrap}.holiday-date-preview{margin:.75rem 0}.holiday-day-list{display:grid;gap:.4rem}.holiday-day{display:grid;gap:.1rem;border-left:3px solid var(--teal);background:#f7fafb;padding:.5rem .6rem;border-radius:6px}.stack.compact{gap:.45rem}.warning-text{color:var(--warn);font-weight:700}.success{color:var(--ok);font-weight:700}.review-details{border:1px solid var(--line);border-radius:10px;padding:.65rem;background:#fff}.review-details summary{cursor:pointer;color:var(--navy);font-weight:750;margin-bottom:.6rem}.workflow-card{border-left:5px solid var(--teal)}.compact-stat{box-shadow:none;padding:.7rem}.compact-form{grid-template-columns:minmax(260px,1fr) auto;align-items:end}.legend{display:flex;gap:.45rem;flex-wrap:wrap;margin-bottom:.5rem}.shift-chip.unassigned{background:#f3f6f8;border-style:dashed;color:var(--muted);cursor:default}.shift-chip.assigned{background:#e7f4f2;border-color:#85bbb6;color:var(--teal-2)}.per-diem-grid{display:grid;gap:.8rem}.per-diem-grid>.legend .shift-chip{cursor:default}.per-diem-holiday{display:grid;gap:.5rem}.per-diem-holiday-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.per-diem-holiday-head h3{margin:0}.per-diem-calendar th:first-child,.per-diem-calendar td:first-child{width:150px}.per-diem-calendar tbody th span,.per-diem-calendar tbody th small{display:block}.per-diem-calendar tbody th small{margin-top:.15rem;color:var(--muted);font-size:.68rem;font-weight:500;text-transform:none;letter-spacing:0}.per-diem-grid .per-diem-toggle{min-width:74px;cursor:pointer}.per-diem-grid .per-diem-toggle:hover{transform:translateY(-1px);box-shadow:0 2px 6px rgba(23,50,77,.18)}.per-diem-grid .shift-chip.external{cursor:pointer}.per-diem-grid .per-diem-locked{cursor:not-allowed;opacity:.72}.per-diem-grid .shift-cell{align-content:flex-start}
  .holiday-confirm{background:#edf9f1;border:1px solid #a6d4b7;border-radius:8px;padding:.55rem;color:#145c43;font-size:.8rem}.coverage-sheet-wrap{margin-top:.9rem}.coverage-sheet{min-width:1300px;table-layout:fixed}.coverage-sheet th,.coverage-sheet td{padding:.38rem;text-align:center}.coverage-sheet thead tr:first-child>th:first-child,.coverage-sheet tbody tr>th:first-child{width:245px;position:sticky;left:0;background:#f3f6f8;z-index:3;text-align:left}.coverage-sheet thead tr:first-child th{top:0}.coverage-sheet thead tr:nth-child(2) th{top:33px}.coverage-sheet .coverage-holiday{text-align:center;border-left:2px solid #c5d0d8}.coverage-sheet .coverage-holiday.tg{background:#fff0df;color:var(--tg)}.coverage-sheet .coverage-holiday.xm{background:#fce8ee;color:var(--xm)}.coverage-sheet .coverage-holiday.ny{background:#e8f0fb;color:var(--ny)}.coverage-sheet thead tr:nth-child(2) th:nth-child(4n+1),.coverage-sheet tbody td:nth-child(4n+2){border-left:2px solid #c5d0d8}.coverage-sheet input{min-width:58px;min-height:36px;padding:.35rem;text-align:center;border-radius:4px}.coverage-shift-heading{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.coverage-shift-title,.coverage-shift-time{display:block}.coverage-shift-time{margin-top:.14rem;color:var(--muted);font-size:.7rem;font-weight:500;text-transform:none;letter-spacing:0}.coverage-inactive-row>th:first-child{background:#fafbfc}.coverage-inactive-row .coverage-shift-title{color:var(--muted)}.new-shift-fields{display:grid;gap:.35rem}.new-shift-fields>input{text-align:left}.new-shift-times{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.3rem}.new-shift-times label{font-size:.66rem;text-transform:none;letter-spacing:0}.new-shift-times input{min-width:0;font-size:.72rem}.coverage-trash{color:var(--danger);font-size:1.1rem;padding:.2rem}.coverage-trash:hover{background:#fee9e7;border-radius:7px}.coverage-build-summary{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-top:.8rem;padding:.7rem .8rem;background:var(--soft);border-radius:8px;color:var(--navy)}.coverage-build-summary span{font-size:.82rem;color:var(--muted)}
  .status-coverage-sheet .coverage-status-cell{height:43px;padding:0;background:#fff;vertical-align:middle}.status-coverage-sheet .coverage-status-cell input{width:100%;height:42px;min-width:58px;min-height:42px;border:0;border-radius:0;background:transparent;text-align:center;text-transform:uppercase;font-weight:850;color:var(--navy)}.status-coverage-sheet .coverage-status-cell.status-x{background:#e4e8eb;background-image:linear-gradient(135deg,transparent 47%,rgba(102,117,133,.18) 48%,rgba(102,117,133,.18) 52%,transparent 53%)}.status-coverage-sheet .coverage-status-cell.status-x input{color:#667585}.status-coverage-sheet .coverage-status-cell.status-pd{background:#fff1c9;box-shadow:inset 0 0 0 2px #dfb84c}.status-coverage-sheet .coverage-status-cell.status-pd input{color:#755a09}.status-coverage-sheet .coverage-status-cell.status-invalid{background:#fee9e7;box-shadow:inset 0 0 0 2px var(--danger)}.status-coverage-sheet .coverage-status-cell input:focus{position:relative;z-index:1;background:#fff;outline:3px solid rgba(20,125,119,.3);outline-offset:-3px}.coverage-row-actions{display:flex;align-items:center;gap:.1rem}.coverage-duplicate{color:var(--teal);font-size:1.15rem;padding:.2rem}.coverage-duplicate:hover{background:#e7f4f2;border-radius:7px}.status-coverage-sheet thead th:not(:first-child){text-align:center}.status-coverage-sheet tbody tr:hover .coverage-status-cell:not(.status-x):not(.status-pd){background:#f7fbfa}
  .status-coverage-sheet thead tr:nth-child(2) th:not(:nth-child(4n+1)),.status-coverage-sheet tbody td:not(:nth-child(4n+2)){border-left:1px solid #eef1f3}
  .roster-help{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.9rem 0}.roster-help>div{display:grid;align-content:start;gap:.25rem;padding:.75rem .8rem;background:var(--soft);border:1px solid #c7dcda;border-radius:9px}.roster-help strong{color:var(--navy);font-size:.8rem}.roster-help span{color:var(--muted);font-size:.76rem}.roster-help b{color:var(--ink)}.roster-table-wrap{max-height:620px;border-radius:12px}.roster-grid{min-width:1840px;table-layout:fixed}.roster-grid th,.roster-grid td{padding:.38rem;text-align:center}.roster-grid thead tr:nth-child(2) th{top:31px}.roster-grid .roster-group-head th{top:0;text-align:center;border-left:2px solid #c5d0d8}.roster-grid .roster-group-head th:first-child{border-left:0}.roster-grid .roster-group-identity{background:#e8f0fb;color:var(--ny)}.roster-grid .roster-group-holidays{background:#fff0df;color:var(--tg)}.roster-grid .roster-group-scheduling{background:#e7f4f2;color:var(--teal-2)}.roster-grid thead tr:nth-child(2) th:first-child,.roster-grid tbody td:first-child{position:sticky;left:0;z-index:3;text-align:left;background:#f3f6f8}.roster-grid tbody td:first-child{z-index:2;background:#fff}.roster-grid tbody tr:nth-child(even) td{background:#fbfcfd}.roster-grid tbody tr:nth-child(even) td:first-child{background:#f7f9fa}.roster-grid tbody tr:hover td{background:#f7fbfa}.roster-grid thead tr:nth-child(2) th:nth-child(5),.roster-grid thead tr:nth-child(2) th:nth-child(11),.roster-grid tbody td:nth-child(5),.roster-grid tbody td:nth-child(11),.roster-grid tbody td:nth-child(13){border-left:2px solid #c5d0d8}.roster-sort-button{display:inline-flex;align-items:center;justify-content:center;gap:.32rem;width:100%;padding:.15rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.roster-sort-button:hover,.roster-sort-button:focus-visible{color:var(--teal-2)}.roster-sort-button [data-sort-icon]{font-size:.68rem;line-height:1}.roster-grid input,.roster-grid select{min-height:36px;padding:.38rem .45rem;font-size:.8rem;border-radius:4px}.roster-grid thead tr:nth-child(2)>th:nth-child(1),.roster-grid tbody td:nth-child(1){width:175px}.roster-grid thead tr:nth-child(2)>th:nth-child(2),.roster-grid tbody td:nth-child(2){width:220px}.roster-grid thead tr:nth-child(2)>th:nth-child(3),.roster-grid tbody td:nth-child(3){width:78px}.roster-grid thead tr:nth-child(2)>th:nth-child(4),.roster-grid tbody td:nth-child(4){width:190px}.roster-grid thead tr:nth-child(2)>th:nth-child(n+5):nth-child(-n+7),.roster-grid tbody td:nth-child(n+5):nth-child(-n+7){width:135px}.roster-grid thead tr:nth-child(2)>th:nth-child(n+8):nth-child(-n+10),.roster-grid tbody td:nth-child(n+8):nth-child(-n+10){width:62px}.roster-grid thead tr:nth-child(2)>th:nth-child(11),.roster-grid tbody td:nth-child(11){width:190px}.roster-grid thead tr:nth-child(2)>th:nth-child(12),.roster-grid tbody td:nth-child(12){width:180px}.roster-grid .roster-group-head>th:last-child,.roster-grid tbody td:nth-child(13){width:105px}.roster-save-note{margin:.75rem 0 0}.check-cell{text-align:center;vertical-align:middle}.check-cell input[type=checkbox]{margin:.55rem auto}.roster-group{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}.roster-actions{white-space:nowrap;vertical-align:middle}.roster-trash{color:var(--danger);font-size:1.25rem;padding:.25rem .35rem;vertical-align:middle}.roster-trash:hover{background:#fee9e7;border-radius:7px}
  .toast{display:flex;align-items:center;gap:.65rem;min-width:min(330px,calc(100vw - 2rem));animation:toast-in .2s ease-out;border-left:4px solid #91c8c4}.toast.success{background:#145c43;border-left-color:#71d19f;color:#fff}.toast.error{background:#8b1e18;border-left-color:#ff9d95}.toast.progress{background:var(--navy-2);border-left-color:#8bc7d8}.toast-icon{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border:2px solid currentColor;border-radius:50%;font-weight:900}.toast .toast-icon.spinner{width:22px;height:22px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff}.toast-message{flex:1}@keyframes toast-in{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
  .block-page-head{margin-top:.2rem}.block-generation-summary{padding:.7rem .85rem;margin-bottom:.7rem;box-shadow:none}.block-generation-summary>p{margin:.55rem 0 0}.block-generation-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.block-generation-counts>div{display:grid;grid-template-columns:auto 1fr;column-gap:.45rem;align-items:center;padding:.45rem .55rem;background:var(--soft);border:1px solid #d5dfe4;border-radius:8px}.block-generation-counts strong{font-size:.85rem;color:var(--navy)}.block-generation-counts small{grid-column:2;color:var(--muted);font-size:.68rem}.block-holiday-tabs{margin-bottom:.6rem}.block-holiday-tabs button span{display:inline-grid;place-items:center;min-width:1.35rem;margin-left:.2rem;padding:.05rem .28rem;border-radius:999px;background:rgba(255,255,255,.55);font-size:.7rem}.block-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:.5rem 0;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}.block-metrics>div{display:grid;gap:.05rem;padding:.42rem .6rem;background:#fff;text-align:center}.block-metrics span{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.block-metrics strong{font-size:1rem;color:var(--navy)}.compact-warning{margin:.55rem 0;padding:.65rem .75rem;font-size:.8rem}.block-pain-key{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;margin:.45rem 0}.block-pain-key>strong{margin-right:.1rem;color:var(--navy);font-size:.72rem}.pain-key{padding:.2rem .42rem;border:1px solid transparent;border-radius:5px;font-size:.67rem;font-weight:800}.pain-0{background:#e8f5ef!important;border-color:#a9d7c0!important}.pain-1{background:#f0f5e9!important;border-color:#c6d7a8!important}.pain-2{background:#fff7dd!important;border-color:#ead28c!important}.pain-3{background:#feecd9!important;border-color:#e6bd8f!important}.pain-4{background:#fce2df!important;border-color:#e6aaa5!important}.block-sheet-wrap{max-height:66vh;border:1px solid var(--line);border-radius:10px;background:#fff}.block-review-sheet{width:100%;min-width:620px;table-layout:fixed;border-collapse:separate;border-spacing:0}.block-review-sheet th,.block-review-sheet td{padding:.2rem;border-right:1px solid #edf0f2;border-bottom:1px solid #e3e8eb;text-align:center;vertical-align:middle}.block-review-sheet thead th{position:sticky;top:0;z-index:3;background:#e8f0fb;color:var(--navy);font-size:.68rem}.block-review-sheet thead th:first-child{left:0;z-index:5;width:112px}.block-review-sheet tbody th{position:sticky;left:0;z-index:2;width:112px;background:#f3f6f8;text-align:left}.block-review-sheet tbody th span,.block-review-sheet tbody th small{display:block}.block-review-sheet tbody th span{font-size:.68rem;color:var(--navy)}.block-review-sheet tbody th small{font-size:.59rem;color:var(--muted);font-weight:500}.block-grid-cell{min-height:29px;display:flex;align-items:center;justify-content:center;gap:.18rem;flex-wrap:wrap}.block-grid-empty{color:#b1bbc2;font-size:.72rem}.block-grid-chip{display:inline-flex;align-items:center;gap:.2rem;min-height:25px;padding:.18rem .3rem;border:1px solid #b9c7d2;border-radius:5px;color:var(--navy);font:inherit;line-height:1;white-space:nowrap}.block-grid-chip[draggable=true]{cursor:grab}.block-grid-chip[draggable=true]:active{cursor:grabbing}.block-grid-chip strong{font-size:.68rem}.block-grid-chip small{font-size:.56rem;opacity:.72}.block-grid-chip.group-highlight{outline:3px solid var(--teal);outline-offset:1px;box-shadow:0 0 0 4px rgba(20,125,119,.14)}.block-grid-chip.dragging{opacity:.35}.block-grid-chip.swap-target{outline:3px dashed var(--teal);outline-offset:2px;transform:scale(1.05)}.block-grid-chip.external{background:#fff1c9;border-color:#dfb84c;color:#755a09;font-size:.65rem}.block-grid-chip.unassigned{background:#f3f6f8;border-style:dashed;color:var(--muted);font-size:.65rem}.block-summary-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:.35rem;margin:.65rem 0}.block-summary-card{display:grid;grid-template-columns:1fr auto;gap:.05rem .3rem;align-items:center;padding:.38rem .45rem;border:1px solid var(--line);border-radius:7px;color:var(--navy);text-align:left;cursor:pointer}.block-summary-card strong{font-size:.78rem}.block-summary-card span{font-size:.66rem;font-weight:700}.block-summary-card small{grid-column:1/-1;font-size:.6rem;color:var(--muted)}.block-summary-card.selected{outline:3px solid var(--teal);outline-offset:1px}.block-review-detail{margin-top:.65rem}.block-review-detail .sticky-panel{position:static}.block-selection-help{box-shadow:none}
  @media(max-width:900px){.site-header{gap:.7rem}.brand small{display:none}.connection{display:none}.grid.three,.grid.four,.roster-help{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}.sticky-panel{position:static}.admin-layout{grid-template-columns:1fr}.admin-nav{display:flex;overflow:auto;position:static;background:#fff;border:1px solid var(--line);padding:.3rem;border-radius:10px}.admin-nav button{white-space:nowrap}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.block-generation-counts{grid-template-columns:1fr}.block-sheet-wrap{max-height:58vh}}
  @media(max-width:620px){.site-header{height:auto;min-height:64px;padding:.7rem 1rem;flex-wrap:wrap}.brand{flex:1}.site-header nav{order:3;width:100%}.site-header nav button,.site-header nav a{padding:.5rem .65rem}main{padding:1rem}.hero{border-radius:14px}.hero-row{display:block}.grid.two,.grid.three,.grid.four,.form-grid,.roster-help{grid-template-columns:1fr}.health-row{grid-template-columns:75px 1fr}.health-row>div:last-child{grid-column:1/-1}.order-row{grid-template-columns:38px 1fr}.order-draggable{grid-template-columns:38px 20px 1fr}.order-row .table-actions{grid-column:2}.button{min-height:46px}.brand span:nth-child(2){font-size:.9rem}}
  .block-seed-option{display:flex;align-items:flex-start;gap:.55rem;margin-top:.65rem;padding:.55rem .65rem;border:1px solid #c9d9e1;border-radius:8px;background:#f4f9fb;cursor:pointer}.block-seed-option input{width:1rem;height:1rem;margin:.12rem 0 0;accent-color:var(--teal);flex:0 0 auto}.block-seed-option span{display:grid;gap:.1rem}.block-seed-option strong{font-size:.78rem;color:var(--navy)}.block-seed-option small{font-size:.68rem;color:var(--muted);line-height:1.35}
  .block-pain-settings{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(440px,2fr) auto;gap:.8rem;align-items:center;margin:.7rem 0;padding:.8rem .9rem;box-shadow:none}.block-pain-settings h3,.block-pain-settings p{margin-bottom:.2rem}.block-pain-options{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:.35rem .65rem}.block-pain-options .check-label{margin:0;padding:.35rem .45rem;border:1px solid #d7e2e7;border-radius:7px;background:#f8fbfc;font-size:.73rem}.block-pain-settings .form-actions{margin:0}.block-review-sheet{min-width:100%}.block-review-sheet thead tr:first-child th{top:0;height:29px}.block-review-sheet thead tr:nth-child(2) th{top:29px}.block-review-sheet thead tr:nth-child(2) th:first-child{left:auto;width:auto;z-index:3}.block-review-sheet .block-holiday-group{font-size:.75rem;letter-spacing:.025em;border-left:2px solid #b9c8d2}.block-review-sheet .block-holiday-group.tg{background:#fff0df;color:var(--tg)}.block-review-sheet .block-holiday-group.xm{background:#fbe8ed;color:var(--xm)}.block-review-sheet .block-holiday-group.ny{background:#e8f0fb;color:var(--ny)}.block-review-sheet .block-holiday-start{border-left:2px solid #b9c8d2}
  @media(max-width:900px){.block-pain-settings{grid-template-columns:1fr}.block-pain-options{grid-template-columns:repeat(2,minmax(150px,1fr))}.block-pain-settings .form-actions{justify-content:flex-start}.block-review-sheet{min-width:900px}.custom-seed-option,.custom-seed-field{grid-template-columns:1fr}.custom-seed-option>small{grid-column:1}}
  .block-grid-chip.has-warning,.block-summary-card.has-warning{box-shadow:inset 0 0 0 2px #c47a13}.block-grid-chip.has-warning small,.block-summary-card.has-warning small{color:#7b4d0b;font-weight:800}.block-rule-warning{margin:.55rem 0}.block-rule-warning ul{margin:.4rem 0 0;padding-left:1.15rem;font-size:.78rem}.schedule-seed{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.6rem;padding:.4rem .55rem;border:1px solid #d5dfe4;border-radius:7px;background:#f8fafb}.schedule-seed span{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.schedule-seed code{font-size:.75rem;color:var(--navy);overflow-wrap:anywhere;user-select:all}.custom-seed-option{display:grid;grid-template-columns:auto minmax(280px,1fr);gap:.35rem .7rem;align-items:center;margin-top:.55rem;padding:.5rem .6rem;border:1px solid #d5dfe4;border-radius:8px;background:#fff}.custom-seed-option>.check-label{margin:0;white-space:nowrap}.custom-seed-field{display:grid;grid-template-columns:auto 1fr;gap:.4rem;align-items:center;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.custom-seed-field input{min-height:34px;padding:.35rem .5rem;text-transform:none;letter-spacing:normal;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.custom-seed-field input:disabled{background:#eef1f3;color:#87949e}.custom-seed-option>small{grid-column:1/-1;color:var(--muted);font-size:.67rem}
  .email-preview{min-width:180px}.email-preview summary{cursor:pointer;color:var(--teal-2);font-weight:700}.email-preview pre{margin:.5rem 0 0;max-width:360px;white-space:pre-wrap;font:inherit;font-size:.78rem;line-height:1.4;color:var(--ink)}.email-controls h3{margin-top:0}
  .email-settings-card{padding:.9rem}.compact-reminder{display:grid;grid-template-columns:minmax(240px,1fr) minmax(190px,260px) auto;gap:.75rem;align-items:end;padding:.65rem .75rem;border:1px solid #d7e2e7;border-radius:9px;background:#f8fbfc}.compact-reminder h3,.compact-reminder p{margin:.1rem 0}.compact-reminder .button{margin-bottom:0}.email-template-head{margin:1rem 0 .65rem}.email-template-head h3,.email-template-head p{margin:.15rem 0}.email-template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:.65rem}.email-template-card{display:grid;align-content:start;gap:.55rem;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#fff}.email-template-card>div:first-child{display:grid;gap:.35rem}.email-template-card>div:first-child strong{font-size:.78rem;color:var(--navy)}.email-template-preview{padding:.65rem;border:1px dashed #b9c8d2;border-radius:8px;background:#f8fafb;font-size:.73rem}.email-template-preview span,.email-template-preview small{display:block}.email-template-preview p{margin:.4rem 0}.email-template-preview small{color:var(--teal-2);font-weight:700}.email-template-card textarea{font-size:.78rem;resize:vertical}.email-template-card>p{margin:0}.rehearsal-card{margin-top:1rem}.rehearsal-card .section-head{margin:0 0 .6rem}.rehearsal-controls{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(190px,1fr) 125px 120px minmax(155px,.8fr) 135px auto;gap:.7rem;align-items:end}.rehearsal-controls>span{grid-column:1/-1;align-self:center}.rehearsal-active{display:flex;align-items:center;justify-content:space-between;gap:1rem}.rehearsal-active-copy{display:grid;gap:.4rem}.rehearsal-active p{margin:.1rem 0}.rehearsal-progress{display:flex;flex-wrap:wrap;gap:.45rem}.rehearsal-progress span{padding:.3rem .5rem;border:1px solid #c8d9df;border-radius:7px;background:#fff}.error-text{color:var(--danger)}
  @media(max-width:850px){.compact-reminder,.rehearsal-controls{grid-template-columns:1fr}.rehearsal-active{align-items:flex-start;flex-direction:column}}
  .viewer-schedule-head{margin-top:1rem}.viewer-block-intro{margin-bottom:.75rem;padding:1rem 1.1rem}.viewer-block-intro .section-head{margin:0 0 .55rem}.viewer-block-intro p{margin:.45rem 0;font-size:.86rem}.viewer-block-intro h3{margin:.8rem 0 .45rem}.viewer-block-metrics{margin:.8rem 0 .4rem}.viewer-holiday-counts{text-align:center}.viewer-pain-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.4rem}.viewer-pain-item{display:grid;grid-template-columns:auto 1fr;gap:.45rem;align-items:start;padding:.5rem .6rem;border:1px solid #d5e1e5;border-radius:8px;background:#f8fbfc}.viewer-pain-item>span{color:var(--teal);font-size:.7rem;margin-top:.18rem}.viewer-pain-item strong,.viewer-pain-item small{display:block}.viewer-pain-item strong{color:var(--navy);font-size:.75rem}.viewer-pain-item small{color:var(--muted);font-size:.66rem;line-height:1.35}.viewer-block-calendar .block-grid-chip{cursor:pointer}.schedule-pending{min-height:430px;margin-top:1rem;display:grid;grid-template-columns:minmax(220px,.7fr) minmax(320px,1fr);place-items:center;gap:clamp(1rem,5vw,4rem);padding:clamp(1.5rem,6vw,4rem);overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f1f8f7 100%)}.schedule-pending>div:last-child{max-width:610px}.schedule-pending h2{font-size:clamp(1.65rem,3vw,2.35rem);margin-bottom:.65rem}.schedule-pending p{color:var(--muted)}.schedule-pending-art{width:min(310px,100%);padding:1rem;border-radius:50%;background:radial-gradient(circle,#fff 0 53%,#dcedeb 54% 66%,transparent 67%)}.schedule-pending-art svg{display:block;width:100%;filter:drop-shadow(0 12px 18px rgba(23,50,77,.12))}.schedule-pending-art .pending-calendar{fill:#fff;stroke:#9ab7bd;stroke-width:4}.schedule-pending-art .pending-line{fill:none;stroke:#147d77;stroke-width:6;stroke-linecap:round}.schedule-pending-art rect:not(.pending-calendar):not(.pending-lock){fill:#dce9ef}.schedule-pending-art .pending-lock-circle{fill:#fff4d8;stroke:#e2c36b;stroke-width:3}.schedule-pending-art .pending-lock{fill:#17324d}.schedule-pending-art .pending-lock-line{fill:none;stroke:#17324d;stroke-width:5;stroke-linecap:round}.pending-progress{display:flex;align-items:center;gap:.5rem;margin:1rem 0;color:var(--navy);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.pending-progress span{white-space:nowrap}.pending-progress i{height:2px;min-width:24px;flex:1;background:linear-gradient(90deg,var(--teal),#c6dad8)}
  .rotation-viewer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:11px;overflow:hidden;background:#fff}.rotation-viewer-column{border-right:1px solid var(--line);min-width:0}.rotation-viewer-column:last-child{border-right:0}.rotation-viewer-column header{display:flex;justify-content:space-between;gap:.5rem;padding:.7rem .85rem}.rotation-viewer-column header strong{font-size:.9rem}.rotation-viewer-column header span{font-size:.68rem;font-weight:700}.rotation-viewer-column ul{margin:.3rem 0;padding:.5rem 1rem 1rem 2rem}.rotation-viewer-column li{padding:.2rem 0}.rotation-viewer-column>p{padding:1rem}.viewer-window-controls{display:grid;grid-template-columns:minmax(240px,360px) auto 1fr;gap:.65rem;align-items:end;margin:.7rem 0;padding:.75rem;border:1px solid var(--line);border-radius:10px;background:#f8fbfc}.viewer-window-controls .button{min-height:42px}.viewer-window-controls>span{align-self:center}.viewer-window-table tr.physician-highlight td{background:#e5f5eb;box-shadow:inset 0 1px 0 #b4d9c3,inset 0 -1px 0 #b4d9c3}.viewer-physician-link{font-weight:800;text-decoration:none}.how-viewer{display:grid;gap:.8rem;margin-top:1rem;max-width:1050px}.how-viewer .card{box-shadow:none}.how-intro{background:linear-gradient(125deg,#eef7f5,#fff)}.how-intro h1{font-size:clamp(1.65rem,3vw,2.4rem);margin-bottom:.55rem}.how-viewer h2{margin-bottom:.55rem}.how-viewer p{margin:.45rem 0}.how-example{margin-top:.7rem;padding:.75rem .85rem;border-left:4px solid var(--ny);background:#eef4fb;border-radius:0 8px 8px 0}.snake-order{display:grid;grid-template-columns:auto 1fr auto;gap:.45rem .8rem;align-items:center;margin:.8rem 0;padding:.7rem .85rem;background:var(--soft);border-radius:9px;color:var(--navy)}.snake-order span{font-size:.7rem;font-weight:800;text-transform:uppercase}.snake-order b{letter-spacing:.08em}.snake-order i{grid-row:1/3;grid-column:3;font-size:1.5rem;color:var(--teal)}.how-reminder{padding:.75rem .85rem;background:#fff4d8;border-radius:8px}
  @media(max-width:800px){.rotation-viewer-grid{grid-template-columns:1fr}.rotation-viewer-column{border-right:0;border-bottom:1px solid var(--line)}.rotation-viewer-column:last-child{border-bottom:0}.viewer-window-controls{grid-template-columns:1fr}.viewer-window-controls>span{align-self:auto}}
  @media(max-width:720px){.schedule-pending{grid-template-columns:1fr;text-align:center;min-height:0}.schedule-pending-art{max-width:210px}.pending-progress{justify-content:center}.viewer-pain-items{grid-template-columns:1fr}.viewer-block-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
  .email-sort-button{display:inline-flex;align-items:center;gap:.32rem;padding:0;border:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.email-sort-button:hover,.email-sort-button:focus-visible{color:var(--teal-2)}.email-sort-button [data-sort-icon]{font-size:.68rem;line-height:1}.email-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.45rem;flex-wrap:wrap}.email-pagination label{display:flex;align-items:center;gap:.3rem;margin:0;font-size:.78rem;font-weight:700}.email-pagination select{min-height:32px;padding:.25rem .45rem}.draft-block-calendar .block-grid-chip{cursor:pointer}.draft-block-calendar .block-grid-chip.unavailable{cursor:default;opacity:.36;filter:grayscale(1);background:#e8ecef!important;border-color:#cbd4d9!important;color:#687782}.draft-block-calendar .block-grid-chip.own-selection{background:#dff4e9!important;border-color:#78bd93!important;color:#175b38;outline:3px solid #2a9360;outline-offset:1px;box-shadow:0 0 0 4px rgba(42,147,96,.14)}.viewer-block-calendar .block-grid-chip.chosen-group{background:#dff4e9!important;border-color:#78bd93!important;color:#175b38;box-shadow:inset 0 0 0 1px rgba(42,147,96,.22)}.viewer-block-calendar .block-grid-chip.chosen-group small{color:#286645}.roster-grid thead tr:nth-child(2) th:nth-child(3){width:92px}.roster-included-head{display:inline-flex;align-items:center;gap:.28rem;white-space:nowrap}.roster-toggle-included{width:15px;height:15px;margin:0;accent-color:var(--teal);cursor:pointer}
  .personalized-schedule-key{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.65rem 0;padding:.6rem .75rem;border:1px solid #ebc24f;border-radius:9px;background:#fffaf0;color:var(--navy)}.personalized-schedule-key>span{width:1.25rem;height:1.25rem;border:2px solid #d49a00;border-radius:5px;background:#ffe88a;box-shadow:0 0 0 4px rgba(255,204,36,.24),0 0 16px rgba(255,190,0,.55)}.personalized-schedule-key small{color:var(--muted)}.personalized-complete-calendar .block-grid-chip{cursor:default}.personalized-complete-calendar .block-grid-chip.finalized-group{background:#f3f6f8!important;border-color:#c7d1d8!important;color:var(--navy);box-shadow:none}.personalized-complete-calendar .block-grid-chip.finalized-group small{color:var(--muted)}.personalized-complete-calendar .block-grid-chip.personalized-own-selection{position:relative;z-index:1;background:#ffe88a!important;border:2px solid #d49a00!important;color:#5d4300;outline:3px solid #ffd12e;outline-offset:2px;box-shadow:0 0 0 6px rgba(255,209,46,.2),0 0 18px rgba(255,183,0,.75)}.personalized-complete-calendar .block-grid-chip.personalized-own-selection small{color:#755400;font-weight:800}
  @media print{.site-header,.admin-nav,.toolbar,.button,.segmented{display:none!important}main{max-width:none;padding:0}.card,.hero{box-shadow:none;break-inside:avoid}.hero{background:#fff;color:#000;border:1px solid #aaa}.hero h1,.hero p{color:#000}.table-wrap,.calendar-wrap{overflow:visible}}
  .mobile-block-sheet{display:none}.ranked-queue{margin-top:1rem}.ranked-choice-list{display:grid;gap:.45rem;margin:.8rem 0;padding:0;list-style:none}.ranked-choice{display:grid;grid-template-columns:auto 2rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid var(--line);border-radius:9px;background:#fff}.ranked-choice.unavailable{background:#f1f3f4;color:var(--muted)}.ranked-choice small{display:block;margin-top:.1rem;color:var(--muted)}.queue-handle{cursor:grab;color:var(--muted)}.queue-actions{display:flex;gap:.2rem}.queue-builder{display:flex;align-items:end;gap:.5rem;flex-wrap:wrap}.queue-builder label{flex:1 1 250px}.queue-settings{margin-top:.8rem}.early-access-note{padding:.65rem .75rem;border-left:4px solid var(--teal);background:#eef8f6}.success-panel.compact{padding:.65rem .75rem}.rapid-ready-stats{margin-top:.8rem}.rapid-ready-stats>div{display:grid;padding:.55rem;border:1px solid var(--line);border-radius:8px}.reset-draft-button{min-width:220px;min-height:54px;font-size:1.05rem}.draft-complete-banner{display:flex;align-items:center;justify-content:center;gap:clamp(.7rem,3vw,2rem);margin:1rem 0;padding:clamp(1rem,4vw,2rem);border:2px solid #e5b534;border-radius:16px;background:linear-gradient(120deg,#fff5cb,#fff,#e9f8f4);box-shadow:0 12px 35px rgba(23,50,77,.12);text-align:center}.draft-complete-banner h1{margin:0;color:var(--teal-2);font-size:clamp(2rem,7vw,4.6rem);line-height:1}.draft-complete-banner p{margin:0 0 .25rem;color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:.12em}.draft-complete-banner>span{color:#d79b00;font-size:clamp(1.5rem,4vw,3rem)}.confetti-overlay{position:fixed;inset:0;z-index:1000;overflow:hidden;pointer-events:none;contain:strict}.confetti-overlay i{position:absolute;left:var(--x);top:-24px;width:10px;height:18px;border-radius:2px;animation:confetti-fall var(--duration) linear var(--delay) 2 both}@keyframes confetti-fall{0%{transform:translate3d(0,-8vh,0) rotate(0);opacity:1}100%{transform:translate3d(calc((var(--x) - 50vw)/8),112vh,0) rotate(var(--spin));opacity:.85}}
  .rapid-ranking-reset{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem}.rapid-ranking-reset p{margin:.25rem 0 0}.rapid-ranking-reset .button{flex:0 0 auto}
  .preference-roster-controls{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;margin-top:1rem}.preference-roster{margin-top:.8rem}.preference-roster h3{margin:.2rem 0}.preference-doctor{border:1px solid var(--line);border-radius:9px;margin:.45rem 0;background:#fff}.preference-doctor summary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;cursor:pointer;padding:.7rem .85rem}.preference-doctor summary strong{min-width:12rem}.preference-doctor summary:hover{background:var(--soft)}.preference-doctor-detail{padding:0 .85rem .75rem;border-top:1px solid var(--line)}.preference-doctor-detail p{margin:.55rem 0}.preference-ranking{margin:.6rem 0;padding-left:1.5rem}.preference-ranking li{padding:.18rem 0}
  @media(max-width:720px){.rapid-ranking-reset{align-items:stretch;flex-direction:column}.rapid-ranking-reset .button{width:100%}}
  @media(max-width:720px){html,body{max-width:100%;overflow-x:clip}main,.admin-layout,#admin-content,.admin-nav{box-sizing:border-box;width:100%;max-width:100%;min-width:0}.admin-layout>*{min-width:0}.desktop-block-sheet{display:none}.mobile-block-sheet{display:grid;gap:.8rem}.mobile-holiday-group{display:grid;gap:.55rem}.mobile-holiday-group>h3{margin:0;padding:.55rem .7rem;border-radius:8px}.mobile-day-card{padding:.65rem;border:1px solid var(--line);border-radius:10px;background:#fff}.mobile-day-card h4{margin:0 0 .4rem;color:var(--navy)}.mobile-shift-row{display:grid;grid-template-columns:minmax(105px,.8fr) minmax(0,1fr);gap:.45rem;align-items:center;padding:.4rem 0;border-top:1px solid #edf0f2}.mobile-shift-row>span strong,.mobile-shift-row>span small{display:block}.mobile-shift-row>span small{color:var(--muted);font-size:.68rem}.mobile-shift-row>div{display:flex;justify-content:flex-end;gap:.2rem;flex-wrap:wrap}.admin-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.admin-nav button{white-space:normal;min-width:0}.section-head,.toolbar,.form-actions{align-items:stretch;min-width:0}.section-head>*{min-width:0}.toolbar>.button,.form-actions>.button{flex:1 1 160px}.ranked-choice{grid-template-columns:1.5rem minmax(0,1fr)}.ranked-choice>strong{grid-row:1;grid-column:1}.ranked-choice>div:nth-of-type(1){grid-column:2}.queue-handle{display:none}.queue-actions{grid-column:1/-1;justify-content:flex-end}.queue-builder{display:grid;grid-template-columns:1fr}.queue-builder>*{width:100%}.dialog{width:calc(100vw - 1.25rem);max-width:calc(100vw - 1.25rem)}.dialog-actions{flex-wrap:wrap}.dialog-actions .button{flex:1 1 120px}}
  .admin-collapsible{margin-top:1rem;padding:0;overflow:hidden}.admin-collapsible>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;cursor:pointer;list-style:none}.admin-collapsible>summary::-webkit-details-marker{display:none}.admin-collapsible>summary>span{display:grid;gap:.18rem}.admin-collapsible>summary .eyebrow{margin:0}.admin-collapsible>summary strong{color:var(--navy);font-size:1.15rem}.admin-collapsible>summary::after{content:'+';display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border:1px solid #b9c6d0;border-radius:50%;color:var(--teal);font-size:1.35rem;font-weight:700}.admin-collapsible[open]>summary::after{content:'−'}.admin-collapsible[open]>summary{border-bottom:1px solid var(--line)}.admin-collapsible-body{padding:1rem 1.2rem 1.2rem}.collapsible-toolbar{justify-content:flex-end;margin-bottom:.75rem}
  @media(max-width:620px){.table-wrap:has(.mobile-card-table){overflow:visible;border:0}.mobile-card-table,.mobile-card-table tbody,.mobile-card-table tr,.mobile-card-table td,.mobile-card-table tbody th{display:block!important;width:100%!important;min-width:0!important}.mobile-card-table thead{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mobile-card-table tbody tr{margin:.7rem 0;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:#fff}.mobile-card-table tbody td,.mobile-card-table tbody th{position:static!important;display:grid!important;grid-template-columns:minmax(95px,.42fr) minmax(0,1fr)!important;gap:.55rem;padding:.45rem!important;border:0!important;border-bottom:1px solid #edf0f2!important;text-align:left!important;background:transparent!important;white-space:normal!important}.mobile-card-table tbody td:last-child,.mobile-card-table tbody th:last-child{border-bottom:0!important}.mobile-card-table tbody td::before,.mobile-card-table tbody th::before{content:attr(data-mobile-label);color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.mobile-card-table input,.mobile-card-table select,.mobile-card-table textarea{width:100%;min-width:0}.roster-table-wrap{max-height:none}.roster-grid{table-layout:auto}.site-header nav{display:flex;flex-wrap:wrap;gap:.2rem}.site-header nav button,.site-header nav a{flex:1 1 120px;text-align:center}.viewer-context{max-width:100%;flex-wrap:wrap}.draft-complete-banner>span{display:none}}
  .queue-settings-first{margin-bottom:.8rem;padding:.8rem;border:1px solid #bfd9d6;border-radius:10px;background:var(--soft)}.queue-settings-first label{max-width:560px}.queue-settings-first small{color:var(--muted);font-weight:500}.rapid-instructions{margin:.8rem 0;padding:.85rem 1rem;border-left:4px solid var(--teal);border-radius:0 9px 9px 0;background:#f4faf9}.rapid-instructions>strong{color:var(--navy)}.rapid-instructions ol{margin:.45rem 0;padding-left:1.3rem}.rapid-instructions li{margin:.2rem 0}.rapid-instructions p{margin:.5rem 0 0;font-size:.84rem}.queue-selected-block{display:grid;gap:.08rem;min-width:210px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:#f8fafb}.queue-selected-block strong{color:var(--navy)}.queue-selected-block small{color:var(--muted)}.ranked-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:1rem}.ranked-list-heading h3{margin:0}.manual-ranking-note{margin:.55rem 0;padding:.55rem .7rem;border-radius:8px;background:#eef1f3;color:var(--muted);font-size:.82rem;font-weight:700}.ranked-choice-list.manual-ranking .ranked-choice{border-color:#ccd4d9;background:#eef1f3;color:#74818b}.ranked-choice-list.manual-ranking .ranked-choice small,.ranked-choice-list.manual-ranking .queue-handle{color:#89949c}.ranked-choice-list.manual-ranking .queue-actions{opacity:.65}
  @media(max-width:720px){.ranked-list-heading{align-items:flex-start;flex-direction:column;gap:.25rem}.queue-selected-block{width:100%;min-width:0}}
  @media(prefers-reduced-motion:reduce){.confetti-overlay{display:none}.draft-complete-banner{background:#fff5cb}.draft-complete-banner *{animation:none!important}}
