@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-vietnamese-700-normal-Dm7RZTvf.woff2)format("woff2"),url(./barlow-semi-condensed-vietnamese-700-normal-BvUTSFNY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2)format("woff2"),url(./barlow-semi-condensed-latin-ext-700-normal-C0vCoZIV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(./barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(./barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html,body,#root{min-height:100%;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif}:root{--bg:#f4f6f8;--panel:#fff;--panel-2:#eef2f6;--border:#d7dde3;--hairline:#edf0f3;--subtle:#fafafa;--hover:#eef2f6;--text:#1f2937;--muted:#6b7280;--accent:#2563eb;--accent-dark:#1d4ed8;--danger:#dc2626;--danger-dark:#b91c1c;--green:#16a34a;--warn:#b45309;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:Segoe UI,system-ui,-apple-system,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--bg:#0b1220;--panel:#141b2c;--panel-2:#1b2438;--border:#29344a;--hairline:#253046;--subtle:#101827;--hover:#1e2942;--text:#e5e9f0;--muted:#93a1b8;--accent:#3b82f6;--accent-dark:#60a5fa;--danger:#f87171;--danger-dark:#fca5a5;--green:#4ade80;--warn:#fbbf24}}:root[data-theme=dark]{--bg:#0b1220;--panel:#141b2c;--panel-2:#1b2438;--border:#29344a;--hairline:#253046;--subtle:#101827;--hover:#1e2942;--text:#e5e9f0;--muted:#93a1b8;--accent:#3b82f6;--accent-dark:#60a5fa;--danger:#f87171;--danger-dark:#fca5a5;--green:#4ade80;--warn:#fbbf24}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}select option{background-color:var(--panel);color:var(--text)}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{color:#fff;background:#0f172a;flex-wrap:wrap;align-items:center;gap:24px;padding:10px 20px;display:flex}.app-title{letter-spacing:.3px;white-space:nowrap;font-size:18px;font-weight:700}.app-title small{color:#94a3b8;font-size:11px;font-weight:400;display:block}.app-brand{align-items:center;gap:10px;display:flex}.brand-mark{color:#334155;flex:none}.brand-name{letter-spacing:.2px;padding-bottom:.16em;font-family:Barlow Semi Condensed,Segoe UI,system-ui,sans-serif;font-size:24px;line-height:1;display:block}.brand-up{color:#facc15}.shift-chooser-card .app-brand{flex-direction:column;gap:8px}.shift-chooser-card .brand-mark{color:var(--text)}.shift-chooser-card .brand-name{font-size:34px}.shift-chooser-card .brand-up{color:var(--warn)}.tabs{flex:1;gap:4px;display:flex}.tab-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:6px 6px 0 0;padding:10px 16px;font-size:14px;font-weight:500}.tab-btn:hover{background:#ffffff14}.tab-btn.active{background:var(--bg);color:var(--text)}.shift-picker{color:#94a3b8;white-space:nowrap;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.shift-picker select{color:#fff;cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:6px;padding:6px 10px;font-size:13px;font-weight:600}.shift-chooser{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.shift-chooser-card{background:var(--panel);border:1px solid var(--border);text-align:center;border-radius:12px;width:100%;max-width:440px;padding:32px}.shift-chooser-card .app-title{color:var(--text);margin-bottom:20px}.shift-chooser-card h1{margin:0 0 20px;font-size:18px}.shift-chooser-options{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.shift-chooser-options .btn{padding:12px;font-size:15px}.shift-chooser-hint{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.unlock-card{text-align:left}.unlock-card .app-title,.unlock-card h1{text-align:center}.unlock-step{color:var(--text);margin:0 0 8px;font-size:14px;font-weight:600;display:block}.unlock-card .shift-chooser-options .btn.unlock-shift:not(.primary){background:var(--panel-2)}.unlock-password-row{gap:8px;margin-bottom:12px;display:flex}.unlock-password-row input{border:1px solid var(--border);background:var(--panel);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:10px 12px;font-size:16px}.unlock-password-row input:focus{outline:2px solid var(--accent);outline-offset:1px}.unlock-remember{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin:0 0 14px;font-size:14px;display:flex}.unlock-remember input{width:16px;height:16px;accent-color:var(--accent);margin:0}.unlock-remember:has(input:disabled){opacity:.45;cursor:not-allowed}.unlock-error{border-left:4px solid var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--panel));color:var(--text);border-radius:6px;margin:0 0 12px;padding:8px 12px;font-size:13px}.unlock-submit{width:100%;margin-bottom:16px;padding:12px;font-size:15px;font-weight:600}.shift-current{color:#fff;font-size:13px;font-weight:700}.shift-current small{color:#94a3b8;font-size:11px;font-weight:400;display:block}.app-header .lock-btn{color:#e2e8f0;background:#1e293b;border-color:#334155}.app-header .lock-btn:hover{background:#334155}.sync-banner{border-bottom:1px solid color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 14%, var(--panel));color:var(--text);padding:8px 20px;font-size:13px;font-weight:600}@media print{.sync-banner{display:none!important}}.toolbar{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn:hover{background:var(--hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-dark)}.btn.danger{background:var(--panel);border-color:var(--danger);color:var(--danger)}.btn.danger:hover{background:var(--danger);color:#fff}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn.danger-solid:hover{background:var(--danger-dark);border-color:var(--danger-dark)}.btn.small{padding:3px 8px;font-size:12px}.btn.toggle{min-width:28px;font-weight:700}.btn.toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.toolbar-dark .btn{color:#e2e8f0;background:#1e293b;border-color:#334155}.toolbar-dark .btn:hover{background:#334155}.print-menu{display:inline-flex;position:relative}.print-menu .print-menu-main{border-top-right-radius:0;border-bottom-right-radius:0}.print-menu .print-menu-caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:6px 9px}.print-menu-list{z-index:900;border:1px solid var(--border);background:var(--panel);border-radius:8px;min-width:300px;max-width:calc(100vw - 32px);padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #0000004d}.print-menu-item{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.print-menu-item:hover,.print-menu-item:focus-visible{background:var(--hover);outline:none}.print-menu-item:disabled{opacity:.5;cursor:not-allowed}.print-menu-title{font-size:14px;font-weight:600}.print-menu-check{color:var(--accent)}.print-menu-note{color:var(--muted);font-size:12px}.print-menu-warn{color:var(--warn);font-weight:600}.app-main{flex:1;width:100%;max-width:1500px;margin:0 auto;padding:20px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:18px;padding:16px}.panel h2{margin:0 0 12px;font-size:16px}.panel-hint{color:var(--muted);margin:-8px 0 12px;font-size:12px}.legend{color:var(--muted);background:var(--subtle);border:1px dashed var(--border);border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:12.5px;line-height:1.6}.legend .swatch{vertical-align:middle;border-radius:3px;width:12px;height:12px;margin-right:5px;display:inline-block}.scheduled-lines-grid{flex-wrap:wrap;gap:8px 10px;display:flex}.scheduled-line-item{border:1px solid var(--border);background:var(--panel);border-radius:8px;align-items:center;gap:10px;padding:5px 6px 5px 10px;display:flex}.scheduled-line-item.has-ready{border-color:color-mix(in srgb, #15803d 55%, var(--border));background:color-mix(in srgb, #15803d 8%, var(--panel))}.scheduled-line-item.has-pm{border-color:color-mix(in srgb, #1d4ed8 55%, var(--border));background:color-mix(in srgb, #1d4ed8 8%, var(--panel))}.scheduled-line-item.has-ot{border-color:color-mix(in srgb, #eab308 70%, var(--border));background:color-mix(in srgb, #facc15 14%, var(--panel))}.status-toggle{gap:3px;display:inline-flex}.status-toggle-btn{border:1px solid var(--border);color:var(--muted);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border-radius:4px;padding:4px 7px;font-size:10.5px;font-weight:700;line-height:1}.status-toggle-btn:hover{border-color:var(--muted);color:var(--text)}.status-toggle-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.status-toggle-btn.status-ready.active{color:#fff;background:#15803d;border-color:#15803d}.status-toggle-btn.status-pm.active{color:#fff;background:#1d4ed8;border-color:#1d4ed8}.status-toggle-btn.status-ot.active{color:#111827;background:#facc15;border-color:#ca8a04}.status-toggle-dark .status-toggle-btn{color:#ffffffbf;border-color:#ffffff59}.status-toggle-dark .status-toggle-btn:hover{color:#fff;border-color:#fffc}.status-toggle-dark .status-toggle-btn.active{color:#fff;border-color:#fff}.scheduled-line-checkbox{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.hide-columns-grid{flex-wrap:wrap;gap:8px 18px;margin-bottom:12px;display:flex}.hide-column-checkbox{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.print-preview-wrap{border:1px solid var(--border);background:#fff;border-radius:6px;padding:14px;overflow-x:auto}.line-group{border:1px solid var(--border);border-radius:8px;margin-bottom:22px;overflow:hidden}.line-group-header{color:#fff;background:#1e293b;align-items:center;gap:10px;padding:8px 12px;display:flex}.line-group-header input.line-name-input{color:#fff;background:0 0;border:1px solid #0000;border-radius:4px;width:160px;padding:3px 6px;font-size:14px;font-weight:700}.line-group-header input.line-name-input:hover,.line-group-header input.line-name-input:focus{background:#ffffff14;border-color:#64748b}.line-group-header.line-ready{background:#14532d}.line-group-header.line-pm{background:#1e3a8a}.line-group-header.line-ot{color:#111827;background:#facc15}.line-group-header.line-ot input.line-name-input{color:#111827}.line-group-header.line-ot .status-toggle-dark .status-toggle-btn{color:#111827bf;border-color:#11182759}.line-group-header.line-ot .status-toggle-dark .status-toggle-btn:hover,.line-group-header.line-ot .status-toggle-dark .status-toggle-btn.active{color:#111827;border-color:#111827}.schedule-table-wrap{overflow-x:auto}table.schedule{border-collapse:collapse;width:100%;font-size:12.5px}table.schedule th{background:var(--panel-2);text-align:left;border-bottom:2px solid var(--border);white-space:nowrap;padding:6px 8px;position:sticky;top:0}table.schedule td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:4px 6px}table.schedule input,table.schedule select{width:100%;color:var(--text);background:0 0;border:1px solid #0000;border-radius:4px;padding:3px 4px;font-size:12.5px}table.schedule input:hover,table.schedule select:hover{border-color:var(--border)}table.schedule input:focus,table.schedule select:focus{border-color:var(--accent);background:var(--panel);color:var(--text);outline:none}table.schedule input.num{text-align:right}table.schedule input::placeholder{color:var(--muted,#6b7280);opacity:1;font-style:italic}table.schedule input.count-changed{font-weight:700;color:red!important}td.computed{color:#1f2937;text-align:right;white-space:nowrap;background:#fff9db;font-weight:600}.progress-cell{align-items:center;gap:6px;display:flex}.progress-track{border:1px solid var(--border);background:#fff;border-radius:3px;flex:1;min-width:40px;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#2e7d32,#66bb6a);height:100%}.progress-text{white-space:nowrap;color:#1f2937;text-align:right;min-width:36px;font-size:11px;font-weight:700}.progress-empty{color:var(--muted)}td.changeover{text-align:center;white-space:nowrap;font-weight:600}.chg-S1{color:var(--green)}.chg-S1-Count-Change{color:#b45309}.chg-S3{color:#7c3aed}.chg-S4{color:var(--danger)}tr.hl-allergen{background:#f8cbad}tr.hl-oil{background:#fff2cc}tr.hl-bulk{background:#bdd7ee}tr.hl-allergen td,tr.hl-oil td,tr.hl-bulk td,tr.hl-allergen input,tr.hl-oil input,tr.hl-bulk input,tr.hl-allergen select,tr.hl-oil select,tr.hl-bulk select{color:#1f2937}.row-actions{white-space:nowrap;gap:4px;display:flex}.line-group-footer{background:var(--subtle);padding:8px 12px}.new-line-bar{align-items:center;gap:8px;display:flex}.new-line-bar input{border:1px solid var(--border);border-radius:6px;width:220px;padding:6px 10px;font-size:13px}.empty-state{text-align:center;color:var(--muted);padding:30px 10px}.board-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.board-toolbar select,.board-toolbar input[type=date],.board-toolbar input[type=text]{border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:13px}.stale-board-banner{background:#f59e0b1f;border:1px solid #f59e0b;border-left:4px solid #d97706;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.stale-board-banner>div{flex:320px}.sections-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.section-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:10px 12px}.section-card .section-title{gap:6px;margin-bottom:8px;display:flex}.section-card .section-title input{border:1px solid #0000;border-radius:4px;flex:1;padding:2px 4px;font-size:13.5px;font-weight:700}.section-card .section-title input:hover{border-color:var(--border)}.section-item-row{gap:6px;margin-bottom:6px;display:flex}.section-item-row input{border:1px solid var(--border);border-radius:4px;flex:1;padding:4px 6px;font-size:12.5px}table.roster{border-collapse:collapse;width:100%;font-size:12.5px}table.roster th{background:var(--panel-2);border-bottom:2px solid var(--border);white-space:nowrap;text-align:left;padding:6px 8px}table.roster td{border-bottom:1px solid var(--hairline);padding:4px 6px}table.roster input,table.roster select{background:0 0;border:1px solid #0000;border-radius:4px;width:100%;padding:3px 4px;font-size:12.5px}table.roster input:hover,table.roster select:hover{border-color:var(--border)}table.roster select{text-align:center}.mark-✓{color:var(--green);font-weight:700}.mark-Ҳ{color:#94a3b8}.mark-NEXT{color:#b45309;font-weight:700}.mark-IP{color:#2563eb;font-weight:700}.mark-PAUSED,.mark-X{color:var(--danger);font-weight:700}.team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;margin-top:10px;display:grid}.team-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:10px 12px}.team-card h3{margin:0 0 8px;font-size:13.5px}.team-card ul{margin:0;padding-left:18px;font-size:12.5px}.restricted-badge{color:#b91c1c;background:#fee2e2;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:10px}.toolbar-footer{color:var(--muted);text-align:center;padding:14px 20px;font-size:11.5px}@media (width<=720px){.app-header{flex-direction:column;align-items:stretch}.tabs{order:2}.toolbar{order:3;justify-content:flex-start}}.print-root{display:none}.print-root.measuring{visibility:hidden;pointer-events:none;display:block;position:fixed;top:0;left:-99999px}@media print{@page{size:landscape;margin:10mm}.print-root,.print-root *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}.no-print,.app-header,.app-main,.toolbar-footer{display:none!important}body{background:#fff!important}.print-root{display:block}.print-root>.print-slot{display:none}body.printing-schedule .print-root>.print-slot-schedule,body.printing-assignments .print-root>.print-slot-assignments{display:block}.print-root>.print-slot-assignments{page:assignments}.print-root>.print-slot-schedule{page:schedule}.print-root>.print-slot+.print-slot{break-before:page}}.print-table{table-layout:fixed;border-collapse:collapse;color:#000;width:100%;font-family:Calibri,Arial,sans-serif;font-size:9pt}.print-title-row{text-align:center;font-size:var(--sched-title-size,16pt);color:#000;background:#fff;border:none;padding:4px 0 8px;font-weight:700}.print-title-date{color:#444;font-size:9pt;font-weight:400;display:block}.print-col-headers th{background:var(--sched-header-fill,#d9d9d9);font-size:var(--sched-header-size,6.5pt);text-transform:uppercase;text-align:left;border:1px solid #000;padding:2px 3px;position:relative}.col-resize-handle{width:14px;height:var(--resize-h,100%);cursor:col-resize;z-index:3;touch-action:none;position:absolute;top:0;right:-7px}.col-resize-handle:after{content:"";background:var(--accent,#2563eb);opacity:0;width:2px;transition:opacity .12s;position:absolute;top:0;bottom:0;left:6px}.print-table:hover .col-resize-handle:after{opacity:.25}.col-resize-handle:hover:after,.col-resize-handle.active:after{opacity:1}.col-resize-tip{background:var(--accent,#2563eb);color:#fff;white-space:nowrap;pointer-events:none;border-radius:4px;padding:1px 6px;font:600 11px/18px system-ui,sans-serif;position:absolute;top:-22px;left:50%;transform:translate(-50%)}.print-preview-body{margin-top:12px}.print-col-headers th.col-movable{cursor:grab}.print-col-headers th.col-movable:active{cursor:grabbing}.print-col-headers th.col-drop-before{box-shadow:inset 4px 0 0 var(--accent,#2563eb)}.print-col-headers th.col-drop-after{box-shadow:inset -4px 0 0 var(--accent,#2563eb)}.print-preview-tools{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}@media print{.col-resize-handle{display:none}}.print-table tbody td{font-size:var(--sched-text-size,7pt);white-space:nowrap;text-overflow:ellipsis;color:#000;border:1px solid #000;padding:1px 3px;overflow:hidden}.print-left{text-align:left;white-space:normal;text-overflow:clip;overflow:visible}.print-num{text-align:right}.print-formula-col{background:var(--sched-formula-fill,#fff9db)}.print-progress-cell{white-space:nowrap}.print-progress-cell .progress-cell{gap:2px}.print-progress-cell .progress-track{background:#fff;border-color:#000;min-width:20px;height:6pt}.print-progress-cell .progress-text{color:#000;min-width:18px;font-size:6pt}.print-progress-cell .progress-empty{color:#000}td.print-count-changed{font-weight:700;color:var(--sched-count-changed,red)!important}tr.print-hl-allergen td{background:var(--sched-allergen,#f8cbad)}tr.print-hl-oil td{background:var(--sched-oil,#fff2cc)}tr.print-hl-bulk td{background:var(--sched-bulk,#bdd7ee)}.print-table td.print-line-cell{vertical-align:middle;text-align:center;white-space:normal;border-bottom:3px solid var(--sched-divider,navy);background:#fff}.print-line-name{font-weight:700;font-size:calc(var(--sched-text-size,7pt) * 1.1);white-space:nowrap;line-height:1.2;display:block}.print-status-tag{font-weight:700;font-size:calc(var(--sched-text-size,7pt) * .95);letter-spacing:.04em;border-radius:2px;margin-top:2px;padding:0 4px;line-height:1.4;display:inline-block}.print-table td.print-line-ready{background:color-mix(in srgb, var(--sched-ready,#15803d) 16%, #fff)}.print-line-ready .print-status-tag{background:var(--sched-ready,#15803d);color:var(--sched-ready-text,#fff)}.print-table td.print-line-pm{background:color-mix(in srgb, var(--sched-pm,#1d4ed8) 16%, #fff)}.print-line-pm .print-status-tag{background:var(--sched-pm,#1d4ed8);color:var(--sched-pm-text,#fff)}.print-table td.print-line-ot{background:color-mix(in srgb, var(--sched-ot,#facc15) 16%, #fff)}.print-line-ot .print-status-tag{background:var(--sched-ot,#facc15);color:var(--sched-ot-text,#000)}.print-line-group{break-inside:avoid}tr.print-divider td{border-bottom:3px solid var(--sched-divider,navy)}tr.print-line-scheduled:not(.print-merged) td:first-child,tr.print-line-scheduled td.print-line-cell{border-left:6px solid var(--sched-scheduled,#00c805)}tr.print-line-scheduled td:last-child{border-right:6px solid var(--sched-scheduled,#00c805)}tr.print-line-scheduled-first td{border-top:6px solid var(--sched-scheduled,#00c805)}tr.print-line-scheduled-last td,tr.print-line-scheduled td.print-line-cell{border-bottom:6px solid var(--sched-scheduled,#00c805)}tr.print-line-spacer td{border:none;height:22px;padding:0}.print-schedule.sched-modern tr.print-line-spacer{display:none}.print-schedule.sched-modern .print-title-row{text-align:left;padding:0 2px 6px}.print-schedule.sched-modern .print-title-date{float:right;margin-top:.6em;display:inline-block}.print-schedule.sched-modern .print-col-headers th{vertical-align:bottom;letter-spacing:.02em;padding:3px}.print-schedule.sched-modern .print-table td[data-col]{font-variant-numeric:tabular-nums}.print-schedule.sched-modern .print-table td[data-col=changeover]{text-align:center;font-weight:700}.print-schedule.sched-modern .print-progress-cell .progress-track{border-color:#9aa3af;border-radius:3px}.print-schedule.sched-style-clean .print-col-headers th{color:#1f2937;border:1px solid #c3cad4;border-bottom:2px solid #1f2937}.print-schedule.sched-style-clean .print-table tbody td{border:1px solid #cfd5dd}.print-schedule.sched-style-clean .print-table td.print-line-cell:not(.print-line-ready,.print-line-pm,.print-line-ot){background:#f5f7fa}.print-schedule.sched-style-clean .print-table td.print-line-cell,.print-schedule.sched-style-clean tr.print-divider td{border-bottom:2px solid var(--sched-divider,navy)}.print-schedule.sched-style-bands tbody tr:nth-child(2n):not(.print-hl-allergen,.print-hl-oil,.print-hl-bulk) td:not(.print-line-cell,.print-formula-col){background:#f2f4f7}.print-schedule.sched-style-striped tbody tr:nth-child(2n):not(.print-hl-allergen,.print-hl-oil,.print-hl-bulk) td:not(.print-line-cell,.print-formula-col){background:#edf2f8}.print-schedule.sched-style-bands .print-col-headers th{color:var(--sched-divider,navy);border:none;border-bottom:2px solid var(--sched-divider,navy);background:#fff}.print-schedule.sched-style-bands .print-table tbody td{border:none;border-bottom:1px solid #e1e5eb}.print-schedule.sched-style-bands .print-table td.print-line-cell{background:var(--sched-divider,navy);color:var(--sched-divider-text,#fff);border:none;border-bottom:3px solid #fff}.print-schedule.sched-style-bands tr.print-divider td:not(.print-line-cell){border-bottom:1.5px solid var(--sched-divider,navy)}.print-schedule.sched-style-bands tr.print-line-scheduled td.print-line-cell{background:var(--sched-scheduled-band,#008c04);color:var(--sched-scheduled-band-text,#fff)}.print-schedule.sched-style-bands tr.print-line-scheduled td:last-child{border-right:none}.print-schedule.sched-style-bands tr.print-line-scheduled-first td{border-top:none}.print-schedule.sched-style-bands tr.print-line-scheduled-last td:not(.print-line-cell){border-bottom:1.5px solid var(--sched-scheduled-band,#008c04)}.print-schedule.sched-style-bands tr.print-line-scheduled:not(.print-merged) td:first-child{border-left:4px solid var(--sched-scheduled,#00c805)}.print-schedule.sched-style-bands .print-line-name{font-size:calc(var(--sched-text-size,7pt) * 1.2);letter-spacing:.03em}.print-schedule.sched-style-bands tr.print-line-scheduled .print-line-name:before{content:"✓ "}.print-schedule.sched-style-bands .print-status-tag{box-shadow:0 0 0 1px #fff}.print-schedule.sched-style-striped .print-col-headers th{background:var(--sched-divider,navy);color:var(--sched-divider-text,#fff);border:1px solid var(--sched-divider,navy);border-left-color:color-mix(in srgb, var(--sched-divider,navy) 70%, #fff);border-right-color:color-mix(in srgb, var(--sched-divider,navy) 70%, #fff)}.print-schedule.sched-style-striped .print-table tbody td{border:1px solid #d3d9e1}.print-schedule.sched-style-striped .print-table td.print-line-cell,.print-schedule.sched-style-striped tr.print-divider td{border-bottom:2px solid var(--sched-divider,navy)}.print-schedule:is(.sched-style-clean,.sched-style-striped) tr.print-line-scheduled td.print-line-cell,.print-schedule:is(.sched-style-clean,.sched-style-striped) tr.print-line-scheduled:not(.print-merged) td:first-child{border-left:3px solid var(--sched-scheduled,#00c805)}.print-schedule:is(.sched-style-clean,.sched-style-striped) tr.print-line-scheduled td:last-child{border-right:3px solid var(--sched-scheduled,#00c805)}.print-schedule:is(.sched-style-clean,.sched-style-striped) tr.print-line-scheduled-first td{border-top:3px solid var(--sched-scheduled,#00c805)}.print-schedule:is(.sched-style-clean,.sched-style-striped) tr.print-line-scheduled-last td,.print-schedule:is(.sched-style-clean,.sched-style-striped) tr.print-line-scheduled td.print-line-cell{border-bottom:3px solid var(--sched-scheduled,#00c805)}.holiday-title{justify-content:space-between;align-items:center;gap:4px 14px;display:flex}.holiday-heading{align-items:center;gap:3px;display:inline-flex}.holiday-heading svg{flex:none;width:.95em;height:.95em}.holiday-title-text{color:var(--sched-divider,navy);margin:0 5px}.holiday-sub{align-items:baseline;gap:14px;display:inline-flex}.holiday-greeting{color:var(--holiday-greeting);font-size:.8em;font-style:italic}.print-schedule .holiday-sub .print-title-date{float:none;margin:0;display:inline}.print-schedule.sched-style-classic .holiday-title{flex-direction:column}.holiday-strip{justify-content:space-between;height:11px;margin-top:5px;display:flex;overflow:hidden}.holiday-strip svg{flex:none;width:11px;height:11px}.holiday-scene-full,.holiday-scene-small{break-inside:avoid;display:none;position:relative}.holiday-scene svg{display:block;position:absolute}.print-schedule[data-scene=full] .holiday-scene-full{height:64px;margin-top:16px;display:block}.print-schedule[data-scene=small] .holiday-scene-small{height:24px;margin-top:8px;display:block}.print-assign-title{background:var(--print-title-color,#1f3864);color:#fff;text-align:center;padding:10px 6px;font-size:20pt;font-weight:700}.print-assign-banner{background:var(--print-banner-color,#d9e2f3);align-items:center;gap:12px;padding:10px 12px;display:flex}.print-assign-banner-minimal{justify-content:space-between}.print-assign-banner-date{color:var(--print-title-color,#1f3864);white-space:nowrap;font-size:10pt;font-weight:700}.print-assign-banner-safety{text-align:center;color:var(--print-banner-text-color,#bf9000);flex:1;font-size:13pt;font-weight:700}.print-assign-banner-leader{color:var(--print-title-color,#1f3864);white-space:nowrap;font-size:10pt;font-weight:700}.print-assign-band-row{color:#000;gap:6px;margin-top:8px;font-family:Calibri,Arial,sans-serif;display:flex}.print-assign-col{flex-direction:column;flex:1;min-width:0;display:flex}.print-layout-canvas{color:#000;width:100%;margin-top:8px;font-family:Calibri,Arial,sans-serif;position:relative}.print-assign-col-absolute{flex-direction:column;display:flex;position:absolute;overflow:hidden}.print-assign-name{padding:6px 8px;font-size:13pt;font-weight:700}.print-assign-status,.print-assign-note{text-align:center;padding:3px 4px;font-size:8pt;font-weight:700}.print-assign-scheduled.print-assign-name{background:var(--print-scheduled-color,#1f3864);color:#fff}.print-assign-scheduled.print-assign-status{background:color-mix(in srgb, var(--print-scheduled-color,#1f3864) 55%, white);color:#fff}.print-assign-scheduled.print-assign-note{background:color-mix(in srgb, var(--print-scheduled-color,#1f3864) 80%, white);color:#fff}.print-assign-not-scheduled.print-assign-name,.print-assign-not-scheduled.print-assign-status{background:var(--print-not-scheduled-color,#8c8c8c);color:#fff}.print-assign-not-scheduled.print-assign-note{background:color-mix(in srgb, var(--print-not-scheduled-color,#8c8c8c) 55%, white);color:#404040}.print-assign-pm.print-assign-name{background:var(--print-not-scheduled-color,#8c8c8c);color:#fff}.print-assign-pm.print-assign-status{background:var(--print-pm-color,#2e75b6);color:#fff}.print-assign-pm.print-assign-note{background:color-mix(in srgb, var(--print-not-scheduled-color,#8c8c8c) 55%, white);color:#404040}.print-assign-names{flex-direction:column;display:flex}.print-assign-name-row{text-align:center;padding:3px 4px;font-size:10pt}.print-assign-name-row:nth-child(2n){background:#f2f2f2}.print-assign-name-row.print-assign-role-leader{background:var(--print-leader-color,#005426);color:#fff;font-weight:700}.print-assign-name-row.print-assign-role-mll{background:var(--print-mll-color,#002060);color:#fff;font-weight:700}.print-assign-name-row.print-assign-role-mlt{background:var(--print-mlt-color,#002060);color:#fff;font-weight:700}.print-assign-room-row{margin-top:14px}.print-assign-room-header{color:#fff;text-align:left;background:#44546a;padding:6px 8px;font-size:10.5pt;font-weight:700}.print-design-toggle{cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;display:flex}.print-design-toggle span{color:var(--muted);font-size:13px}.print-design-body{flex-direction:column;gap:14px;margin-top:14px;display:flex}.print-design-row{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.print-design-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.print-scale-field input{width:80px}.print-scale-slider{width:200px;accent-color:var(--accent);margin-bottom:8px}.holiday-dates{color:var(--muted);margin:6px 0 0;font-size:11.5px;line-height:1.45}.print-scale-hint{color:var(--muted);flex:260px;padding-bottom:7px;font-size:12px}.print-design-field select,.print-design-field input[type=text],.print-design-field input[type=number]{border:1px solid var(--border);color:var(--text);background:var(--panel);border-radius:6px;padding:6px 10px;font-size:13px}.print-design-checkbox{color:var(--text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:flex}.design-choices{grid-template-columns:repeat(auto-fit,minmax(210px,270px));gap:10px;display:grid}.design-choice{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:8px;grid-template-rows:auto 1fr;grid-template-columns:auto 1fr;align-items:start;gap:2px 10px;padding:8px 10px;display:grid;position:relative}.design-choice:hover{border-color:var(--accent,#2563eb)}.design-choice.selected{border-color:var(--accent,#2563eb);box-shadow:0 0 0 1px var(--accent,#2563eb)}.design-choice:has(input:focus-visible){outline:2px solid var(--accent,#2563eb);outline-offset:2px}.design-choice input{opacity:0;pointer-events:none;position:absolute}.design-choice .design-thumb{grid-row:span 2}.design-choice-name{color:var(--text);font-size:13px;font-weight:600}.design-choice-note{color:var(--muted);font-size:11.5px;line-height:1.3}.design-thumb{background:#fff;border-radius:4px;flex-direction:column;width:58px;height:44px;padding:4px;display:flex;box-shadow:inset 0 0 0 1px #d1d5db}.design-thumb .dt-head{background:#d9d9d9;height:5px}.design-thumb .dt-group{flex:2;min-height:0;display:flex}.design-thumb .dt-group.dt-scheduled{flex:3}.design-thumb .dt-line{width:12px}.design-thumb .dt-rows{flex-direction:column;flex:1;display:flex}.design-thumb .dt-rows span{border-bottom:1px solid #cfd5dd;flex:1}.design-thumb-classic .dt-head{border:1px solid #000}.design-thumb-classic .dt-group{border:1px solid #000;margin-top:3px}.design-thumb-classic .dt-line{border-right:1px solid #000}.design-thumb-classic .dt-rows span{border-color:#000}.design-thumb-classic .dt-scheduled{box-shadow:0 0 0 2px #00c805}.design-thumb-clean .dt-group{border-bottom:1px solid navy}.design-thumb-clean .dt-line{background:#f1f3f6;border-right:1px solid #cfd5dd}.design-thumb-clean .dt-scheduled{box-shadow:0 0 0 1px #00c805}.design-thumb-bands .dt-head{background:#fff;border-bottom:1px solid navy}.design-thumb-bands .dt-group{margin-top:1px}.design-thumb-bands .dt-line{background:navy}.design-thumb-bands .dt-scheduled .dt-line{background:#008c04}.design-thumb-bands .dt-rows span{border-color:#e1e5eb}.design-thumb-bands .dt-rows span:nth-child(2n),.design-thumb-striped .dt-rows span:nth-child(2n){background:#e8ecf2}.design-thumb-striped .dt-head{background:navy}.design-thumb-striped .dt-line{border-right:1px solid #d3d9e1}.design-thumb-striped .dt-group{border-bottom:1px solid navy}.design-thumb-striped .dt-scheduled{box-shadow:0 0 0 1px #00c805}.print-design-subhead{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:600}.print-design-subhead span{color:var(--muted);margin-top:2px;font-weight:400;display:block}.print-title-fields{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 12px;display:grid}.print-title-name,.print-title-fields input[type=text]{text-transform:uppercase}.print-design-colors{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.color-field{color:var(--text);align-items:center;gap:8px;font-size:12.5px;display:flex}.color-field input[type=color]{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;width:32px;height:32px;padding:0}.snap-guide{pointer-events:none;z-index:5;background:#ff3b8d;position:absolute}.snap-guide-v{width:1px;top:0;bottom:0}.snap-guide-h{height:1px;left:0;right:0}.layout-box-resize{cursor:nwse-resize;z-index:3;background:#00000059;border-top-left-radius:4px;width:14px;height:14px;position:absolute;bottom:0;right:0}.name-multiselect{border-radius:6px;margin-top:4px;transition:background-color .1s}.name-multiselect-drag-over{background:color-mix(in srgb, var(--accent) 15%, transparent);outline:2px dashed var(--accent);outline-offset:2px}.name-chip[draggable=true]{cursor:grab}.name-chip[draggable=true]:active{cursor:grabbing}.name-chips{flex-wrap:wrap;gap:4px;min-height:22px;margin-bottom:4px;display:flex}.name-chips-empty{color:var(--muted);padding:2px 0;font-size:11.5px;font-style:italic}.name-chip{background:var(--panel-2);border:1px solid var(--border);color:var(--text);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 8px;font-size:11.5px;display:inline-flex}.name-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:2px 4px;font-size:11px;line-height:1}.name-chip button:hover{background:var(--hover);color:var(--danger)}.name-add-row{align-items:center;gap:4px;margin-top:4px;display:flex}.name-add-row select,.name-add-row input{flex:1;margin-top:0!important}.name-chip-warn{border-color:var(--warn);background:color-mix(in srgb, var(--warn) 16%, var(--panel-2))}.name-chip-soft{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel-2))}.name-chip-match{outline:2px solid var(--accent);outline-offset:1px}.assign-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:18px;display:grid}.assign-main{min-width:0}@media (width<=1000px){.assign-layout{grid-template-columns:minmax(0,1fr)}}.assign-side{max-height:calc(100vh - 24px);position:sticky;top:12px;overflow-y:auto}@media (width<=1000px){.assign-side{max-height:none;position:static}}.page-editor-wrap{overflow-x:auto}.page-sheet{color:#000;background:#fff;border-radius:6px;min-width:760px;padding:16px;font-family:Calibri,Arial,sans-serif;box-shadow:0 1px 4px #00000040}.page-header,.page-box{cursor:pointer;position:relative}.page-box.print-assign-col-absolute{position:absolute}.page-box:hover{outline-offset:1px;outline:1px dashed #93a4bd}.page-box-warn{outline-offset:1px;outline:2px solid #d97706}.page-box-selected,.page-box-selected:hover{outline-offset:2px;z-index:2;outline:2px solid #2563eb}.page-box-dragover,.page-box-dragover:hover{outline-offset:2px;background:#eff6ff;outline:2px dashed #2563eb}.page-box-dim{opacity:.3}.page-box-badge{color:#1f2937;background:#ffffffe6;border-radius:999px;padding:1px 6px;font-family:Segoe UI,system-ui,sans-serif;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:4px;right:4px}.page-box-badge-warn{color:#92400e;background:#fef3c7}.page-name{cursor:grab;justify-content:center;align-items:center;gap:4px;display:flex;position:relative}.page-name:active{cursor:grabbing}.page-name-flag{font-size:9pt}.page-name-warn{box-shadow:inset 0 0 0 2px #d97706}.page-name-soft{box-shadow:inset 0 0 0 2px #3b82f6}.page-name-match{box-shadow:inset 0 0 0 3px #db2777}.page-name-remove{color:inherit;cursor:pointer;background:#0000002e;border:none;border-radius:999px;padding:0 5px;font-size:10px;line-height:16px;display:none;position:absolute;top:50%;right:3px;transform:translateY(-50%)}.page-name:hover .page-name-remove{display:block}.page-name-remove:hover{color:#fff;background:#dc2626}.page-add-row{padding:4px 2px}.page-add-select{color:#111;background:#fff;border:1px solid #93a4bd;border-radius:4px;width:100%;padding:3px 4px;font-size:11px}.page-add-select option{color:#111;background:#fff}.page-box-grip{color:#fff;cursor:move;touch-action:none;opacity:0;z-index:3;background:#2563ebd9;border-bottom-right-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;display:flex;position:absolute;top:0;left:0}.page-box:hover .page-box-grip,.page-box-selected .page-box-grip{opacity:1}.page-canvas .layout-box-resize{touch-action:none;opacity:0}.page-box:hover .layout-box-resize,.page-box-selected .layout-box-resize{opacity:1}.page-comment{flex:1}.page-empty{text-align:center;color:#6b7280;padding:30px 10px;font-size:13px}.page-unprinted{margin-top:12px}.page-unprinted-row{opacity:.7;border:1px dashed var(--border);background:#fff;border-radius:6px;padding:8px}.inspector h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.inspector-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.inspector-field{color:var(--muted);flex-direction:column;flex:1;gap:3px;min-width:0;margin-bottom:8px;font-size:12px;display:flex}.inspector-row{gap:8px;display:flex}.inspector-field input,.inspector-field select,.inspector-select,.inspector-textarea,.inspector .name-add-row select,.inspector .name-add-row input{border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:5px 8px;font-size:13px}.inspector-select{margin-top:8px}.inspector-textarea{resize:vertical;margin-bottom:8px;font-family:inherit}.inspector-label{color:var(--muted);align-items:center;gap:6px;margin:6px 0 4px;font-size:12px;font-weight:700;display:flex}.inspector-delete{margin-top:12px}.inspector-hint{margin:6px 0 0}.inspector-empty{color:var(--muted);flex-direction:column;gap:4px;font-size:12.5px;display:flex}.inspector-empty strong{color:var(--text)}.inspector-details{border-top:1px solid var(--hairline);margin-top:12px;padding-top:8px}.inspector-details summary{cursor:pointer;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.style-colors{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.style-actions{gap:6px;margin-top:8px;display:flex}.inspector .section-item-row input{background:var(--panel);color:var(--text)}.unassigned-panel h2{align-items:center;gap:8px;display:flex}.unassigned-group{margin-top:12px}.unassigned-group h3{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);align-items:center;gap:6px;margin:0 0 6px;font-size:11.5px;display:flex}.unassigned-list{flex-wrap:wrap;gap:4px;display:flex}.unassigned-person{background:var(--panel-2);border:1px solid var(--border);color:var(--text);cursor:grab;border-radius:8px;flex-direction:column;max-width:100%;padding:3px 8px;font-size:12px;display:inline-flex}.unassigned-person:active{cursor:grabbing}.unassigned-person small{color:var(--muted);font-size:10.5px}.unassigned-out{opacity:.6;cursor:default;border-style:dashed}.unassigned-empty{color:var(--muted);padding:6px 0;font-size:12.5px}.count-badge{background:var(--panel-2);border:1px solid var(--border);text-align:center;min-width:20px;color:var(--text);border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px;display:inline-block}.assign-alert{border:1px solid var(--warn);background:color-mix(in srgb, var(--warn) 12%, var(--panel));border-radius:8px;margin-bottom:12px;padding:8px 10px;font-size:12.5px}.assign-alert strong{color:var(--warn)}.assign-alert ul{margin:4px 0 0;padding-left:18px}.assign-alert-soft{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel))}.assign-alert-soft strong{color:var(--accent)}.line-status-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.assign-search{border:1px solid var(--border);background:var(--panel);max-width:320px;color:var(--text);border-radius:6px;flex:220px;padding:6px 10px;font-size:13px}.search-results{border:1px solid var(--border);background:var(--subtle);border-radius:8px;flex-direction:column;gap:3px;margin:0 0 10px;padding:8px 10px;font-size:12.5px;list-style:none;display:flex}.search-results .search-unplaced{color:var(--warn)}.search-none{color:var(--muted)}.coverage-summary{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;font-size:12.5px;display:flex}.coverage-summary strong{color:var(--text)}.coverage-warn,.coverage-warn strong{color:var(--warn)}.coverage-ok{color:var(--green)}.slot-warnings{color:var(--warn);margin:0 0 4px;padding:0;font-size:11.5px;font-weight:600;list-style:none}.section-item-warn{background:color-mix(in srgb, var(--warn) 12%, transparent);border-color:var(--warn)!important}.section-item-soft{background:color-mix(in srgb, var(--accent) 10%, transparent);border-color:var(--accent)!important}.section-add-row{align-items:center;gap:6px;display:flex}.section-person-picker{border:1px solid var(--border);background:var(--panel);min-width:0;color:var(--text);border-radius:4px;flex:1;padding:4px 6px;font-size:12.5px}.comments-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.comment-card{border:1px solid var(--border);background:var(--panel);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.comment-card-head{gap:6px;display:flex}.comment-title-input{border:1px solid #0000;border-radius:4px;flex:1;padding:2px 4px;font-size:13.5px;font-weight:700}.comment-title-input:hover{border-color:var(--border)}.comment-text-input{border:1px solid var(--border);resize:vertical;border-radius:4px;width:100%;padding:6px 8px;font-family:inherit;font-size:12.5px}.comment-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.comment-field{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.comment-field select,.comment-field input{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:4px;padding:3px 6px;font-size:12.5px}.comment-field-narrow{width:64px}.comment-preview{white-space:pre-wrap;word-break:break-word;border-radius:4px;min-height:36px;padding:10px 12px}.print-comment-box{box-sizing:border-box;white-space:pre-wrap;word-break:break-word;padding:8px 10px;overflow:hidden}.print-assign-comments-row{flex-direction:column;gap:8px;margin-top:14px;display:flex}.print-comment-col-absolute{box-sizing:border-box}.print-comment-col-absolute .print-comment-box{width:100%;height:100%}.time-off-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.time-off-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.time-off-field input,.time-off-field select,.time-off-filter{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:6px 10px;font-size:13px}.time-off-name input{width:220px}.time-off-note{flex:200px}.time-off-cal-head{align-items:center;gap:8px;margin-bottom:8px;display:flex}.time-off-cal-head h2,.time-off-today{margin:0}.time-off-legend{gap:6px;margin-bottom:10px;display:flex}.time-off-chip{color:#fff;white-space:nowrap;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-block}.to-pto{background:#2563eb}.to-loa{background:#7c3aed}.to-callout{background:#ea580c}.to-sick{background:#dc2626}.to-bereavement{background:#475569}.to-other{background:#0f766e}table.time-off-cal{border-collapse:collapse;width:100%;font-size:12px}table.time-off-cal th,table.time-off-cal td{border:1px solid var(--hairline);text-align:center;min-width:46px;padding:4px}table.time-off-cal th{color:var(--muted);font-weight:600;line-height:1.3}table.time-off-cal .time-off-cal-name{text-align:left;white-space:nowrap;min-width:170px;color:var(--text);font-weight:600}.time-off-weekend{background:color-mix(in srgb, var(--muted) 12%, transparent)}th.time-off-is-today{box-shadow:inset 0 -3px 0 var(--accent);color:var(--accent)!important}td.time-off-is-today{background:color-mix(in srgb, var(--accent) 8%, transparent)}.time-off-total{font-weight:700}.time-off-zero{color:var(--muted);font-weight:400}.time-off-empty{color:var(--muted);text-align:center;padding:16px!important}.time-off-days{text-align:center;font-weight:600}.time-off-row-today td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.scheduled-off{border:1px solid var(--border);border-left:3px solid #2563eb;border-radius:8px;margin-bottom:14px;padding:8px 12px;font-size:13px}.scheduled-off ul{margin:6px 0 0;padding-left:18px}.scheduled-off .panel-hint{margin:0}.scheduled-off-range{color:var(--muted)}.call-out-panel{border-left:4px solid #ea580c}.call-out-btn{color:#fff;background:#ea580c;border-color:#ea580c;font-weight:600}.call-out-btn:hover{background:#c2410c}.call-out-today{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font-size:13px;display:flex}.modal-backdrop{z-index:1000;background:#0f172a8c;justify-content:center;align-items:flex-start;padding:5vh 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{border:1px solid var(--border);background:var(--panel);width:min(960px,100%);color:var(--text);border-radius:10px;padding:20px 22px;box-shadow:0 20px 50px #00000059}.modal h2{margin:0 0 4px}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.idle-backdrop{z-index:1100}.idle-dialog{width:min(440px,100%);margin-top:12vh}.idle-dialog h2{font-size:20px}.idle-dialog p{margin:10px 0 0;font-size:14px;line-height:1.5}.co-estimate{white-space:nowrap;color:var(--accent-dark);font-style:italic;font-weight:600}.print-schedule .co-estimate{color:#1d4ed8}.estimate-fields{flex-wrap:wrap;gap:10px 16px;display:flex}.estimate-field{color:var(--text);flex-direction:column;gap:4px;font-size:12px;font-weight:600;display:flex}.estimate-field input,.estimate-field select{border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;border-radius:6px;padding:6px 8px;font-size:14px;font-weight:400}.confirm-dialog{width:min(480px,100%);margin-top:10vh}.confirm-dialog h2{color:var(--danger);text-wrap:balance;font-size:18px}.confirm-body p{margin:10px 0 0;font-size:14px;line-height:1.5}.confirm-label{margin:16px 0 6px;font-size:14px;display:block}.confirm-input{box-sizing:border-box;border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);letter-spacing:1px;border-radius:8px;padding:10px 12px;font-size:16px}.confirm-input:focus{outline:2px solid var(--danger);outline-offset:1px}.import-file{color:var(--muted);overflow-wrap:anywhere;margin:0 0 12px;font-size:13px}.import-status{border-radius:8px;padding:10px 14px;font-size:14px;line-height:1.5}.import-ok{border:1px solid color-mix(in srgb, var(--green) 45%, transparent);background:color-mix(in srgb, var(--green) 12%, var(--panel))}.import-problem{border:1px solid color-mix(in srgb, var(--warn) 55%, transparent);border-left:4px solid var(--warn);background:color-mix(in srgb, var(--warn) 14%, var(--panel))}.import-preview-wrap{margin-top:12px;overflow-x:auto}.import-preview,.import-map{border-collapse:collapse;width:100%;font-size:13px}.import-preview th,.import-preview td,.import-map th,.import-map td{border-bottom:1px solid var(--hairline);text-align:left;white-space:nowrap;padding:5px 8px}.import-preview th,.import-map th{background:var(--panel-2);font-weight:600}.import-preview td:nth-child(5){white-space:normal;min-width:180px}.import-more{color:var(--muted);margin:6px 0 0;font-size:12px}.import-columns-toggle{border:1px dashed var(--border);background:var(--subtle);width:100%;color:var(--accent-dark);font:inherit;text-align:left;cursor:pointer;border-radius:8px;margin-top:14px;padding:9px 12px;font-size:13px;font-weight:600;display:block}.import-columns-toggle:hover{background:var(--hover)}.import-columns{margin-top:10px;overflow-x:auto}.import-columns .panel-hint{margin:0 0 8px}.import-map select{border:1px solid var(--border);background:var(--panel);min-width:190px;color:var(--text);border-radius:6px;padding:4px 6px;font-size:13px}.import-unused td:not(:last-child){color:var(--muted)}.import-col-letter{background:var(--panel-2);min-width:22px;color:var(--muted);text-align:center;border-radius:4px;margin-right:8px;padding:0 5px;font-size:11px;font-weight:600;display:inline-block}.import-example{text-overflow:ellipsis;max-width:260px;color:var(--muted);overflow:hidden}.import-advanced{flex-wrap:wrap;gap:18px;margin-top:12px;font-size:13px;display:flex}.import-advanced label{align-items:center;gap:8px;display:flex}.import-advanced input,.import-advanced select{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:6px;padding:4px 6px}.import-advanced input{width:70px}@media print{.modal-backdrop{display:none!important}}.intro-splash{z-index:2000;color:#f8fafc;cursor:pointer;background:radial-gradient(circle at 50% 58%,#1e3a8a 0%,#0f172a min(75vw,520px));justify-content:center;align-items:center;padding:0 16px;display:flex;position:fixed;inset:0;overflow:hidden}.intro-stage{flex-direction:column;align-items:center;gap:4px;width:100%;max-width:540px;display:flex}.intro-welcome{letter-spacing:.4px;color:#fde047;font-size:clamp(18px,5vw,26px);font-weight:600}.intro-name{letter-spacing:.5px;font-family:Barlow Semi Condensed,Segoe UI,system-ui,sans-serif;font-size:clamp(42px,11vw,64px);font-weight:700;line-height:1.1}.intro-up{color:#facc15}.intro-tag{color:#94a3b8;text-align:center;font-size:clamp(13px,3.6vw,16px)}.intro-scene{width:100%;height:auto;margin-top:6px;display:block}.intro-skip{letter-spacing:.3px;color:#94a3b8;margin-top:4px;font-size:12px}.intro-belt{fill:#1e293b;stroke:#334155;stroke-width:1.5px}.intro-track{fill:none;stroke:#334155;stroke-width:2px;stroke-dasharray:10 12}.intro-leg{fill:#475569}.intro-roller{fill:#475569;stroke:#334155;stroke-width:1.5px}.intro-spoke{stroke:#1e293b;stroke-width:2px}.intro-glass{fill:url(#intro-glass);stroke:#c98142;stroke-opacity:.5;stroke-width:1px}.intro-shine{fill:#fff;opacity:.5}.intro-spec{fill:#fff;opacity:.75}.intro-label{fill:#fde047;stroke:#ca8a04;stroke-opacity:.35;stroke-width:.75px}.intro-cap{fill:#facc15}.intro-ridge{stroke:#ca8a04;stroke-width:1.5px}.intro-ring{fill:none;stroke:#4ade80;stroke-width:2.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.intro-roller-spin{transform-box:fill-box;transform-origin:50%}.intro-splash .intro-belt-group{transform-origin:240px 198px;animation:.3s ease-out both intro-belt-in}.intro-splash .intro-slide{animation:.9s cubic-bezier(.16,.84,.3,1) .1s both intro-slide-in}.intro-splash .intro-track{animation:.9s cubic-bezier(.16,.84,.3,1) .1s both intro-belt-run}.intro-splash .intro-roller-spin{animation:.9s cubic-bezier(.16,.84,.3,1) .1s both intro-spin}.intro-splash .intro-cap-drop{animation:.4s .95s both intro-cap-drop}.intro-splash .intro-ring{animation:.6s ease-out 1.3s intro-ring}.intro-splash .intro-welcome{animation:.45s cubic-bezier(.2,.8,.2,1) 1.15s both intro-rise}.intro-splash .intro-name{animation:.45s cubic-bezier(.2,.8,.2,1) 1.3s both intro-rise}.intro-splash .intro-tag{animation:.45s cubic-bezier(.2,.8,.2,1) 1.45s both intro-rise}.intro-splash .intro-skip{animation:.4s .5s both intro-fade-in}.intro-splash.leaving{animation:.45s forwards intro-out}.intro-splash.leaving .intro-stage{animation:.45s forwards intro-grow}.intro-splash.skipping{animation:.2s forwards intro-out}@keyframes intro-belt-in{0%{opacity:0;transform:scaleX(0)}}@keyframes intro-slide-in{0%{transform:translate(-340px)}}@keyframes intro-belt-run{0%{stroke-dashoffset:340px}to{stroke-dashoffset:0}}@keyframes intro-spin{0%{transform:rotate(-2435deg)}to{transform:rotate(0)}}@keyframes intro-cap-drop{0%{opacity:0;animation-timing-function:cubic-bezier(.5,0,1,1);transform:translateY(-120px)}20%{opacity:1}65%{animation-timing-function:ease-out;transform:translateY(0)}80%{animation-timing-function:ease-in;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}@keyframes intro-ring{0%{opacity:.9;transform:scale(.5)}to{opacity:0;transform:scale(1.7)}}@keyframes intro-rise{0%{opacity:0;transform:translateY(12px)}}@keyframes intro-fade-in{0%{opacity:0}}@keyframes intro-out{to{opacity:0}}@keyframes intro-grow{to{transform:scale(1.04)}}@media print{.intro-splash{display:none}}
