.staff-summary-note{margin:12px 0}.staff-actions{gap:8px;margin:16px 0;display:flex}.staff-page button{cursor:pointer;padding:6px 10px}.staff-page button:disabled{cursor:default}.staff-form-panel{border:1px solid #ccc;margin:16px 0;padding:16px}.staff-form-panel h2{margin-top:0;font-size:20px}.staff-form-fields{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.staff-form-fields label,.staff-notes{flex-direction:column;gap:4px;display:flex}.staff-form-panel input,.staff-form-panel select,.staff-form-panel textarea{font:inherit;min-width:0;padding:6px}.staff-form-panel fieldset{margin:16px 0}.staff-checkbox{align-items:center;gap:6px;margin:8px 16px 8px 0;display:inline-flex}.staff-table-scroll{margin-top:16px;overflow-x:auto}.staff-table{border-collapse:collapse;width:100%;font-size:14px}.staff-table caption{text-align:left;margin-bottom:8px}.staff-table th,.staff-table td{text-align:left;border:1px solid #ccc;padding:8px}.staff-table thead,.staff-unavailable{background:#eee}.staff-unavailable{font-weight:700}.payroll-details{width:min(960px,100vw - 64px);max-width:none;height:100dvh;max-height:100dvh;color:inherit;background:#fff;border:0;margin:0;padding:0;position:fixed;inset:0 0 0 auto;box-shadow:-8px 0 28px #1c304833}.payroll-details[open]{flex-direction:column;display:flex}.payroll-details::backdrop{background:#1c304833}.payroll-details-header{overflow-wrap:anywhere;border-bottom:1px solid #cbd5e1;align-items:flex-start;gap:16px;padding:20px;display:flex}.payroll-details-header>div{flex:1;min-width:0}.payroll-details-header button{flex:none}.payroll-details-content{overscroll-behavior:contain;min-height:0;padding:20px;overflow:auto}.payroll-details-content .ops-table-scroll{max-width:100%}@media (width<=600px){.payroll-details{width:100vw}.payroll-details-header{flex-wrap:wrap;gap:8px;padding:12px}.payroll-details-header>div{flex-basis:100%}.payroll-details-content{padding:12px}}.adjustment-revision{overflow-wrap:anywhere;border-bottom:1px solid #cbd5e1;padding-bottom:12px}.print-report{color:#172d46;background:#fff;border:1px solid #d6dee8;padding:22px}.report-header{border-bottom:2px solid #244869;justify-content:space-between;align-items:center;gap:20px;padding-bottom:14px;display:flex}.report-header h1{margin:0 0 5px;font-size:22px}.report-header .brand>div>p:last-child{color:#30475f}.report-header .app-title{font-size:22px}.report-header .brand{gap:10px}.report-header .brand p{font-size:12px}.report-header .brand .app-title{font-size:22px}.report-day{margin:20px 0}.report-day h2{margin-bottom:9px;font-size:17px}.run-sheet-table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:13px}.run-sheet-table th,.run-sheet-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border:1px solid #c7d0da;padding:8px 6px}.run-sheet-table th:first-child{width:19%}.run-sheet-table th:nth-child(2){width:9%}.run-sheet-table th:nth-child(3),.run-sheet-table th:nth-child(6){width:13%}.run-sheet-table thead{background:#eef2f6}.run-sheet-table tbody th span{font-weight:400;display:block}.report-warning{background:#fff8e7;border:2px solid #806329;margin:16px 0;padding:12px}.report-warning p{margin-bottom:0}.report-footer{border-top:1px solid #abb8c4;margin-top:22px;padding-top:10px;font-size:12px}.report-breakdown>section{margin-top:20px}@media screen and (width<=600px){.report-header{flex-wrap:wrap}.report-header>div{min-width:0;max-width:100%}.report-header .brand{flex-wrap:wrap}}@page{size:A4 portrait;margin:12mm 10mm}@media print{:root,body{font-size:10.5pt;color:#111!important;background:#fff!important}.app-header,.navigation,.skip-link,.read-only,.application-only,.print-report button{display:none!important}.app-body,main,.app-shell{width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;display:block!important}.print-report{color:#111;border:0;padding:0;background:#fff!important}.report-header{break-inside:avoid;border-color:#222;gap:12px}.report-header h1{font-size:15pt}.report-header .brand{flex-shrink:0}.report-header .brand>div>p:last-child{color:#222}.report-header .app-title{color:#111}.print-report h2,.print-report h3{break-after:avoid}.print-report table{table-layout:fixed;border-collapse:collapse;width:100%;font-size:10pt}.print-report thead{display:table-header-group}.print-report tfoot{display:table-row-group}.print-report tr{break-inside:avoid;page-break-inside:avoid}.app-shell .print-report th,.app-shell .print-report td{overflow-wrap:anywhere;color:#111;background:#fff;border:1px solid #888;min-width:0;padding:4px}.print-report .ops-table-scroll{margin-top:10px;overflow:visible}.print-report .payroll-summary th:first-child{width:26%}.print-report .work-records-table th:nth-child(3){width:16%}.print-report .work-records-table th{font-size:9.5pt}.report-warning{break-inside:avoid;background:#fff;border-color:#111}.report-footer{break-before:avoid;break-inside:avoid;margin-top:8px;padding-top:6px;font-size:9pt;position:static}.report-day{margin:8px 0}.print-report p{margin-bottom:5px}.print-report .muted{color:#333}}.app-shell{min-height:100vh}.app-header{color:#fff;background:#102e50;justify-content:space-between;align-items:center;gap:24px;padding:16px 24px;display:flex}.brand{align-items:center;gap:16px;display:flex}.brand p{margin:0}.app-title{letter-spacing:-.6px;font-size:28px;font-weight:700}.brand>div>p:last-child{color:#d2e0ef;font-size:14px}.logo-frame{background:#fff;border-radius:4px;width:84px;height:58px;position:relative;overflow:hidden}.logo-frame img{object-fit:contain;width:84px;height:118px;position:absolute;top:-25px}.identity{text-align:right;font-size:14px}.identity details p{max-width:330px}.dev-switch{letter-spacing:.7px;align-items:center;gap:10px;font-size:10px;display:flex}.dev-switch select{min-height:30px;padding:3px 6px;font-size:13px}.app-body{min-height:calc(100vh - 100px);display:flex}.navigation{color:#e3ecf6;background:#153657;flex:0 0 208px;padding:20px 12px}.navigation ul{margin:0;padding:0;list-style:none}.navigation button{color:inherit;text-align:left;background:0 0;border-color:#0000;border-radius:5px;width:100%;min-height:43px;margin-bottom:4px;font-size:15px;font-weight:400}.navigation button:hover{background:#224c75}.navigation button[aria-current=page]{color:#fff;background:#28669c;font-weight:600;box-shadow:inset 3px 0 #92d2fc}.nav-section{text-transform:uppercase;letter-spacing:1px;color:#a9bfd6;margin:26px 12px 10px;font-size:11px}.prototype-note{color:#afc4d8;padding:28px 12px 0;font-size:11px}main{flex:1;min-width:0;max-width:1700px;padding:28px}.skip-link{z-index:10;background:#fff;padding:12px;position:absolute;top:-80px;left:16px}.skip-link:focus{top:12px}.panel{background:#fff;border:1px solid #d6dee8;border-radius:7px;margin:18px 0;padding:20px}.page-heading,.panel-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.page-heading h1,.panel-heading h2{margin-bottom:0}.dashboard-heading{justify-content:space-between;align-items:center;display:flex}.dashboard-heading img{object-fit:cover;border-radius:6px;max-width:230px;max-height:110px}.eyebrow{text-transform:uppercase;letter-spacing:1.1px;color:#64778b;margin:18px 0 2px;font-size:12px}.full-date{font-size:18px}.dashboard-summary .summary-strip{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.dashboard .dashboard-summary .summary-item{background:#fff;border:1px solid #d6dee8;border-radius:6px;flex-direction:column;align-items:flex-start;gap:5px;padding:12px 14px;display:flex}.attention-summary{margin:12px 0 16px;padding:0;list-style:none}.attention-summary li{border-bottom:1px solid #e4e9ef;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:9px 0;display:grid}.dashboard-operations dl{flex-wrap:wrap;gap:12px 32px;margin:12px 0 0;display:flex}.dashboard-operations dl>div{align-items:baseline;gap:12px;display:flex}.dashboard-operations dt{color:#425c73}.dashboard-operations dd{margin:0;font-weight:650}.development-status{color:#637388;margin-bottom:12px;font-size:12px}.development-status p{max-width:70ch;margin:6px 0}@media (width<=768px){.dashboard-summary .summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-heading img{max-width:140px}}@media (width<=480px){.dashboard-heading img{display:none}.attention-summary li{gap:8px;font-size:14px}.attention-summary .status{max-width:85px}.dashboard-attention>button{white-space:normal;width:100%}}@media (width<=600px){.app-shell:has(.dashboard) .app-header{flex-wrap:wrap;gap:12px}.app-shell:has(.dashboard) .identity{text-align:left;max-width:100%}.app-shell:has(.dashboard) .dev-switch{justify-content:flex-start}.app-shell:has(.dashboard) .app-body{display:block}.app-shell:has(.dashboard) .navigation{padding:8px 12px}.app-shell:has(.dashboard) .navigation ul{flex-wrap:wrap;gap:4px;display:flex}.app-shell:has(.dashboard) .navigation button{width:auto;margin:0;font-size:13px}:is(.app-shell:has(.dashboard) .nav-section,.app-shell:has(.dashboard) .prototype-note){display:none}main:has(>.dashboard){padding:16px}}.all-covered{color:#24663f;background:#e9f5ee;border-radius:5px;padding:14px}.segmented{background:#e4eaf1;border-radius:6px;gap:3px;margin-bottom:12px;padding:4px;display:inline-flex}.segmented button{background:0 0;border-color:#0000}.segmented button[aria-pressed=true]{color:#fff;background:#236399}.date-controls label{align-items:center;gap:9px;font-weight:600;display:flex}.contract-group{background:#fff;border:1px solid #d7e0e9;border-radius:6px;margin:15px 0;overflow:hidden}.contract-heading{background:#f8fafc;border-bottom:1px solid #dfe6ed;justify-content:space-between;padding:12px 16px;display:flex}.contract-heading h2{margin:0;font-size:16px}.contract-heading>span{color:#5c6d80;font-size:14px;font-weight:600}.day-table,.week-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}.day-table th,.day-table td{text-align:left;overflow-wrap:anywhere;border-bottom:1px solid #e8edf2;padding:10px 9px}.day-table thead th{color:#617187;padding-top:7px;padding-bottom:5px;font-size:12px;font-weight:500}.day-table tr:last-child td,.day-table tr:last-child th{border-bottom:0}.day-table th:first-child{width:7%}.day-table th:nth-child(2){width:15%}.day-table th:nth-child(3),.day-table th:nth-child(4){width:19%}.day-table th:nth-child(5){width:8%}.day-table th:nth-child(6){width:19%}.day-table th:nth-child(7){width:13%}.day-table button{min-height:34px;padding:5px 8px;font-size:13px}.selected-session{background:#edf5fd;box-shadow:inset 3px 0 #286b9f}.status{border-radius:4px;padding:5px 7px;font-size:12px;font-weight:600;line-height:1.3;display:inline-block}.status-ready{color:#23603e;background:#e8f3ec}.status-cover{color:#235b91;background:#e7f1fc}.status-cover_required,.status-attention{color:#85510a;background:#fff1d9}.status-unassigned,.status-conflict{color:#a02e32;background:#fcebec}.status-did_not_run{color:#536273;background:#e9edf1}.week-scroll{background:#fff;border:1px solid #d6dee8;border-radius:7px;padding:14px;overflow-x:auto}.week-table th,.week-table td{text-align:left;vertical-align:top;border:1px solid #e0e6ed;padding:10px}.week-table thead th{background:#f5f8fb;font-size:13px}.week-table th:first-child{width:22%}.week-table tbody th span{margin-top:5px;font-size:13px;font-weight:400;display:block}.week-session{text-align:left;border-color:#0000;width:100%;min-height:36px;margin-bottom:7px;padding:7px 5px;font-size:12px;display:block}.not-operating{color:#617187;font-size:12px}.session-panel{border-left:4px solid #2b70a7;scroll-margin-top:16px}.session-panel:focus{outline:2px solid #75a8ce}.assignment-details{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.cover-note{color:#28659b;font-size:13px}.exception-action{border-top:1px solid #e2e8ef;margin-top:16px;padding-top:16px}.exception-action label{flex-direction:column;gap:5px;max-width:500px;display:flex}.session-reasons{background:#fff6e7;border-radius:5px;padding:14px 14px 14px 32px}.read-only{color:#516b82;background:#e5edf5;border-radius:5px;margin-bottom:18px;padding:8px 12px;font-size:14px}.report-links{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;display:grid}.app-shell .ops-form,.app-shell .ops-section,.app-shell .staff-form-panel{background:#fff;border-color:#d6dee8;border-radius:7px}.app-shell .ops-table,.app-shell .staff-table{background:#fff}.app-shell .ops-table th,.app-shell .ops-table td,.app-shell .staff-table th,.app-shell .staff-table td{border-color:#dce4ed}.app-shell .ops-table thead,.app-shell .staff-table thead{background:#eaf0f6}@media (width<=1200px){main{padding:22px 18px}.navigation{flex-basis:185px}.day-table{font-size:13px}.day-table td,.day-table th{padding-left:7px;padding-right:7px}.week-table th,.week-table td{padding:7px}}@media (width<=900px){.navigation{flex-basis:165px}.app-header{padding:14px 18px}.day-table .session-time,.day-table button{font-size:12px}.week-table{min-width:640px}.identity{max-width:280px}.dev-switch{flex-wrap:wrap;justify-content:flex-end}}.app-header{padding:10px 24px}.brand{flex-shrink:0;gap:12px}.logo-frame{flex:0 0 92px;width:92px;height:70px}.logo-frame img{object-fit:contain;width:100%;height:auto;display:block;top:-22px}main{padding-top:22px}h1{margin-bottom:12px}.panel{margin:14px 0;padding:16px}.summary-strip{border-block:1px solid #d5dfe9;flex-wrap:wrap;align-items:center;gap:0;margin:12px 0;padding:10px 0;display:flex}.summary-item{border-right:1px solid #c9d5e2;align-items:baseline;gap:7px;padding:0 18px;font-size:14px;display:inline-flex}.summary-item:first-child{padding-left:0}.summary-item:last-child{border-right:0}.summary-item strong{color:#173e60;font-size:19px;font-weight:650}.summary-item span{color:#425c73}.ops-actions{gap:8px;margin:12px 0}.date-controls{background:#eaf0f6;border-radius:6px;gap:8px;padding:8px 10px}.date-controls label{font-size:14px}.date-controls button,.date-controls input{min-height:36px}.eyebrow{margin-top:10px}.contract-group{margin:10px 0}.contract-heading{padding:8px 12px}.day-table th,.day-table td{padding-block:7px}.day-table thead th{padding-block:4px}.day-table .status-ready{color:#38644d;background:0 0;font-weight:500}.week-session.status-ready{color:#456453;background:0 0;font-weight:400}.week-session{margin-bottom:4px}.week-table .today-column{background:#f0f5fa;box-shadow:inset 0 2px #6e91b2}.today-label{color:#3b658c;font-size:11px;font-weight:600;display:block}.assignment-details{margin:12px 0;display:block}.assignment-details>div{border-bottom:1px solid #e4eaf0;grid-template-columns:80px 1fr auto;align-items:center;gap:12px;padding:9px 0;display:grid}.assignment-details dt{color:#445b70;font-size:14px}.assignment-details dd{margin:0}.assignment-details .status{margin-left:8px}.cover-note,.absence-note{margin-top:2px;font-size:13px;display:block}.absence-note{color:#875407}.session-meta{color:#566b80;margin-top:6px}.session-meta .status{margin-left:8px}.assignment-success:not(:empty){color:#27623d;background:#edf7ef;border-radius:4px;padding:8px 10px;font-size:14px}.assignment-success:empty{display:none}.other-issues{margin-top:8px;font-size:14px}.other-issues summary,.exception-history summary,.cancelled-assignments summary{color:#50667b}.session-cancelled{border-left-color:#718093}.cancellation-reason{margin:14px 0;font-size:17px}.exception-action{margin-top:10px;padding-top:10px}.assignment-editor{max-width:780px}.assignment-editor select{max-width:520px}.resource-empty{background:#fff6e6;border:1px solid #c99741;border-left-width:4px;border-radius:4px;padding:14px}.resource-empty h3{color:#72450b;margin:0 0 6px}.resource-empty p,.resource-empty li{font-size:14px}.resource-empty-note{color:#754500;background:#fff0d6;padding:6px;font-size:13px;font-weight:600}.payroll-callout{background:#fff;border-left:3px solid #8199ae;margin:12px 0;padding:10px 14px}.payroll-callout h2{margin-bottom:4px;font-size:15px}.payroll-callout p{margin-bottom:3px;font-size:14px}.payroll-issues{margin-top:6px}.payroll-issues>section{border-top:1px solid #e1e7ee;margin-top:10px}.payroll-issues h3{font-size:15px}.muted{color:#637388;font-weight:400}.payroll-summary tfoot{background:#edf2f7;border-top:2px solid #7a90a7;font-weight:700}.payroll-summary th:first-child{min-width:150px}.work-records-table th,.work-records-table td{min-width:65px}.text-button{background:0 0;border-color:#0000;margin-top:8px}.staff-table td{font-size:13px}.staff-unavailable{background:#f6efe2}@media (width<=1100px){.summary-item{padding-inline:12px}.summary-item strong{font-size:17px}.summary-item span{font-size:13px}.assignment-details>div{grid-template-columns:65px 1fr auto}.report-header{align-items:flex-start}}.approval-status{border:1px solid #8d9faf;margin:12px 0;padding:10px}.payroll-readiness,.approval-history{margin:16px 0}.approval-history article{border-bottom:1px solid #d6dee8;padding:10px 0}.negative-amount{color:#922626;font-weight:600}.login-page{background:#edf2f6;place-items:center;width:100%;max-width:none;min-height:100dvh;padding:24px;display:grid}.login-card{background:#fff;border:1px solid #d1dbe4;border-radius:12px;width:min(100%,440px);min-width:0;padding:32px;box-shadow:0 8px 28px #152c4510}.login-card .brand{flex-wrap:wrap}.login-card form{gap:12px;display:grid}.login-card input{box-sizing:border-box;border:1px solid #8796a5;border-radius:4px;width:100%;padding:10px}.login-card [role=alert]{color:#a82020}.day-scroll{overflow-x:auto}@media (width<=900px){.day-scroll .day-table{min-width:680px}}@media (width<=600px){.app-shell:not(:has(.dashboard)) .app-header{flex-wrap:wrap;gap:12px}.app-shell:not(:has(.dashboard)) .identity{text-align:left;max-width:100%}.app-shell:not(:has(.dashboard)) .dev-switch{justify-content:flex-start}.app-shell:not(:has(.dashboard)) .app-body{display:block}.app-shell:not(:has(.dashboard)) .navigation{padding:8px 12px}.app-shell:not(:has(.dashboard)) .navigation ul{flex-wrap:wrap;gap:4px;display:flex}.app-shell:not(:has(.dashboard)) .navigation button{width:auto;margin:0;font-size:13px}:is(.app-shell:not(:has(.dashboard)) .nav-section,.app-shell:not(:has(.dashboard)) .prototype-note){display:none}.app-shell:not(:has(.dashboard)) main{padding:16px}:is(.app-shell:not(:has(.dashboard)) .page-heading,.app-shell:not(:has(.dashboard)) .panel-heading){flex-wrap:wrap}.app-shell:not(:has(.dashboard)) .date-controls label{flex-wrap:wrap;min-width:0}.app-shell:not(:has(.dashboard)) .date-controls input{max-width:100%}}*{box-sizing:border-box}:root{color:#1c3048;font-synthesis:none;background:#f3f5f8;font-family:Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.5}body{margin:0}button,input,select,textarea{font:inherit}button{color:#174b7c;cursor:pointer;background:#fff;border:1px solid #b8c8d9;border-radius:5px;min-height:38px;padding:7px 13px;font-weight:600}button:hover{background:#edf4fb;border-color:#377bb6}button:disabled{opacity:.5;cursor:default}input,select,textarea{color:#172d46;background:#fff;border:1px solid #a9bacb;border-radius:4px;padding:7px}input:not([type=checkbox]),select{min-height:38px}:focus-visible{outline-offset:3px;outline:3px solid #368ac8}h1{letter-spacing:-.5px;margin:0 0 16px;font-size:28px;line-height:1.2}h2{margin:0 0 12px;font-size:19px}h3{font-size:17px}p{margin:0 0 8px}summary{cursor:pointer;padding:7px 0}caption{color:#52657b;text-align:left;padding:8px 0}fieldset{border:1px solid #cbd5e1;border-radius:5px}.ops-page button{cursor:pointer;padding:6px 10px}.ops-page button:disabled{cursor:default}.ops-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.ops-form,.ops-section{border:1px solid #ccc;margin:20px 0;padding:16px}.ops-form h2,.ops-section h2{margin-top:0;font-size:20px}.ops-fields{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;display:grid}.ops-form label:not(.ops-check){flex-direction:column;gap:4px;display:flex}.ops-page input,.ops-page select,.ops-page textarea{font:inherit;min-width:0;max-width:100%;padding:6px}.ops-check{align-items:center;gap:6px;margin:12px 16px 12px 0;display:inline-flex}.ops-form fieldset{margin:16px 0}.ops-table-scroll{margin-top:20px;overflow-x:auto}.ops-table{border-collapse:collapse;width:100%;font-size:14px}.ops-table caption{text-align:left;margin-bottom:8px}.ops-table th,.ops-table td{text-align:left;vertical-align:top;border:1px solid #ccc;min-width:95px;padding:8px}.ops-table thead{background:#eee}.ops-table td.ops-disabled{text-align:center;background:#f5f5f5}.ops-warning{color:#713500;background:#fff0d6}.ops-flag{color:#713500;font-weight:700;display:block}.ops-note{margin-top:12px}.work-controls{flex-direction:column;align-items:flex-start;gap:6px;min-width:160px;margin-top:8px;display:flex}.work-controls p{font-size:13px}.work-controls[data-work-status=confirmed]>strong{color:#245729}.payroll-summary th,.payroll-summary td{min-width:110px}
