@font-face{font-family:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/316b6682b406c2db-s.0m_cefwpdo931.woff2)format("woff2");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:Archivo Black;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5e4d537aaa9e154b-s.p.0g9-.3zp53cup.woff2)format("woff2");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}@font-face{font-family:Archivo Black Fallback;src:local(Arial);ascent-override:70.78%;descent-override:16.93%;line-gap-override:0.0%;size-adjust:124.05%}.archivo_black_933e7a64-module__cx2WJa__className{font-family:Archivo Black,Archivo Black Fallback;font-style:normal;font-weight:400}.archivo_black_933e7a64-module__cx2WJa__variable{--font-display:"Archivo Black", "Archivo Black Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.woff2)format("woff2");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:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.woff2)format("woff2");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}@font-face{font-family:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_dffaa2c9-module__wX8OqW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_dffaa2c9-module__wX8OqW__variable{--font-sans:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ccf27e5a7366fb23-s.0hck6o0i8wq3a.woff2)format("woff2");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:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e41d5df559864f9e-s.p.0gq7fw9.sy_5..woff2)format("woff2");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}@font-face{font-family:Instrument Serif Fallback;src:local(Times New Roman);ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.0%;size-adjust:83.94%}.instrument_serif_50e3472c-module__QAW8OG__className{font-family:Instrument Serif,Instrument Serif Fallback;font-style:normal;font-weight:400}.instrument_serif_50e3472c-module__QAW8OG__variable{--font-serif:"Instrument Serif", "Instrument Serif Fallback"}
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}}:root{--paper:#f4efe5;--paper-light:#fffdf9;--ink:#172238;--ink-soft:#5c6170;--coral:#f05a47;--coral-dark:#d84434;--sage:#b8d8be;--line:#d7d0c4;--yellow:#f1cf6a;--shadow:0 16px 40px #231c1417}*{box-sizing:border-box}html{scroll-behavior:smooth}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:10px 14px;font-weight:800;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:where(a,button,input):focus-visible{outline:3px solid var(--coral);outline-offset:3px}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans), Arial, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.app-shell{background:linear-gradient(#17223807 1px, transparent 1px), linear-gradient(90deg, #17223807 1px, transparent 1px), var(--paper);background-size:28px 28px;min-height:100vh;overflow:hidden}.topbar{background:var(--paper-light);border-bottom:1px solid var(--ink);z-index:10;grid-template-columns:1fr auto 1fr;align-items:center;height:72px;padding:0 3.2vw;display:grid;position:relative}.brand{color:var(--ink);width:fit-content;font-family:var(--font-display), sans-serif;letter-spacing:-.04em;align-items:center;gap:10px;font-size:24px;text-decoration:none;display:inline-flex}.brand em{font-family:var(--font-sans), sans-serif;letter-spacing:.06em;text-transform:uppercase;background:var(--coral);color:#fff;padding:3px 5px;font-size:9px;font-style:normal;transform:rotate(-4deg)}.brand-mark{border:2px solid var(--ink);width:28px;height:28px;box-shadow:3px 3px 0 var(--coral);grid-template-columns:repeat(3,1fr);gap:2px;padding:4px;display:grid;transform:rotate(-3deg)}.brand-mark span:first-child{background:var(--yellow)}.brand-mark span:nth-child(2){background:var(--coral)}.brand-mark span:nth-child(3){background:var(--sage)}.topbar-copy{color:var(--ink-soft);align-items:center;gap:8px;font-size:12px;display:flex}.status-dot{background:#3f9d63;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #3f9d631f}.topbar-actions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.ghost-button,.export-button{border:1px solid var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 15px;font-size:13px;font-weight:700;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex}.ghost-button{background:0 0}.export-button{background:var(--ink);color:#fff;box-shadow:3px 3px 0 var(--coral)}.ghost-button:hover,.export-button:hover{transform:translateY(-2px)}.ghost-button:hover{background:var(--paper)}.export-button:hover{box-shadow:5px 5px 0 var(--coral)}.export-button:disabled{opacity:.65;cursor:wait}.intro-band{justify-content:space-between;align-items:end;gap:48px;max-width:1520px;margin:0 auto;padding:40px 3.2vw 34px;display:flex}.eyebrow{letter-spacing:.13em;color:var(--coral-dark);align-items:center;gap:7px;margin:0 0 7px;font-size:10px;font-weight:800;display:flex}.intro-band h1{font-family:var(--font-display), sans-serif;letter-spacing:-.065em;text-transform:uppercase;margin:0;font-size:clamp(38px,4.2vw,66px);line-height:.95}.intro-band h1 span{font-family:var(--font-serif), serif;text-transform:none;letter-spacing:-.025em;color:var(--coral);font-weight:400}.intro-band>p{max-width:470px;color:var(--ink-soft);margin:0 0 3px;font-size:15px;line-height:1.55}.workspace{border:1px solid var(--ink);max-width:1520px;min-height:620px;box-shadow:8px 8px 0 var(--ink);background:#eee8dc;grid-template-columns:342px minmax(0,1fr);margin:0 auto 54px;display:grid}.control-panel{border-right:1px solid var(--ink);background:#eee8dc;flex-direction:column;align-self:start;height:clamp(620px,100dvh - 24px,820px);min-height:0;display:flex;position:sticky;top:12px;overflow:hidden}.panel-heading,.schedule-toolbar{justify-content:space-between;align-items:center;display:flex}.panel-heading{background:#eee8dc;border-bottom:1px solid #17223829;flex:none;margin:0;padding:24px 22px 18px}.panel-heading span,.schedule-title>span{color:var(--coral-dark);letter-spacing:.14em;font-size:9px;font-weight:900}.panel-heading h2,.schedule-title h2{letter-spacing:-.025em;margin:3px 0 0;font-size:18px}.mobile-settings-toggle{display:none}.control-content{overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-color:var(--coral) transparent;scrollbar-width:thin;flex:auto;min-height:0;padding:0 18px 22px 22px;display:block;overflow-y:auto}.control-content::-webkit-scrollbar{width:9px}.control-content::-webkit-scrollbar-track{background:0 0}.control-content::-webkit-scrollbar-thumb{background:var(--coral);border:3px solid #eee8dc}.control-content>.field-group:first-child{border-top:0}.field-group{border-top:1px solid #17223829;padding:16px 0}.field-group label,.field-label{letter-spacing:.035em;margin-bottom:8px;font-size:11px;font-weight:800;display:block}.field-label small{color:#89857e;margin-left:4px;font-weight:500}.field-group>input,.add-employee input{background:var(--paper-light);border:1px solid #bbb3a8;outline:none;width:100%;height:41px;padding:0 12px;transition:border .15s,box-shadow .15s}.field-group>input:focus,.add-employee input:focus{border-color:var(--ink);box-shadow:3px 3px #17223821}.upload-button{cursor:pointer;background:#ffffff73;border:1px dashed #9d978e;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;font-size:12px;font-weight:700;display:flex}.upload-button:hover{border-color:var(--ink);background:#fff}.upload-button small{color:#88837c;font-weight:500}.logo-preview{background:#fff;border:1px solid #bbb3a8;justify-content:space-between;align-items:center;height:62px;padding:8px;display:flex}.logo-preview img{object-fit:contain;max-width:220px;max-height:44px}.logo-preview button{cursor:pointer;background:#eee8dc;border:0;place-items:center;width:30px;height:30px;display:grid}.month-control{grid-template-columns:38px 1fr 38px;display:grid}.month-control button,.month-control input{background:var(--paper-light);border:1px solid #bbb3a8;height:40px}.month-control input{text-align:center;text-transform:capitalize;border-inline:0;min-width:0;padding:0 7px}.month-control button{cursor:pointer;place-items:center;display:grid}.month-control button:hover{background:var(--ink);color:#fff}.mode-switch{border:1px solid var(--ink);background:var(--paper-light);grid-template-columns:1fr 1fr;padding:3px;display:grid}.mode-switch button{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;height:40px;font-size:12px;font-weight:700;display:flex}.mode-switch button.active{background:var(--ink);color:#fff}.mode-group>p{color:#77726b;margin:8px 0 0;font-size:10.5px;line-height:1.45}.shift-list{flex-direction:column;gap:7px;display:flex}.shift-row{grid-template-columns:10px 34px minmax(0,1fr) 49px;align-items:center;gap:5px;min-height:34px;display:grid}.shift-color{width:8px;height:28px}.shift-row input{background:#ffffffb3;border:1px solid #c7c0b5;outline:none;height:30px}.shift-row input:focus{border-color:var(--ink)}.shift-short-input{text-align:center;width:34px;padding:0 3px;font-size:11px;font-weight:900}.shift-name-input{width:100%;min-width:0;padding:0 7px;font-size:11px}.shift-time{grid-column:2/5;grid-template-columns:1fr 10px 1fr;align-items:center;gap:3px;padding-left:0;display:grid}.shift-time input{text-align:center;width:100%;min-width:0;padding:0 2px;font-size:10px}.shift-time span{text-align:center;color:#999188}.shift-toggle{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;height:30px;padding:0 4px;font-size:8px;font-weight:900}.shift-toggle[aria-pressed=false]{color:var(--ink-soft);background:0 0;border-color:#aaa39a}.shift-row.inactive .shift-color,.shift-row.inactive input,.shift-row.inactive .shift-time{opacity:.42}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-label-row>span:last-child{color:#7d7871;font-size:10px}.employee-list{flex-direction:column;gap:5px;max-height:186px;padding-right:3px;display:flex;overflow-y:auto}.employee-item{grid-template-columns:26px 1fr 25px;align-items:center;gap:5px;display:grid}.employee-item>span{background:var(--ink);color:#fff;place-items:center;width:26px;height:26px;font-size:10px;font-weight:900;display:grid}.employee-item input{background:0 0;border:1px solid #0000;outline:none;min-width:0;height:30px;padding:0 6px;font-size:11px}.employee-item input:hover,.employee-item input:focus{background:#fff;border-color:#c7c0b5}.employee-item button{color:#9a948b;cursor:pointer;background:0 0;border:0;place-items:center;padding:3px;display:grid}.employee-item button:hover{color:var(--coral-dark)}.add-employee{grid-template-columns:1fr 38px;margin-top:9px;display:grid}.add-employee input{height:36px;font-size:11px}.add-employee button{border:1px solid var(--ink);background:var(--yellow);cursor:pointer;border-left:0;place-items:center;display:grid}.add-employee button:hover{background:var(--ink);color:#fff}.reset-button{color:#77716a;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;margin:6px auto 0;font-size:10.5px;display:flex}.reset-button:hover{color:var(--coral-dark)}.schedule-area{border-left:1px solid var(--ink);background:var(--paper-light);min-width:0;min-height:100%;margin-left:-1px;padding:25px 24px 22px}.schedule-toolbar{gap:18px;min-height:48px}.schedule-title{align-items:center;gap:15px;display:flex}.schedule-title>span{writing-mode:vertical-rl;border-right:2px solid var(--coral);padding-right:7px;transform:rotate(180deg)}.schedule-title h2{font-size:22px}.schedule-title p{color:var(--ink-soft);text-transform:capitalize;margin:2px 0 0;font-size:12px}.schedule-stats{gap:8px;display:flex}.schedule-stats span{border:1px solid var(--line);color:var(--ink-soft);background:var(--paper);align-items:center;gap:6px;padding:7px 9px;font-size:10.5px;display:flex}.paint-palette{scrollbar-width:thin;align-items:center;gap:7px;min-height:58px;padding:11px 0;display:flex;overflow-x:auto}.paint-palette>span{white-space:nowrap;margin-right:3px;font-size:10px;font-weight:800}.paint-palette button{background:var(--shift-color);height:34px;color:var(--shift-ink);cursor:pointer;border:1px solid #0000;flex:none;align-items:center;gap:6px;padding:0 9px;font-size:10px;transition:transform .12s,box-shadow .12s;display:flex}.paint-palette button b{font-size:12px}.paint-palette button.selected{border-color:var(--ink);box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.paint-palette button.eraser{border-color:var(--line);color:#77716a;background:#fff}.schedule-card{border:1px solid var(--ink);box-shadow:var(--shadow);background:#fff}.table-scroll{scrollbar-color:var(--coral) var(--paper);overflow-x:auto}.mobile-schedule{display:none}.schedule-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1100px}.schedule-table th,.schedule-table td{border-bottom:1px solid #ddd7ce;border-right:1px solid #ddd7ce;padding:0}.schedule-table thead th{background:var(--ink);color:#fff;z-index:2;height:43px;font-size:9px;position:sticky;top:0}.schedule-table thead th.weekend{background:#3a4051}.schedule-table thead th b,.schedule-table thead th span{display:block}.schedule-table thead th b{margin-bottom:1px;font-size:11px}.schedule-table thead th span{opacity:.68;font-size:7px}.schedule-table .employee-heading{text-align:left;z-index:4;letter-spacing:.09em;width:142px;padding-left:13px;position:sticky;left:0}.schedule-table .total-heading{border-right:0;width:45px}.schedule-table tbody tr:last-child th,.schedule-table tbody tr:last-child td{border-bottom:0}.employee-cell{text-align:left;z-index:1;background:#fff;align-items:center;gap:8px;width:142px;height:45px;display:flex;position:sticky;left:0;padding:0 9px!important}.schedule-table tbody tr:nth-child(2n) .employee-cell{background:#faf7f1}.employee-cell span{background:var(--paper);border:1px solid var(--line);flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:9px;font-weight:900;display:grid}.employee-cell b{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.schedule-table td{background:#fff;height:45px}.schedule-table td.weekend{background:#f7f3ec}.shift-cell{cursor:cell;-webkit-user-select:none;user-select:none;background:0 0;border:0;width:100%;height:44px;font-size:10px;font-weight:900;transition:filter .12s,transform .12s}.shift-cell:hover{box-shadow:inset 0 0 0 2px var(--ink);filter:saturate(1.15);z-index:1;position:relative}.hour-cell{text-align:center;background:0 0;border:0;outline:none;width:100%;height:44px;padding:0 2px;font-size:8px;font-weight:700}.hour-cell:focus{box-shadow:inset 0 0 0 2px var(--ink);background:#fff}.total-cell{text-align:center;width:45px;font-size:11px;font-weight:900;background:var(--paper)!important;border-right:0!important}.empty-team{text-align:center;color:var(--ink-soft);height:260px!important;padding:30px!important}.empty-team svg,.empty-team b,.empty-team span{margin:0 auto 8px;display:block}.empty-team span{font-size:11px;font-weight:400}.schedule-footnote{color:#767169;background:#faf7f1;align-items:center;gap:7px;min-height:36px;padding:0 12px;font-size:10px;display:flex}.schedule-footnote svg{color:var(--coral)}.mobile-hint{display:none}.final-action{background:var(--yellow);border:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;margin-top:18px;padding:15px 17px;display:flex}.final-action>div{align-items:center;gap:12px;display:flex}.final-action p{flex-direction:column;margin:0;display:flex}.final-action p b{font-size:13px}.final-action p span{color:#625521;margin-top:2px;font-size:10.5px}.final-action button{border:1px solid var(--ink);background:var(--ink);color:#fff;cursor:pointer;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:12px;font-weight:800;display:flex;box-shadow:3px 3px #fff}.final-action button:hover{transform:translateY(-1px);box-shadow:4px 4px #fff}.final-action button:disabled{opacity:.7}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}.spinner.dark{border-color:#fff #ffffff4d #ffffff4d}@keyframes spin{to{transform:rotate(360deg)}}footer{max-width:1520px;min-height:90px;color:var(--ink-soft);grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:20px 3.2vw 32px;font-size:11px;display:grid}.footer-brand{transform-origin:0;transform:scale(.78)}footer p{text-align:center}footer>span{text-align:right}.toast{z-index:50;background:var(--ink);color:#fff;box-shadow:5px 5px 0 var(--coral);border:1px solid #fff;align-items:center;gap:8px;max-width:calc(100vw - 48px);min-height:45px;padding:0 15px;font-size:12px;font-weight:700;animation:.25s ease-out toast-in;display:flex;position:fixed;bottom:24px;right:24px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}@media (max-width:1120px){.topbar{grid-template-columns:1fr auto}.topbar-copy{display:none}.workspace{grid-template-columns:310px minmax(0,1fr);margin-left:18px;margin-right:18px}.intro-band{padding-left:24px;padding-right:24px}.panel-heading,.control-content,.schedule-area{padding-inline:18px}.schedule-stats span:last-child,.paint-palette button span{display:none}}@media (max-width:800px){.topbar{height:64px;padding:0 16px}.brand{font-size:21px}.ghost-button{display:none}.export-button{height:38px;padding:0 11px}.intro-band{padding:30px 18px 24px;display:block}.intro-band>p{max-width:600px;margin-top:14px}.workspace{background:var(--paper-light);min-height:0;box-shadow:5px 5px 0 var(--ink);margin:0 12px 38px;display:block}.control-panel{border-right:0;border-bottom:1px solid var(--ink);height:auto;padding:0;display:block;position:static;top:auto;overflow:visible}.panel-heading{border-bottom:0;min-height:66px;margin:0;padding:0 18px}.panel-heading h2{font-size:16px}.desktop-settings-icon{display:none}.mobile-settings-toggle{border:1px solid var(--ink);background:var(--paper-light);cursor:pointer;align-items:center;gap:6px;min-height:38px;padding:0 9px 0 11px;font-size:10.5px;font-weight:800;display:flex}.mobile-settings-toggle svg{transition:transform .18s}.control-panel.expanded .mobile-settings-toggle svg{transform:rotate(90deg)}.control-content{border-top:1px solid var(--ink);scrollbar-gutter:auto;max-height:none;padding:0 18px 18px;overflow:visible}.control-panel.collapsed .control-content{display:none}.schedule-area{border-left:0;min-height:0;margin-left:0;padding:20px 14px 16px}.employee-list{max-height:130px}.shift-list{grid-template-columns:1fr 1fr;gap:9px 14px;display:grid}.schedule-toolbar{align-items:flex-start}.schedule-stats{display:none}.paint-palette{z-index:12;background:var(--paper-light);border-bottom:1px solid var(--line);margin:8px -14px 0;padding:11px 14px 14px;position:sticky;top:0;box-shadow:0 8px 14px #231c140f}.paint-palette button{justify-content:center;min-width:44px;height:42px;padding-inline:10px}.paint-palette button span{display:none}.paint-palette button b{font-size:13px}.paint-palette button.eraser{font-size:0}.paint-palette button.eraser svg{width:18px;height:18px}.table-scroll{display:none}.mobile-schedule{touch-action:pan-y;background:#f7f3ec;display:block}.mobile-week-nav{background:var(--ink);color:#fff;grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;min-height:64px;padding:8px 10px;display:grid}.mobile-week-nav button{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff57;place-items:center;width:44px;height:44px;display:grid}.mobile-week-nav button:disabled{opacity:.28}.mobile-week-nav div{text-align:center;min-width:0}.mobile-week-nav b,.mobile-week-nav span{display:block}.mobile-week-nav b{font-size:12px}.mobile-week-nav span{color:#ffffffab;text-transform:capitalize;margin-top:2px;font-size:9px}.mobile-days-heading,.mobile-cells{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.mobile-days-heading{padding:9px 10px 6px}.mobile-days-heading>div{height:36px;color:var(--ink-soft);align-content:center;place-items:center;display:grid}.mobile-days-heading>div.weekend{color:var(--coral-dark)}.mobile-days-heading span,.mobile-days-heading b{line-height:1.05;display:block}.mobile-days-heading span{font-size:8px;font-weight:800}.mobile-days-heading b{margin-top:3px;font-size:12px}.mobile-employee-list{flex-direction:column;gap:8px;padding:0 10px 10px;display:flex}.mobile-employee-card{border:1px solid var(--line);background:#fff;padding:9px;box-shadow:2px 2px #17223814}.mobile-employee-card header{justify-content:space-between;align-items:flex-start;gap:10px;min-height:31px;display:flex}.mobile-employee-card header>div{align-items:center;gap:7px;min-width:0;display:flex}.mobile-employee-card header span{background:var(--ink);color:#fff;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:9px;font-weight:900;display:grid}.mobile-employee-card header b{text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-top:4px;font-size:11px;overflow:hidden}.mobile-employee-card header small{color:var(--ink-soft);white-space:nowrap;padding-top:4px;font-size:9px}.mobile-shift-cell,.mobile-hour-cell,.mobile-empty-cell{width:100%;min-width:0;height:46px}.mobile-shift-cell{cursor:pointer;background:#faf8f3;border:1px solid #d9d3ca;font-size:12px;font-weight:900}.mobile-shift-cell.weekend:not([style]){background:#f0ece5}.mobile-shift-cell:active{transform:scale(.94)}.mobile-shift-cell>span{color:#b7b0a6;font-size:16px;font-weight:400}.mobile-hour-cell{text-align:center;background:#faf8f3;border:1px solid #d9d3ca;outline:none;padding:0 2px;font-size:9px;font-weight:700}.mobile-hour-cell:focus{border:2px solid var(--ink);background:#fff}.mobile-empty-cell{background:0 0}.mobile-empty-team{min-height:150px;color:var(--ink-soft);align-content:center;place-items:center;gap:8px;font-size:12px;display:grid}.swipe-hint{color:#89837a;justify-content:center;align-items:center;gap:4px;margin:0;padding:3px 0 10px;font-size:9px;display:flex}.desktop-hint{display:none}.mobile-hint{display:inline}.schedule-footnote{min-height:42px;line-height:1.35}.final-action{align-items:stretch}.final-action>div{align-items:flex-start}footer{grid-template-columns:1fr auto}footer p{display:none}}@media (max-width:540px){.topbar .export-button{width:42px;padding:0;font-size:0}.intro-band h1{font-size:41px}.intro-band>p{font-size:13px}.shift-list{display:flex}.paint-palette>span{display:none}.schedule-title h2{white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:18px;overflow:hidden}.schedule-title>span{font-size:8px}.schedule-card{margin:0 -4px}.final-action{display:block}.final-action button{justify-content:center;width:100%;margin-top:13px}footer{justify-content:space-between;padding-inline:18px;display:flex}footer>span{max-width:120px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
