:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fbff;background:#050914;font-synthesis:none;--text:#f8fbff;--muted:#b1c6df;--line:rgba(167,206,255,.2);--soft:rgba(205,227,255,.1);--pink:#d21d5a;--am:rgba(86,147,225,.17);--pm:rgba(234,198,109,.09);color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:360px;min-height:100vh;background:radial-gradient(ellipse 76% 56% at 8% 12%,#00a6db85 0%,#07589243 28%,transparent 62%),radial-gradient(ellipse 68% 56% at 92% 16%,#d1086288 0%,#59227a58 35%,transparent 66%),radial-gradient(ellipse 90% 64% at 52% 38%,#142e8688 0%,#0b164e8f 45%,transparent 76%),linear-gradient(160deg,#060b16 4%,#090e2a 45%,#050612);background-attachment:fixed;font-size:14px;line-height:1.45}button,input,select{font:inherit}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;color:var(--text);border:1px solid var(--line);background:var(--soft);padding:9px 13px;border-radius:9px;font-size:13px;white-space:nowrap;transition:background .16s,border-color .16s}button:hover{background:#dcefff33;border-color:#c9e5ff61}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid #8bdcff;outline-offset:3px}.primary{background:linear-gradient(135deg,#c71655,#e1266d 55%,#c91366);border-color:#ff9fcc6b;box-shadow:0 8px 24px #cf0c5d38;font-weight:650}.primary:hover{background:linear-gradient(135deg,#d41b60,#f33780);border-color:#ff9fcc}input{background:#050f2294;border:1px solid var(--line);border-radius:8px;padding:10px 12px;color:var(--text);min-width:0}input::placeholder{color:#8fabc7}input[type=checkbox]{accent-color:#cf1e62;width:17px;height:17px;margin:0;flex:none}h1,h2,p{margin:0}h1{font-size:32px;letter-spacing:-1px;line-height:1.2}h2{font-size:17px;font-weight:650;letter-spacing:-.3px}a{color:inherit}.app-header{min-height:76px;background:#070809eb;border-bottom:1px solid rgba(255,255,255,.1);padding:0 36px;display:flex;align-items:center;gap:46px}.brand{display:flex;align-items:center;text-decoration:none;font-weight:750;font-size:23px;letter-spacing:-.8px;gap:10px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;border:1px solid #dd629251;border-radius:10px;background:#d21d5a26;color:#ff7eae}.brand-dot{color:#ed508c;margin-left:-10px}.app-header nav{display:flex;gap:6px}.app-header nav button{border-radius:999px;border-color:transparent;background:transparent;color:var(--muted);padding:9px 17px}.app-header nav button.active{background:#e1efffd9;color:#101b31}.app-header nav button:hover:not(.active){background:var(--soft)}.local-status{margin-left:auto;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.local-status>span,.save-status>span{width:6px;height:6px;border-radius:50%;background:#77d3b1}.local-status>span{box-shadow:0 0 8px #77d3b144}main{max-width:1536px;padding:38px 36px 0;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 30px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:#b7c3d4;margin-bottom:9px}.page-heading p{color:var(--muted);font-size:13px;margin-top:9px}.heading-actions{display:flex;align-items:center;gap:8px}.save-status{display:inline-flex;align-items:center;gap:7px;font-size:11px;color:#b8d9cd;margin-right:12px}.save-status.unsaved{color:#f5ce89}.save-status.unsaved>span{background:#f5ce89}.week-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.week-switch{display:flex;align-items:center;gap:12px}.icon-button{padding:7px;width:33px;height:33px}.week-switch strong{font-size:17px;font-weight:650;letter-spacing:-.4px}.year{font-size:13px;font-weight:400;color:var(--muted);margin-left:8px}.week-picker{display:flex;gap:5px;align-items:center;font-size:10px;color:var(--muted);margin-top:3px}.week-picker input{font-size:10px;padding:0;border:0;background:transparent;width:110px;color:var(--muted)}.small{font-size:11px;padding:6px 10px}.toolbar-actions{display:flex;gap:8px}.board-meta{display:flex;justify-content:space-between;align-items:center;padding:18px 0 12px;font-size:11px;color:var(--muted)}.meta-strong{color:#eaf3ff;font-weight:550}.dot-separator{margin:0 9px}.legend{display:flex;gap:20px}.legend>span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:2px}.am-swatch{background:#86afe7}.pm-swatch{background:#e5c36f}.schedule-scroll,.coverage-scroll,.employee-scroll,.settings-scroll{overflow-x:auto}.schedule-scroll{border:1px solid rgba(167,206,255,.3);border-radius:11px;box-shadow:0 12px 48px #01071924;background:#07122873;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}table{border-collapse:collapse;width:100%;table-layout:fixed}.schedule-table,.coverage-table{min-width:1030px}.name-col{width:175px}.total-col{width:90px}.schedule-table th,.schedule-table td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.schedule-table tr:last-child>*{border-bottom:0}.schedule-table tr>*:last-child{border-right:0}.schedule-table thead th{height:66px;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.5px}.schedule-table thead th>div{display:flex;justify-content:center;gap:7px;align-items:center}.header-date{font-weight:400;opacity:.65;font-size:11px}.period{font-size:10px;display:inline-block;padding:1px 7px;margin-top:5px;border-radius:4px;background:#daeaff14;letter-spacing:.8px}.schedule-table th.am{background:#6a9eea3d;color:#c6e3ff}.schedule-table th.pm{background:#f4cf7f26;color:#f8dfa2}.schedule-table .employee-header{text-align:left;padding:0 16px;background:#101c34;color:#e6eef8;letter-spacing:.7px}.employee-header>span{font-size:10px;color:var(--muted);font-weight:400;margin-left:3px}.schedule-table tbody th{font-weight:550;font-size:12px;text-align:left;height:39px;padding:0 12px;background:#111c33;position:sticky;left:0;z-index:2;white-space:nowrap}.row-number{color:#8197b3;font-size:9px;margin-right:12px;font-weight:400;font-variant-numeric:tabular-nums}.schedule-table td.am{background:var(--am)}.schedule-table td.pm{background:var(--pm)}.schedule-table td{height:39px;padding:0;position:relative}.cell-content{position:relative;height:100%;min-height:38px;display:flex;align-items:center;justify-content:center}.cell-label{font-size:12px;pointer-events:none}.cell-label.assigned{color:#f6f5ef;font-weight:550}.cell-label.empty{color:#8da2c04d;font-size:17px}.cell-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.cell-select option{background:#172238;color:#fff}.cell-content:focus-within{outline:2px solid #a0ddff;outline-offset:-2px}.cell-content:hover{background:#f0f7ff0e}.cell-content:hover .empty{color:#cbe3ff}.schedule-table td.unavailable{background-image:repeating-linear-gradient(135deg,transparent,transparent 6px,#90a7c10b 6px,#90a7c10b 8px)}.schedule-table td.conflict{box-shadow:inset 0 -2px #f093a5;background-color:#a9224929}.cell-alert{position:absolute;right:5px;top:4px;border:1px solid #f8a4b3;border-radius:50%;font-size:8px;width:11px;height:11px;line-height:10px;color:#f8a4b3;pointer-events:none}.total-heading{color:var(--muted);background:#101c34;font-size:10px!important}.total-heading>span{display:block;text-transform:none;letter-spacing:0;font-weight:400;font-size:9px;margin-top:6px}.total-cell{background:#111c33;font-size:10px!important;color:var(--muted)}.total-cell strong{font-size:12px;font-weight:500;color:#e7f1ff;margin-right:4px}.total-cell svg{margin-left:3px;color:#ffb9c7}.total-cell.limit-warning{background:#59234266}.archived{display:block;color:#b8a5b3;font-size:9px}.board-footer{display:flex;justify-content:space-between;align-items:center;color:#95adc7;font-size:10px;padding:10px 0 22px}.board-footer>div{display:flex;gap:14px}.text-button{border:0;background:none;padding:2px;font-size:11px;color:#c4d9ef;border-radius:3px;box-shadow:none}.text-button:hover{background:none;color:#fff}.coverage-section{margin-top:10px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.section-title>div{display:flex;align-items:center;gap:15px}.section-title span{color:var(--muted);font-size:11px}.coverage-table{font-size:11px}.coverage-table thead th{text-align:center;font-weight:500;color:#9fb5d0;padding:9px 3px;border-bottom:1px solid var(--line)}.coverage-table thead th:first-child{text-align:left;padding-left:16px}.coverage-table tbody th{text-align:left;padding:7px 16px;font-weight:500;color:#d7e5f5}.coverage-table tbody td{text-align:center;border-bottom:1px solid #c1dcff09;padding:4px 0}.coverage-short,.coverage-met,.coverage-neutral{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:52px;padding:3px 7px;border-radius:5px;font-variant-numeric:tabular-nums}.coverage-short{background:#dda23917;color:#ffda98}.coverage-met{color:#9cdfc5;background:#67bd9012}.coverage-neutral{color:#899db7}.coverage-short>span:first-child,.coverage-met>span:first-child,.coverage-neutral>span{opacity:.7;font-size:10px}.short-dot{width:4px;height:4px;border-radius:50%;background:#e7ba6c;margin-left:2px}.coverage-total{color:#b6c8df}.coverage-note{display:flex;align-items:center;gap:9px;font-size:11px;padding:11px 14px;border:1px solid #dbae612b;background:#dbae6109;border-radius:7px;margin:12px 0;color:#e8c990}.note-detail{opacity:.7}.coverage-note.complete{color:#9cdfc5;border-color:#6bddae33;background:#6bddae0b}.warnings{border:1px solid #e3809b44;border-radius:7px;margin:14px 0;background:#d9537b0a}.warnings>button{width:100%;justify-content:flex-start;border:0;background:none;color:#ffc1d2;font-size:12px}.warnings>button>span{margin-left:auto;font-size:11px}.warnings ul{font-size:12px;color:#e4b5c7;line-height:1.9;margin:0 16px 14px;padding-left:20px}.schedule-end{display:flex;justify-content:space-between;color:#8fa5c0;font-size:10px;margin-top:24px}.app-footer{margin-top:35px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 26px;font-size:10px;color:#8198b5}.footer-brand{color:#b7c9e1;font-size:13px;font-weight:700;margin-right:10px}.app-footer>div{display:flex;gap:20px}.employee-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 0 18px;color:var(--muted);font-size:12px}.employee-toolbar input{width:250px;font-size:12px}.setup-note{padding:12px 16px;background:#a6ceff0a;border:1px solid var(--line);border-radius:7px;color:var(--muted);font-size:12px;margin-bottom:22px}.employee-table{min-width:900px}.employee-table th,.employee-table td{text-align:left;border-bottom:1px solid var(--line);padding:14px 12px;font-size:12px}.employee-table thead th{color:var(--muted);font-size:11px;font-weight:500;padding-top:7px}.employee-table th:first-child{width:17%}.employee-table th:nth-child(2){width:26%}.employee-table th:nth-child(3){width:36%}.employee-table th:last-child{width:90px}.role-tag{display:inline-block;background:#d9e9ff10;border:1px solid #bfdcff1a;border-radius:5px;padding:3px 7px;margin:2px 5px 2px 0;font-size:10px}.not-set{font-size:11px;color:#eac58c}.availability-dots{display:flex;gap:4px}.availability-dots>span{width:31px;text-align:center;font-size:9px;line-height:1.2;border-radius:4px;padding:5px 2px;background:#c7dcff05;color:#688199;border:1px solid #c7dcff09}.availability-dots>span.available{background:#53b79c19;color:#b8ded8;border-color:#80c6b324}.availability-dots small{display:block;font-size:7px;margin-top:2px}.limits{color:var(--muted);font-size:11px!important}.limits>span{display:block}.row-actions{display:flex;gap:6px}.row-actions button{padding:7px;background:none;border-color:transparent}.row-actions button:hover{border-color:var(--line);background:var(--soft)}.settings-table{min-width:980px;background:#09132844;border:1px solid var(--line)}.settings-table th,.settings-table td{padding:14px 8px;border:1px solid var(--line);text-align:center;font-size:12px}.settings-table th:first-child{width:155px;text-align:left;padding-left:16px}.settings-table thead th{color:var(--muted);font-size:11px}.settings-table thead th>span{display:block;margin-top:4px}.settings-table thead th.am{background:var(--am);color:#c6e3ff}.settings-table thead th.pm{background:var(--pm);color:#f8dfa2}.settings-table input{width:68px;text-align:center;padding:8px;font-size:13px}.hours-heading{margin-top:34px}.field-help{font-size:11px;color:var(--muted);margin:8px 0 12px}.empty-state{padding:40px!important;text-align:center!important;color:var(--muted)}dialog{max-width:min(620px,94vw);width:620px;max-height:90vh;border:1px solid rgba(255,255,255,.48);border-radius:20px;background:#ebf4ffe6;color:#182538;padding:26px;box-shadow:0 28px 90px #000a;-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%);color-scheme:light}dialog::backdrop{background:#020712a3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.dialog-heading h2{font-size:20px}dialog button{color:#23354d;border-color:#32476630;background:#f4f8ff30}dialog button:hover{background:#fff5}dialog button.primary{color:#fff}dialog .field-help{color:#57697f}dialog input{background:#f8fbffb3;color:#182538;border-color:#63799142}dialog input::placeholder{color:#6f7f94}.form-field{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600;margin-bottom:19px}.form-field input{width:100%}fieldset{border:0;padding:0;margin:0 0 22px}legend{font-weight:650;font-size:12px;padding:0}.role-options{display:flex;gap:10px;flex-wrap:wrap}.role-options label{display:flex;align-items:center;gap:7px;background:#fff4;border:1px solid #63799130;border-radius:7px;padding:9px 12px;font-size:12px}.unavailable-toggle{display:flex;align-items:center;gap:8px;font-size:12px;margin:14px 0}.availability-options{display:grid;grid-template-columns:repeat(9,1fr);gap:5px}.availability-options label{display:flex;align-items:center;flex-direction:column;gap:7px;border:1px solid #63799130;border-radius:6px;padding:10px 3px;font-size:11px}.availability-options label.am{background:#91b3e53b}.availability-options label.pm{background:#f0d89642}.availability-options label small{display:block;text-align:center;font-size:9px;opacity:.65;margin-top:2px}.limits-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid #32476626;padding-top:18px;margin-top:12px}.dialog-description{font-size:13px;color:#455a73;line-height:1.7;margin-bottom:22px}.form-error{color:#a71947;font-size:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:18px;border:1px solid #aecffa45;border-radius:10px;background:#14233ef5;box-shadow:0 8px 30px #0006;padding:14px 18px;font-size:12px;z-index:50;max-width:90vw}.toast button{padding:3px;background:none;border:0}.storage-error{display:flex;align-items:center;gap:10px;background:#601c39;border:1px solid #ee87aa55;border-radius:8px;padding:14px;margin-bottom:24px;font-size:12px;flex-wrap:wrap}.storage-error>span{flex:1;min-width:200px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.print-heading,.print-footnote{display:none}@media(min-width:1500px){main{padding-top:45px}.schedule-table tbody th,.schedule-table td{height:42px}.cell-content{min-height:41px}}@media(max-width:1100px){.app-header{padding:0 22px;gap:25px}.local-status{display:none}main{padding:28px 22px 0}.page-heading{align-items:flex-start}.heading-actions{flex-wrap:wrap;justify-content:flex-end}.save-status{width:100%;justify-content:flex-end;margin:0 0 4px}.week-toolbar{align-items:flex-start;flex-wrap:wrap}.toolbar-actions{margin-left:auto}.name-col{width:155px}.board-footer{gap:12px}.section-title>div{align-items:flex-start;gap:4px;flex-direction:column}}@media(max-width:700px){.app-header{padding:16px;align-items:flex-start;gap:16px;flex-direction:column}.app-header nav{width:100%;gap:3px}.app-header nav button{font-size:12px;padding:8px 12px}.brand{font-size:21px}main{padding:26px 16px 0}.page-heading{flex-direction:column;gap:18px;margin-bottom:22px}h1{font-size:28px}.heading-actions{width:100%;justify-content:flex-start}.heading-actions .save-status{width:auto;margin-right:auto;justify-content:flex-start;font-size:10px}.heading-actions button{font-size:11px;padding:8px}.heading-actions button svg{width:14px}.week-switch{gap:8px;flex-wrap:wrap}.week-switch strong{font-size:15px}.week-switch .small{font-size:10px}.toolbar-actions{margin-left:0;width:100%}.toolbar-actions button{font-size:11px;flex:1}.board-footer{align-items:flex-start;flex-direction:column;font-size:9px}.board-footer>div{align-self:flex-end}.legend{gap:10px;font-size:10px}.note-detail{display:none}.schedule-end{gap:12px;flex-direction:column}.app-footer{align-items:flex-start;gap:16px;flex-direction:column}.employee-toolbar input{width:190px}.availability-options{grid-template-columns:repeat(5,1fr)}dialog{padding:20px}.dialog-heading h2{font-size:18px}.section-title span{font-size:10px}}@page{size:letter landscape;margin:10mm}@media print{:root{color-scheme:light}html,body{background:#fff!important;color:#000!important;min-width:0!important;font-size:10pt}body{print-color-adjust:exact;-webkit-print-color-adjust:exact}.no-print,dialog,.toast{display:none!important}main{padding:0!important;margin:0!important;max-width:none!important}.print-heading{display:block;margin-bottom:5mm}.print-heading h1{font-size:18pt;color:#111}.print-heading p{font-size:10pt;margin-top:2mm;color:#333}.schedule-scroll{overflow:visible;border:0;border-radius:0;box-shadow:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.schedule-table{width:100%;min-width:0;table-layout:fixed;border:1px solid #222}.name-col{width:16%}.schedule-table th,.schedule-table td{border:1px solid #555!important;color:#111!important}.schedule-table thead th{height:12mm!important;font-size:9pt!important;background:#f4f4f4!important;color:#111!important}.schedule-table .employee-header{background:#f4f4f4!important;color:#111}.schedule-table tbody th{height:7.3mm!important;font-size:10pt;background:#fff!important;position:static;padding:0 8px;white-space:normal}.schedule-table td{height:7.3mm!important;padding:0}.cell-content{height:7mm!important;min-height:0!important}.cell-label.assigned{color:#111!important;font-size:9pt;font-weight:400}.schedule-table td.am{background:#adc6eb!important}.schedule-table td.pm{background:#f7e1a0!important}.schedule-table td.conflict{box-shadow:none}.schedule-table td.unavailable{background-image:none}.period{background:none!important;font-size:8pt;margin-top:1px;padding:0}.header-date{font-size:8pt;opacity:1}.schedule-table tr{break-inside:avoid}.schedule-table thead{display:table-header-group}.print-footnote{display:block;font-size:8pt;color:#444;margin-top:3mm}.cell-alert{display:none}}.session-user{margin-left:auto;font-size:11px}.app-header{gap:26px}.app-header nav button{padding:9px 12px;font-size:12px}.session-loading{padding:80px;text-align:center;color:var(--muted)}.login-shell{max-width:1200px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:110px;padding:64px 48px}.login-story .brand{margin-bottom:65px}.login-story h1{font-size:clamp(38px,5vw,62px);line-height:1.08;letter-spacing:-2.5px}.login-story>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:360px;margin-top:25px}.ownership-rule{display:flex;gap:13px;align-items:flex-start;border:1px solid #8fb8e62e;background:#98c3ff09;border-radius:10px;padding:17px 19px;font-size:12px;line-height:1.7;color:#c1d3e9;margin:24px 0}.ownership-rule svg{flex:none;margin-top:3px;color:#efc782}.ownership-rule strong{display:block;color:#f5e2bd}.login-story .ownership-rule{max-width:390px;margin-top:38px}.login-form{max-width:380px;width:100%;justify-self:center}.login-form h2{font-size:29px;margin:12px 0}.login-form>p{color:var(--muted);margin-bottom:32px}.login-form form{display:grid;gap:4px}.login-form .primary{width:100%;padding:13px;margin-top:10px}.auth-error{color:#ffafc6;font-size:12px;margin:12px 0}.portal-main{max-width:1160px;padding-bottom:70px}.portal-tabs{display:flex;gap:8px;margin:26px 0}.portal-tabs button{border-radius:999px}.portal-tabs button.active{background:#dfefffdb;color:#101b31}.portal-nav-label{color:var(--muted);font-size:13px}.portal-main .week-toolbar{margin-bottom:15px}.portal-main .week-toolbar label{font-size:12px;color:var(--muted)}.portal-main .week-toolbar input{margin-left:8px;padding:7px;font-size:12px}.shift-list{border-top:1px solid var(--line)}.shift-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 8px;border-bottom:1px solid var(--line)}.shift-row strong{font-size:14px}.shift-row small{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;margin-top:5px}.shift-row .pending-text{color:#eacb93;font-size:11px}.history-row{display:flex;gap:25px;padding:17px 8px;border-bottom:1px solid var(--line);font-size:12px}.history-row>span{min-width:160px;color:#92abc8;font-size:10px}.history-row strong{font-weight:500}.history-row small{display:block;margin-top:5px;color:var(--muted);font-size:10px}.account-table{min-width:800px}.account-table th,.account-table td{text-align:left;border-bottom:1px solid var(--line);padding:17px 12px;font-size:12px}.account-table th:last-child{width:285px}.account-table th small{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:3px}.account-table thead{color:var(--muted)}.portal-notice{display:flex;justify-content:space-between;gap:12px;color:#b1e2cd;background:#82deb110;padding:12px 16px;font-size:12px;border-radius:7px;margin-bottom:20px}.portal-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#020712b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.portal-modal>div,.portal-modal>form{width:min(520px,100%);padding:28px;background:#eaf2fff2;border:1px solid #fff6;border-radius:18px;color:#182538;box-shadow:0 28px 90px #0008}.portal-modal h2{font-size:21px;margin-bottom:18px}.portal-modal p{font-size:13px;line-height:1.7;color:#455a73}.portal-modal button:not(.primary){color:#253b56;background:#b1c4df29;border-color:#526a8933}.portal-modal input{color:#182538;background:#fff;border-color:#627eaa44}.portal-modal .form-field{margin-top:20px}.portal-modal dl{font-size:13px;margin-top:22px}.portal-modal dt{font-size:11px;color:#546983;margin-top:12px}.portal-modal dd{margin:4px 0;font-weight:650}.credential-value{font-family:monospace;font-size:17px;word-break:break-all}@media(max-width:1100px){.app-header{flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:15px}.session-user{margin-left:auto}.app-header nav{order:3;width:100%;flex-wrap:wrap}.login-shell{gap:55px;padding:40px}}@media(max-width:700px){.login-shell{grid-template-columns:1fr;gap:35px;padding:36px 24px}.login-story .brand{margin-bottom:32px}.login-story h1{font-size:38px}.login-story>p,.login-story .ownership-rule{display:none}.login-form{max-width:none}.login-form h2{font-size:25px}.portal-tabs{gap:5px;overflow:auto}.portal-tabs button{font-size:11px;padding:8px 12px}.shift-row{align-items:flex-start;flex-direction:column;gap:14px}.shift-row>button{align-self:flex-end}.history-row{flex-direction:column;gap:6px}.portal-main .week-toolbar label{order:-1;width:100%}.account-table .row-actions{flex-wrap:wrap}.app-header .session-user{position:absolute;right:16px;top:26px}.portal-main .ownership-rule{font-size:11px}.app-footer>div{flex-wrap:wrap}}.role-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.role-legend .role-tag{margin:0;padding:5px 9px;font-size:10px}.role-legend small{color:#aabfd9;font-size:10px;margin-left:auto}.role-tag.role-server,.cell-label.role-server{background:#1c654d;color:#dcfff0;border-color:#7de0b660}.role-tag.role-host,.cell-label.role-host{background:#674591;color:#f3e5ff;border-color:#ca9eff60}.role-tag.role-bar,.cell-label.role-bar{background:#8e483b;color:#ffebe1;border-color:#ffa58d60}.role-tag.role-oncall,.cell-label.role-oncall{background:#745a23;color:#fff1b6;border-color:#ebcd716b}.cell-label.assigned{min-width:62px;max-width:calc(100% - 12px);padding:3px 7px;border:1px solid transparent;border-radius:5px;line-height:1.25;font-size:11px;font-weight:650}.cell-label.role-server{border-color:#7de0b650}.cell-label.role-host{border-color:#ca9eff50}.cell-label.role-bar{border-color:#ffa58d50}.cell-label.role-oncall{border:1px dashed #ebcd7190}.schedule-table tbody tr:nth-child(2n)>th,.schedule-table tbody tr:nth-child(2n)>.total-cell{background:#1b2b47}.schedule-table tbody tr:nth-child(2n)>td.am{background-color:#71a6f43d}.schedule-table tbody tr:nth-child(2n)>td.pm{background-color:#ebcd8626}.schedule-table tbody tr:hover>*,.schedule-table tbody tr:focus-within>*{box-shadow:inset 0 1px #b8e1ff85,inset 0 -1px #b8e1ff85;background-image:linear-gradient(#d6ecff0c,#d6ecff0c)}.schedule-table tbody tr:hover>th,.schedule-table tbody tr:focus-within>th{background:#29425f;box-shadow:inset 4px 0 #91d6ff,inset 0 1px #b8e1ff85,inset 0 -1px #b8e1ff85}.schedule-table tbody td.conflict{box-shadow:inset 0 -2px #ff94ae}.employee-table tbody tr:nth-child(2n){background:#b9d5ff08}.employee-table tbody tr:hover,.employee-table tbody tr:focus-within{background:#b9d5ff13}.employee-table tbody tr:hover>th{box-shadow:inset 3px 0 #91d6ff}.oncall-meta,.oncall-total,.oncall-count{color:#e9d39c}.oncall-total{display:block;font-size:8px;line-height:1.1;margin-top:2px}.oncall-summary{border-top:1px solid #e6ce7140;background:#d6b35508}.oncall-summary th>small{display:block;font-size:8px;color:#bfae81;font-weight:400}.coverage-table .role-tag{margin:0;padding:2px 6px;font-size:9px}.standby-label{font-size:11px;color:#ebd695;background:#dab04e10;border:1px dashed #d3b66360;border-radius:6px;padding:8px 12px}.shift-row .role-tag{font-size:11px;margin:0}.role-legend .role-oncall{border-style:dashed}@media(max-width:700px){.role-legend{gap:6px}.role-legend small{width:100%;margin:2px 0 0}.board-meta{gap:12px;align-items:flex-start}.board-meta>.legend{flex-wrap:wrap;justify-content:flex-end}.cell-label.assigned{min-width:58px}}@media print{.schedule-table tbody tr:nth-child(2n)>th{background:#f0f0f0!important}.schedule-table tbody tr>*{box-shadow:none!important;background-image:none!important}.cell-label.assigned{min-width:0;max-width:100%;padding:2px 5px;font-size:9pt!important;border-radius:3px;line-height:1.2}.cell-label.role-server{background:#d4eddd!important;color:#143c2b!important;border-color:#5e9b74!important}.cell-label.role-host{background:#e8d9f5!important;color:#452766!important;border-color:#9e78bb!important}.cell-label.role-bar{background:#f5d9ce!important;color:#633527!important;border-color:#c28571!important}.cell-label.role-oncall{background:#fff3c5!important;color:#664c12!important;border:1px dashed #a98a3d!important}}.team-week{width:100%;min-width:1000px;border-collapse:collapse;table-layout:fixed}.team-week th,.team-week td{border:1px solid #ffffff20;padding:12px;text-align:left;vertical-align:top}.team-week th{font-size:12px;color:#e3e9f4}.team-week tbody tr:nth-child(2n){background:#ffffff05}.team-week tbody tr:hover{background:#ffffff0d}.team-week th small{display:block;color:#66d9e8}.team-slot{display:flex;gap:6px;align-items:center;min-height:34px}.team-slot>small{font-size:10px;color:#91a2bb}.team-slot .role-tag{margin:0}.blank-slot{min-height:30px;display:block}.personal-day{border-bottom:1px solid #ffffff26}.personal-day h2{font-size:14px;margin:0;padding:14px 18px;background:#ffffff08}.personal-day:nth-child(2n){background:#ffffff03}.personal-day .shift-row{min-height:65px}.time-off-section{margin:24px 0}.time-off-section>p{color:#a7b3c7;font-size:13px}.time-off-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.time-off-form label{display:flex;flex-direction:column;gap:8px;font-size:12px}.time-off-form input,.time-off-form select{min-height:40px;padding:8px}.portal-tabs{flex-wrap:wrap}.time-off-cell{position:absolute;bottom:2px;left:0;right:0;font-size:8px;color:#ffce80;pointer-events:none;text-align:center}.time-off-cell.approved{color:#ff9cac}.time-off-banner{padding:14px 18px;border:1px solid #e7ad5655;background:#e7ad5610;margin:12px 0;display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:12px}.time-off-banner span{padding:5px 8px;border:1px solid #ffffff18;border-radius:4px}.time-off-banner button{margin-left:auto}.personal-off{margin:0;padding:10px 18px;color:#ffd48b;font-size:12px;background:#db9a3210}.account-settings,.email-required{max-width:650px;margin:40px auto;padding:24px}.account-section{padding:24px 0;border-bottom:1px solid #ffffff24}.account-section h2{margin-top:0}.account-section p,.account-settings>p{color:#b9c7db;line-height:1.6}.account-section form{margin:22px 0}.account-section form button{margin-top:8px}.account-section form input{width:100%}.forgot-link{margin-top:20px}button:disabled{opacity:.45;cursor:not-allowed}.email-required{background:#111c31;border:1px solid #ffffff25;border-radius:12px}.account-settings .form-field,.email-required .form-field{margin-bottom:16px}@media(max-width:700px){.account-settings,.email-required{margin:20px 12px;padding:20px}.app-header nav{flex-wrap:wrap}}.notification-toggle{display:flex;align-items:center;gap:10px;margin:12px 0}.notification-toggle input{width:auto}.reminder-times{display:flex;gap:20px;flex-wrap:wrap;margin:16px 0}.reminder-times label{display:grid;gap:8px}.device-list{list-style:none;padding:0}.device-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line,#ddd)}.device-list small{display:block;color:#68706b;margin-top:5px}.notifications h3{margin-top:32px}.notifications textarea{min-height:100px;font:inherit;padding:12px;border:1px solid #d5dad7;border-radius:6px}.push-banner{position:fixed;z-index:1000;bottom:20px;right:20px;max-width:400px;background:#244f42;color:#fff;padding:20px;border-radius:8px;box-shadow:0 4px 20px #0003;display:grid;gap:8px}.push-banner a{color:#fff;text-decoration:underline}.login-scene{position:relative;isolation:isolate;min-height:100svh}.login-artwork{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100svh;object-fit:contain;object-position:center;pointer-events:none;z-index:-1;opacity:0}.login-scene .login-shell{min-height:100svh}.login-scene .login-story,.login-scene .login-form{opacity:0}.login-scene.is-ready .login-artwork{animation:login-art-settle 5s ease-out both}.login-scene.is-ready .login-story,.login-scene.is-ready .login-form{animation:login-content-enter 2.5s ease-out 1.3s both}.login-scene .login-form{padding:26px;border-radius:18px;background:#050914c2;box-shadow:0 16px 60px #03071330}.login-scene .login-story{text-shadow:0 2px 12px #030713}.login-scene .ownership-rule{background:#050914b8}@keyframes login-art-settle{0%{opacity:0}25%{opacity:1}to{opacity:.1}}@keyframes login-content-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.login-scene .login-shell{align-content:center;gap:28px}.login-scene .login-form{padding:22px}.login-artwork{object-position:center 42%}}@media(prefers-reduced-motion:reduce){.login-scene .login-artwork{animation:none!important;opacity:.1}.login-scene .login-story,.login-scene .login-form{animation:none!important;opacity:1}}.brand-attribution{position:relative;text-align:center;font-size:11px;line-height:1.6;font-weight:400;color:var(--muted);padding:16px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.brand-attribution .attribution-heart{color:var(--pink)}.brand-attribution a{color:inherit;text-decoration:none}.brand-attribution a:hover{text-decoration:underline}.brand-attribution a:focus-visible{outline:2px solid var(--pink);outline-offset:4px;border-radius:2px}[hidden]{display:none!important}.settings-workspace{max-width:980px!important}.settings-tabs{display:flex;gap:20px;overflow-x:auto;padding:4px 2px 0;margin:18px 0;max-width:100%;border-bottom:1px solid var(--line)}.settings-tabs button{white-space:nowrap;flex:none;border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);padding:12px 2px;font-weight:500}.settings-tabs button:hover{background:transparent;color:var(--text);border-bottom-color:#d21d5a73}.settings-tabs button[aria-selected=true]{background:transparent;border-bottom-color:var(--pink);color:#fff}.settings-tabs button:focus-visible{outline-offset:-3px}.password-form{width:100%;max-width:720px}.password-input-wrap{position:relative;width:100%}.password-input-wrap input{width:100%;padding-right:48px}.password-visibility{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--muted)}.password-visibility:hover{background:var(--soft);color:var(--text)}.password-visibility:focus-visible{outline-offset:-2px}.password-form-actions{display:flex;justify-content:flex-end;margin-top:8px}.settings-workspace .account-section{padding:24px;background:#05112d73;border:1px solid var(--line);border-radius:14px;margin:16px 0}.notification-toggle{display:flex!important;align-items:center;justify-content:flex-start;gap:12px;padding:12px 0}.notification-toggle input,.access-options input{width:18px!important;height:18px;flex:0 0 18px;accent-color:var(--pink);margin:0}.notifications textarea{width:100%;min-height:110px;background:#05112db8;border:1px solid rgba(155,180,225,.28);color:#fff;border-radius:12px;padding:12px;font:inherit;resize:vertical}.notifications select{max-width:320px}.recipient-picker{max-height:210px;overflow-y:auto;margin-top:12px}.selected-people{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.selected-people button{font-size:12px;padding:5px 10px;border-radius:999px}.people-table{min-width:940px}.people-table th small{display:block;font-size:11px;color:var(--muted);font-weight:400}.person-dialog{width:min(720px,calc(100vw - 24px));max-height:90svh;overflow-y:auto}.person-dialog section{padding:12px 0}.access-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.access-options label{display:grid;grid-template-columns:20px 1fr;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.access-options small{grid-column:2;color:var(--muted);line-height:1.5}@media(max-width:600px){.settings-workspace .account-section{padding:18px}.access-options{grid-template-columns:1fr}.person-dialog{padding:18px}.settings-workspace{padding-left:16px;padding-right:16px}.reminder-times{flex-wrap:wrap}}.people-table{min-width:1080px;table-layout:fixed;width:100%}.people-table th:first-child{width:160px}.people-table th:nth-child(2){width:110px}.people-table th:nth-child(3){width:150px}.people-table th:nth-child(4){width:250px}.people-table th:nth-child(5){width:110px}.people-table th:nth-child(6){width:130px}.people-table th:last-child{width:80px}.people-table .role-tag{margin:2px}.people-table td{overflow-wrap:break-word}dialog.person-dialog{background:#09122bfa;color:var(--text);border:1px solid var(--line);width:min(720px,calc(100vw - 24px))}dialog.person-dialog h2,dialog.person-dialog h3,dialog.person-dialog label,dialog.person-dialog legend{color:var(--text)}dialog.person-dialog .eyebrow,dialog.person-dialog .field-help,dialog.person-dialog p,dialog.person-dialog small{color:var(--muted)}dialog.person-dialog input:not([type=checkbox]):not([type=radio]),dialog.person-dialog select{background:#05112db8;color:var(--text);border-color:var(--line)}dialog.person-dialog button:not(.primary):not([aria-selected=true]){background:var(--soft);color:var(--text);border-color:var(--line)}.settings-workspace select,.person-dialog select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:44px;width:100%;padding:11px 40px 11px 13px;font:inherit;line-height:1.4;color:var(--text);background-color:#05112db8;border:1px solid rgba(155,180,225,.28);border-radius:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23b1c6df' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;cursor:pointer}.settings-workspace select option,.person-dialog select option{background:#101b36;color:#f8fbff}.settings-workspace input[type=checkbox],.person-dialog input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-block;width:20px!important;height:20px;min-width:20px;flex:0 0 20px;padding:0;border:1px solid #7992b6;border-radius:6px;background:#05112db8;vertical-align:middle;cursor:pointer;transition:background-color .15s,border-color .15s}.settings-workspace input[type=checkbox]:checked,.person-dialog input[type=checkbox]:checked{border-color:var(--pink);background-color:var(--pink);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 10 3 3 7-7'/%3E%3C/svg%3E");background-size:18px;background-position:center;background-repeat:no-repeat}.settings-workspace select:hover,.person-dialog select:hover,.settings-workspace input[type=checkbox]:hover,.person-dialog input[type=checkbox]:hover{border-color:#9ac9f3}.settings-workspace select:focus-visible,.person-dialog select:focus-visible,.settings-workspace input[type=checkbox]:focus-visible,.person-dialog input[type=checkbox]:focus-visible{outline:2px solid #70d9f4;outline-offset:3px}.settings-workspace select:disabled,.person-dialog select:disabled,.settings-workspace input[type=checkbox]:disabled,.person-dialog input[type=checkbox]:disabled{opacity:.45;cursor:not-allowed}@media(forced-colors:active){.settings-workspace select,.person-dialog select,.settings-workspace input[type=checkbox],.person-dialog input[type=checkbox]{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background-image:none}}@media screen{.schedule-table tbody tr:hover>*,.schedule-table tbody tr:focus-within>*{background:#edf4ff!important;color:#13243d!important;background-image:none!important}.schedule-table tbody tr:hover .row-number,.schedule-table tbody tr:focus-within .row-number,.schedule-table tbody tr:hover .total-cell span,.schedule-table tbody tr:focus-within .total-cell span{color:#405573}.schedule-table tbody tr:hover .cell-label.empty,.schedule-table tbody tr:focus-within .cell-label.empty{color:#405573}.cell-select:disabled{cursor:default}.schedule-edit-bar{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:#101a30f5;border-top:1px solid var(--line);box-shadow:0 -8px 30px #0004}.schedule-edit-bar>span{margin-right:auto}body:has(.schedule-edit-bar){padding-bottom:110px}@media(max-width:600px){.schedule-edit-bar{flex-wrap:wrap;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.schedule-edit-bar>span{width:100%;font-size:12px}}}
