:root{color:#1c2522;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg:#f5f7f4;--surface:#fff;--surface-2:#eef3ef;--text:#1c2522;--muted:#61706a;--border:#d9e2dc;--primary:#245b47;--primary-2:#2f8060;--accent:#2c6fbb;--warning:#a46212;--danger:#b33a3a;--shadow:0 18px 45px #26342e1f;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.68}h1,h2,h3,p{margin:0}h1{color:var(--text);font-size:1.45rem;font-weight:720}h2{color:var(--text);font-size:1.65rem;font-weight:720}h3{color:var(--text);font-size:1.05rem;font-weight:680}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.85rem 1rem}th{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:700}label{color:var(--muted);gap:.4rem;font-size:.85rem;font-weight:650;display:grid}input,select,textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:8px;padding:.75rem .85rem}textarea{resize:vertical;min-height:96px}#app{min-height:100vh}.auth-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.login-panel,.loading-panel,.error-state{border:1px solid var(--border);background:var(--surface);width:min(100%,460px);box-shadow:var(--shadow);border-radius:8px;gap:1.25rem;padding:2rem;display:grid}.login-panel form{gap:1rem;display:grid}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);color:#f4faf6;background:#10231d;flex-direction:column;gap:1.5rem;height:100vh;padding:1.25rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.8rem;display:flex}.brand-mark{color:#10231d;background:#e6b85c;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand div{gap:.1rem;display:grid}.brand span:last-child{color:#b9c9c1;font-size:.83rem}.sidebar nav{gap:.35rem;display:grid}.nav-item{color:#dbe8e0;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;padding:.75rem .85rem}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1f}.main-shell{grid-template-rows:auto 1fr;min-width:0;display:grid}.app-header{z-index:5;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f7f4f0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.company-switcher{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem;min-width:190px;display:grid}.company-switcher select{padding-block:.45rem}.user-email,.meta-pill,.status{white-space:nowrap;border-radius:999px;align-items:center;min-height:2rem;padding:.32rem .68rem;font-size:.82rem;font-weight:700;display:inline-flex}.user-email,.meta-pill{border:1px solid var(--border);background:var(--surface);color:var(--muted)}.content{width:min(100%,1320px);padding:1.5rem}.page-stack{gap:1.25rem;display:grid}.page-title-row,.card-title-row,.button-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.button-row{flex-wrap:wrap;justify-content:flex-start}.eyebrow{color:var(--primary-2);text-transform:uppercase;font-size:.76rem;font-weight:800}.muted{color:var(--muted)}.info-note,.form-error,.success-note{border-radius:8px;padding:.85rem 1rem}.info-note{color:#244d73;background:#eef6fd;border:1px solid #b8cfe6}.form-error{color:var(--danger);background:#fff1f1;border:1px solid #e9b8b8}.success-note{color:#20603d;background:#effaf2;border:1px solid #b9ddc7}.primary-button,.ghost-button,.quicklinks button{border-radius:8px;min-height:2.55rem;padding:.65rem .95rem;font-weight:750}.primary-button{border:1px solid var(--primary);background:var(--primary);color:#fff}.primary-button:hover{background:var(--primary-2)}.ghost-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.compact{min-height:2.1rem;padding:.4rem .7rem;font-size:.85rem}.metrics-grid,.cards-grid{gap:1rem;display:grid}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-metrics .metric-card strong{font-size:1.15rem}.cards-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.metric-card,.data-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:1rem;box-shadow:0 8px 24px #26342e12}.metric-card{gap:.45rem;display:grid}.metric-card span{color:var(--muted);font-size:.85rem;font-weight:700}.metric-card strong{color:var(--text);font-size:1.55rem}.quicklinks{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem;display:grid}.quicklinks button{border:1px solid var(--border);background:var(--surface);color:var(--text);text-align:left}.toolbar{grid-template-columns:minmax(240px,1fr) 180px;align-items:end;gap:1rem;display:grid}.inline-field{max-width:360px}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;overflow-x:auto}.embedded-table{box-shadow:none}.task-list{gap:.4rem;margin:0;padding-left:1.1rem;display:grid}.status{color:var(--muted);background:#eef3ef}.status.active,.status.admin_approved,.status.employee_submitted,.status.supervisor_reviewed{color:#20603d;background:#e8f5ed}.status.trial,.status.open,.status.reopened{color:var(--warning);background:#fff5df}.status.inactive,.status.archived,.status.terminated,.status.locked{color:#66707a;background:#f1f2f3}.status.payroll_exported{color:var(--accent);background:#eaf1ff}.status.supervisor_pending,.status.admin_pending,.status.open{color:var(--warning);background:#fff5df}.status.approved{color:#20603d;background:#e8f5ed}.status.rejected{color:var(--danger);background:#fff1f1}.greeting-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex;box-shadow:0 8px 24px #26342e12}.greeting-card>span{background:#fff5df;border-radius:8px;place-items:center;width:3.25rem;height:3.25rem;font-size:1.8rem;display:grid}.calendar-grid{border:1px solid var(--border);background:var(--border);border-radius:8px;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.calendar-weekday,.calendar-day{background:var(--surface);min-height:7.2rem;color:var(--text);text-align:left;border:0;padding:.7rem}.calendar-weekday{background:var(--surface-2);min-height:auto;color:var(--muted);text-align:center;font-size:.78rem;font-weight:800}.calendar-day{flex-direction:column;gap:.45rem;display:flex}.calendar-day:hover{background:#f8fbf9}.calendar-day.current-day{outline:2px solid var(--accent);outline-offset:-3px;background:#f4f9ff}.muted-day{color:#9aa6a1;background:#fbfcfb}.entry-chip{color:#fff;border-radius:999px;width:fit-content;padding:.2rem .5rem;font-size:.72rem;font-weight:800}.entry-chip.work,.entry-chip.status-color-green{background:var(--primary)}.entry-chip.vacation,.entry-chip.time_off,.entry-chip.status-color-blue{background:var(--accent)}.entry-chip.sick,.entry-chip.status-color-red{background:var(--danger)}.entry-chip.public_holiday,.entry-chip.off,.entry-chip.special_leave,.entry-chip.status-color-amber{background:var(--warning)}.approval-chip{width:fit-content;color:var(--warning);background:#fff8eb;border:1px solid #ead2aa;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:800}.approval-chip.rejected{color:var(--danger);background:#fff1f1;border-color:#e9b8b8}.calendar-indicators{flex-wrap:wrap;gap:.25rem;display:flex}.calendar-indicators small{border:1px solid var(--border);width:fit-content;color:var(--muted);background:#fff;border-radius:999px;padding:.08rem .4rem;font-size:.66rem;font-weight:800}.modal-backdrop{z-index:20;background:#10231d73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(100%,620px);box-shadow:var(--shadow);border-radius:8px;gap:1rem;padding:1.25rem;display:grid}.day-entry-modal{width:min(100%,820px);max-height:calc(100vh - 2rem);overflow:auto}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-form,.form-section,.settings-section{gap:1rem;display:grid}.permission-level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.segmented-control{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:fit-content;display:inline-flex;overflow:hidden}.segmented-control button{min-height:2.35rem;color:var(--muted);background:0 0;border:0;padding:.55rem .85rem;font-weight:800}.segmented-control button.active{background:var(--primary);color:#fff}.time-segments-panel,.default-day-panel,.documents-panel,.approval-panel{border:1px solid var(--border);background:#fbfcfb;border-radius:8px;gap:.85rem;padding:.9rem;display:grid}.time-segment-row{grid-template-columns:minmax(140px,1fr) 110px 110px 110px auto;align-items:end;gap:.65rem;display:grid}.document-list{gap:.65rem;display:grid}.document-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;justify-content:space-between;align-items:center;gap:.8rem;padding:.75rem;display:flex}.document-row div:first-child{gap:.15rem;min-width:0;display:grid}.document-row span,.document-row small{color:var(--muted);font-size:.78rem}.employee-modal{width:min(100%,860px);max-height:calc(100vh - 2rem);overflow:auto}.checkbox-field{align-items:center;gap:.65rem;min-height:4.25rem;display:flex}.checkbox-field input,.weekday-picker input{width:auto}.weekday-picker{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;gap:.65rem;padding:.85rem;display:flex}.weekday-picker legend{color:var(--muted);padding:0 .35rem;font-size:.85rem;font-weight:750}.weekday-picker label{align-items:center;gap:.4rem;min-width:4rem;display:inline-flex}.empty-state{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:.35rem;padding:1.25rem;display:grid}.spinner{border:4px solid var(--border);border-top-color:var(--primary);border-radius:999px;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=920px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar nav{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.app-header,.page-title-row,.card-title-row,.document-row{flex-direction:column;align-items:flex-start}.metrics-grid,.toolbar,.form-grid,.form-grid.two-columns,.permission-level-grid,.time-segment-row,.status-config-row,.status-add-row{grid-template-columns:1fr}.calendar-day{min-height:5.6rem}}@media (width<=620px){.content,.app-header,.sidebar{padding:1rem}.header-actions{justify-content:flex-start}.company-switcher{grid-template-columns:1fr;width:100%}th,td{padding:.7rem}}label small{color:var(--muted);font-size:.76rem;font-weight:500}.entry-chip.status-color-green{background:var(--primary)}.entry-chip.status-color-blue{background:var(--accent)}.entry-chip.status-color-red{background:var(--danger)}.entry-chip.status-color-amber{background:var(--warning)}.entry-chip.status-color-violet{background:#7253a4}.entry-chip.status-color-slate{background:#66707a}.settings-section{gap:1rem;display:grid}.admin-forms-grid{align-items:start}.permission-checks{gap:.45rem;display:grid}.compact-checkbox{min-height:auto}.status-config-list{gap:.8rem;display:grid}.status-config-row{border:1px solid var(--border);background:#fbfcfb;border-radius:8px;grid-template-columns:100px minmax(140px,1.1fr) minmax(110px,.75fr) minmax(130px,.85fr) 80px minmax(100px,.65fr) minmax(125px,.85fr) minmax(115px,.75fr) 100px 90px;align-items:end;gap:.75rem;padding:.85rem;display:grid}.status-add-row{grid-template-columns:minmax(180px,1fr) minmax(160px,.8fr) minmax(160px,.8fr) auto;align-items:end;gap:.8rem;display:grid}.table-actions{flex-wrap:wrap;gap:.45rem;min-width:360px;display:flex}@media (width<=920px){.status-config-row,.status-add-row{grid-template-columns:1fr}}
