@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-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{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.inline{display:inline}}:root{--font-geist-sans:Arial, Helvetica, sans-serif;--font-geist-mono:"Courier New", monospace;--ink:#18211c;--muted:#6f7872;--line:#e2e7e4;--soft-line:#edf0ee;--brand:#246b4f;--brand-deep:#194d39;--brand-soft:#e8f3ed;--highlighted-day:#f2f7f4;--highlighted-weekend:#eaf2ed;--highlight-border:#cdded4;--danger:#a84747;--danger-soft:#faeeee;--canvas:#f2f5f3;--paper:#fff}*{box-sizing:border-box}html{background:var(--canvas)}body{background:radial-gradient(circle at 7% 4%, #6fae8c24, transparent 28rem), var(--canvas);color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;margin:0}button,input,textarea,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.56}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.table-scroll:focus-visible{outline-offset:2px;outline:3px solid #246b4f47}main{min-height:100vh;padding:48px 28px 64px}.schedule-shell{width:min(1500px,100%);margin:0 auto}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:24px;display:flex}.eyebrow,.section-kicker{color:var(--brand);letter-spacing:.15em;text-transform:uppercase;margin:0 0 9px;font-size:11px;font-weight:760}h1{letter-spacing:-.052em;margin:0;font-size:clamp(36px,5vw,62px);font-weight:690;line-height:.98}.subtitle{color:var(--muted);margin:16px 0 0;font-size:15px}.header-summary{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;border:1px solid #dfe5e1;border-radius:16px;flex:none;align-items:center;gap:13px;min-width:232px;padding:13px 16px;display:flex;box-shadow:0 8px 24px #1933260e}.header-actions{flex:none;align-items:stretch;gap:9px;display:flex}.logout-button{min-width:86px;color:var(--muted);background:#ffffffc2;border:1px solid #dfe5e1;border-radius:16px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:10px;font-weight:650;transition:border-color .14s,color .14s,background .14s;display:inline-flex}.logout-button:hover:not(:disabled){color:var(--brand-deep);background:#fff;border-color:#c9d7cf}.logout-button>span{border:1.5px solid;border-right:0;border-radius:3px 0 0 3px;width:12px;height:12px;position:relative}.logout-button>span:after{content:"";border-top:1.5px solid;width:7px;position:absolute;top:4px;right:-5px}.header-summary small,.header-summary strong{display:block}.header-summary small{color:var(--muted);margin-bottom:3px;font-size:10px}.header-summary strong{font-size:14px;font-weight:680}.summary-icon,.card-icon{background:var(--brand-soft);border-radius:12px;flex:none;width:42px;height:42px;display:block;position:relative}.summary-icon:before,.month-icon:before{border:2px solid var(--brand);content:"";border-radius:5px;position:absolute;inset:10px 9px 8px}.summary-icon:after,.month-icon:after{border-top:2px solid var(--brand);content:"";width:20px;position:absolute;top:15px;left:11px}.summary-icon span:before,.summary-icon span:after,.month-icon span:before,.month-icon span:after{z-index:1;background:var(--brand);content:"";border-radius:2px;width:2px;height:6px;position:absolute;top:8px}.summary-icon span:before,.month-icon span:before{left:15px}.summary-icon span:after,.month-icon span:after{right:15px}.section-tabs{background:#ffffffb8;border:1px solid #dfe5e1;border-radius:14px;gap:4px;margin-bottom:24px;padding:4px;display:inline-flex}.section-tabs button{min-width:158px;color:var(--muted);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:10px 17px;font-size:12px;font-weight:650;display:inline-flex}.section-tabs button.active{background:var(--paper);color:var(--brand-deep);box-shadow:0 5px 14px #1d372a14}.tab-eye{border:1.7px solid;border-radius:60% 60% 55% 55%;width:17px;height:11px;position:relative}.tab-eye:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tab-edit{border:1.6px solid;border-radius:4px;width:15px;height:15px;position:relative}.tab-edit:after{content:"";transform-origin:100%;border-top:2px solid;width:9px;position:absolute;bottom:1px;right:-2px;transform:rotate(-45deg)}.tab-message{border:1.6px solid;border-radius:5px;width:17px;height:14px;position:relative}.tab-message:before{background:inherit;content:"";border-bottom:1.6px solid;border-right:1.6px solid;width:5px;height:5px;position:absolute;bottom:-4px;right:2px;transform:skewY(35deg)}.tab-message:after{content:"";opacity:.7;border-top:1.4px solid;position:absolute;top:4px;left:3px;right:3px;box-shadow:0 4px}.tab-settings{border:2px dotted;border-radius:50%;width:16px;height:16px;position:relative}.tab-settings:after{content:"";border:1.5px solid;border-radius:50%;position:absolute;inset:3px}.message{border:1px solid;border-radius:12px;margin-bottom:16px;padding:12px 15px;font-size:12px;font-weight:570}.error-message{background:var(--danger-soft);color:#8d3c3c;border-color:#ecd0d0}.success-message{color:#236446;background:#ebf5ef;border-color:#cce2d5}.view-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:15px;display:flex}.view-toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.download-button{background:var(--brand-soft);height:42px;color:var(--brand-deep);white-space:nowrap;border:1px solid #c9dcd1;border-radius:10px;justify-content:center;align-items:center;gap:9px;padding:0 15px;font-size:11px;font-weight:680;display:inline-flex}.download-button:hover:not(:disabled){background:#dceee4;border-color:#a8cab7}.download-icon{border:1.6px solid;border-top:0;border-radius:0 0 3px 3px;width:15px;height:15px;position:relative}.download-icon:before{content:"";border-left:1.6px solid;height:9px;position:absolute;top:-5px;left:6px}.download-icon:after{content:"";border-bottom:1.6px solid;border-right:1.6px solid;width:5px;height:5px;position:absolute;top:0;left:4px;transform:rotate(45deg)}.view-toolbar h2,.editor-title h2{letter-spacing:-.035em;margin:0;font-size:27px;font-weight:680}.month-select{align-items:center;gap:12px;display:flex}.month-select>span{color:var(--muted);font-size:11px;font-weight:570}.month-select select,.inline-form input,.month-form input,.employee-edit-fields input{background:var(--paper);height:42px;color:var(--ink);border:1px solid #dbe2de;border-radius:10px}.month-select select{min-width:196px;padding:0 38px 0 13px;font-size:12px;font-weight:620}.table-card,.schedule-editor-card{background:var(--paper);border:1px solid #d7dcd9f0;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px #203a2c14}.table-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:58px;padding:0 20px;font-size:12px;font-weight:620;display:flex}.table-toolbar>div{align-items:center;display:flex}.table-toolbar .table-toolbar-actions{gap:14px}.crazy-menu-toggle{color:#88562f;white-space:nowrap;background:#fff9f0;border:1px solid #ead7c0;border-radius:9px;align-items:center;gap:7px;height:32px;padding:0 11px;font-size:9px;font-weight:690;transition:border-color .14s,background .14s;display:inline-flex}.crazy-menu-toggle:hover:not(:disabled){background:#fff4e6;border-color:#d5b793}.crazy-menu-toggle>span{border-bottom:1.5px solid;border-right:1.5px solid;width:7px;height:7px;transition:transform .14s;transform:rotate(45deg)translateY(-2px)}.crazy-menu-toggle[aria-expanded=true]>span{transform:rotate(225deg)translate(-1px,-1px)}.live-dot{background:#2e956a;border-radius:50%;width:8px;height:8px;margin-right:9px;box-shadow:0 0 0 4px #e5f4ed}.table-toolbar p{color:var(--muted);align-items:center;margin:0;font-size:10px;font-weight:500;display:flex}.table-toolbar p i{background:#a6ada9;border-radius:50%;width:3px;height:3px;margin:0 9px}.scroll-hint{border-bottom:1px solid var(--line);color:var(--muted);background:#f8faf9;justify-content:space-between;align-items:center;padding:11px 16px;font-size:11px;display:none}.scroll-hint span{color:var(--brand);font-size:17px}.table-scroll{overscroll-behavior-inline:contain;scrollbar-color:#bdc6c0 transparent;scrollbar-width:thin;width:100%;overflow-x:auto}.table-scroll::-webkit-scrollbar{height:9px}.table-scroll::-webkit-scrollbar-track{background:#fafbfa}.table-scroll::-webkit-scrollbar-thumb{background:#bdc6c0;border:2px solid #fafbfa;border-radius:20px}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}th,td{border-right:1px solid var(--soft-line);border-bottom:1px solid var(--line)}thead th{background:var(--paper);text-align:center;width:90px;min-width:90px;height:58px;padding:7px 5px;position:relative}thead th.highlighted-day,tbody td.highlighted-day{background:var(--highlighted-day)}thead th.weekend,tbody td.weekend{background:var(--highlighted-weekend)}th.highlight-start,td.highlight-start{border-left:1px solid var(--highlight-border)}th.highlight-end,td.highlight-end{border-right-color:var(--highlight-border)}thead th.highlighted-day:before{content:"";opacity:.72;background:#79a38d;height:3px;position:absolute;top:0;left:0;right:0}.employee-heading,.employee-cell{z-index:4;background:var(--paper);border-right-color:#dfe4e1;width:214px;min-width:214px;max-width:214px;position:sticky;left:0;box-shadow:7px 0 14px #1d302609}.employee-heading{z-index:7;color:var(--muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;padding-left:20px;font-size:10px;font-weight:680}.salary-heading,.salary-cell{z-index:5;background:#fbfcfb;border-left:1px solid #dce3df;border-right:0;width:224px;min-width:224px;max-width:224px;position:sticky;right:0;box-shadow:-7px 0 14px #1d30260b}.salary-heading{z-index:7;color:var(--muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:0 16px;font-size:9px;font-weight:680;line-height:1.35}.salary-cell{text-align:left;height:66px;padding:4px 9px}.salary-cell strong,.salary-cell small{white-space:nowrap;display:block}.salary-cell strong{color:var(--brand-deep);font-size:11px;font-weight:740}.salary-cell small{color:var(--muted);margin-top:2px;font-size:7px}.salary-total{line-height:1.05;display:inline-block!important}.salary-cell .salary-total-label{color:#939b96;letter-spacing:.035em;text-transform:uppercase;margin:0 0 0 5px;font-size:6px;display:inline-block}.salary-breakdown{border-top:1px solid #e5e9e7;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:4px 0 0;padding:4px 0 0;display:grid}.salary-breakdown>div{min-width:0}.salary-breakdown dt,.salary-breakdown dd{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:7px;line-height:1.2;overflow:hidden}.salary-breakdown dt{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:6px;line-height:1.2;overflow:hidden}.salary-breakdown dt em{color:#a4aaa6;font-style:normal}.salary-breakdown dd{color:#35483e;font-weight:690}.salary-breakdown>div:nth-child(2) dd{color:#a25e2f}.salary-breakdown>div:nth-child(3) dd{color:#655789}.weekday,.day-number,.today-label{display:block}.weekday{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;margin-bottom:2px;font-size:8px;font-weight:670}.highlighted-day .weekday{color:var(--brand)}.weekend .weekday{color:#a17369}.day-number{letter-spacing:-.04em;font-size:16px;font-weight:670}.today-label{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;font-size:6px;font-weight:740;position:absolute;bottom:2px;left:7px;right:7px}thead th.today:after{background:var(--brand);content:"";border-radius:2px;height:2px;position:absolute;bottom:4px;left:5px;right:5px}tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}tbody td{background:var(--paper);width:90px;min-width:90px;height:66px;padding:4px}tbody td.today{box-shadow:inset 1px 0 #246b4f6b,inset -1px 0 #246b4f6b}.employee-cell{text-align:left;height:66px;padding:0 12px}.employee-cell>span:last-child{vertical-align:middle;flex-direction:column;justify-content:center;max-width:135px;display:inline-flex}.employee-cell strong,.employee-cell small{display:block}.employee-cell strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:11px;font-weight:670;overflow:hidden}.employee-cell small{color:#89908c;font-size:8px;font-weight:480}.avatar{color:#435049;vertical-align:middle;border:1px solid #00000009;border-radius:9px;place-items:center;width:30px;height:30px;margin-right:8px;font-size:9px;font-weight:740;display:inline-grid;position:relative;overflow:hidden}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.avatar.lavender{color:#625c8d;background:#edeafa}.avatar.sky{color:#4e7180;background:#e5f1f6}.avatar.peach{color:#8a6654;background:#faede5}.avatar.mint{color:#4d7662;background:#e5f2eb}.avatar.rose{color:#865e68;background:#f6e7ea}.avatar.sand{color:#7c7053;background:#f5efdf}.shift{text-align:center;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.shift span{font-size:8px;font-weight:680}.shift.has-crazy-menu{gap:1px;padding:2px}.shift.has-crazy-menu small,.shift.has-crazy-menu strong{white-space:nowrap;display:block}.shift.has-crazy-menu small{color:#8c6a51;letter-spacing:.015em;margin-top:0;font-size:6px;font-weight:650}.shift.has-crazy-menu strong{color:#a25e2f;font-size:7px;font-weight:760}.shift-work{color:#1e6a49;background:#edf7f1;border-color:#cfe6d9}.shift-off{color:#9ba19d}.crazy-menu-row th,.crazy-menu-row td{border-bottom:2px solid #e4d3bd}.crazy-menu-row .employee-cell,tbody .crazy-menu-row td{background:#fff9f0}tbody .crazy-menu-row td.highlighted-day{background:#f5f3e8}tbody .crazy-menu-row td.weekend{background:#f4efe6}.crazy-menu-row .employee-cell{box-shadow:7px 0 14px #53361c0e}.crazy-menu-avatar{color:#a25e2f;vertical-align:middle;background:#fff0df;border:1px solid #eed7bd;border-radius:9px;place-items:center;width:30px;height:30px;margin-right:8px;font-size:9px;font-weight:790;display:inline-grid}.crazy-menu-heading-cell strong{color:#7e4e2b}.crazy-menu-value{color:#b0a69d;text-align:center;border:1px solid #0000;border-radius:10px;place-items:center;min-height:34px;padding:3px 2px;font-size:9px;font-weight:600;line-height:1.35;display:grid}.crazy-menu-value.has-value{color:#8a552e;background:#fff6ebd1;border-color:#efdbc3;font-weight:730}.crazy-menu-total{background:#fff8ed}.crazy-menu-total strong{color:#8a552e}.salary-editor-cell{background:#f9fbfa;padding:4px 8px}.salary-editor-parts{grid-template-columns:1fr 1fr;gap:4px;margin:3px 0;display:grid}.salary-editor-parts>span{background:#fff;border-radius:5px;min-width:0;padding:2px 4px}.salary-editor-parts small,.salary-editor-parts b{text-overflow:ellipsis;white-space:nowrap;margin:0;display:block;overflow:hidden}.salary-editor-parts small{color:#8b938e;font-size:6px}.salary-editor-parts b{color:#405047;margin-top:0;font-size:7px;font-weight:690}.bonus-input-wrap{color:#655789;grid-template-columns:auto 1fr;align-items:center;gap:4px;font-size:7px;font-weight:690;display:grid}.bonus-input-control{background:#fff;border:1px solid #dcd5ee;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;overflow:hidden}.bonus-input-control input{color:#544878;text-align:right;background:0 0;border:0;outline:none;width:100%;min-width:0;height:22px;padding:0 4px;font-size:8px;font-weight:690}.bonus-input-control:focus-within{border-color:#9d8cc8;box-shadow:0 0 0 3px #755fa61a}.bonus-input-control small{color:#9a91ad;margin:0;padding-right:5px;font-size:6px}.crazy-menu-input-wrap{flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;height:100%;min-height:44px;display:flex}.crazy-menu-input{color:#744726;width:100%;height:26px;font:inherit;text-align:center;background:#ffffffd6;border:1px solid #e4ccb0;border-radius:7px;outline:none;padding:0 4px;font-size:8px;font-weight:690;transition:border-color .14s,box-shadow .14s,background .14s}.crazy-menu-input:focus{background:#fff;border-color:#b77b4f;box-shadow:0 0 0 3px #b77b4f1f}.crazy-menu-input:disabled{opacity:.62}.crazy-menu-input-wrap small{color:#a99380;font-size:7px;font-weight:620}.legend,.editor-legend{border-top:1px solid var(--line);min-height:56px;color:var(--muted);align-items:center;gap:22px;padding:0 20px;font-size:9px;display:flex}.legend strong{color:var(--ink);margin-right:2px;font-size:10px}.legend span,.editor-legend span{white-space:nowrap;align-items:center;display:inline-flex}.legend-dot{border-radius:3px;width:8px;height:8px;margin-right:6px}.legend-dot.work{background:#75bb92}.legend-dot.off{background:0 0;border:1px solid #cbd0cd}.legend .crazy-menu-legend,.editor-legend .crazy-menu-legend{color:#8a664c}.crazy-menu-legend>i{color:#a25e2f;background:#fff0df;border-radius:6px;place-items:center;width:22px;height:18px;margin-right:6px;font-size:7px;font-style:normal;font-weight:780;display:inline-grid}.legend p{color:#9ba19d;white-space:nowrap;margin:0 0 0 auto}.editor-title{margin-bottom:18px}.editor-title>p:last-child{color:var(--muted);margin:9px 0 0;font-size:12px}.editor-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.72fr);gap:18px;margin-bottom:20px;display:grid}.editor-card{background:var(--paper);border:1px solid #dce3df;border-radius:18px;padding:20px;box-shadow:0 12px 36px #203a2c0e}.card-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-heading h3,.schedule-editor-toolbar h3{letter-spacing:-.02em;margin:0;font-size:17px;font-weight:680}.card-heading p,.schedule-editor-toolbar p{color:var(--muted);margin:4px 0 0;font-size:10px}.people-icon:before,.people-icon:after{border:2px solid var(--brand);content:"";position:absolute}.people-icon:before{border-radius:50%;width:8px;height:8px;top:9px;left:16px}.people-icon:after{border-radius:10px 10px 5px 5px;height:10px;bottom:9px;left:10px;right:10px}.inline-form{background:#f6f8f7;border-radius:13px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:18px;padding:13px;display:grid}.inline-form.add-employee-form{grid-template-columns:minmax(180px,1fr) minmax(165px,.75fr) auto}.inline-form label,.month-form label{display:block}.inline-form label>span,.month-form label>span{color:var(--muted);margin:0 0 6px 2px;font-size:9px;font-weight:620;display:block}.inline-form input{width:100%;padding:0 12px;font-size:12px}.inline-form input::placeholder{color:#a5aba7}.primary-button{background:var(--brand);color:#fff;border:0;border-radius:10px;justify-content:center;align-items:center;gap:5px;height:42px;padding:0 16px;font-size:11px;font-weight:670;display:inline-flex;box-shadow:0 7px 16px #246b4f29}.primary-button:hover:not(:disabled){background:var(--brand-deep)}.employee-manager-list{border:1px solid var(--line);border-radius:13px;overflow:hidden}.employee-manager-row{border-bottom:1px solid var(--line);align-items:center;min-height:65px;padding:10px 12px;display:flex}.employee-manager-row:last-child{border-bottom:0}.employee-manager-row .avatar{flex:none;width:36px;height:36px}.employee-manager-name{flex:1;min-width:0}.employee-manager-name strong,.employee-manager-name small{display:block}.employee-manager-name strong{text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:11px;font-weight:650;overflow:hidden}.employee-manager-name small{color:var(--muted);font-size:9px}.row-actions{flex-wrap:wrap;align-items:center;gap:5px;margin-left:12px;display:flex}.photo-upload-button,.photo-remove-button{min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border:1px solid #dfe4e1;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:0 9px;font-size:9px;font-weight:650;display:inline-flex}.photo-upload-button:hover,.photo-remove-button:hover:not(:disabled){color:var(--brand);background:#f5f8f6;border-color:#c8d9cf}.photo-upload-button.busy{cursor:wait;opacity:.56}.photo-upload-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.photo-upload-button>span{border:1.4px solid;border-radius:3px;width:13px;height:10px;position:relative}.photo-upload-button>span:before{content:"";border:1.3px solid;border-radius:50%;width:3px;height:3px;position:absolute;top:2px;left:4px}.photo-upload-button>span:after{content:"";border:1.3px solid;border-bottom:0;border-radius:2px 2px 0 0;width:5px;height:3px;position:absolute;top:-4px;left:3px}.photo-remove-button{color:#996161}.icon-button{width:34px;height:34px;color:var(--muted);background:#fff;border:1px solid #dfe4e1;border-radius:9px;position:relative}.icon-button:hover{color:var(--brand);background:#f5f8f6}.delete-button:hover{background:var(--danger-soft);color:var(--danger);border-color:#ebcece}.edit-button span:before{content:"";border-top:2px solid;width:13px;position:absolute;top:15px;left:10px;transform:rotate(-45deg)}.edit-button span:after{content:"";border:1.5px solid;border-radius:1px;width:4px;height:4px;position:absolute;top:9px;right:8px;transform:rotate(-45deg)}.delete-button span:before{content:"";border:1.6px solid;border-top:0;border-radius:0 0 3px 3px;position:absolute;inset:11px 10px 8px}.delete-button span:after{content:"";border-top:1.6px solid;width:13px;position:absolute;top:8px;left:10px;box-shadow:3px -3px 0 -1px}.employee-edit-fields{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.employee-edit-fields input{flex:1;min-width:110px;padding:0 10px;font-size:11px}.employee-edit-fields input:first-child{flex:1.2}.employee-edit-fields input:nth-child(2){flex:.8}.small-button{min-height:31px;color:var(--muted);background:#fff;border:1px solid #dce2df;border-radius:8px;padding:0 9px;font-size:9px;font-weight:620}.small-button.confirm{color:var(--brand);background:#edf6f1;border-color:#bcd7c8}.small-button.danger{background:var(--danger-soft);color:var(--danger);border-color:#ebcccc}.delete-confirm{align-items:center;gap:5px;display:flex}.delete-confirm>span{color:var(--danger);margin-right:2px;font-size:9px;font-weight:650}.month-form{background:#f6f8f7;border-radius:13px;gap:10px;margin-bottom:20px;padding:13px;display:grid}.month-form input{width:100%;padding:0 11px;font-size:11px}.month-list>p{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 8px;font-size:9px;font-weight:620}.month-list button{width:100%;min-height:44px;color:var(--ink);text-align:left;background:#fff;border:1px solid #e0e5e2;border-radius:10px;align-items:center;gap:9px;margin-top:6px;padding:0 11px;font-size:10px;font-weight:620;display:flex}.month-list button.active{color:var(--brand-deep);background:#eff6f2;border-color:#bcd6c8}.month-list button small{color:var(--brand);margin-left:auto;font-size:8px;font-weight:650}.mini-calendar{opacity:.72;border:1.5px solid;border-radius:4px;width:18px;height:18px;position:relative}.mini-calendar:after{content:"";border-top:1px solid;position:absolute;top:5px;left:2px;right:2px}.schedule-editor-card{margin-top:0}.schedule-editor-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;min-height:92px;padding:18px 20px;display:flex}.schedule-editor-toolbar .section-kicker{margin-bottom:6px}.month-select.compact{flex-direction:column;align-items:flex-start;gap:5px}.editor-toolbar-controls{flex:none;align-items:flex-end;gap:12px;display:flex}.editor-toolbar-controls .crazy-menu-toggle{margin-bottom:1px}.telegram-page .editor-title{max-width:790px}.telegram-layout,.settings-layout{grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr);align-items:start;gap:18px;display:grid}.settings-layout{grid-template-columns:minmax(0,1.12fr) minmax(320px,.68fr)}.settings-side-column{gap:18px;display:grid}.telegram-card{background:var(--paper);border:1px solid #dce3df;border-radius:19px;padding:22px;box-shadow:0 12px 36px #203a2c0f}.telegram-card-heading{align-items:center;gap:12px;margin-bottom:20px;display:flex}.telegram-card-heading h3{letter-spacing:-.025em;margin:0;font-size:17px;font-weight:690}.telegram-card-heading p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.45}.telegram-mark,.clock-mark,.payroll-mark,.schedule-send-mark{color:#1687bd;background:#e8f5fb;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;font-size:20px;font-weight:760;display:grid}.clock-mark{background:var(--brand-soft);color:var(--brand);position:relative}.clock-mark:before{content:"";border:1.8px solid;border-radius:50%;position:absolute;inset:10px}.clock-mark:after{content:"";border-bottom:1.7px solid;border-left:1.7px solid;width:6px;height:7px;position:absolute;top:15px;left:20px}.payroll-mark{color:#a8662d;background:#fff3e4}.schedule-send-mark{color:var(--brand);letter-spacing:.04em;background:#e7f2eb;font-size:10px}.recipient-fieldset{border:0;min-width:0;margin:0 0 18px;padding:0}.recipient-fieldset legend,.message-field>span,.message-send-controls label>span,.settings-field>span{color:#5f6963;margin:0 0 7px 2px;font-size:10px;font-weight:670;display:block}.send-all-option{cursor:pointer;background:#eff7f3;border:1px solid #bfd7ca;border-radius:12px;align-items:center;gap:10px;margin-bottom:9px;padding:11px 12px;display:flex}.send-all-option input,.recipient-option input{width:16px;height:16px;accent-color:var(--brand);flex:none}.send-all-option span,.send-all-option strong,.send-all-option small,.recipient-option>span:last-child,.recipient-option strong,.recipient-option small{display:block}.send-all-option strong,.recipient-option strong{color:var(--ink);font-size:10px;font-weight:680}.send-all-option small,.recipient-option small{color:var(--muted);margin-top:2px;font-size:8px}.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.recipient-option{border:1px solid var(--line);cursor:pointer;background:#fbfcfb;border-radius:11px;align-items:center;gap:8px;min-width:0;min-height:54px;padding:8px 10px;display:flex}.recipient-option:has(input:checked){background:#f1f7f4;border-color:#b8d4c5}.recipient-option.unavailable{cursor:not-allowed;opacity:.56}.recipient-option .avatar{width:31px;height:31px;margin:0;font-size:8px}.recipient-option>span:last-child{min-width:0}.recipient-option strong,.recipient-option small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.message-field{display:block;position:relative}.message-field textarea{resize:vertical;width:100%;min-height:132px;color:var(--ink);background:#fbfcfb;border:1px solid #d9e1dc;border-radius:12px;outline:none;padding:12px 13px 28px;font-size:12px;line-height:1.55;display:block}.message-field>small{color:#979f9a;font-size:8px;position:absolute;bottom:8px;right:11px}.message-send-controls{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.message-send-controls label{display:block}.message-send-controls input,.settings-field input,.settings-field select{width:100%;height:43px;color:var(--ink);background:#fbfcfb;border:1px solid #d9e1dc;border-radius:10px;outline:none;padding:0 12px;font-size:11px}.message-send-controls label>small,.settings-field>small{color:#8d9690;margin:5px 0 0 2px;font-size:8px;line-height:1.45;display:block}.telegram-send-button{min-width:145px;margin-bottom:18px}.scheduled-heading-row .refresh-button{margin-left:auto}.refresh-button{color:var(--muted);background:#fff;border:1px solid #dce3df;border-radius:8px;padding:7px 9px;font-size:8px;font-weight:650}.scheduled-list{gap:9px;display:grid}.scheduled-item{border:1px solid var(--line);background:#fbfcfb;border-radius:12px;padding:13px}.scheduled-item-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.scheduled-item time{color:var(--brand-deep);font-size:10px;font-weight:720}.scheduled-item-topline>span{border-radius:999px;padding:4px 6px;font-size:7px;font-weight:720}.scheduled-item-topline>span.pending{color:var(--brand);background:#eaf5ef}.scheduled-item-topline>span.failed{background:var(--danger-soft);color:var(--danger)}.scheduled-item p{color:#3e4b44;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:10px 0 8px;font-size:10px;line-height:1.5;display:-webkit-box;overflow:hidden}.scheduled-item>small{color:var(--muted);margin-bottom:10px;font-size:8px;line-height:1.45;display:block}.telegram-empty{min-height:190px;color:var(--muted);text-align:center;align-content:center;place-items:center;font-size:10px;display:grid}.telegram-empty>span{background:var(--brand-soft);width:38px;height:38px;color:var(--brand);border-radius:50%;place-items:center;margin-bottom:10px;font-size:16px;display:grid}.telegram-empty strong{color:var(--ink);font-size:12px}.telegram-empty p{margin:5px 0 0;font-size:9px}.settings-field{margin-bottom:16px;display:block}.security-note,.reminder-preview{color:#785938;background:#fff8ed;border:1px solid #edd7bb;border-radius:11px;align-items:flex-start;gap:10px;margin:4px 0 17px;padding:11px 12px;display:flex}.security-note>span{background:#f0d5ac;border-radius:50%;flex:none;place-items:center;width:19px;height:19px;font-size:10px;font-weight:800;display:grid}.security-note p,.reminder-preview p{margin:0;font-size:9px;line-height:1.55}.settings-fields-row{grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr);gap:12px;display:grid}.reminder-preview{color:#355c49;background:#f0f7f3;border-color:#cfe1d7}.reminder-preview>span{flex:none;font-size:17px}.scheduler-status{background:#f7f9f8;border:1px solid #d8e1dc;border-radius:11px;align-items:flex-start;gap:10px;margin:0 0 17px;padding:11px 12px;display:flex}.scheduler-status>span{background:#9ba49f;border-radius:50%;flex:none;width:9px;height:9px;margin-top:3px;box-shadow:0 0 0 4px #eaeeec}.scheduler-status.is-active{background:#f0f7f3;border-color:#c8ded2}.scheduler-status.is-active>span{background:#2e956a;box-shadow:0 0 0 4px #dcefe5}.scheduler-status.has-error{background:var(--danger-soft);border-color:#e8cece}.scheduler-status.has-error>span{background:var(--danger);box-shadow:0 0 0 4px #f4dddd}.scheduler-status p,.scheduler-status strong,.scheduler-status small{margin:0;display:block}.scheduler-status strong{color:#385347;font-size:9px;font-weight:700}.scheduler-status small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.45}.scheduler-status.has-error strong{color:#8d3c3c}.settings-save-button,.payroll-send-button,.schedule-send-button{width:100%}.payroll-card .settings-field,.schedule-send-card .settings-field{margin-top:2px}.schedule-send-preview{color:#355c49;background:#f0f7f3;border:1px solid #cfe1d7;border-radius:12px;align-items:center;gap:10px;margin:14px 0 18px;padding:13px;display:flex}.schedule-send-preview>span{flex:none;font-size:18px}.schedule-send-preview p{margin:0;font-size:9px;line-height:1.55}.payroll-preview{background:#f6f8f7;border-radius:12px;margin:14px 0 18px;padding:14px}.payroll-preview strong{font-size:10px}.payroll-preview ul{color:var(--muted);margin:9px 0 0;padding-left:18px;font-size:9px;line-height:1.75}.payroll-note{color:#8f9792;text-align:center;margin:9px 0 0;font-size:8px;line-height:1.5}.shift-toggle{cursor:pointer;padding:0;transition:border-color .14s,background .14s,transform .14s}.shift-toggle:hover:not(:disabled){transform:translateY(-1px)}.shift-toggle.shift-off{color:#8f9993;background:#ffffff61;border-color:#d9dfdc}.shift-toggle.shift-off:hover:not(:disabled){color:var(--brand);background:#edf6f1;border-color:#a9c9b8}.shift-toggle.shift-off span{font-size:15px;font-weight:400}.editor-legend{justify-content:flex-start}.login-page{background:radial-gradient(circle at 18% 12%, #599d792e, transparent 26rem), radial-gradient(circle at 86% 84%, #caa4711f, transparent 23rem), var(--canvas);place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #d8e0dbf5;border-radius:24px;width:min(430px,100%);padding:38px;box-shadow:0 24px 70px #1d372a1f}.login-mark{background:var(--brand-soft);border-radius:16px;width:52px;height:52px;margin-bottom:25px;position:relative}.login-mark:before{border:2px solid var(--brand);content:"";border-radius:7px;position:absolute;inset:14px 13px 11px}.login-mark:after{border:2px solid var(--brand);content:"";border-bottom:0;border-radius:8px 8px 0 0;width:14px;height:12px;position:absolute;top:11px;left:19px}.login-card h1{font-size:39px;line-height:1.02}.login-subtitle{color:var(--muted);margin:13px 0 25px;font-size:13px;line-height:1.55}.login-form{gap:15px;display:grid}.login-form label>span{color:#5e6862;margin:0 0 7px 2px;font-size:10px;font-weight:650;display:block}.login-form input{width:100%;height:46px;color:var(--ink);background:#fbfcfb;border:1px solid #d9e0dc;border-radius:11px;outline:none;padding:0 13px;font-size:13px;transition:border-color .14s,box-shadow .14s,background .14s}.login-form input:focus{background:#fff;border-color:#8eb8a2;box-shadow:0 0 0 4px #246b4f1a}.login-error{color:#934646;background:#fff3f3;border:1px solid #edcaca;border-radius:10px;padding:10px 12px;font-size:10px;line-height:1.45}.login-submit{width:100%;height:46px;margin-top:4px}.login-note{color:#929a95;justify-content:center;align-items:center;gap:7px;margin:20px 0 0;font-size:9px;display:flex}.login-note span{background:#6eb68e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #edf7f1}.state-page{place-items:center;min-height:100vh;padding:24px;display:grid}.state-card{text-align:center;background:#fff;border:1px solid #dce4df;border-radius:20px;width:min(420px,100%);padding:34px;box-shadow:0 18px 50px #203a2c17}.state-card strong{margin-top:14px;font-size:18px;display:block}.state-card p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.6}.state-card .primary-button{margin-top:20px}.loading-spinner{border:3px solid #dbe9e1;border-top-color:var(--brand);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:900px){.editor-grid,.telegram-layout,.settings-layout{grid-template-columns:1fr}.month-editor-card{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.month-editor-card .card-heading{grid-column:1/-1}.month-form{margin-bottom:0}}@media (max-width:760px){main{padding:28px 13px 36px}.page-header{flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:18px}h1{font-size:40px}.subtitle{margin-top:12px;font-size:13px}.header-actions{width:100%}.header-summary{flex:1;min-width:0}.logout-button{min-width:78px}.section-tabs{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-bottom:20px;display:grid}.section-tabs button{flex:1;min-width:0;padding-inline:8px}.view-toolbar{flex-direction:column;align-items:stretch;gap:12px}.view-toolbar-actions{flex-direction:column-reverse;align-items:stretch;gap:9px}.download-button{width:100%}.view-toolbar h2,.editor-title h2{font-size:24px}.month-select{flex-direction:column;align-items:stretch;gap:6px}.month-select select{width:100%}.table-card,.schedule-editor-card{border-radius:17px}.table-toolbar{min-height:57px;padding:0 14px}.table-toolbar .table-toolbar-actions{gap:0}.table-toolbar p{display:none}.scroll-hint{display:flex}.employee-heading,.employee-cell{width:174px;min-width:174px;max-width:174px}.employee-heading{padding-left:14px}.employee-cell{padding:0 11px}.employee-cell>span:last-child{max-width:105px}.avatar{width:30px;height:30px;margin-right:7px}.salary-heading,.salary-cell{width:194px;min-width:194px;max-width:194px}.salary-cell{padding:4px 7px}.salary-cell strong{font-size:11px}.legend,.editor-legend{flex-wrap:wrap;gap:11px 17px;min-height:auto;padding:15px}.legend strong{width:100%}.legend p{display:none}.editor-title>p:last-child{line-height:1.55}.editor-card{padding:15px}.inline-form,.inline-form.add-employee-form{grid-template-columns:1fr}.inline-form .primary-button{width:100%}.employee-edit-fields{flex-wrap:wrap;align-items:stretch}.employee-edit-fields input{flex-basis:100%;width:100%}.employee-manager-row{flex-wrap:wrap}.row-actions{width:100%;margin:9px 0 0 46px}.month-editor-card{display:block}.month-editor-card .card-heading{grid-column:auto}.month-form{margin-bottom:18px}.schedule-editor-toolbar{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.editor-toolbar-controls{flex-direction:column-reverse;align-items:stretch;gap:9px}.editor-toolbar-controls .crazy-menu-toggle{justify-content:center;width:100%}.month-select.compact{align-items:stretch}.telegram-card{border-radius:16px;padding:16px}.recipient-grid,.message-send-controls{grid-template-columns:1fr}.telegram-send-button{width:100%;margin:0}.settings-fields-row{grid-template-columns:1fr;gap:0}.login-page{padding:18px}.login-card{border-radius:20px;padding:28px 22px}.login-card h1{font-size:34px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}}
