:root{--bg:#191a18;--surface:#232522;--surface-raised:#2b2d29;--surface-soft:#1e201d;--text:#f1f1ec;--muted:#a5aaa1;--line:#ffffff1c;--accent:#bcc3ad;--warning:#d4b883;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{background:radial-gradient(ellipse at 100% 0,#bbb39e14,transparent 65%),var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Arial,sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.42}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible){outline:2px solid var(--accent);outline-offset:3px}input,select{background:var(--surface-soft);color:var(--text);border:1px solid var(--line);border-radius:5px;min-width:0;padding:10px 12px}input[type=checkbox]{accent-color:#b4bda8;width:16px;height:16px;padding:0}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}small,.muted{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#21231ff2;align-items:center;gap:56px;min-height:76px;padding:0 clamp(24px,4vw,76px);display:flex}.brand{flex-shrink:0;align-items:center;gap:13px;display:flex}.brand-symbol{border:1px solid #91968b;border-radius:5px;place-items:center;width:37px;height:39px;font-size:21px;font-weight:700;display:grid}.brand strong{letter-spacing:-.025em;font-size:16px;display:block}.brand small{letter-spacing:.14em;margin-top:5px;font-size:10px;display:block}.topbar nav{align-self:stretch;align-items:stretch;gap:28px;display:flex}.topbar nav>a,.topbar nav>button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:8px;padding:3px 0 0;font-size:14px;display:flex}.topbar nav .active{border-bottom-color:var(--text);color:var(--text)}.header-actions{align-items:center;gap:24px;margin-left:auto;display:flex}.read-only-label{color:var(--muted);letter-spacing:.04em;font-size:13px}.quiet-button{border:1px solid var(--line);white-space:nowrap;background:0 0;border-radius:5px;justify-content:center;align-items:center;min-height:38px;padding:8px 13px;font-size:14px;display:inline-flex}.quiet-button:hover:not(:disabled){background:var(--surface-raised);border-color:#73786c}.primary-button{border:1px solid var(--text);background:var(--text);color:#20221e;border-radius:5px;padding:11px 17px;font-size:14px;font-weight:650}.nav-count{color:var(--warning);font-size:12px}main{max-width:1810px;margin:0 auto;padding:34px clamp(24px,4vw,70px) 40px}.page-heading{justify-content:space-between;align-items:center;gap:24px;margin:0 0 27px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.16em;font-size:11px;font-weight:700}h1{letter-spacing:-.045em;margin:9px 0 8px;font-size:34px;font-weight:650;line-height:1.25}.page-heading p{color:var(--muted);margin:0;font-size:15px}.date-block{grid-template-columns:auto auto;align-items:center;gap:9px 14px;display:grid}.date-block label{color:var(--muted);font-size:14px}.date-today{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:4px;margin-left:8px;padding:2px 7px;font-size:12px}.history-saved{color:var(--muted);font-size:12px}.date-block input{min-width:180px;font-size:16px}.date-block span{color:var(--muted);text-align:right;grid-column:2;font-size:13px}.source-bar{border-bottom:1px solid var(--line);min-height:46px;color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:8px 0 15px;font-size:13px;display:flex}.source-bar>div{flex-wrap:wrap;align-items:center;gap:13px;min-width:0;display:flex}.source-bar strong{color:var(--text);font-size:14px;font-weight:500}.source-bar .quiet-button{border:0;min-height:30px;padding:4px 0 4px 12px}.status-dot{background:#777c71;border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.ready{background:#a1b28d}.status-dot.error{background:#d2a277}.status-dot.pending{background:#c7c7b8}.notice-banner{border:1px solid var(--line);background:#2b2d27;border-radius:6px;align-items:center;gap:15px;margin-top:15px;padding:15px 18px;font-size:14px;display:flex}.notice-banner.warning{color:var(--warning);border-color:#5f513b}.notice-banner button{white-space:nowrap;background:0 0;border:0;margin-left:auto;text-decoration:underline}.filter-deck{background:var(--surface);border:1px solid var(--line);border-radius:7px;margin:20px 0 24px}.filter-top,.filter-bottom{align-items:center;gap:20px;padding:17px 20px;display:flex}.filter-bottom{border-top:1px solid var(--line);padding:13px 20px}.phase-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:6px;gap:5px;padding:3px;display:flex}.phase-tabs button{min-width:130px;min-height:41px;color:var(--muted);background:0 0;border:0;border-radius:4px;padding:8px 14px;font-size:16px;font-weight:650}.phase-tabs small{color:inherit;opacity:.7;margin-left:12px;font-size:12px;font-weight:400}.phase-tabs .active{color:#232721;background:#e5e7df}.search-field{border:1px solid var(--line);background:var(--surface-soft);border-radius:5px;align-items:center;gap:8px;width:min(38%,460px);margin-left:auto;padding:0 11px;display:flex}.search-field span{color:var(--muted);font-size:23px}.search-field input{background:0 0;border:0;width:100%;padding:10px 0;font-size:14px}.search-field input:focus-visible{outline-offset:5px}.shift-filters{flex-wrap:wrap;gap:8px;display:flex}.shift-filters button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:14px;padding:9px 13px;font-size:14px;display:flex}.shift-filters button.selected{color:var(--text);background:#30342d;border-color:#6d7366}.shift-filters button:hover{color:var(--text)}.shift-filters span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.facility-select{color:var(--muted);align-items:center;gap:12px;margin-left:auto;font-size:14px;display:flex}.facility-select select{min-width:126px;padding:7px 10px}.overview-layout{grid-template-columns:205px minmax(0,1fr);align-items:start;gap:28px;display:grid}.area-navigation{border-right:1px solid var(--line);max-height:calc(100vh - 44px);padding:0 14px 15px 0;position:sticky;top:22px;overflow:auto}.rail-heading{gap:7px;padding:7px 12px 21px;display:grid}.rail-heading>span{color:var(--muted);letter-spacing:.13em;font-size:10px}.rail-heading strong{font-size:16px;font-weight:500}.area-navigation button{text-align:left;width:100%;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;display:flex}.area-navigation button.selected{color:var(--text);background:#30342c;border-color:#4d5347}.area-navigation button:hover{color:var(--text);background:#272b24}.area-navigation button span{color:var(--muted);font-size:12px}.area-navigation h3{letter-spacing:.08em;color:var(--muted);margin:23px 12px 8px;font-size:12px}.area-navigation>p{color:var(--muted);padding:0 12px;font-size:14px;line-height:1.6}.results-header{justify-content:space-between;align-items:start;gap:20px;padding:4px 0 17px;display:flex}.results-header h2{letter-spacing:-.03em;margin:0 0 8px;font-size:23px;font-weight:650}.results-header h2 span{color:#c7ccc1;margin-left:12px;font-size:17px;font-weight:400}.results-header p{color:var(--muted);margin:0;font-size:13px}.output-actions{gap:8px;display:flex}.result-summary{background:var(--surface);border:1px solid var(--line);min-height:52px;color:var(--muted);border-radius:5px;align-items:center;gap:28px;margin-bottom:20px;padding:12px 17px;font-size:13px;display:flex}.result-summary strong{color:var(--text);font-variant-numeric:tabular-nums;margin-left:9px;font-size:20px;font-weight:500}.summary-note{margin-left:auto;font-size:12px}.area-section{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-bottom:21px;overflow:hidden}.area-title{background:#2b2e27;border-bottom:1px solid #464c3f;justify-content:space-between;align-items:center;gap:16px;padding:16px 21px;display:flex}.area-title>div{align-items:center;gap:13px;display:flex}.area-title span{letter-spacing:.06em;color:#afb8a2;border-right:1px solid #57604e;padding-right:13px;font-size:12px}.area-title h3{letter-spacing:-.03em;margin:0;font-size:20px;font-weight:550}.area-title p{color:#b4bca9;margin:0;font-size:13px}.area-title i{padding:0 7px;font-style:normal}.work-table{border-collapse:collapse;table-layout:fixed;width:100%}.work-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:#21241f;padding:12px 18px;font-size:12px;font-weight:400}.work-table th:first-child{width:116px}.work-table th:nth-child(2){width:135px}.work-table th:nth-child(4){width:161px}.work-table th:nth-child(5){width:98px}.work-table td{border-bottom:1px solid var(--line);vertical-align:top;overflow-wrap:anywhere;padding:17px 18px;font-size:15px;line-height:1.55}.work-table tr:last-child td{border-bottom:0}.work-table td>strong{font-size:16px;font-weight:550}.work-table td p{margin:0}.work-table small{margin-top:5px;font-size:12px;line-height:1.6;display:block}.work-table tbody tr:hover{background:#ffffff05}.shift-tag{white-space:nowrap;color:#c8d1bc;background:#30362b;border:1px solid #596151;border-radius:4px;justify-content:center;align-items:center;min-width:41px;padding:3px 6px;font-size:12px;line-height:1.5;display:inline-flex}.shift-tag.lunch{color:#ddc7a6;background:#3b342b;border-color:#6d5c45}.shift-tag.night{color:#bac8d7;background:#2d3338;border-color:#4d5965}.shift-tag.overnight{color:#cfbed4;background:#383139;border-color:#635567}.shift-tag.morning{color:#d8cfa8;background:#39372b;border-color:#615c43}.location-detail{color:#b9c3ad}.original-location{color:var(--muted)}.work-time{white-space:nowrap;font-variant-numeric:tabular-nums;font-size:14px}.inline-warning{color:var(--warning)}.source-details{position:relative}.source-details>button{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px}.source-details>button span{margin-left:4px}.source-content{z-index:15;width:min(600px,80vw);max-height:45vh;color:var(--text);background:#2d3328;border:1px solid #646f58;border-radius:5px;padding:18px;font-size:14px;position:absolute;top:30px;right:0;overflow:auto}.source-content>div{border-top:1px solid var(--line);padding:10px 0}.source-content p{white-space:pre-wrap;word-break:break-word}.area-section{overflow:visible}.area-title{border-radius:5px 5px 0 0}.empty-state{border:1px solid var(--line);background:var(--surface-soft);text-align:center;border-radius:6px;min-height:320px;padding:60px 24px 70px}.empty-symbol{color:var(--muted);font-size:30px}.empty-state h3{margin:20px 0 12px;font-size:20px;font-weight:500}.empty-state p{color:var(--muted);overflow-wrap:anywhere;max-width:650px;margin:0 auto 24px;font-size:14px;line-height:1.8}.fixed-overview{border:1px solid var(--line);border-radius:6px;margin-top:24px;padding:20px}.fixed-overview>div{justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px;display:flex}.fixed-overview h3{margin:0;font-size:15px;font-weight:500}.fixed-overview>div>span{color:var(--muted);font-size:12px}.fixed-overview p{align-items:center;gap:14px;margin:12px 0 0;font-size:14px;line-height:1.7;display:flex}.data-footer{color:var(--muted);justify-content:space-between;gap:15px;padding-top:20px;font-size:12px;display:flex}.data-footer button{color:var(--muted);background:0 0;border:0;font-size:13px}.settings-dialog{width:min(740px,100vw - 32px);max-height:90vh;color:var(--text);background:#252822;border:1px solid #565d4e;border-radius:8px;padding:0}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0c0f0b9e}.dialog-content{padding:28px}.dialog-heading{justify-content:space-between;align-items:start;margin-bottom:25px;display:flex}.dialog-heading h2{margin:8px 0 0;font-size:24px;font-weight:500}.icon-button{border:1px solid var(--line);background:0 0;border-radius:5px;width:34px;height:34px;padding:0;font-size:24px}.source-mode{gap:8px;padding-bottom:22px;display:flex}.source-mode button{border:1px solid var(--line);background:0 0;border-radius:5px;padding:10px 16px;font-size:14px}.source-mode button.active{color:#22261e;background:#e2e6db}.sheets-source{font-size:14px;line-height:1.7}.sheets-source-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.connection-state{color:var(--muted);font-size:12px}.connection-state.ready{color:#b0c69c}.connection-state.error,.sheets-error{color:var(--warning)}.sheets-source a,.source-link{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.sheets-source ul{color:var(--muted);margin:15px 0;padding-left:23px}.sheets-metadata{color:var(--muted);gap:3px;margin:14px 0;font-size:13px;display:grid}.sheets-refresh{color:var(--text);background:#343b2d;border:1px solid #6d7561;border-radius:5px;margin:8px 0;padding:9px 15px;font-size:14px}.sheets-auto{align-items:center;gap:9px;margin:12px 0;display:flex}.sheets-note{color:var(--muted);font-size:13px}.sheets-setup-guide{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.sheets-setup-guide summary{cursor:pointer}.sheets-setup-guide ol{color:var(--muted);padding-left:22px}.sheets-setup-guide li{margin-bottom:10px}.sheets-setup-guide code{overflow-wrap:anywhere;font-size:12px}.credential-file-label{margin:16px 0 8px;display:block}.credential-file-input{width:100%;font-size:13px}.credential-file-input::file-selector-button{color:#23281d;cursor:pointer;background:#d9dfcf;border:0;border-radius:3px;margin-right:10px;padding:7px 10px}.credential-message{color:var(--accent)}.disconnect-button{color:#d5b99d;background:0 0;border:1px solid #796858;border-radius:5px;margin:15px 0;padding:9px;font-size:13px;display:block}.excel-source p{color:var(--muted);font-size:14px;line-height:1.7}.excel-source input{width:100%;font-size:14px}.excel-source small{font-size:13px}.fixed-settings{border-top:1px solid var(--line);margin:24px 0;padding-top:18px}.fixed-settings>summary{cursor:pointer;font-size:15px}.fixed-settings>p{color:var(--muted);font-size:13px}.fixed-rule{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;padding:19px 0;display:grid}.fixed-rule label{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.fixed-rule input:not([type=checkbox]){width:100%;font-size:14px}.fixed-rule>label:first-child,.rule-options{grid-column:1/-1}.rule-options{flex-wrap:wrap;gap:17px;display:flex}.source-link{margin-top:5px;font-size:14px;display:inline-block}.validation-panel>p{color:var(--muted);font-size:14px}.validation-item{border:1px solid var(--line);border-left:2px solid var(--warning);border-radius:4px;margin-top:16px;padding:16px;font-size:14px;line-height:1.7}.validation-item>div{justify-content:space-between;gap:12px;display:flex}.validation-item strong{color:var(--warning)}.validation-item p{margin:9px 0}.validation-item small{font-size:12px}.validation-panel details{color:var(--muted);margin-top:10px;font-size:13px}.validation-panel summary{cursor:pointer}.validation-empty{text-align:center;color:var(--muted);padding:35px 15px}.toast{z-index:50;color:#25291e;background:#e6e9e0;border:1px solid #e6e9e0;border-radius:5px;max-width:90vw;padding:14px 20px;font-size:14px;position:fixed;bottom:25px;left:50%;transform:translate(-50%)}.favorites-bar{align-items:center;gap:16px;margin:-6px 0 24px;font-size:13px;display:flex}.favorites-bar>strong{flex-shrink:0;font-weight:600}.favorite-chips{flex-wrap:wrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.favorite-chips button{background:var(--surface);border:1px solid var(--line);text-align:left;border-radius:5px;align-items:center;gap:7px;padding:8px 11px;font-size:13px;display:flex}.favorite-chips button[aria-pressed=true]{border-color:var(--accent);background:var(--surface-raised)}.favorite-chips button>span,.favorites-hint{color:var(--muted)}.area-title .area-title-actions{align-items:center;gap:12px;display:flex}.favorite-star{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:5px;place-items:center;width:34px;height:34px;font-size:21px;display:grid}.favorite-star[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}.panel-description,.panel-footnote{color:var(--muted);margin:12px 0 22px;font-size:14px;line-height:1.7}.panel-footnote{border-top:1px solid var(--line);margin:24px 0 0;padding-top:16px;font-size:12px}.panel-state{border:1px solid var(--line);background:var(--surface-soft);text-align:center;border-radius:5px;padding:32px 20px;font-size:14px;line-height:1.7}.panel-state p{color:var(--muted);margin:9px 0}.panel-state.error{border-color:var(--warning)}.calendar-toolbar,.calendar-month{align-items:center;gap:8px;display:flex}.calendar-month{margin-right:auto}.calendar-month input{width:170px;padding:8px}.calendar-options{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin:18px 0;font-size:13px;display:flex}.calendar-options label,.changes-filters label{white-space:nowrap;align-items:center;gap:8px;display:flex}.calendar-options select,.changes-filters select{padding:7px 9px;font-size:13px}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-weekday{text-align:center;color:var(--muted);padding:8px 0;font-size:12px}.calendar-day{border:1px solid var(--line);background:var(--surface-soft);text-align:left;border-radius:5px;min-height:70px;padding:10px}.calendar-day>span{justify-content:space-between;align-items:center;gap:3px;font-size:15px;display:flex}.calendar-day i{color:var(--muted);font-size:10px;font-style:normal}.calendar-day small{margin-top:10px;font-size:12px;display:block}.calendar-day.saved{background:var(--surface-raised)}.calendar-day.saved small{color:var(--accent);font-weight:600}.calendar-day:disabled{opacity:.45}.calendar-day[aria-pressed=true]{border-bottom:3px solid var(--accent)}.calendar-day.warning{border-color:var(--warning)}.calendar-day.warning small{color:var(--warning)}.calendar-caption{text-align:right;color:var(--muted);margin-top:15px;font-size:13px}.changes-filters{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;font-size:13px;display:flex}.changes-filters>span{color:var(--muted);margin-left:auto}.change-summary{background:var(--surface-soft);border:1px solid var(--line);color:var(--muted);border-radius:5px;flex-wrap:wrap;gap:20px;margin-bottom:18px;padding:13px 16px;font-size:13px;display:flex}.change-summary b{color:var(--text);margin-left:4px}.change-list{flex-direction:column;gap:16px;display:flex}.change-item{border:1px solid var(--line);border-radius:5px;padding:17px}.change-item header,.change-item header>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.change-item header{justify-content:space-between}.change-item header strong{font-size:15px}.change-item time,.change-context{color:var(--muted);font-size:12px}.change-context{margin:12px 0}.change-tag{border:1px solid var(--line);border-radius:4px;padding:4px 7px;font-size:12px}.change-item.added .change-tag{color:var(--accent);border-color:var(--accent)}.change-item.removed .change-tag{color:var(--warning);border-color:var(--warning)}.change-comparison{gap:10px;display:grid}.change-comparison.paired{grid-template-columns:1fr 1fr}.change-record{background:var(--surface-soft);overflow-wrap:anywhere;border-radius:4px;min-width:0;padding:12px;font-size:13px;line-height:1.65}.change-record>strong{color:var(--muted);font-size:12px;font-weight:500}.change-record dl{margin:7px 0}.change-record dl>div{grid-template-columns:28px minmax(0,1fr);gap:8px;display:grid}.change-record dt{color:var(--muted)}.change-record dd{margin:0}.change-record small{font-size:11px}.change-record .changed-value dd{color:var(--accent);font-weight:650}.change-item>.quiet-button{min-height:32px;margin-top:12px;font-size:12px}.changes-more{width:100%;margin-top:16px}.favorites-panel fieldset{border:1px solid var(--line);border-radius:5px;margin:0;padding:16px}.favorites-panel legend{padding:0 6px;font-size:14px}.favorites-panel input[type=radio]{accent-color:var(--accent);flex-shrink:0;margin:0}.favorite-default{align-items:center;gap:9px;padding:7px 0;font-size:14px;display:flex}.favorite-manage-row{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:14px;padding-top:14px;display:flex}.favorite-manage-row label{flex:1;align-items:center;gap:9px;min-width:0;font-size:14px;line-height:1.5;display:flex}.favorite-manage-row .quiet-button{min-height:32px;padding:6px 10px;font-size:12px}@media (max-width:1050px){.topbar{flex-wrap:wrap;gap:14px;padding-top:14px}.topbar nav{flex-basis:100%;order:3;min-height:43px}}@media (max-width:600px){.topbar nav{gap:20px;overflow-x:auto}.topbar nav>a,.topbar nav>button{white-space:nowrap;font-size:13px}.header-actions{gap:8px}.theme-switch button{padding:7px 8px}.favorites-bar{align-items:flex-start;gap:10px;margin-bottom:18px}.favorites-bar>strong{padding-top:9px;font-size:12px}.favorite-chips{flex-wrap:nowrap;padding-bottom:5px;overflow-x:auto}.favorite-chips button{flex-shrink:0;font-size:12px}.favorites-hint{padding:6px 0;font-size:12px;line-height:1.7}.favorites-bar>.quiet-button{min-height:34px;padding:7px 10px;font-size:12px}.area-title .area-title-actions{gap:8px}.favorite-star{width:30px;height:30px}.area-title-actions p{font-size:11px}.calendar-toolbar{flex-wrap:wrap}.calendar-month{width:100%;margin-bottom:4px}.calendar-month label{flex:1}.calendar-month input{width:100%}.calendar-options{flex-wrap:wrap;font-size:12px}.calendar-grid{gap:3px}.calendar-day{min-height:63px;padding:7px 4px}.calendar-day>span{font-size:13px}.calendar-day i{font-size:8px}.calendar-day small{font-size:10px}.change-comparison.paired{grid-template-columns:1fr}.change-item{padding:13px}.change-item time{font-size:11px}.favorite-manage-row{flex-wrap:wrap}.favorite-manage-row label{flex-basis:100%}.favorite-manage-row .quiet-button{margin-top:3px}.changes-filters{gap:8px}}.theme-switch{border:1px solid var(--line);background:var(--surface-soft);border-radius:5px;gap:3px;padding:3px;display:flex}.theme-switch button{color:var(--muted);background:0 0;border:0;border-radius:3px;padding:7px 12px;font-size:13px}.theme-switch button[aria-pressed=true]{color:#232721;background:#e5e7df}:root[data-theme=light]{--bg:#f3f4f1;--surface:#fff;--surface-raised:#edf0e8;--surface-soft:#f8f9f6;--text:#222820;--muted:#687062;--line:#1e281924;--accent:#536448;--warning:#956328;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=light] .topbar{background:#fafbf8f7}[data-theme=light] .primary-button{color:#fff}[data-theme=light] .theme-switch button[aria-pressed=true],[data-theme=light] .phase-tabs .active,[data-theme=light] .source-mode button.active{color:#fff;background:#35402e}[data-theme=light] .shift-filters button.selected,[data-theme=light] .area-navigation button.selected{color:#25351d;background:#e8eddf;border-color:#b1bda3}[data-theme=light] .area-navigation button:hover{background:#e9ede4}[data-theme=light] .results-header h2 span{color:#555f4c}[data-theme=light] .area-title{background:#eef1e9;border-color:#d4dccb}[data-theme=light] .area-title span,[data-theme=light] .area-title p{color:#5d6d4d;border-color:#c9d3be}[data-theme=light] .work-table th{background:#f7f8f4}[data-theme=light] .work-table tbody tr:hover{background:#f9faf7}[data-theme=light] .shift-tag{color:#4b6138;background:#edf1e6;border-color:#c6d1b9}[data-theme=light] .shift-tag.lunch{color:#795728;background:#f7efe1;border-color:#dbc8a6}[data-theme=light] .shift-tag.night{color:#435f7b;background:#eef2f7;border-color:#c5d0dd}[data-theme=light] .shift-tag.overnight{color:#71537c;background:#f3edf5;border-color:#d8c9de}[data-theme=light] .shift-tag.morning{color:#7c662d;background:#f7f3e7;border-color:#ded3b3}[data-theme=light] .location-detail{color:#5b6e4c}[data-theme=light] .source-content{background:#fcfdf9;border-color:#adbba0}[data-theme=light] .notice-banner{background:#eef1e8}[data-theme=light] .notice-banner.warning{background:#faf5e9;border-color:#dcc794}[data-theme=light] .settings-dialog{background:#fff;border-color:#bdc8b1}[data-theme=light] .sheets-refresh{background:#e9efdf;border-color:#b9c9a6}[data-theme=light] .connection-state.ready{color:#526c3a}[data-theme=light] .disconnect-button{color:#92532d;border-color:#d4baa5}[data-theme=light] .toast{color:#fff;background:#35402e;border-color:#35402e}@media (min-width:1500px){.work-table th:nth-child(2){width:170px}.work-table th:nth-child(4){width:185px}.work-table th:nth-child(5){width:160px}.work-table td{padding:19px 21px}}@media (max-width:1100px){.topbar{gap:25px}.read-only-label{display:none}.overview-layout{grid-template-columns:155px minmax(0,1fr);gap:19px}.work-table th,.work-table td{padding:13px 11px}.work-table th:nth-child(2){width:110px}.work-table th:nth-child(4){width:147px}.work-table th:nth-child(5){width:80px}.summary-note{display:none}.phase-tabs button{min-width:103px}.phase-tabs small{display:none}}@media (max-width:800px){.topbar{flex-wrap:wrap;gap:16px;padding:16px 22px 0}.brand{flex:1}.topbar nav{flex-basis:100%;order:3;min-height:44px}.header-actions{margin-left:0}.brand small{font-size:10px}main{padding:24px 20px}h1{font-size:28px}.page-heading{align-items:flex-start}.date-block{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.date-block input{width:157px;min-width:0;padding:8px;font-size:14px}.date-block span{font-size:11px}.source-bar>div{flex-wrap:wrap;gap:8px}.source-auto{display:none}.filter-top,.filter-bottom{flex-wrap:wrap;gap:12px;padding:14px}.search-field{order:3;width:100%}.filter-top>.quiet-button{margin-left:auto}.filter-bottom{align-items:flex-start}.shift-filters{gap:4px}.shift-filters button{gap:9px;padding:8px 9px}.facility-select{margin-left:0}.overview-layout{grid-template-columns:1fr}.area-navigation{border:0;align-items:center;gap:8px;max-height:none;padding:0 0 8px;display:flex;position:static;overflow-x:auto}.area-navigation .rail-heading,.area-navigation h3,.area-navigation>p{display:none}.area-navigation>div{flex-shrink:0}.area-navigation>button{flex-shrink:0;width:auto}.area-navigation button{white-space:nowrap;border-color:var(--line);width:auto;padding:9px 11px}.area-navigation button>span{margin-left:8px}.results-header{flex-wrap:wrap;gap:12px}.results-header h2{font-size:22px}.result-summary{gap:20px;padding:10px 13px}.result-summary strong{font-size:18px}.fixed-overview>div{flex-direction:column;align-items:start;gap:7px}.data-footer{font-size:11px}.notice-banner{flex-wrap:wrap}.notice-banner button{margin-left:0}}@media (max-width:600px){.page-heading{gap:14px}.page-heading p{max-width:180px;font-size:12px;line-height:1.7}h1{font-size:23px}.eyebrow{font-size:9px}.date-block{padding-top:4px}.date-block label{font-size:12px}.date-block input{width:143px}.date-block span{display:none}.header-actions .quiet-button{padding:7px 10px;font-size:12px}.brand strong{font-size:15px}.brand-symbol{width:32px;height:35px}.work-table thead{display:none}.work-table,.work-table tbody{display:block}.work-table tr{border-bottom:1px solid var(--line);grid-template-columns:86px minmax(0,1fr);gap:7px;padding:14px 16px;display:grid}.work-table tr:last-child{border-bottom:0}.work-table td{border:0;padding:0}.work-table td:nth-child(3),.work-table td:nth-child(4),.work-table td:nth-child(5){grid-column:1/-1}.work-table td:nth-child(3){margin-top:3px}.work-table td:nth-child(4){flex-wrap:wrap;align-items:center;gap:9px;display:flex}.work-table td:nth-child(4)>small{margin:0}.work-table td:nth-child(5){margin-top:3px}.work-table .work-time{font-size:14px}.source-details summary{font-size:12px}.source-content{font-size:13px}.area-title{padding:13px 16px}.area-title h3{font-size:18px}.area-title p{font-size:12px}.dialog-content{padding:20px}.fixed-rule{grid-template-columns:1fr}.fixed-rule>label{grid-column:1/-1}.result-summary{gap:16px;font-size:12px}.result-summary strong{margin-left:5px}.fixed-overview p{align-items:flex-start;font-size:13px}.results-header p{font-size:12px}.results-header h2 span{font-size:16px}}@media print{@page{size:A4 portrait;margin:12mm 10mm}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#111;--muted:#555;--line:#ccc}body{color:#111;font-size:10pt;background:#fff!important}.no-print,dialog{display:none!important}main{max-width:none;padding:0}.page-heading{border-bottom:1px solid #aaa;margin-bottom:12pt;padding-bottom:10pt}.eyebrow{color:#555;font-size:8pt}h1{font-size:21pt}.page-heading p{color:#555;font-size:10pt}.date-block input,.date-block label{display:none}.date-block span{color:#111;font-size:10pt;display:block}.overview-layout,.results-header{display:block}.results-header h2{font-size:15pt}.results-header p{color:#555}.result-summary{color:#555;background:#fff;border-color:#aaa;min-height:0;margin-bottom:12pt;padding:8pt}.result-summary strong{color:#111;font-size:13pt}.summary-note{display:none}.area-section{background:#fff;border-color:#aaa;border-radius:0;margin-bottom:12pt;overflow:visible}.area-title{color:#111;break-after:avoid;background:#eee;border-color:#aaa;padding:8pt 10pt}.area-title h3{font-size:13pt}.area-title span,.area-title p{color:#444;font-size:9pt}.work-table{table-layout:fixed;display:table}.work-table thead{display:table-header-group}.work-table tbody{display:table-row-group}.work-table tr{break-inside:avoid;display:table-row}.work-table th{color:#555;background:#f6f6f6;padding:7pt;font-size:8pt}.work-table td{color:#111;border-color:#ddd;padding:8pt 7pt;font-size:9pt;display:table-cell!important}.work-table td.no-print{display:none!important}.work-table th:first-child{width:63pt}.work-table th:nth-child(2){width:65pt}.work-table th:nth-child(4){width:100pt}.work-table td>strong{font-size:10pt}.work-table .work-time{font-size:9pt}.work-table small{color:#555;font-size:8pt}.shift-tag{min-width:0;font-size:8pt;color:#111!important;background:#fff!important;border-color:#999!important}.work-time,.inline-warning{color:#111}.fixed-overview{break-inside:avoid;border-color:#aaa;padding:10pt}.fixed-overview h3,.fixed-overview p{font-size:9pt}.fixed-overview>div>span,.data-footer{color:#555;font-size:8pt}.empty-state{background:#fff;border-color:#bbb}}.corrected-marker{border:1px solid var(--line);color:var(--accent);border-radius:4px;margin:5px 0 0 7px;padding:1px 5px;font-size:12px;font-weight:400;display:inline-block}.review-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:6px;margin:18px 0;padding-bottom:12px;display:flex}.review-tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:5px;padding:9px 13px;font-size:14px}.review-tabs button[aria-pressed=true]{color:var(--text);background:var(--surface-raised);border-color:var(--accent)}.review-item{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;margin:14px 0;padding:20px;font-size:14px;line-height:1.65}.review-item header{justify-content:space-between;align-items:start;gap:12px;display:flex}.review-item header>strong{font-size:16px;font-weight:500}.review-item>p{margin:9px 0}.review-item>p:first-of-type,.review-item details{color:var(--muted)}.review-item summary,.review-restore summary,.review-audit summary{cursor:pointer;font-size:14px}.review-status{border:1px solid var(--line);color:var(--accent);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:12px}.review-status.warning,.review-reasons{color:var(--warning)}.review-summary-pair{background:var(--surface-soft);border-radius:4px;grid-template-columns:1fr 1fr;gap:14px;margin:15px 0;padding:14px;display:grid}.review-summary strong{color:var(--muted);font-size:12px;font-weight:400}.review-summary p{margin:4px 0}.review-edit-heading{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.review-edit-heading h3{margin:8px 0;font-size:20px;font-weight:500}.review-edit-heading p{color:var(--muted);margin:0;font-size:14px}.review-edit-heading>.quiet-button{align-self:start}.review-alert{background:var(--surface-soft);border:1px solid var(--line);border-left:2px solid var(--warning);border-radius:4px;margin:16px 0;padding:14px;font-size:14px;line-height:1.7}.review-alert button{margin-top:10px}.correction-fields{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px;margin:22px 0;padding:0;display:grid}.correction-fields legend{margin-bottom:16px;font-size:16px}.correction-fields label{flex-direction:column;gap:7px;font-size:14px;display:flex}.correction-fields input,.correction-fields select,.correction-fields textarea{width:100%;min-height:42px;font-size:16px}.correction-fields textarea{font:inherit;resize:vertical;background:var(--surface-soft);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:10px 12px}.correction-fields textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.correction-fields small{color:var(--muted);font-size:13px}.correction-fields .span-two{grid-column:1/-1}.correction-fields input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light] .correction-fields input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.review-comparison{border-top:1px solid var(--line);margin-top:18px;padding-top:6px}.review-comparison h4{font-size:16px;font-weight:500}.comparison-row{border-top:1px solid var(--line);overflow-wrap:anywhere;padding:12px 0;font-size:14px}.comparison-row dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:10px 0;display:grid}.comparison-row dt{color:var(--muted);margin-bottom:4px;font-size:12px}.comparison-row dd{white-space:pre-wrap;margin:0}.correction-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.review-primary{min-height:42px;color:var(--bg);background:var(--text);border:1px solid var(--text);border-radius:5px;padding:10px 20px;font-size:14px}.review-restore,.review-audit{border-top:1px solid var(--line);margin-top:22px;padding:18px 0 0;font-size:14px}.review-restore>p{color:var(--muted);line-height:1.7}.restore-checks{overflow-wrap:anywhere;flex-direction:column;gap:10px;display:flex}.restore-checks label{align-items:start;gap:8px;display:flex}.restore-checks input{flex-shrink:0;margin-top:4px}.review-audit article{border-bottom:1px solid var(--line);overflow-wrap:anywhere;padding:14px 0}.review-audit article p{margin:8px 0}.review-audit small{color:var(--muted);font-size:12px}.manual-change-values{background:var(--surface-soft);overflow-wrap:anywhere;margin:14px 0;padding:12px;font-size:14px}@media (max-width:600px){.review-item{padding:15px}.review-summary-pair{grid-template-columns:1fr;gap:12px}.comparison-row dl{grid-template-columns:1fr;gap:10px}.comparison-row dl>div{grid-template-columns:75px minmax(0,1fr);gap:8px;display:grid}.correction-fields{gap:12px}.correction-actions button{white-space:normal;min-height:44px}.review-edit-heading{flex-wrap:wrap}.review-tabs button{flex:1;padding:10px 8px}.review-item header{flex-wrap:wrap}}.mobile-label,.mobile-facility,.settings-theme,.receive-status{display:none}.receive-status.is-stale{color:var(--warning);display:inline}.date-block{grid-template-columns:auto auto auto}.date-block>span{grid-column:2/-1}.date-today{margin:0}.work-results,.filter-deck,.filter-top,.filter-bottom,.area-title>div,.review-edit-heading>div{min-width:0}.shift-filters button.is-empty:not(.selected){color:var(--muted);background:0 0;border-color:#0000}.shift-filters button.is-empty:not(.selected)>span{opacity:.6}.review-edit-heading h3,.review-alert,.dialog-notice{overflow-wrap:anywhere}.dialog-notice{border:1px solid var(--line);background:var(--surface-soft);color:var(--accent);padding:12px;font-size:14px;line-height:1.6}.review-more{width:100%;min-height:44px;margin:12px 0}.display-warning{display:block}.display-warning summary{cursor:pointer;line-height:1.6}.display-warning p{overflow-wrap:anywhere;line-height:1.7}.review-notice{display:none}.headcount-summary{border:1px solid var(--line);background:var(--surface);border-radius:5px;min-width:0;margin-bottom:16px;padding:16px}.headcount-summary h3{margin:0 0 12px;font-size:16px}.headcount-table-wrap{overflow-x:auto}.headcount-summary table{border-collapse:collapse;text-align:left;width:100%;min-width:560px;font-size:14px}.headcount-summary th,.headcount-summary td{border-bottom:1px solid var(--line);white-space:nowrap;padding:10px}.headcount-summary thead th{color:var(--muted);font-weight:400}.headcount-summary td strong{font-variant-numeric:tabular-nums;font-weight:550}.headcount-summary td small{color:var(--warning);margin-top:4px;font-size:12px;display:block}.headcount-summary .current-ph{background:var(--surface-soft)}.headcount-summary p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.5}.work-headcount{color:var(--text)}@media print{.headcount-summary{color:#111;break-inside:avoid;background:#fff}.headcount-summary table{min-width:0}.headcount-summary th,.headcount-summary td{padding:5pt;font-size:9pt}}@media screen and (max-width:800px){.mobile-label{display:inline}.desktop-label{display:none}.topbar{gap:4px 12px;min-height:0;padding:8px 16px 0}.brand{gap:9px;min-width:0;min-height:44px}.brand strong{font-size:16px}.brand small{display:none}.brand-symbol{width:30px;height:32px;font-size:18px}.header-actions{gap:0}.header-actions .theme-switch{display:none}.header-actions>.quiet-button{min-height:44px;padding:8px 12px;font-size:14px}.topbar nav{flex-wrap:nowrap;flex-basis:100%;gap:22px;min-width:0;min-height:44px;overflow-x:auto}.topbar nav>a,.topbar nav>button{white-space:nowrap;flex:none;gap:5px;min-height:44px;font-size:14px}main{padding:16px 16px 24px}.page-heading{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:6px;display:flex}.page-heading .eyebrow,.page-heading p{display:none}.page-heading h1{margin:0;font-size:23px;line-height:1.35}.date-block{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:0;display:grid}.date-block label{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.date-block input{width:100%;min-width:0;min-height:44px;padding:8px 10px;font-size:16px}.date-block>span{display:none}.date-today{min-height:44px;padding:8px 13px;font-size:14px}.source-bar{gap:6px;min-height:44px;padding:0 0 4px}.source-bar>div{flex-wrap:nowrap;gap:6px}.source-bar>div:first-child{flex:1}.source-bar strong{flex-shrink:0;font-size:12px}.source-full-status,.source-auto,.source-bar .history-saved{display:none}.receive-status{min-width:0;font-size:12px;line-height:1.4;display:inline}.source-bar .quiet-button{flex-shrink:0;min-width:44px;min-height:44px;padding:8px;font-size:23px}.notice-banner{flex-wrap:nowrap;gap:8px;min-height:44px;margin-top:8px;padding:4px 10px;font-size:13px;line-height:1.5}.notice-banner>span{overflow-wrap:anywhere;min-width:0}.notice-banner button{min-height:44px;margin-left:auto;padding:7px 0 7px 8px;font-size:13px}.review-notice{display:flex}.display-warning{padding:10px}.filter-deck{margin:10px 0}.filter-top{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px;display:grid}.phase-tabs{gap:2px;width:max-content;max-width:100%;padding:2px}.phase-tabs button{min-width:76px;min-height:44px;padding:8px 10px;font-size:16px}.filter-top>.quiet-button{min-height:44px;margin:0;padding:8px 10px;font-size:14px}.search-field{order:3;grid-column:1/-1;width:100%;min-height:44px;margin:0}.search-field input{padding:9px 0;font-size:16px}.filter-bottom{flex-direction:column;align-items:stretch;gap:6px;padding:6px 8px 8px;display:flex}.shift-filters{flex-wrap:nowrap;gap:3px;width:100%;padding:1px 0 3px;overflow-x:auto}.shift-filters button{white-space:nowrap;flex-shrink:0;gap:8px;min-height:44px;padding:8px 10px;font-size:14px}.facility-select{justify-content:space-between;gap:10px;font-size:14px}.facility-select select{flex:1;min-width:0;min-height:44px;font-size:16px}.favorites-bar{align-items:center;gap:8px;min-height:44px;margin:0 0 8px}.favorites-bar>strong{padding:0;font-size:13px}.favorite-chips{flex-wrap:nowrap;padding:0;overflow-x:auto}.favorite-chips button{white-space:nowrap;flex-shrink:0;min-height:44px;padding:8px;font-size:14px}.favorites-hint{padding:0;font-size:13px}.favorites-bar>.quiet-button{min-height:44px;padding:8px 10px;font-size:14px}.overview-layout{gap:10px}.area-navigation{overscroll-behavior-x:contain;gap:6px;padding:0 0 4px}.area-navigation button{gap:6px;min-height:44px;font-size:14px}.area-navigation .mobile-facility{margin:0;font-size:12px;display:inline}.area-navigation button>span{margin-left:0}.results-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:2px 0 8px;display:grid}.results-header h2{margin:0;font-size:20px}.results-header h2 span{margin:3px 0 0;font-size:13px;display:block}.results-header p{display:none}.output-actions{gap:6px}.output-actions .quiet-button{min-height:44px;padding:8px 10px;font-size:14px}.result-summary{flex-wrap:wrap;gap:8px 14px;min-height:44px;margin-bottom:10px;padding:8px 10px;font-size:13px}.result-summary strong{margin-left:6px;font-size:18px}.area-title{gap:8px;padding:10px 12px}.area-title>div:first-child{flex:1;gap:8px}.area-title h3{overflow-wrap:anywhere}.area-title span{padding-right:8px}.area-title .area-title-actions{gap:6px}.area-title-actions p{white-space:nowrap;font-size:12px}.area-title i{padding:0 2px}.favorite-star{flex-shrink:0;width:44px;height:44px}.settings-dialog{width:calc(100% - 16px);max-width:740px;inset:var(--dialog-top,8px) auto auto 50%;max-height:calc(var(--dialog-height,100dvh) - 16px);overscroll-behavior:contain;margin:0;scroll-padding:16px;position:fixed;transform:translate(-50%)}.dialog-content{padding:16px}.dialog-heading{gap:12px;margin-bottom:16px}.dialog-heading h2{font-size:22px}.dialog-heading .icon-button{flex-shrink:0;width:44px;height:44px}.settings-theme{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:14px;display:flex}.theme-switch button{min-height:44px;padding:8px 13px;font-size:14px}.settings-dialog input:not([type=checkbox]):not([type=radio]),.settings-dialog select,.settings-dialog textarea{max-width:100%;min-height:44px;font-size:16px}.settings-dialog button{min-height:44px}.review-tabs{flex-wrap:nowrap;gap:4px;margin:12px 0;padding-bottom:8px;overflow-x:auto}.review-tabs button{white-space:nowrap;flex:none;padding:8px 12px}.review-item summary,.review-restore summary,.review-audit summary{min-height:44px;padding:10px 0}.correction-fields,.correction-fields label{min-width:0}.correction-fields textarea{font-size:16px}.review-edit-heading h3{scroll-margin:16px}.correction-actions{padding-bottom:env(safe-area-inset-bottom)}.topbar nav,.shift-filters,.favorite-chips,.area-navigation,.review-tabs{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.restore-checks label{min-height:44px}.data-footer{overflow-wrap:anywhere;flex-wrap:wrap;line-height:1.6}}@media screen and (max-width:600px){.work-table tr{grid-template-columns:76px minmax(0,1fr);gap:7px;padding:14px 12px}.work-table td{min-width:0;font-size:16px}.work-table .work-time{font-size:16px}.work-table small{font-size:13px}.source-details>button{min-height:44px;padding:6px 0;font-size:14px}.source-content{width:100%;max-height:50dvh;margin-top:4px;padding:12px;font-size:14px;position:static}.area-title h3{font-size:17px}.correction-fields{gap:12px}.review-edit-heading>div{flex-basis:100%}}@media screen and (min-width:801px) and (max-width:1100px){.shift-filters{flex-wrap:nowrap;min-width:0;overflow-x:auto}.shift-filters button{white-space:nowrap;flex-shrink:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.assignment-dialog{width:min(1180px,100vw - 24px)}.assignment-panel{font-size:14px;line-height:1.65}.assignment-fieldset{border:0;min-width:0;margin:0;padding:0}.assignment-context{flex-wrap:wrap;gap:8px 24px;margin-bottom:20px;display:flex}.assignment-context span,.assignment-help,.assignment-options span{color:var(--muted)}.assignment-field{gap:8px;font-weight:600;display:grid}.assignment-panel textarea,.assignment-panel select,.assignment-panel input:not([type=checkbox]):not([type=radio]){border:1px solid var(--line);background:var(--surface-soft);width:100%;min-height:42px;color:var(--text);border-radius:5px;padding:9px;font-size:16px}.assignment-panel textarea{resize:vertical;font-weight:400;line-height:1.7}.assignment-panel input[type=checkbox],.assignment-panel input[type=radio]{flex-shrink:0;width:18px;height:18px}.assignment-actions{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.assignment-rule{border-bottom:1px solid var(--line);grid-template-columns:110px 100px 100px minmax(180px,1fr) 130px 60px;align-items:end;gap:10px;padding:14px 0;display:grid}.assignment-rule label,.assignment-times label,.assignment-missing label{gap:6px;min-width:0;display:grid}.assignment-rule .assignment-supervisor{align-items:center;min-height:42px;display:flex}.assignment-coverage small{font-size:13px}.assignment-options,.assignment-ack{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.assignment-options label,.assignment-ack{align-items:center;gap:8px;display:flex}.assignment-times{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:12px 0;display:grid}.assignment-review{border:1px solid var(--line);border-radius:6px;margin:24px 0;padding:16px}.assignment-review h3{margin-top:0}.assignment-missing{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) 240px;gap:16px;padding:16px 0;display:grid}.assignment-missing p{color:var(--warning);margin:4px 0}.assignment-missing small{overflow-wrap:anywhere}.assignment-output{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}@media (max-width:800px){.assignment-rule{grid-template-columns:1fr 1fr 1fr}.assignment-coverage{grid-column:1/-1}.assignment-missing{grid-template-columns:1fr}.assignment-panel button{min-height:44px}}.admin-login{border:1px solid var(--border);background:var(--surface);border-radius:6px;max-width:440px;margin:8vh auto;padding:32px}.admin-login h1{margin:24px 0 12px;font-size:26px}.admin-login p{margin:16px 0;line-height:1.6}.admin-login form{gap:12px;margin:24px 0;display:grid}.admin-login input{border:1px solid var(--border);background:var(--surface);width:100%;color:inherit;border-radius:4px;padding:12px}.admin-login .primary-button{margin-top:12px}.admin-login>a:last-child{margin-top:24px;display:block}@media (max-width:600px){.admin-login{margin:32px 16px;padding:24px}}.admin-login-options{flex-wrap:wrap;gap:12px 24px;margin-top:8px;display:flex}.admin-login-options label{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.admin-login-options input[type=checkbox]{width:16px;height:16px;margin:0;padding:0}.assignment-update-group{border:1px solid var(--line);border-radius:6px;margin:18px 0;padding:14px}.assignment-update-group h4{margin:0 0 10px;font-size:15px}.assignment-update-group.needs-assignee{color:#f1dfbc;background:#30291e;border-color:#b38c4d #b38c4d #b38c4d #c99a50;border-left-style:solid;border-left-width:4px}.assignment-status-badge{border:1px solid;border-radius:4px;width:fit-content;padding:3px 7px;font-size:12px;display:inline-block}.needs-assignee .assignment-missing{border-color:#6c5839}.needs-assignee ul{margin:8px 0;padding-left:20px}.needs-assignee li{overflow-wrap:anywhere;margin:8px 0}[data-theme=light] .assignment-update-group.needs-assignee{color:#734b12;background:#fff7e9;border-color:#d1a254}[data-theme=light] .needs-assignee .assignment-missing{border-color:#e5cda7}.exam-portal{min-height:100vh}.exam-header{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:48px;padding:24px clamp(20px,4vw,76px);display:flex}.exam-brand{letter-spacing:-.04em;white-space:nowrap;font-size:22px}.exam-brand b{margin-left:6px}.exam-brand small{letter-spacing:.21em;color:var(--muted);margin-top:6px;font-size:9px;display:block}.exam-header nav{gap:28px;font-size:14px;display:flex}.exam-header nav a[aria-current]{font-weight:700}.exam-header-actions{gap:10px;margin-left:auto;display:flex}.exam-main{max-width:1440px;min-height:75vh;padding-top:52px}.exam-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:34px;display:flex}.exam-heading h1{margin:12px 0;font-size:32px}.exam-heading p{color:var(--muted);margin:0;font-size:15px}.exam-heading-actions{gap:10px;display:flex}.exam-search-panel{border:1px solid var(--line);background:var(--surface);border-radius:7px;grid-template-columns:minmax(230px,1.5fr) minmax(200px,1fr) auto;align-items:end;gap:20px;padding:26px;display:grid}.exam-portal label{flex-direction:column;gap:8px;font-size:13px;font-weight:500;display:flex}.exam-portal input,.exam-portal select{width:100%;min-height:44px;font-size:15px}.exam-search-label input{min-height:48px;font-size:17px}.exam-type-tabs{flex-wrap:wrap;gap:8px;margin:24px 0;display:flex}.exam-type-tabs button{border:1px solid var(--line);background:var(--surface);border-radius:5px;align-items:center;gap:14px;padding:12px 16px;font-size:14px;display:flex}.exam-type-tabs button span{font-variant-numeric:tabular-nums;opacity:.7;font-size:12px}.exam-type-tabs button[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:var(--text)}.exam-toolbar{flex-wrap:wrap;align-items:center;gap:24px;padding-bottom:22px;font-size:12px;display:flex}.exam-toolbar>span{margin-left:auto}.exam-toolbar summary{cursor:pointer;font-size:13px}.exam-date-inputs{gap:12px;margin-top:12px;display:flex}.exam-portal .exam-check{flex-direction:row;align-items:center;gap:8px;font-size:13px}.exam-portal .exam-check input{flex-shrink:0;width:16px;height:16px;min-height:0}.exam-results{border:1px solid var(--line);background:var(--surface);border-radius:7px;overflow:hidden}.exam-results-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 26px;display:flex}.exam-results-title h2{margin:0;font-size:17px}.exam-results-title h2 small{margin-left:12px;font-size:13px;font-weight:400}.exam-results-title>span{color:var(--muted);font-size:13px}.exam-record-head,.exam-record{grid-template-columns:minmax(100px,.65fr) minmax(160px,1.3fr) minmax(170px,1fr) 120px;align-items:center;gap:20px;padding:17px 26px;display:grid}.exam-record-head{color:var(--muted);background:var(--surface-soft);font-size:12px}.exam-record{border-top:1px solid var(--line);font-size:14px}.exam-record:hover{background:var(--surface-soft)}.exam-record strong{font-size:16px}.exam-record time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px}.exam-pass-tag{background:var(--surface-soft);border:1px solid var(--line);white-space:nowrap;border-radius:4px;padding:5px 9px;font-size:12px;display:inline-block}.exam-added{margin-left:7px;font-size:10px}.exam-pagination{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:24px;padding:24px;font-size:13px;display:flex}.exam-empty{text-align:center;color:var(--muted);padding:70px 24px}.exam-empty h3{color:var(--text);font-size:17px}.exam-empty p{font-size:13px;line-height:1.8}.exam-footnote{color:var(--muted);margin:18px 0;font-size:12px;line-height:1.8}.exam-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding:24px clamp(20px,4vw,76px);font-size:11px;display:flex}.exam-alert,.exam-message{border:1px solid var(--line);border-left:3px solid #b58b47;border-radius:4px;margin:16px 0;padding:16px;font-size:14px;line-height:1.6}.exam-message{border-left-color:#758674}.exam-admin-intro h2{font-size:23px}.exam-admin p{font-size:13px;line-height:1.7}.exam-upload-panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;align-items:end;gap:20px;padding:24px;display:flex}.exam-upload-panel label{flex:1;min-width:180px}.exam-upload-panel input[type=file]{font-size:12px}.exam-admin-details{border:1px solid var(--line);background:var(--surface);border-radius:6px;margin-top:24px;padding:22px}.exam-admin-details summary{cursor:pointer;font-size:16px}.exam-admin-details summary b{margin-left:8px;font-size:13px}.exam-review-card{border:1px solid var(--line);background:var(--surface);border-radius:5px;margin:12px 0;padding:20px}.exam-review-card.needs-review{border-left:3px solid #b58b47}.exam-review-heading{justify-content:space-between;gap:20px;font-size:14px;display:flex}.exam-review-heading>span{color:var(--muted);font-size:12px}.exam-review-reason{color:var(--warning)}.exam-edit-fields{grid-template-columns:1fr .8fr 1.7fr 1.2fr 1.1fr;gap:12px;margin:15px 0;display:grid}.exam-edit-fields>.exam-check{grid-column:1/-1}.exam-status-counts{flex-wrap:wrap;gap:24px;padding:16px 0;font-size:13px;display:flex}.exam-status-counts b{margin-left:6px}.exam-save-bar{background:var(--surface-raised);border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:18px;font-size:13px;display:flex;position:sticky;bottom:12px}.exam-audit{border-top:1px solid var(--line);gap:20px;padding:16px 0;font-size:13px;display:flex}.exam-audit time{color:var(--muted)}@media (max-width:960px){.exam-header{flex-wrap:wrap;gap:20px}.exam-header nav{border-top:1px solid var(--line);order:3;width:100%;padding-top:12px}.exam-main{padding-top:28px}.exam-heading h1{font-size:28px}.exam-search-panel{grid-template-columns:1fr 1fr}.exam-search-panel>.quiet-button{grid-column:1/-1;justify-self:end}.exam-edit-fields{grid-template-columns:1fr 1fr}.exam-toolbar>span{width:100%;margin-left:0}.exam-upload-panel{padding:18px}.exam-audit{flex-direction:column;gap:6px}}@media (max-width:600px){.exam-header{gap:18px 10px;padding:20px 16px}.exam-brand{font-size:19px}.exam-header-actions{gap:6px}.exam-header-actions .quiet-button{padding:7px 9px;font-size:11px}.exam-header nav{gap:22px;font-size:13px}.exam-main{padding:28px 16px}.exam-heading{margin-bottom:24px;display:block}.exam-heading h1{font-size:26px}.exam-heading p{font-size:13px}.exam-heading-actions{justify-content:flex-end;margin-top:20px}.exam-search-panel{grid-template-columns:1fr;gap:16px;padding:18px}.exam-search-panel>.quiet-button{grid-column:auto}.exam-type-tabs{gap:7px}.exam-type-tabs button{flex:1 0 28%;gap:8px;padding:10px;font-size:12px}.exam-toolbar{gap:16px}.exam-toolbar>span{font-size:11px}.exam-record-head{display:none}.exam-record{grid-template-columns:1fr auto;gap:12px;padding:20px 18px}.exam-record .exam-person{grid-area:1/1}.exam-company{grid-area:2/1/auto/-1;font-size:13px}.exam-record>.exam-qualification{grid-area:3/1/auto/-1}.exam-record time{grid-area:1/2}.exam-results-title{padding:18px}.exam-results-title h2 small{margin:5px 0 0;display:block}.exam-results-title h2{font-size:16px}.exam-footer{padding:22px 16px;line-height:1.8;display:block}.exam-footer span{display:block}.exam-edit-fields{grid-template-columns:1fr}.exam-edit-fields>.exam-check{grid-column:auto}.exam-review-card{padding:15px}.exam-admin-details{padding:16px}.exam-save-bar{flex-direction:column;align-items:stretch}.exam-review-heading{flex-direction:column;gap:8px}.exam-upload-panel{grid-template-columns:1fr;padding:16px;display:grid}.exam-portal input,.exam-portal select{font-size:16px}.exam-date-inputs{flex-wrap:wrap}}.exam-dual-qualification{flex-wrap:wrap;gap:6px;display:flex}.exam-person{min-width:0}.exam-person strong{display:block}.exam-phone{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.5;display:block}.exam-company{overflow-wrap:anywhere;min-width:0}.exam-division{margin-left:7px;display:inline-block}.exam-company-info{color:var(--muted);margin-top:8px;font-size:12px}.exam-company-info summary{cursor:pointer;text-underline-offset:3px;width:fit-content;padding:3px 0;text-decoration:underline}.exam-company-info dl{border:1px solid var(--line);background:var(--surface);border-radius:5px;margin:10px 0 2px;padding:12px;font-size:12px;line-height:1.5}.exam-company-info dt{color:var(--muted);margin-top:10px}.exam-company-info dt:first-child{margin-top:0}.exam-company-info dd{color:var(--text);word-break:break-word;margin:4px 0 0}.exam-company-source{border:1px solid var(--line);overflow-wrap:anywhere;border-radius:5px;margin:12px 0;padding:12px 14px;font-size:12px}.exam-company-source p{margin:4px 0;line-height:1.6}.exam-company-source p>span{color:var(--muted);margin-right:8px}.exam-company-candidates{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.exam-company-candidates .quiet-button{font-size:12px}.exam-catalog{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 20px;margin-top:18px;display:grid}.exam-catalog>div{border-top:1px solid var(--line);padding:12px 0;font-size:13px}.exam-catalog small{color:var(--muted);margin-top:5px;display:block}.exam-kind-tabs{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin:24px 0 0;display:flex}.exam-kind-tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:13px 15px;font-size:14px}.exam-kind-tabs button[aria-pressed=true]{color:var(--text);border-bottom-color:var(--text);font-weight:700}.exam-kind-tabs span{font-variant-numeric:tabular-nums;margin-left:9px;font-size:12px}.exam-transfer-note{color:var(--muted);margin-top:18px;font-size:13px;line-height:1.7}.exam-transfer-tag{border:1px solid var(--line);background:var(--surface-soft);border-radius:4px;padding:5px 9px;font-size:12px;display:inline-block}.exam-transfer-status,.exam-transfer-review,.exam-company-move{margin-top:7px;font-size:12px;line-height:1.6;display:block}.exam-transfer-status{color:var(--muted)}.exam-transfer-review{color:var(--warning);font-size:11px}.exam-company-move{color:var(--muted);overflow-wrap:anywhere}.exam-date-cell small{color:var(--muted);margin-bottom:5px;font-size:10px;display:block}.exam-transfer-input{margin-top:18px}.exam-transfer-input textarea{border:1px solid var(--line);resize:vertical;color:var(--text);background:var(--surface);border-radius:5px;padding:14px;font-family:inherit;font-size:14px;line-height:1.6}.exam-transfer-preview{margin-top:24px}.exam-import-status{color:var(--muted);padding:12px 26px 0;display:block}@media (max-width:600px){.exam-record>.exam-date-cell{text-align:right;grid-area:1/2}.exam-kind-tabs{justify-content:space-between;gap:0}.exam-kind-tabs button{padding:12px 6px;font-size:12px}.exam-kind-tabs span{margin-left:5px;font-size:10px}.exam-transfer-input textarea{font-size:16px}.exam-record .exam-company-move,.exam-transfer-note{font-size:12px}}.exam-export{border-top:1px solid var(--line);padding:18px 0 22px}.exam-export-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.exam-export-controls label{min-width:175px}.exam-export-controls button{min-height:44px}.exam-export>p{margin:10px 0 0;font-size:12px;line-height:1.7}.exam-export-status{color:var(--text)}@media (max-width:640px){.exam-export-controls{grid-template-columns:1fr 1fr;gap:10px;display:grid}.exam-export-controls label{grid-column:1/-1}.exam-export-controls button{padding:10px 8px;font-size:12px}}
