.monthly-app,.entry-screen{color:#2f3437;background:#fff;min-height:100vh;font-family:Yu Gothic,Meiryo,sans-serif;font-size:14px}.monthly-app *,.entry-screen *{box-sizing:border-box}.monthly-app button,.entry-screen button{cursor:pointer}.monthly-app button:disabled,.entry-screen button:disabled{opacity:.5;cursor:default}.monthly-app input,.monthly-app select,.entry-screen select{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;background:#fff;border-radius:3px;padding:6px 8px}.monthly-app input[type=checkbox]{width:16px;height:16px;min-height:auto;accent-color:var(--blue);vertical-align:middle}.entry-screen{align-items:center;padding:48px 24px;display:grid}.entry-screen main{width:min(840px,100%);margin:auto}.entry-screen h1{margin:16px 0;font-size:30px}.entry-screen p{color:var(--muted);line-height:1.7}.entry-options{border:1px solid var(--line);margin:32px 0}.entry-options section{justify-content:space-between;align-items:center;gap:30px;padding:32px;display:flex}.entry-options section+section{border-top:1px solid var(--line)}.entry-options h2{margin:8px 0;font-size:21px}.entry-options small{color:var(--muted)}.entry-options label{align-items:center;gap:16px;margin-top:18px;display:flex}.entry-options .button{flex-shrink:0;min-height:44px}.desk-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 24px;display:flex}.desk-header small,.desk-header strong{display:block}.desk-header small{color:var(--muted);font-size:11px}.desk-header strong{margin-top:3px;font-size:16px}.desk-layout{min-height:calc(100vh - 125px);display:flex}.desk-sidebar{border-right:1px solid var(--line);flex-shrink:0;width:226px;padding:22px 14px}.desk-sidebar>p{color:var(--muted);margin:8px 10px 12px;font-size:11px;font-weight:600}.desk-sidebar>p:not(:first-of-type){margin-top:28px}.desk-sidebar>button{text-align:left;width:100%;min-height:40px;color:var(--ink);background:#fff;border:0;border-radius:3px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:12px;display:flex}.desk-sidebar>button.active{color:#2f6686;background:#edf3f6;border-left:3px solid #2f6686;padding-left:9px;font-weight:700}.desk-sidebar>button span{background:#f5ecd7;padding:2px 5px;font-size:11px}.sidebar-context{border-top:1px solid var(--line);gap:8px;margin:24px 10px 0;padding-top:18px;font-size:12px;display:grid}.sidebar-context b{font-size:22px}.sidebar-context small{color:var(--muted);margin-bottom:10px;font-size:11px}.desk-main{flex:1;min-width:0}.month-toolbar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;min-height:68px;padding:12px 24px;display:flex}.month-picker{align-items:center;gap:5px;display:flex}.month-picker button{border:1px solid var(--line);background:#fff;border-radius:3px;width:32px;height:36px;font-size:24px}.month-picker input{max-width:172px;font-weight:700}.month-status{color:var(--muted);font-size:12px}.month-actions{gap:8px;margin-left:auto;display:flex}.desk-tabs{border-bottom:1px solid var(--line);padding:0 24px;display:flex;overflow-x:auto}.desk-tabs button{white-space:nowrap;color:var(--muted);background:#fff;border:0;border-bottom:3px solid #0000;padding:15px 18px;font-weight:700}.desk-tabs button.active{color:var(--blue);border-bottom-color:var(--blue)}.next-action{color:var(--ink);border-bottom:1px solid var(--line);background:#f4f5f5;justify-content:space-between;gap:16px;padding:12px 24px;font-size:12px;display:flex}.next-action span{white-space:nowrap;color:var(--muted)}.desk-body{padding:24px}.month-fieldset{border:0;min-width:0;margin:0;padding:0}.confirmed-notice{border:1px solid var(--line);margin-bottom:16px;padding:12px;font-size:12px}.monthly-app .panel-card,.monthly-app .request-form{box-shadow:none;border-radius:3px}.monthly-app .workspace-grid{grid-template-columns:1fr}.monthly-app .right-rail{grid-template-columns:1fr 1fr;display:grid}.monthly-app .panel-kicker{display:none}.monthly-app .panel-toolbar{padding:16px}.monthly-app h1{font-size:24px}.monthly-app h2{font-size:18px}.monthly-app h3{font-size:15px}.monthly-app .summary-card strong{font-size:26px}.monthly-app .summary-card{padding:16px}.monthly-app .schedule-table{font-size:12px}.monthly-app .schedule-table td{min-width:40px}.monthly-app .schedule-scroll{max-height:66vh}.monthly-app .schedule-table thead th{z-index:2;position:sticky;top:0}.monthly-app .schedule-table thead th:first-child{z-index:3}.monthly-app .preference-workspace,.monthly-app .preference-main{min-width:0}.monthly-app .preference-toolbar{flex-wrap:wrap;gap:12px}.monthly-app .preference-toolbar h2{font-size:19px}.monthly-app .request-form h2{margin-top:0}.monthly-app .settings-grid{grid-template-columns:1fr 1fr}.monthly-app .data-table td,.monthly-app .data-table th{padding:12px;font-size:12px}.monthly-app .data-table-wrap{overflow:auto}.monthly-app .modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.storage-notice{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:11px;display:flex}.monthly-app footer{border-top:1px solid var(--line);background:#f4f5f5;padding:12px 24px}.storage-notice [role=alert]{color:#8c3c39;font-weight:700}.storage-notice .button{min-height:28px;padding:5px 8px;font-size:11px}.text-button{color:var(--blue);font:inherit;background:0 0;border:0;padding:3px;text-decoration:underline}.backup-input{cursor:pointer;position:relative;overflow:hidden}.backup-input input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.backup-dialog{padding:24px}.backup-dialog .button{margin:8px 8px 0 0}.knowledge-view{max-width:1400px}.knowledge-view>p,.knowledge-view .section-head p{color:var(--muted);font-size:13px;line-height:1.8}.knowledge-view .section-head{margin:24px 0 16px}.learning-toggle{align-items:center;gap:8px;font-size:12px;display:flex}.monthly-flow{border:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:24px 0;padding:0;list-style:none;display:grid}.monthly-flow li{border-right:1px solid var(--line);padding:16px 12px;font-size:12px}.monthly-flow li:last-child{border-right:0}.monthly-flow b{color:var(--blue);margin-right:10px;display:inline-block}.knowledge-explanation{border-left:3px solid var(--blue);background:#f4f5f5;padding:16px 20px;font-size:13px;line-height:1.8}.knowledge-explanation p{margin:8px 0 0}.weekday-rates{gap:8px;font-size:11px;display:flex}.weekday-rates span{min-width:32px}.metric-note{color:var(--muted);margin:16px 0 24px;font-size:12px;line-height:1.8}.empty-state{border:1px solid var(--line);color:var(--muted);padding:40px 24px;line-height:1.8}.comparison-summary{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:24px 0;display:grid}.comparison-summary>div{border-right:1px solid var(--line);padding:20px}.comparison-summary>div:last-child{border:0}.comparison-summary strong{color:var(--blue);margin:12px 0;font-size:30px;display:block}.comparison-summary span,.comparison-summary small{color:var(--muted);font-size:12px}.staff-match-list{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.staff-match-list>span{border-bottom:1px solid var(--line);gap:10px;padding:12px;font-size:12px;display:flex}.staff-match-list small{color:var(--muted)}.submission-summary{margin-bottom:24px}.submission-summary .data-table-wrap{max-height:270px}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.mobile-menu,.desk-sidebar>.mobile-close{display:none}.schedule-interval{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;font-size:12px;display:flex}.schedule-interval .button{min-height:30px;padding:5px 10px}.schedule-interval .selected{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}@media (width<=720px){.monthly-app .preference-workspace>.preference-sidebar{display:none}.monthly-app .preference-day strong{white-space:normal;line-height:1.5;overflow:visible}.monthly-app .preference-day{text-align:left}.monthly-app .preference-calendar{gap:3px}}@media (width<=1050px){.desk-sidebar{width:190px}.month-toolbar,.desk-body{padding:16px}.month-actions{margin-left:0}.monthly-app .settings-grid{grid-template-columns:1fr}.monthly-flow{grid-template-columns:1fr 1fr}.monthly-flow li:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media (width<=720px){.entry-screen{padding:32px 18px}.entry-options section{padding:22px;display:block}.entry-options .button{width:100%;margin-top:16px}.entry-options h2{font-size:18px}.desk-header{padding:0 16px}.desk-sidebar{display:none}.sidebar-open .desk-sidebar{z-index:6;background:#fff;width:250px;display:block;position:fixed;top:68px;bottom:0;left:0;overflow:auto;box-shadow:10px 0 20px #0002}.mobile-menu,.desk-sidebar>.mobile-close{display:block}.month-toolbar{gap:8px}.month-actions{flex-wrap:wrap;width:100%}.month-actions .button{flex:1;font-size:11px}.desk-tabs{padding:0 8px}.desk-tabs button{padding:12px;font-size:12px}.next-action{flex-direction:column;gap:6px;padding:12px 16px}.desk-body{padding:16px 12px}.monthly-app .right-rail{grid-template-columns:1fr}.monthly-app .section-head{flex-direction:column;align-items:flex-start;gap:12px}.monthly-app .summary-grid{grid-template-columns:1fr 1fr}.monthly-app .preference-workspace{display:block}.monthly-app .preference-sidebar{border-right:0;width:auto}.monthly-app .preference-side-section{padding:12px}.monthly-app .preference-main{width:100%}.monthly-app .preference-toolbar-actions{flex-wrap:wrap}.monthly-app .preference-calendar-wrap{padding:8px}.monthly-app .preference-day{min-height:82px;padding:6px}.monthly-app .preference-day small{display:none}.monthly-app .preference-day strong{word-break:break-all;font-size:10px}.comparison-summary{grid-template-columns:1fr}.comparison-summary>div{border-right:0;border-bottom:1px solid var(--line)}.comparison-summary strong{font-size:26px}.monthly-app footer{padding:12px}.monthly-flow li{line-height:1.7}.monthly-app .toast{bottom:12px;left:12px;right:12px}.weekday-rates{min-width:260px}}@media print{.desk-header,.desk-sidebar,.month-toolbar,.desk-tabs,.next-action,.monthly-app footer,.toolbar-controls,.right-rail,.toast{display:none!important}.desk-body{padding:0}.monthly-app .schedule-scroll{max-height:none;overflow:visible}.monthly-app .schedule-table{width:100%;min-width:0}.monthly-app .schedule-table td{min-width:0}.monthly-app .schedule-table .staff-column{width:90px}}.solver-dialog{width:min(720px,100vw - 32px);max-width:720px;max-height:88vh;padding:24px;font-size:14px;overflow-y:auto}.solver-dialog p{line-height:1.8}.solver-details{max-height:42vh;padding-left:22px;overflow-y:auto}.solver-details li{margin:10px 0;line-height:1.7}.solver-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.solver-pending{background:#fff5df;margin-top:16px;padding:16px}.solver-success{background:#eef7f2;border-left:4px solid #3a7660;margin-bottom:20px;padding:16px 20px}.solver-success p{margin:8px 0 0;line-height:1.7}.request-priority-panel{border-bottom:1px solid var(--line);background:#f0f5f7;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:12px;padding:16px;display:flex}.request-priority-panel label{align-items:center;gap:8px;display:flex}.request-priority-panel span{width:100%;font-size:12px;line-height:1.7}.request-paint-toolbar{background:#f4f8fb;border:1px solid #c9dbe7;border-radius:8px;margin:14px 0;padding:16px}.paint-controls,.paint-range{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.paint-controls label,.paint-range label{color:#385366;gap:5px;font-size:13px;display:grid}.paint-controls select,.paint-range select{background:#fff;border:1px solid #bfcbd3;border-radius:5px;max-width:260px;min-height:42px;padding:8px}.request-paint-toolbar p,.paint-range>span{color:#5b7180;font-size:12px;line-height:1.6}.schedule-action-strip{background:#f4f8fb;border:1px solid #b7cddc;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-bottom:16px;padding:16px;display:flex}.schedule-action-strip>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-action-strip span{color:#587083;font-size:12px}.learning-retention-note{color:#536d80;background:#eef4f7;border-radius:6px;margin-bottom:12px;padding:10px 14px;font-size:12px;line-height:1.7}@media (width<=720px){.paint-controls label{flex:130px}.paint-controls select,.schedule-action-strip>div{width:100%}.schedule-action-strip .button{flex:1}.preference-toolbar-actions{z-index:2;background:#fff;padding:8px 0;position:sticky;top:0}}.submission-summary summary{cursor:pointer;padding:12px 0;font-weight:600}.preference-sidebar .preference-side-section:first-child{display:none}@media (width<=720px){.preference-toolbar{z-index:3;background:#fff;padding-top:10px;position:sticky;top:0}.preference-toolbar-actions{position:static}.preference-day{padding:8px 3px}.preference-day strong{font-size:10px}}.desk-tabs{gap:8px}.desk-tabs button{align-items:center;gap:9px;display:flex}.step-number{background:#edf1f4;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:inline-grid}.desk-tabs button.active .step-number{color:#fff;background:#2e698c}.step-alert{background:#b55d47;border-radius:50%;width:6px;height:6px}.action-menu{align-self:center;position:relative}.action-menu>summary{cursor:pointer;border:1px solid #d4dde3;border-radius:5px;padding:10px 12px;list-style:none}.action-menu>div{z-index:5;background:#fff;border:1px solid #d4dde3;border-radius:6px;min-width:130px;position:absolute;top:44px;right:0;box-shadow:0 6px 16px #213c501c}.action-menu button{text-align:left;background:#fff;border:0;width:100%;padding:12px;display:block}.check-badge{background:#edf2f5;border-radius:20px;padding:5px 10px;font-size:12px}.check-badge.clear{color:#327052;background:#e7f3ed}.check-badge.error{color:#934938;background:#fff0eb}.schedule-action-strip{background:#fff;border:0;align-items:center;padding:0}.inline-help>summary{cursor:pointer;color:#637f91;font-size:12px}.inline-help p{color:#567081;font-size:12px;line-height:1.7}.save-indicator{color:#477d61}.storage-tools>summary{cursor:pointer;color:#315f7d}.storage-tools>div{padding:12px 0}.storage-tools .retention-warning{color:#805c35;max-width:660px}.retention-inline{color:#805c35}.monthly-app .compact-preferences{border-radius:8px;display:block}.monthly-app .compact-preferences .preference-main{width:100%;padding:20px}.monthly-app .compact-preferences .preference-toolbar{border-bottom:0;margin-bottom:0;padding-bottom:14px}.preference-person{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.preference-person label{align-items:center;gap:10px;display:flex}.preference-person select{min-width:140px}.request-count{color:#6d8391;font-size:12px}.request-paint-toolbar{background:#f6f9fb;margin:0 0 14px;padding:14px}.brush-buttons{flex-wrap:wrap;gap:6px;display:flex}.brush-buttons button{color:#476276;min-height:44px;font:inherit;background:#fff;border:1px solid #d5dfe6;border-radius:6px;align-items:center;gap:7px;padding:10px 13px;display:inline-flex}.brush-buttons button.active{color:#245674;background:#e2eef6;border-color:#2e698c;box-shadow:0 0 0 1px #2e698c}.brush-buttons button.off.active{color:#934b40;background:#fff0ed;border-color:#ae6559;box-shadow:0 0 0 1px #ae6559}.brush-buttons button:focus-visible,.preference-day:focus-visible{outline-offset:3px;outline:3px solid #4685ac}.paint-controls{align-items:center}.paint-caption{color:#678192;align-items:center;gap:14px;padding-top:10px;font-size:12px;display:flex}.paint-caption details[open]{flex:1}.priority-badge{color:#9c5b32;background:#fff1de;border-radius:12px;padding:5px 10px;font-size:12px}.range-tools{border-top:1px solid #dde6ec;margin-top:10px;padding-top:10px}.range-tools>summary,.weekly-tools>summary{cursor:pointer;color:#3e6d8c;font-size:12px}.range-tools .paint-range{padding-top:12px}.weekly-tools{margin-top:12px}.weekly-tools .weekly-bulk{padding-top:10px}.monthly-app .compact-preferences .preference-calendar-wrap{padding:0}.monthly-app .compact-preferences .preference-day{border-radius:6px;min-height:76px;padding:8px}.monthly-app .compact-preferences .preference-day strong{white-space:normal;word-break:normal;font-size:13px}.monthly-app .compact-preferences .preference-day:not(.off):not(.work):not(.half){background:#fff}.monthly-app .compact-preferences .preference-day.off{background:#fff1ed}.monthly-app .compact-preferences .preference-day.work{background:#eaf3fa}.monthly-app .compact-preferences .preference-day.half{background:#fff5dd}.editor-priority{align-items:center;gap:12px;margin-bottom:12px;display:flex}@media (width<=720px){.desk-tabs{gap:0;padding:0 4px}.desk-tabs button{flex:1;justify-content:center;gap:5px;padding:12px 4px;font-size:11px}.step-number{width:20px;height:20px}.monthly-app .compact-preferences .preference-main{padding:12px}.preference-person{gap:6px}.preference-person select{min-width:105px;max-width:135px}.brush-buttons{gap:5px;width:100%}.brush-buttons button{flex:1;gap:4px;padding:10px 4px;font-size:12px}.monthly-app .compact-preferences .preference-day{text-align:center;min-height:66px;padding:7px 3px}.monthly-app .compact-preferences .preference-day strong{font-size:11px}.schedule-action-strip>div{width:auto}.schedule-action-strip{flex-wrap:nowrap}.monthly-app .solver-success{font-size:12px}.paint-controls label{flex:1}.month-actions .action-menu{text-align:center;flex:1}.storage-notice{gap:10px}}.generation-facts{grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;display:grid}.generation-facts>span{color:#688294;background:#f2f6f9;border-radius:6px;flex-direction:column;gap:5px;padding:12px;font-size:12px;display:flex}.generation-facts b{color:#294e68;font-size:22px}.knowledge-explanation>summary{cursor:pointer;color:#365f7b;margin-bottom:8px;font-weight:600}.knowledge-explanation:not([open])>summary{margin-bottom:0}.review-status{color:#577687;padding:12px 0}@media (width<=720px){.monthly-app .compact-preferences .preference-toolbar{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.compact-preferences .request-count{display:none}.compact-preferences .preference-toolbar>.button{min-width:80px;padding:9px 12px}.monthly-app .validation-row{grid-template-columns:20px minmax(0,1fr)}.schedule-action-strip>.button{flex:none}}.warning-item details{min-width:0}.warning-item summary{cursor:pointer;color:#4a677a;font-size:12px;font-weight:600}.warning-item details p{line-height:1.7}.monthly-app .schedule-scroll{width:100%;max-height:none;overflow:visible}.monthly-app .schedule-table{table-layout:fixed;width:100%;min-width:0}.monthly-app .schedule-table .staff-column{width:clamp(84px,11vw,150px);min-width:0;position:static;padding-left:8px!important}.monthly-app .schedule-table thead th:not(.staff-column){width:auto;min-width:0}.monthly-app .schedule-table tbody th.staff-cell{min-width:0;padding:0 5px;position:static}.monthly-app .schedule-table td{min-width:0;overflow:hidden}.monthly-app .schedule-table td button{place-items:center;min-width:0;padding:0 1px;display:grid;overflow:hidden}.monthly-app .schedule-table td button strong{white-space:nowrap;text-overflow:clip;max-width:100%;display:block;overflow:hidden}.monthly-app .schedule-table tfoot th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.monthly-app .schedule-table tfoot td{overflow:hidden}.monthly-app .schedule-table tfoot td strong{white-space:nowrap;max-width:100%;display:block;overflow:hidden}.staff-inspect{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;width:100%;min-width:0;padding:5px 0;display:flex}.staff-inspect:hover,.staff-inspect:focus-visible{background:#eaf3f8}.staff-ident{min-width:0;overflow:hidden}.staff-ident strong,.staff-ident small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overview-toggle{flex:none}.board-fullscreen{z-index:25;background:#fff;flex-direction:column;width:100vw;height:100dvh;max-height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.board-fullscreen .panel-toolbar{align-items:center;min-height:50px;padding:7px 12px}.board-fullscreen .toolbar-controls,.board-fullscreen .schedule-interval{display:none}.board-fullscreen .legend-row{min-height:25px;padding:4px 12px}.board-fullscreen .schedule-scroll{flex:1;min-height:0;overflow:hidden}.board-fullscreen .schedule-table{height:100%}.board-fullscreen .schedule-table thead th{height:28px;position:static}.board-fullscreen .schedule-table td button{height:100%;min-height:0}.board-fullscreen .schedule-table .staff-cell{min-height:0}.board-fullscreen .staff-inspect{height:100%;min-height:0;padding:0}.board-fullscreen .staff-ident small{display:none}.board-fullscreen .schedule-table tfoot td,.board-fullscreen .schedule-table tfoot th{height:24px;padding:0}.board-fullscreen .board-footer{min-height:24px;padding:3px 12px}.overview-modal-backdrop{z-index:40}.overview-person-dialog{background:#fff;border-radius:8px;width:min(720px,100vw - 24px);max-height:min(86dvh,780px);padding:16px;overflow:auto;box-shadow:0 18px 40px #0004}.overview-person-dialog header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.overview-person-dialog header strong{font-size:18px;display:block}.overview-person-dialog header span{color:#607989;font-size:12px}.overview-person-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.overview-person-days button{color:#244c65;text-align:center;background:#f8fafb;border:1px solid #d8e2e8;border-radius:5px;align-content:center;gap:3px;min-width:0;min-height:65px;padding:4px;display:grid}.overview-person-days button:hover,.overview-person-days button:focus-visible{background:#eaf3f8;border-color:#2e698c}.overview-person-days button span{font-size:11px}.overview-person-days button strong{font-size:15px}.overview-person-days button small{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}@media (width<=720px){.monthly-app .board-fullscreen .panel-toolbar{flex-direction:row;justify-content:space-between;min-height:42px}.monthly-app .board-fullscreen .panel-toolbar h2{margin:0}.monthly-app .schedule-table .staff-column{width:clamp(72px,22vw,94px)}.monthly-app .schedule-table thead th{height:28px;padding:0;position:static}.monthly-app .schedule-table thead th b{font-size:8px}.monthly-app .schedule-table thead th:not(.staff-column) span,.monthly-app .schedule-table .event-dot{display:none}.monthly-app .schedule-table tbody th.staff-cell{padding:0 3px}.monthly-app .staff-inspect{min-height:28px;padding:2px 0}.monthly-app .staff-inspect .avatar,.monthly-app .staff-ident small{display:none}.monthly-app .staff-ident strong{font-size:11px}.monthly-app .schedule-table td button{height:28px;min-height:28px}.monthly-app .schedule-table td button strong,.monthly-app .schedule-table td .fixed-mark,.monthly-app .schedule-table .request-pin{display:none}.monthly-app .schedule-table td button:before{content:attr(data-symbol);color:#315d76;font-size:8px;font-weight:700;line-height:1}.monthly-app .schedule-table td button[data-code=A]{background:#e5f4fa}.monthly-app .schedule-table td button[data-code=B]{background:#cfe9f2}.monthly-app .schedule-table td button[data-code=C],.monthly-app .schedule-table td button[data-code=C2]{background:#b6dbe7}.monthly-app .schedule-table td button[data-code=D],.monthly-app .schedule-table td button[data-code=D2]{background:#e3dcf3}.monthly-app .schedule-table td button[data-code=E]{background:#f5dac9}.monthly-app .schedule-table td button[data-code=N1],.monthly-app .schedule-table td button[data-code=N2]{background:#f0d1db}.monthly-app .schedule-table td button[data-code=●]{background:#edf0f2}.monthly-app .schedule-table tfoot,.monthly-app .schedule-table .staff-column small,.monthly-app .board-footer .board-help{display:none}.board-fullscreen .schedule-table td button{height:100%;min-height:0}.monthly-app .board-fullscreen .staff-inspect{height:100%;min-height:0;padding:0}.monthly-app .board-fullscreen .schedule-table td button{height:100%;min-height:0}.board-fullscreen .legend-note{display:none}.board-fullscreen .board-footer{font-size:10px}.board-fullscreen .board-footer span:nth-child(2){display:none}.overview-person-days button{min-height:55px}}:root{color:#14222c;font-synthesis:none;--ink:#14222c;--muted:#75828a;--muted-2:#9aa7ad;--line:#d7e1e5;--line-strong:#c1d0d6;--paper:#fff;--canvas:#eef3f5;--navy:#112c3b;--blue:#126b83;--blue-soft:#e5f1f4;--teal:#168a8c;--amber:#c27b36;--amber-soft:#fff3df;--rose:#ad5362;--rose-soft:#fff0f1;--green:#3a8969;--green-soft:#e9f5ef;--purple:#7359a6;--shadow:0 12px 35px #1b333f12;background:#eef3f5;font-family:Inter,Noto Sans JP,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif}*{box-sizing:border-box}body{background:var(--canvas);min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #126b8340}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#e8f1f3;z-index:4;flex-direction:column;width:246px;padding:28px 16px 18px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:11px;padding:0 12px 33px;display:flex}.brand-mark{color:#fff;border:1px solid #7bc6d2;place-items:center;width:34px;height:34px;font-size:18px;font-weight:800;display:grid;transform:rotate(-5deg)}.brand strong{letter-spacing:.18em;color:#fff;font-size:14px;display:block}.brand small{color:#91adb6;letter-spacing:.16em;margin-top:3px;font-size:9px;display:block}.main-nav{gap:4px;margin-bottom:30px;display:grid}.nav-item{color:#a9bec5;text-align:left;background:0 0;border:0;border-radius:4px;align-items:center;gap:12px;width:100%;min-height:43px;padding:0 12px;font-size:13px;display:flex}.nav-icon{color:#7fb7c1;text-align:center;width:18px;font-size:16px}.nav-item em{color:#e5b170;background:#e0a85e24;border-radius:10px;margin-left:auto;padding:2px 6px;font-size:11px;font-style:normal}.sidebar-bottom{border-top:1px solid #b7d8df26;margin-top:auto;padding:17px 12px 0}.demo-switch{color:#a9bec5;align-items:center;gap:7px;font-size:11px;display:flex}.live-dot,.save-dot{background:#69c58d;border-radius:50%;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #69c58d21}.reset-link{color:#7595a0;background:0 0;border:0;padding:10px 0 0;font-size:11px}.content-shell{width:calc(100% - 246px);min-width:0;margin-left:246px}.topbar{border-bottom:1px solid var(--line);z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffdb;justify-content:space-between;align-items:center;height:68px;padding:0 clamp(22px,4vw,62px);display:flex;position:sticky;top:0}.topbar-context{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.topbar-context .crumb{color:var(--ink);font-weight:700}.slash{color:#bdc9cd}.topbar-actions{align-items:center;gap:20px;display:flex}.save-status{color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.icon-button{color:var(--muted);background:0 0;border:0;padding:5px;font-size:19px;position:relative}.icon-button i{background:var(--rose);color:#fff;border-radius:9px;min-width:13px;padding:2px 3px;font-size:9px;font-style:normal;position:absolute;top:0;right:-4px}.user-chip{color:var(--ink);align-items:center;gap:9px;font-size:11px;display:flex}.user-chip span{background:var(--blue-soft);color:var(--blue);border-radius:50%;place-items:center;width:29px;height:29px;font-size:10px;font-weight:800;display:grid}.main-content{max-width:1600px;margin:0 auto;padding:38px clamp(22px,4vw,62px) 60px}.page-head{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:27px;display:flex}.eyebrow-row{align-items:center;gap:9px;display:flex}.eyebrow,.panel-kicker{color:var(--blue);letter-spacing:.16em;font-size:10px;font-weight:800}.demo-badge{background:var(--amber-soft);color:var(--amber);letter-spacing:.12em;padding:3px 6px;font-size:9px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{color:var(--ink);letter-spacing:-.04em;margin:10px 0 8px;font-size:clamp(28px,3vw,39px);line-height:1}.page-head p{color:var(--muted);margin-bottom:0;font-size:13px}.page-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.status-pill{border:1px solid var(--line);border-radius:2px;align-items:center;gap:7px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-flex}.status-pill span{background:var(--amber);border-radius:50%;width:7px;height:7px;display:inline-block}.status-pill.status-review{color:var(--blue);background:var(--blue-soft);border-color:#afd0d8}.status-pill.status-review span{background:var(--blue)}.status-pill.status-confirmed{color:var(--green);background:var(--green-soft);border-color:#b9ddca}.status-pill.status-confirmed span{background:var(--green)}.button{border:1px solid #0000;border-radius:3px;min-height:38px;padding:0 15px;font-size:12px;font-weight:800;transition:background .15s,color .15s,border .15s}.button.primary{color:#fff;background:var(--blue);border-color:var(--blue)}.button.ghost{color:var(--blue);border-color:var(--line-strong);background:#fff}.button.ghost:hover{border-color:var(--blue);background:var(--blue-soft)}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:22px;display:grid}.summary-card{background:var(--paper);border:1px solid var(--line);padding:18px 19px 16px;position:relative;overflow:hidden}.summary-card:before{content:"";background:var(--blue);width:4px;position:absolute;inset:0 auto 0 0}.summary-card.rose:before{background:var(--rose)}.summary-card.amber:before{background:var(--amber)}.summary-card.green:before{background:var(--green)}.summary-card.ink:before{background:var(--navy)}.summary-top{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.summary-top em{color:var(--green);font-size:10px;font-style:normal}.summary-card>strong{color:var(--ink);letter-spacing:-.04em;margin:7px 0 3px;font-size:28px;display:block}.summary-card>small{color:var(--muted);font-size:10px}.workspace-grid{grid-template-columns:minmax(0,1fr) 296px;align-items:start;gap:17px;display:grid}.panel-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow)}.board-panel{min-width:0}.panel-toolbar{justify-content:space-between;align-items:flex-start;gap:15px;padding:19px 20px 14px;display:flex}.panel-toolbar h2{letter-spacing:-.02em;margin:6px 0 0;font-size:18px}.toolbar-controls{align-items:center;gap:8px;display:flex}.search-field{border:1px solid var(--line);background:#f7fafb;align-items:center;gap:7px;min-height:34px;padding:0 9px;display:flex}.search-field span{color:var(--muted);font-size:21px;line-height:0;transform:rotate(-20deg)}.search-field input{color:var(--ink);background:0 0;border:0;outline:0;width:122px;font-size:11px}.toolbar-controls select{border:1px solid var(--line);color:var(--ink);background:#fff;min-height:34px;padding:0 8px;font-size:11px}.legend-row{color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:9px 20px;font-size:10px;display:flex}.legend-row span{align-items:center;gap:6px;display:inline-flex}.legend-mark{background:var(--blue-soft);border:1px solid #9dc8d2;border-radius:2px;width:9px;height:9px;display:inline-block}.legend-mark.off{background:#f1f3f4;border-color:#cbd3d6}.legend-mark.request{background:var(--amber-soft);border-color:#e4ba7d}.legend-mark.alert{background:var(--rose-soft);border-color:#e3a0aa}.legend-note{color:var(--muted-2);margin-left:auto}.schedule-scroll{max-height:650px;overflow:auto}.schedule-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1230px}.schedule-table th,.schedule-table td{text-align:center;border-bottom:1px solid #e4ecef;border-right:1px solid #e4ecef;padding:0}.schedule-table thead th{height:54px;color:var(--muted);z-index:2;background:#f8fbfc;position:sticky;top:0}.schedule-table thead th:not(.staff-column){width:41px;min-width:41px}.schedule-table thead th b{color:var(--ink);font-size:12px;line-height:1;display:block}.schedule-table thead th span{margin-top:5px;font-size:9px;display:block}.schedule-table thead th .event-dot{background:var(--blue);border-radius:50%;width:5px;height:5px;margin:4px auto 0;display:block}.event-dot.amber{background:var(--amber)!important}.event-dot.rose{background:var(--rose)!important}.staff-column{width:163px;min-width:163px;position:sticky;left:0;text-align:left!important;z-index:3!important;padding-left:16px!important}.staff-column small{color:var(--muted-2);margin-left:4px;font-size:9px;font-weight:400}.schedule-table tbody th.staff-cell{z-index:1;text-align:left;background:#fff;padding:8px 10px;position:sticky;left:0}.staff-cell{align-items:center;gap:8px;min-height:51px;display:flex}.staff-cell strong{font-size:11px;display:block}.staff-cell small{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:9px;display:block}.avatar{width:27px;height:27px;color:var(--blue);background:#dcecef;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:inline-grid}.schedule-table td{background:#fff;position:relative}.schedule-table td button{width:100%;min-height:50px;color:var(--ink);background:0 0;border:0;position:relative}.schedule-table td.work button{color:var(--blue)}.schedule-table td.special button{color:var(--purple)}.schedule-table td.off button{color:#78858a;background:#fafcfc}.schedule-table td.leave button{color:var(--green);background:#f7fcf9}.schedule-table td.empty button{color:#c6d0d4}.schedule-table td.has-request{box-shadow:inset 0 -3px var(--amber)}.schedule-table td.cell-warning{background:var(--rose-soft)}.schedule-table td.is-fixed button:after{content:"";background:var(--blue);border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:4px}.schedule-table td button strong{font-size:11px}.request-pin{background:var(--amber);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;left:5px}.board-footer{border-top:1px solid var(--line);color:var(--muted);align-items:center;gap:24px;padding:13px 20px;font-size:10px;display:flex}.board-footer b{color:var(--ink)}.board-help{color:var(--muted-2);margin-left:auto}.right-rail{gap:14px;display:grid}.rail-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:15px;display:flex}.rail-heading h3{margin:5px 0 0;font-size:16px}.count-badge{color:var(--rose);background:var(--rose-soft);border:1px solid #e8b8bf;border-radius:12px;padding:4px 7px;font-size:10px;font-weight:800}.muted-small{color:var(--muted-2);font-size:10px}.warning-list{gap:11px;display:grid}.warning-item{align-items:flex-start;gap:9px;display:flex}.warning-icon{border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:11px;font-weight:900;display:grid}.warning-icon.error{color:var(--rose);background:var(--rose-soft)}.warning-icon.warning{color:var(--amber);background:var(--amber-soft)}.warning-icon.info{color:var(--blue);background:var(--blue-soft)}.warning-item strong{font-size:11px;display:block}.warning-item p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.5}.rail-link,.text-link{width:100%;color:var(--blue);border:0;border-top:1px solid var(--line);text-align:left;background:0 0;margin-top:15px;padding:13px 0 0;font-size:11px;font-weight:800}.rail-link span{float:right;font-size:15px}.event-list{gap:12px;display:grid}.event-item{grid-template-columns:23px 7px 1fr;align-items:center;gap:7px;font-size:11px;display:grid}.event-item b{color:var(--ink);font-size:13px}.event-item i{background:var(--blue);border-radius:50%;width:7px;height:7px}.event-item i.amber{background:var(--amber)}.event-item i.rose{background:var(--rose)}.rule-card{padding-bottom:14px}.rule-row{color:var(--muted);border-top:1px solid #edf1f2;grid-template-columns:9px 1fr auto;align-items:center;gap:8px;padding:9px 0;font-size:10px;display:grid}.rule-row>span:last-child{color:var(--muted-2)}.rule-status-dot{border-radius:50%;width:7px;height:7px}.rule-status-dot.ready{background:var(--green)}.rule-status-dot.pending{background:var(--amber)}.empty-rail{color:var(--muted);padding:12px 0;font-size:11px}.single-column{gap:16px;display:grid}.info-strip{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:15px;padding:17px 20px;display:flex}.info-strip strong{font-size:15px;display:block}.info-strip span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.request-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.request-card-head{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding-bottom:12px;display:flex}.request-card-head strong{font-size:13px;display:block}.request-card-head small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.request-count{color:var(--muted-2);margin-left:auto;font-size:10px}.request-count.active{color:var(--amber);font-weight:800}.request-line{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #edf1f2;grid-template-columns:35px 65px 1fr auto;align-items:center;gap:8px;padding:12px 0;font-size:11px;display:grid}.request-line:last-child{border-bottom:0}.request-line:hover{color:var(--blue)}.request-date{font-weight:800}.request-type{text-align:center;padding:3px 5px;font-size:9px;display:inline-block}.request-type.off{color:var(--rose);background:var(--rose-soft)}.request-type.work{color:var(--blue);background:var(--blue-soft)}.request-type.half{color:var(--amber);background:var(--amber-soft)}.request-line b{color:var(--blue);font-size:10px}.request-empty{color:var(--muted-2);padding:18px 0 4px;font-size:11px}.staff-table,.history-card{overflow:hidden}.staff-table table{border-collapse:collapse;width:100%}.staff-table th,.staff-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf1f2;padding:14px 16px;font-size:11px}.staff-table th{color:var(--muted);background:#f8fbfc;font-size:10px;font-weight:800}.state-label{padding:4px 7px;font-size:10px;display:inline-block}.state-label.active{color:var(--green);background:var(--green-soft)}.state-label.away{color:var(--amber);background:var(--amber-soft)}.muted-cell{color:var(--muted)}.row-menu{color:var(--muted);letter-spacing:2px;background:0 0;border:0}.row-menu:hover{color:var(--blue)}.code-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.code-card-top{justify-content:space-between;align-items:center;display:flex}.code-chip{place-items:center;width:33px;height:29px;font-size:13px;font-weight:900;display:grid}.code-chip.blue{color:var(--blue);background:var(--blue-soft)}.code-chip.teal{color:var(--teal);background:#e3f6f3}.code-chip.orange{color:var(--amber);background:var(--amber-soft)}.code-chip.purple{color:var(--purple);background:#f0ebfa}.code-chip.sky{color:#387f9e;background:#e5f2f8}.code-chip.yellow{color:#a2791e;background:#fff6d7}.code-chip.gray{color:#68777d;background:#edf1f2}.code-chip.green,.code-chip.mint{color:var(--green);background:var(--green-soft)}.code-chip.red{color:var(--rose);background:var(--rose-soft)}.kind-label{color:var(--muted);font-size:10px}.code-card h3{margin:15px 0 7px;font-size:16px}.code-time{color:var(--ink);margin:0 0 14px;font-size:12px}.code-meta{color:var(--muted);border-top:1px solid var(--line);gap:13px;padding-top:10px;font-size:10px;display:flex}.code-meta b{color:var(--ink)}.review-head{justify-content:space-between;align-items:flex-end;gap:15px;display:flex}.review-head h2{margin:7px 0 5px;font-size:24px}.review-head p{color:var(--muted);margin:0;font-size:12px}.review-score{text-align:right}.review-score strong{color:var(--blue);font-size:35px;line-height:1;display:block}.review-score strong small{color:var(--muted-2);margin-left:2px;font-size:13px}.review-score span{color:var(--muted);font-size:10px}.review-grid{grid-template-columns:1.25fr .75fr;gap:14px;display:grid}.validation-card,.approval-card{padding:19px}.card-title{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.card-title h3{margin:0;font-size:16px}.card-title>span{color:var(--muted);font-size:10px}.validation-row{border-top:1px solid #edf1f2;grid-template-columns:24px 1fr auto;align-items:start;gap:10px;padding:13px 0;display:grid}.validation-icon{border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-weight:900;display:grid}.validation-icon.error{color:var(--rose);background:var(--rose-soft)}.validation-icon.warning{color:var(--amber);background:var(--amber-soft)}.validation-icon.info{color:var(--blue);background:var(--blue-soft)}.validation-row strong{font-size:12px;display:block}.validation-row p{color:var(--muted);margin:4px 0;font-size:11px}.validation-row small{color:var(--muted-2);font-size:9px}.validation-row button{color:var(--blue);background:0 0;border:0;padding:5px 0;font-size:10px}.all-clear{color:var(--green);align-items:center;gap:9px;padding:18px 0;font-size:12px;display:flex}.all-clear span{background:var(--green-soft);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.timeline{margin:6px 0 18px}.timeline-step{gap:10px;padding-bottom:19px;display:flex;position:relative}.timeline-step:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:23px;bottom:0;left:11px}.timeline-step>span{z-index:1;width:23px;height:23px;color:var(--muted);background:#f2f5f6;border-radius:50%;place-items:center;font-size:10px;font-weight:800;display:grid;position:relative}.timeline-step.done>span{color:var(--green);background:var(--green-soft)}.timeline-step.current>span{color:#fff;background:var(--blue)}.timeline-step strong{padding-top:4px;font-size:11px;display:block}.timeline-step small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.full-button{width:100%}.history-card{padding:19px}.history-card .card-title{margin-bottom:0}.history-card .text-link{border:0;width:auto;margin:0;padding:0}.history-row{border-top:1px solid #edf1f2;align-items:center;gap:10px;margin-top:12px;padding:13px 0;display:flex}.history-avatar{width:26px;height:26px;color:var(--blue);background:var(--blue-soft);border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid}.history-row strong,.history-row span{font-size:10px;display:block}.history-row span{color:var(--muted);margin-top:3px}.history-row time{color:var(--muted-2);margin-left:auto;font-size:10px}.modal-backdrop{z-index:10;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1d2773;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.assignment-dialog{background:#fff;width:min(550px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 70px #0a1f2a38}.dialog-head{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:23px 24px 18px;display:flex}.dialog-head h2{margin:8px 0 5px;font-size:21px}.dialog-head p{color:var(--muted);margin:0;font-size:11px}.close-button{color:var(--muted);background:0 0;border:0;height:28px;font-size:26px;line-height:1}.request-callout{border-left:3px solid var(--amber);background:var(--amber-soft);align-items:center;gap:9px;margin:18px 24px 0;padding:11px 12px;display:flex}.request-callout.off{border-color:var(--rose);background:var(--rose-soft)}.request-callout span{color:var(--muted);font-size:9px}.request-callout strong{font-size:11px}.request-callout small{color:var(--muted);font-size:10px}.dialog-label{color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:800;display:block}.code-picker{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.picker-item{border:1px solid var(--line);color:var(--ink);background:#fff;align-content:center;place-items:center;gap:3px;min-height:53px;display:grid}.picker-item:hover,.picker-item.selected{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.picker-item strong{font-size:13px}.picker-item span{color:var(--muted);font-size:9px}.picker-item.selected span{color:var(--blue)}.dialog-fields{grid-template-columns:1fr 1fr;gap:10px;padding:20px 24px;display:grid}.dialog-fields input{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);padding:0 10px;font-size:11px}.fixed-toggle{color:var(--ink);align-items:flex-start;gap:8px;margin:0 24px 20px;font-size:11px;display:flex}.fixed-toggle input{accent-color:var(--blue);margin-top:3px}.fixed-toggle strong,.fixed-toggle small{display:block}.fixed-toggle small{color:var(--muted);margin-top:4px;font-size:10px}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:15px 24px;display:flex}.toast{z-index:20;background:var(--navy);color:#fff;align-items:center;gap:9px;padding:12px 15px;font-size:11px;display:flex;position:fixed;bottom:25px;right:26px;box-shadow:0 13px 35px #112c3b38}.toast-check{background:#67bd8e;border-radius:50%;place-items:center;width:18px;height:18px;font-size:11px;display:grid}@media (width<=1120px){.workspace-grid{grid-template-columns:1fr}.right-rail,.code-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.review-grid{grid-template-columns:1fr}}@media (width<=780px){.sidebar{width:70px;padding:18px 9px}.brand{padding:0 9px 30px}.brand>div,.sidebar-label,.nav-item>span:not(.nav-icon),.nav-item em,.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:0}.content-shell{width:calc(100% - 70px);margin-left:70px}.topbar{padding:0 20px}.save-status,.user-chip strong{display:none}.main-content{padding:28px 20px 45px}.page-head{flex-direction:column;align-items:flex-start}.page-actions{justify-content:flex-start}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.right-rail,.request-grid{grid-template-columns:1fr}.code-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-head{flex-direction:column;align-items:flex-start}.review-score{text-align:left}}@media (width<=520px){.topbar-context{font-size:11px}.topbar-actions{gap:7px}.topbar{height:58px}.main-content{padding:22px 12px 35px}.page-actions .status-pill{display:none}.summary-card{padding:14px 14px 13px}.summary-card>strong{font-size:23px}.panel-toolbar{flex-direction:column}.toolbar-controls{width:100%}.search-field{flex:1}.search-field input{width:100%}.toolbar-controls select{width:110px}.legend-note{width:100%;margin-left:0}.board-footer{flex-wrap:wrap;gap:9px 17px}.board-help{width:100%;margin-left:0}.info-strip{flex-direction:column;align-items:flex-start}.code-grid{grid-template-columns:1fr 1fr;gap:9px}.code-card{padding:12px}.code-card h3{font-size:14px}.dialog-fields{grid-template-columns:1fr;padding-top:14px}.code-picker{grid-template-columns:repeat(5,minmax(0,1fr))}.picker-item{min-height:48px}.picker-item span{font-size:8px}.toast{bottom:14px;left:12px;right:12px}}:root{--ink:#2f3437;--muted:#70777b;--muted-2:#9aa1a4;--line:#c8ced1;--line-soft:#e8ecee;--paper:#fff;--canvas:#f4f5f5;--navy:#fff;--blue:#2f6686;--blue-soft:#edf3f6;--teal:#2f6686;--amber:#8a6a2d;--amber-soft:#f5ecd7;--rose:#8c3c39;--rose-soft:#f5e1df;--green:#42735a;--green-soft:#e9f1ec;--purple:#64577d;--shadow:none}body{background:var(--canvas);color:var(--ink)}.app-shell{background:var(--canvas)}.sidebar{background:var(--paper);width:236px;color:var(--ink);border-right:1px solid var(--line);padding:22px 14px 16px}.brand{gap:10px;padding:0 10px 28px}.brand-mark{border:1px solid var(--blue);width:30px;height:30px;color:var(--blue);font-size:16px;transform:none}.brand strong{color:var(--ink);letter-spacing:.14em;font-size:13px}.brand small{color:var(--muted);letter-spacing:.12em}.sidebar-label{color:var(--muted);letter-spacing:.13em;margin:0 10px 8px;font-size:10px}.main-nav{gap:2px;margin-bottom:24px}.nav-item{min-height:39px;color:var(--muted);border-radius:2px;gap:10px;padding:0 10px;font-size:12px}.nav-item:hover{color:var(--ink);background:var(--canvas)}.nav-item.active{color:var(--blue);background:var(--blue-soft);box-shadow:inset 3px 0 var(--blue)}.nav-icon{color:currentColor;width:17px;font-size:13px}.nav-item em{color:var(--amber);background:var(--amber-soft);border-radius:2px;padding:2px 5px}.sidebar-bottom{border-top:1px solid var(--line-soft);padding:14px 10px 0}.demo-switch{color:var(--muted)}.live-dot,.save-dot{box-shadow:none;background:var(--green)}.reset-link{color:var(--muted)}.reset-link:hover{color:var(--blue)}.content-shell{width:calc(100% - 236px);margin-left:236px}.topbar{background:var(--paper);border-bottom:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;height:64px;padding:0 clamp(22px,3.5vw,54px)}.topbar-context{color:var(--muted);font-size:12px}.topbar-context .crumb{color:var(--ink)}.topbar-actions{gap:16px}.icon-button{color:var(--muted)}.user-chip span{background:var(--blue-soft);color:var(--blue);border-radius:2px}.main-content{max-width:1680px;padding:32px clamp(22px,3.5vw,54px) 54px}.page-head{margin-bottom:22px}.eyebrow,.panel-kicker{color:var(--blue);letter-spacing:.13em}.demo-badge{border:1px solid #ddc99e;border-radius:2px}h1{letter-spacing:-.025em;font-size:clamp(25px,2.6vw,34px)}.page-head p{color:var(--muted);font-size:12px}.status-pill{border-radius:2px}.button{border-radius:2px;min-height:36px;font-size:12px}.button.primary{background:var(--blue);border-color:var(--blue)}.button.primary:hover{background:#244a63}.button.ghost{color:var(--blue);border-color:var(--line)}.button.ghost:hover{background:var(--blue-soft);border-color:var(--blue)}.summary-grid{gap:10px;margin-bottom:18px}.summary-card,.panel-card{box-shadow:none;border-radius:2px}.summary-card{padding:15px 17px 14px}.summary-card:before{width:3px}.summary-card>strong{font-size:26px}.workspace-grid{grid-template-columns:minmax(0,1fr) 282px;gap:14px}.panel-toolbar{padding:17px 18px 13px}.panel-toolbar h2{font-size:16px}.search-field,.toolbar-controls select{background:var(--paper);border-color:var(--line);border-radius:2px}.legend-row{border-color:var(--line);padding:8px 18px}.schedule-table{min-width:1190px}.schedule-table thead th{background:var(--canvas)}.schedule-table thead th.weekend{background:#eef1f2}.schedule-table thead th.has-warning{background:var(--rose-soft)}.schedule-table th,.schedule-table td{border-color:var(--line-soft)}.schedule-table tbody th.staff-cell{background:var(--paper)}.schedule-table td button:hover{background:var(--blue-soft)}.board-footer{border-color:var(--line);padding:11px 18px}.right-rail{gap:12px}.rail-card{padding:16px}.rail-heading h3{font-size:14px}.count-badge,.warning-icon,.history-avatar,.timeline-step>span,.all-clear span{border-radius:2px}.rail-link,.text-link{color:var(--blue)}.single-column{gap:14px}.info-strip{box-shadow:none;padding:15px 18px}.request-grid,.code-grid{gap:10px}.request-card,.code-card,.validation-card,.approval-card,.history-card{box-shadow:none}.request-card{padding:15px}.request-line{padding:11px 0}.staff-table th,.staff-table td{padding:12px 14px}.code-card{padding:15px}.code-chip{border-radius:2px}.review-head h2{font-size:22px}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#2f343752}.assignment-dialog{border:1px solid var(--line);box-shadow:none}.dialog-head{padding:20px 22px 16px}.dialog-section{padding:18px 22px 0}.dialog-fields{padding:18px 22px}.fixed-toggle{margin:0 22px 18px}.dialog-actions{padding:13px 22px}.toast{background:var(--ink);box-shadow:none;border-radius:2px;bottom:22px;right:22px}@media (width<=780px){.sidebar{width:68px;padding:18px 8px}.brand{padding:0 9px 25px}.brand>div,.sidebar-label,.nav-item>span:not(.nav-icon),.nav-item em,.sidebar-bottom{display:none}.nav-item{justify-content:center;padding:0}.content-shell{width:calc(100% - 68px);margin-left:68px}}.dashboard-actions,.form-actions{flex-wrap:wrap;gap:9px;margin-top:16px;display:flex}.dashboard-grid,.settings-grid,.io-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.request-form,.request-list,.inline-editor{padding:18px}.section-head{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.section-head h2{margin:5px 0 0;font-size:17px}.section-head p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.7}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--line-soft);text-align:left;vertical-align:middle;padding:11px 12px;font-size:11px}.data-table th{background:var(--canvas);color:var(--muted);font-size:10px}.request-table-wrap,.staff-table{overflow:auto}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.form-grid input,.form-grid select,.form-grid textarea,.dialog-label input{border:1px solid var(--line);width:100%;min-height:36px;color:var(--ink);font:inherit;background:#fff;padding:8px 9px}.form-grid textarea{resize:vertical;min-height:70px}.wide-field{grid-column:1/-1}.muted-copy,.muted-cell{color:var(--muted);font-size:11px;line-height:1.7}.small-button{min-height:34px;padding:0 10px}.staff-table table{border-collapse:collapse;width:100%;min-width:720px}.staff-table th,.staff-table td{border-bottom:1px solid var(--line-soft);text-align:left;white-space:nowrap;padding:12px;font-size:11px}.staff-table th{color:var(--muted);background:var(--canvas);font-size:10px}.staff-inline{align-items:center;gap:8px;display:flex}.status-label{padding:4px 7px;font-size:10px;display:inline-block}.status-label.active{color:var(--green);background:var(--green-soft)}.status-label.away{color:var(--rose);background:var(--rose-soft)}.fixed-mark{color:var(--blue);font-size:7px;position:absolute;bottom:2px;right:3px}.schedule-table td{position:relative}.schedule-table tfoot th,.schedule-table tfoot td{background:var(--canvas);color:var(--ink);border-right:1px solid var(--line-soft);text-align:center;padding:7px 0}.schedule-table tfoot td strong{font-size:10px}.event-admin-list{border-top:1px solid var(--line-soft);margin-top:16px}.event-admin-row{border-bottom:1px solid var(--line-soft);grid-template-columns:48px 1fr;gap:8px;padding:10px 0;font-size:11px;display:grid}.event-admin-row span{color:var(--ink)}.io-grid{align-items:start}.file-drop{border:1px dashed var(--line);background:var(--canvas);color:var(--muted);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding:13px;font-size:11px;display:flex}.file-drop input{max-width:180px;font-size:10px}.import-preview{background:var(--blue-soft);border:1px solid var(--line);gap:8px;margin-top:16px;padding:12px;font-size:11px;display:grid}.import-preview span{color:var(--muted)}.history-list{display:grid}.history-row{border-top:1px solid var(--line-soft);grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:11px 0;display:grid}.history-row div{gap:3px;display:grid}.history-row div span,.history-row time{color:var(--muted);font-size:10px}.history-row time{white-space:nowrap}.history-avatar{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:9px;display:grid}.rule-table{gap:10px;margin:4px 0 16px;display:grid}.rule-row{border-top:1px solid var(--line-soft);grid-template-columns:1fr 120px;align-items:center;gap:12px;padding:10px 0;display:grid}.rule-row label{color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.rule-row input[type=number]{border:1px solid var(--line);width:100%;min-height:32px;color:var(--ink);font:inherit;background:#fff;padding:6px 8px}.rule-check{align-items:center;gap:8px;color:var(--ink)!important;font-size:11px!important;display:flex!important}.rule-check input{accent-color:var(--blue)}.rule-note{border-left:3px solid var(--blue);background:var(--blue-soft);color:var(--muted);gap:4px;margin:15px 0;padding:11px 12px;font-size:10px;line-height:1.7;display:grid}.rule-note strong{color:var(--ink);font-size:11px}@media (width<=900px){.dashboard-grid,.settings-grid,.io-grid{grid-template-columns:1fr}}@media (width<=700px){.form-grid{grid-template-columns:1fr}.wide-field{grid-column:auto}.file-drop{flex-direction:column;align-items:flex-start}.history-row{grid-template-columns:28px 1fr}.history-row time{grid-column:2}.data-table{min-width:720px}.request-form,.request-list{padding:14px}}.preference-workspace{border:1px solid var(--line);background:#fff;grid-template-columns:246px minmax(0,1fr);min-height:640px;display:grid}.preference-sidebar{border-right:1px solid var(--line);background:#fafbfb;flex-direction:column;gap:22px;padding:18px;display:flex}.preference-side-section{gap:9px;display:grid}.preference-side-section h3{color:var(--ink);margin:0;font-size:19px}.preference-label{color:var(--muted);gap:6px;font-size:11px;font-weight:700;display:grid}.preference-label select{border:1px solid var(--line);height:36px;color:var(--ink);font:inherit;background:#fff;padding:0 8px}.preference-stat{border-top:1px solid var(--line-soft);color:var(--muted);justify-content:space-between;align-items:center;padding:10px 0;font-size:11px;display:flex}.preference-stat strong{color:var(--ink);font-size:18px}.preference-submit-state{text-align:center;border:1px solid var(--line);padding:8px 10px;font-size:11px;font-weight:700}.preference-submit-state.done{background:var(--green-soft);color:var(--green);border-color:#cfe5d8}.preference-submit-state.draft{background:var(--warning);color:var(--warning-ink);border-color:#eadfbd}.preference-legend{gap:8px;display:grid}.preference-legend>div{color:var(--muted);grid-template-columns:28px 1fr;align-items:center;gap:8px;font-size:11px;display:grid}.preference-legend b{border:1px solid var(--line);height:24px;color:var(--ink);background:#fff;place-items:center;font-size:10px;display:grid}.preference-legend small{color:var(--muted-2);margin-top:2px;font-size:9px;display:block}.preference-side-note{color:var(--muted);border-left:3px solid var(--blue);background:#f3f5f5;margin-top:auto;padding:10px;font-size:10px;line-height:1.7}.preference-main{background:#fff;min-width:0;padding:24px}.preference-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.preference-toolbar h2{color:var(--ink);margin:5px 0 4px;font-size:22px}.preference-toolbar p{color:var(--muted);margin:0;font-size:11px}.preference-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.preference-month{border:1px solid var(--line);color:var(--muted);background:var(--canvas);padding:8px 10px;font-size:11px}.preference-tabs{border-bottom:1px solid var(--line);gap:0;margin:18px 0;display:flex}.preference-tabs button{color:var(--muted);cursor:pointer;background:#fff;border:0;border-bottom:2px solid #0000;padding:10px 16px;font-size:12px;font-weight:700}.preference-tabs button.active{border-bottom-color:var(--blue);color:var(--blue)}.calendar-week-head{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:5px;display:grid}.calendar-week-head span{text-align:center;background:var(--canvas);color:var(--muted);padding:7px;font-size:10px;font-weight:700}.preference-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-empty{background:#fafafa;border:1px solid #f0f1f1;min-height:76px}.preference-day{border:1px solid var(--line-soft);min-height:76px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;flex-direction:column;align-items:flex-start;gap:5px;padding:9px;display:flex}.preference-day:hover,.preference-day.selected{border-color:var(--blue);background:#f5f9fb}.preference-day>span{color:var(--muted);font-size:10px}.preference-day>strong{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:11px;overflow:hidden}.preference-day>small{color:var(--muted-2);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:9px;overflow:hidden}.preference-day.off{background:#fff7f6;border-color:#edd1ce}.preference-day.off>strong{color:var(--danger-ink)}.preference-day.work{background:#f3f8fb;border-color:#c9dce5}.preference-day.work>strong{color:var(--blue)}.preference-day.half{background:#fffaf0;border-color:#eadbb8}.preference-day.half>strong{color:var(--warning-ink)}.preference-editor{border:1px solid var(--line);background:#fafbfb;margin-top:16px;padding:16px}.editor-title{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-bottom:10px;display:flex}.editor-title h3{margin:5px 0 0;font-size:16px}.preference-quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.preference-quick-actions button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;padding:6px 7px;font-size:10px;font-weight:700}.preference-quick-actions button.selected{background:var(--blue);color:#fff;border-color:var(--blue)}.preference-quick-actions button.off{color:var(--danger-ink)}.preference-quick-actions button.off.selected{background:var(--danger-ink);color:#fff;border-color:var(--danger-ink)}.preference-quick-actions button.half{color:var(--warning-ink)}.preference-quick-actions button.half.selected{background:var(--warning-ink);color:#fff;border-color:var(--warning-ink)}.pattern-choice-title{color:var(--muted);margin:15px 0 8px;font-size:10px;font-weight:700}.pattern-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.pattern-choice-grid button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;grid-template-columns:18px 25px 1fr;align-items:center;gap:5px;min-height:34px;padding:5px 6px;display:grid}.pattern-choice-grid button.checked{background:#eef6fa;border-color:#94b8ca}.pattern-choice-grid button>span{border:1px solid var(--line);color:#fff;place-items:center;width:16px;height:16px;font-size:10px;display:grid}.pattern-choice-grid button.checked>span{background:var(--blue);border-color:var(--blue)}.pattern-choice-grid b{color:var(--blue);font-size:10px}.pattern-choice-grid small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:9px;overflow:hidden}.preference-note-label{color:var(--muted);gap:6px;margin-top:13px;font-size:10px;font-weight:700;display:grid}.preference-note-label input{border:1px solid var(--line);height:34px;color:var(--ink);font:inherit;background:#fff;padding:0 8px}.bulk-preference-panel{background:#f4f9fb;border:1px solid #b8ccd7;margin:-4px 0 18px;padding:16px}.bulk-panel-head{justify-content:space-between;align-items:flex-start;margin-bottom:13px;display:flex}.bulk-panel-head>div{gap:4px;display:grid}.bulk-panel-head strong{font-size:14px}.bulk-panel-head span{color:var(--muted);font-size:10px}.bulk-section{border-top:1px solid #dbe8ed;align-items:end;gap:10px;padding:10px 0;display:flex}.bulk-section label{min-width:240px;color:var(--muted);gap:5px;font-size:10px;font-weight:700;display:grid}.bulk-section select,.weekly-row select{border:1px solid var(--line);height:32px;color:var(--ink);font:inherit;background:#fff;padding:0 7px;font-size:11px}.button.secondary{border:1px solid var(--blue);min-height:32px;color:var(--blue);cursor:pointer;background:#fff;padding:0 10px;font-size:10px;font-weight:700}.weekly-bulk{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.weekly-bulk>strong{color:var(--muted);grid-column:1/-1;font-size:10px}.weekly-row{grid-template-columns:24px 1fr 1fr;align-items:center;gap:7px;display:grid}.weekly-row b{color:var(--ink);font-size:11px}.weekly-bulk>.button{justify-self:start}.confirmed-calendar-head{background:var(--canvas);border:1px solid var(--line);justify-content:space-between;gap:10px;padding:10px 12px;font-size:12px;font-weight:700;display:flex}.confirmed-calendar-head span{color:var(--muted);font-size:10px;font-weight:400}.confirmed-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:8px;display:grid}.confirmed-day{border:1px solid var(--line-soft);text-align:left;cursor:pointer;background:#fff;gap:4px;padding:10px;display:grid}.confirmed-day:hover{border-color:var(--blue);background:#f5f9fb}.confirmed-day span,.confirmed-day small{color:var(--muted);font-size:9px}.confirmed-day strong{color:var(--blue);font-size:16px}.target-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:7px;display:grid}.target-grid label{color:var(--muted);gap:4px;font-size:9px;font-weight:700;display:grid}.target-grid input{border:1px solid var(--line);width:100%;height:30px;color:var(--ink);font:inherit;text-align:center;background:#fff;padding:0 6px}.compact-input{border:1px solid var(--line);width:64px;height:29px;color:var(--ink);font:inherit;background:#fff;padding:0 5px}.data-table input,.data-table select{border:1px solid var(--line);max-width:180px;height:30px;color:var(--ink);font:inherit;background:#fff;padding:0 6px;font-size:10px}.data-table input[type=checkbox]{width:16px;height:16px}@media (width<=900px){.target-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (width<=620px){.target-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.data-table-wrap{overflow-x:auto}.data-table{min-width:880px}}@media (width<=900px){.preference-workspace{grid-template-columns:1fr}.preference-sidebar{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.preference-side-note{grid-column:1/-1;margin-top:0}.pattern-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.confirmed-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=620px){.preference-main{padding:14px}.preference-toolbar{display:grid}.preference-toolbar-actions{justify-content:flex-start}.preference-sidebar{grid-template-columns:1fr}.preference-calendar,.calendar-week-head{gap:3px}.preference-day{min-height:68px;padding:6px}.preference-day>strong{font-size:9px}.preference-day>small{display:none}.preference-quick-actions,.pattern-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bulk-section{flex-direction:column;align-items:stretch}.bulk-section label{min-width:0}.weekly-bulk{display:grid}.confirmed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.confirmed-calendar-head{display:grid}}
