@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.0b02cdm7g7y6h.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__iaM1Ya__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__iaM1Ya__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module__Ur3q_a__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module__Ur3q_a__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
:root{--ink:#172033;--muted:#697386;--line:#e5e8ee;--canvas:#f5f6f8;--panel:#fff;--primary:#6d45e5;--primary-dark:#5531c7;--nav:#171525;--radius:16px;--shadow:0 12px 40px #191e3012}*{box-sizing:border-box}html{background:var(--canvas)}body{color:var(--ink);background:var(--canvas);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh}.sidebar{z-index:40;color:#fff;background:radial-gradient(circle at 10% 5%, #774ee340, transparent 28%), var(--nav);border-right:1px solid #ffffff12;flex-direction:column;width:248px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:#fff;letter-spacing:-.6px;align-items:center;gap:11px;min-height:36px;padding:0 8px;font-size:21px;font-weight:720;display:inline-flex}.brand-logo{object-fit:contain;width:174px;height:auto}.brand-mark{color:#fff;background:linear-gradient(135deg,#8e66ff,#5d34d4);border-radius:11px;place-items:center;width:34px;height:34px;font-size:16px;display:grid;box-shadow:inset 0 1px #ffffff40,0 8px 18px #5129bd59}.brand-dot{color:#a98dff}.nav-list{flex-direction:column;gap:5px;margin-top:22px;display:flex}.project-switcher{gap:6px;margin-top:22px;display:grid}.project-switcher label,.project-switcher>span{color:#8d8a9d;letter-spacing:1.1px;text-transform:uppercase;font-size:10px;font-weight:720}.project-switcher select{color:#f4f2ff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:9px;width:100%;min-height:38px;padding:0 10px;font-size:12px;font-weight:600}.project-switcher select:disabled{opacity:.7}.project-switcher p{color:#a7a5b5;margin:0;font-size:12px}.nav-link{color:#a7a5b5;border-radius:10px;align-items:center;gap:13px;padding:12px 13px;font-size:14px;font-weight:570;transition:all .18s;display:flex}.nav-link:hover{color:#fff;background:#ffffff0d}.nav-link.active{color:#fff;background:linear-gradient(90deg,#744ddf42,#744ddf17);box-shadow:inset 2px 0 #9b7aff}.sidebar-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:auto;padding:18px 4px 0;display:flex}.user-chip{align-items:center;gap:10px;min-width:0;display:flex}.user-chip>span:last-child{flex-direction:column;min-width:0;display:flex}.user-chip strong{color:#f9f9fb;text-overflow:ellipsis;white-space:nowrap;max-width:118px;font-size:13px;overflow:hidden}.user-chip small{color:#8d8a9d;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;max-width:145px;font-size:11px;overflow:hidden}.avatar{color:#fff;background:#6d45e5;border-radius:50%;flex:none;place-items:center;width:35px;height:35px;font-size:11px;font-weight:700;display:grid}.avatar-soft{color:#6440c9;background:#ede8ff}.main-content{min-height:100vh;margin-left:248px;padding:42px clamp(28px,4vw,64px) 64px}.mobile-menu,.nav-backdrop{display:none}.page-stack{flex-direction:column;gap:24px;width:100%;max-width:1450px;margin:0 auto;display:flex}.page-header{justify-content:space-between;align-items:flex-end;gap:28px;display:flex}.page-header h1{color:#171d2d;letter-spacing:-1.6px;margin:5px 0 7px;font-size:clamp(30px,4vw,43px);line-height:1.04}.page-header p{color:var(--muted);margin:0;font-size:15px}.eyebrow{color:var(--primary);letter-spacing:1.35px;text-transform:uppercase;font-size:11px;font-weight:760}.header-actions{gap:10px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:41px;padding:0 16px;font-size:13px;font-weight:670;transition:all .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button-primary{color:#fff;background:var(--primary);box-shadow:0 8px 18px #6d45e533}.button-primary:hover{background:var(--primary-dark)}.button-secondary{color:#384053;background:#fff;border-color:#dfe2e9}.button-secondary:hover{border-color:#c8cbd4}.button-wide{width:100%}.icon-button{color:#858193;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{color:#fff;background:#ffffff0f}.hero-panel{color:#fff;background:radial-gradient(circle at 80% 20%,#b390ff59,#0000 30%),linear-gradient(120deg,#211a38,#5c38c4 68%,#784be2);border-radius:22px;grid-template-columns:1fr minmax(260px,.65fr);align-items:end;gap:36px;min-height:184px;padding:30px 34px;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 55px #381f7030}.hero-panel:after{content:"";border:1px solid #ffffff2e;border-radius:50%;width:270px;height:270px;position:absolute;bottom:-190px;right:-80px;box-shadow:0 0 0 34px #ffffff08,0 0 0 70px #ffffff06}.hero-panel strong{letter-spacing:-2px;margin:6px 0 2px;font-size:49px;display:block}.hero-panel p{color:#ffffffba;margin:0;font-size:13px}.hero-kicker{color:#d9ccff;font-size:12px;font-weight:680}.readiness{z-index:1;padding-bottom:8px;position:relative}.readiness:before{content:"";background:#ffffff2e;border-radius:99px;width:100%;height:8px;display:block}.readiness>span{background:#fff;border-radius:99px;height:8px;position:absolute;top:0;left:0}.readiness small{text-align:right;color:#ffffffb8;margin-top:11px;display:block}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.stat-card{border-radius:var(--radius);background:#fff;border:1px solid #ebecef;align-items:flex-start;gap:14px;min-height:126px;padding:21px;display:flex;box-shadow:0 6px 24px #161d300a}.stat-card>div{flex-direction:column;display:flex}.stat-card span:not(.stat-icon){color:var(--muted);font-size:12px;font-weight:620}.stat-card strong{letter-spacing:-1px;margin:4px 0 1px;font-size:29px}.stat-card small{color:#9299a8;font-size:11px}.stat-icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.tone-violet{color:#6b43d9;background:#eee9ff}.tone-amber{color:#b56b13;background:#fff2d7}.tone-blue{color:#2a68bf;background:#e4efff}.tone-cyan{color:#168298;background:#e0f7fb}.dashboard-grid{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{border-bottom:1px solid #eceef2;justify-content:space-between;align-items:center;min-height:79px;padding:20px 22px;display:flex}.panel-heading h2{letter-spacing:-.4px;margin:3px 0 0;font-size:18px}.panel-heading p{color:var(--muted);max-width:640px;margin:4px 0 0;font-size:12px;line-height:1.45}.panel-heading>a,.panel-link{color:var(--primary);font-size:12px;font-weight:700}.count-badge{width:29px;height:29px;color:var(--primary);background:#eee9ff;border-radius:9px;place-items:center;font-size:12px;font-weight:750;display:grid}.activity-list{padding:7px 22px}.activity-row,.leave-row{border-bottom:1px solid #f0f1f4;align-items:center;gap:12px;min-height:67px;display:flex}.activity-row:last-child,.leave-row:last-child{border-bottom:0}.activity-row>div,.leave-row>div{flex-direction:column;display:flex}.activity-row>div{flex:1;min-width:0}.activity-row strong,.leave-row strong{font-size:13px}.activity-row small,.leave-row small{color:#8b92a1;margin-top:3px;font-size:11px}.leave-row{justify-content:space-between}.align-right{align-items:flex-end}.panel-link{border-top:1px solid #f0f1f4;padding:14px 22px 19px;display:block}.status-pill{white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;min-width:62px;min-height:25px;padding:3px 8px;font-size:10px;font-weight:720;display:inline-flex}.status-working,.status-approved{color:#11754e;background:#e1f6ec}.status-rest{color:#647084;background:#edf0f4}.status-travel{color:#315fba;background:#e5eeff}.status-leave,.status-pending{color:#9a5d0c;background:#fff0d3}.status-rejected{color:#a53e4a;background:#fde6e9}.status-neutral{color:#71798a;background:#f0f2f5}.table-panel{overflow:hidden}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;min-height:70px;padding:14px 18px;display:flex}.search{color:#8b92a1;background:#f7f8fa;border:1px solid #e7e9ee;border-radius:10px;align-items:center;gap:10px;width:min(420px,100%);padding:0 13px;display:flex}.search input{width:100%;height:39px;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.toolbar-meta,.date-controls,.legend{align-items:center;gap:9px;display:flex}.toolbar-meta>span,.legend{color:var(--muted);font-size:12px}.toolbar .icon-button{color:#697386;border:1px solid #e0e3e9}.toolbar .icon-button:hover{color:var(--ink);background:#f5f6f8}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{color:#858c9b;border-bottom:1px solid var(--line);letter-spacing:.65px;text-align:left;text-transform:uppercase;background:#fafafb;padding:12px 17px;font-size:10px}td{color:#4c5568;white-space:nowrap;border-bottom:1px solid #eef0f3;padding:15px 17px}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#fbfbfd}.person-cell{align-items:center;gap:10px;display:flex}.person-cell>div,.sticky-col>div{flex-direction:column;display:flex}.person-cell strong,td strong{color:#273044}.person-cell small,.sticky-col small{color:#979dab;margin-top:2px}.mono{font-family:var(--font-geist-mono), monospace}.roster-badge{color:#5c3bb8;background:#eee9ff;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:690}.roster-scroll{max-width:calc(100vw - 320px)}.roster-table{min-width:1120px}.roster-table th:not(.sticky-col),.roster-table td:not(.sticky-col){text-align:center;width:84px;padding-left:9px;padding-right:9px}.roster-table th>span{font-size:9px;display:block}.roster-table th>strong{color:#343c4e;margin-top:2px;font-size:14px;display:block}.sticky-col{z-index:2;background:#fff;min-width:190px;position:sticky;left:0;box-shadow:1px 0 #e8eaf0}th.sticky-col{z-index:3;background:#fafafb}.dot{border-radius:50%;width:7px;height:7px;margin-left:7px;display:inline-block}.dot:first-child{margin-left:0}.dot.working{background:#3eb787}.dot.rest{background:#9ea5b1}.dot.travel{background:#5282dc}.dot.leave{background:#d59635}.roster-page{max-width:none}.roster-planner{overflow:hidden}.roster-toolbar,.roster-subtoolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:68px;padding:13px 16px;display:flex}.roster-subtoolbar{background:#fafafb;min-height:55px;padding-top:8px;padding-bottom:8px}.roster-search{flex:0 390px;width:min(390px,100%)}.roster-actions,.date-inputs{align-items:center;gap:10px;display:flex}.date-inputs{color:#a0a5b1;background:#f7f8fa;border:1px solid #e6e8ed;border-radius:10px;padding:6px 10px}.date-inputs label{color:#777f8f;letter-spacing:.5px;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:720;display:flex}.date-inputs input{color:#354055;background:0 0;border:0;outline:0;width:126px;font-size:12px;font-weight:560}.roster-subtoolbar .button{min-height:34px;padding:0 11px;font-size:11px}.roster-subtoolbar .icon-button{color:#5e6676;background:#fff;border:1px solid #dfe2e8;width:34px;height:34px}.roster-filters{align-items:center;gap:8px;display:flex}.roster-filters label{color:#777f8f;letter-spacing:.4px;text-transform:uppercase;align-items:center;gap:6px;font-size:9px;font-weight:720;display:flex}.roster-filters select{color:#4d5668;text-transform:none;background:#fff;border:1px solid #dfe2e8;border-radius:8px;min-height:34px;padding:0 25px 0 9px;font-size:10px}.roster-notice{color:#514174;background:#f1edff;border-bottom:1px solid #e3dafd;padding:10px 16px;font-size:12px;font-weight:620}.roster-grid-scroll{scrollbar-color:#a9adba #eff0f3;scrollbar-width:auto;width:100%;max-height:calc(100vh - 335px);overflow:auto}.roster-grid{table-layout:fixed;border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:11px}.roster-grid th,.roster-grid td{text-overflow:ellipsis;border-bottom:1px solid #e9ebef;border-right:1px solid #e9ebef;height:40px;padding:0 8px;overflow:hidden}.roster-grid thead th{z-index:7;background:#f8f8fa;height:52px;position:sticky;top:31px}.roster-grid thead .month-row th{z-index:8;color:#625a75;letter-spacing:.7px;text-align:center;background:#efedf5;border-color:#dfdbe9;height:31px;font-size:9px;font-weight:760;top:0}.roster-grid .month-row .meta-span{z-index:12;text-align:left;left:0}.roster-grid tbody tr:hover td{background:#faf9fd}.roster-grid .sticky-meta{z-index:5;text-align:left;background:#fff;position:sticky}.roster-grid thead .sticky-meta{z-index:11;background:#f8f8fa}.roster-grid .meta-worker{width:220px;min-width:220px;max-width:220px;left:0}.roster-grid .meta-role{width:170px;min-width:170px;max-width:170px;left:220px}.roster-grid .meta-roster{width:105px;min-width:105px;max-width:105px;left:390px;box-shadow:4px 0 9px #1b1e2d14}.roster-grid .meta-role strong,.roster-grid .meta-role small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.roster-grid .meta-role strong{color:#3f485a;font-size:10px;font-weight:650}.roster-grid .meta-role small{color:#9298a5;margin-top:2px;font-size:9px}.worker-summary-button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex-direction:column;padding:0;display:flex;overflow:hidden}.worker-summary-button strong,.worker-summary-button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.worker-summary-button strong{color:#273044;font-size:11px}.worker-summary-button small{color:#9298a5;width:100%;margin-top:2px;font-size:9px}.worker-summary-button:hover strong,.worker-summary-button:focus-visible strong{color:var(--primary);text-decoration:underline}.worker-summary-button:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #8b6ee3}.roster-grid .date-heading,.roster-grid .roster-day{text-align:center;width:52px;min-width:52px;max-width:52px;padding:0 3px}.roster-grid .date-heading span{color:#9096a3;font-size:9px;line-height:1;display:block}.roster-grid .date-heading strong{color:#343c4e;margin-top:5px;font-size:14px;line-height:1;display:block}.roster-grid .weekend{background-color:#fffaf2}.roster-grid thead .weekend{background-color:#fbf3e6}.roster-grid .week-end{border-right:2px solid #bbb5c8}.roster-grid .today{box-shadow:inset 2px 0 #7650dc,inset -2px 0 #7650dc}.roster-cell{cursor:pointer;white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:3px;width:100%;min-height:27px;padding:2px;font-size:9px;font-weight:750;transition:transform .12s,box-shadow .12s;display:flex;position:relative}.roster-cell:hover{z-index:1;transform:scale(1.06);box-shadow:0 3px 9px #1e223221}.roster-cell.status-working{color:#0e6e49;background:#ddf4e9}.roster-cell.status-rest{color:#6f7787;background:#eceef2}.roster-cell.status-travel{color:#2e5eb6;background:#dfeaff}.roster-cell.status-dia{color:#fff;background:#a02fca}.roster-cell.status-dop{color:#fff;background:#3768c9}.roster-cell.status-fip{color:#fff;background:#da3d8f}.roster-cell.status-fop{color:#fff;background:#8542bd}.roster-cell.status-leave{color:#925807;background:#ffedcd}.roster-cell.status-neutral{color:#666e7d;background:#eff1f4}.roster-cell.audited:after{content:"";background:#6d45e5;border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:3px}.roster-cell svg{opacity:.62;position:absolute;bottom:2px;right:2px}.roster-empty{min-height:240px;color:var(--muted);place-items:center;font-size:13px;display:grid}.roster-footer{color:#858c9b;border-top:1px solid var(--line);background:#fafafb;align-items:center;gap:20px;min-height:43px;padding:0 16px;font-size:10px;font-weight:620;display:flex}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#110f1991;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.edit-modal{background:#fff;border:1px solid #ffffffb3;border-radius:18px;width:min(500px,100%);overflow:hidden;box-shadow:0 25px 80px #0d0a1847}.edit-modal header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:21px 23px;display:flex}.edit-modal h2{letter-spacing:-.5px;margin:5px 0 0;font-size:21px}.modal-close{color:#737b8b;cursor:pointer;background:#f5f6f8;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.edit-summary{color:#5f6879;background:#f7f6fa;border:1px solid #ece9f2;border-radius:11px;gap:3px;margin:18px 23px 0;padding:15px;font-size:11px;display:grid}.edit-summary strong{color:#273044;font-size:14px}.edit-summary time{color:#4d3a85;margin-top:7px;font-weight:680}.edit-modal form{gap:17px;padding:20px 23px 23px;display:grid}.edit-modal form>label{color:#424b5f;gap:7px;font-size:12px;font-weight:680;display:grid}.edit-modal label>span{color:#8b70d8;letter-spacing:.5px;text-transform:uppercase;justify-self:end;margin-top:-20px;font-size:9px}.edit-modal select,.edit-modal textarea{color:#263044;resize:vertical;background:#fff;border:1px solid #dfe2e8;border-radius:10px;outline:0;width:100%;padding:11px 12px}.edit-modal select:focus,.edit-modal textarea:focus{border-color:#8b6ee3;box-shadow:0 0 0 3px #eeeaff}.modal-actions{justify-content:flex-end;gap:9px;padding-top:3px;display:flex}.worker-detail-modal{width:min(620px,100%)}.worker-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 28px;margin:0;padding:21px 23px 24px;display:grid}.worker-detail-list div{min-width:0}.worker-detail-list dt{color:#8a91a0;letter-spacing:.55px;text-transform:uppercase;margin-bottom:5px;font-size:9px;font-weight:760}.worker-detail-list dd{overflow-wrap:anywhere;color:#30394c;margin:0;font-size:12px;line-height:1.45}.worker-detail-list a{color:var(--primary);text-underline-offset:2px;text-decoration:underline}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.summary-strip{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.summary-strip>div{border-right:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 23px;display:flex}.summary-strip>div:last-child{border-right:0}.summary-strip span{color:var(--muted);font-size:12px}.summary-strip strong{font-size:22px}.segmented{background:#f1f2f5;border-radius:9px;gap:4px;padding:4px;display:flex}.segmented button{color:#737b8c;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 11px;font-size:11px}.segmented button.selected{color:#3e2a7e;background:#fff;font-weight:700;box-shadow:0 2px 7px #21263414}.date-separator{color:#aaaebb;margin:0 8px}.settings-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.settings-card{flex-direction:column;align-items:flex-start;min-height:290px;padding:24px;display:flex}.settings-icon{width:42px;height:42px;color:var(--primary);background:#eee9ff;border-radius:12px;place-items:center;display:grid}.settings-card h2{margin:19px 0 6px;font-size:18px}.settings-card p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.tag-list{flex-wrap:wrap;gap:6px;margin:20px 0;display:flex}.tag-list span{color:#625675;background:#f4f1fa;border-radius:6px;padding:5px 7px;font-size:9px;font-weight:670}.settings-card .button{margin-top:auto}.check-list{color:#4b5569;flex-direction:column;gap:12px;margin:20px 0 0;padding:0;font-size:12px;list-style:none;display:flex}.check-list li{align-items:center;gap:8px;display:flex}.check-list svg{color:#36a477}.connection-state{color:#955b0e;background:#fff2da;border-radius:8px;margin-top:auto;padding:8px 10px;font-size:11px;font-weight:650}.connection-state.connected{color:#176b4c;background:#e8f8f0}.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.admin-card{min-width:0;padding:22px}.admin-command{grid-template-columns:minmax(260px,.75fr) minmax(480px,1.25fr);align-items:center;gap:24px;padding:20px 22px;display:grid}.admin-command-copy{align-items:flex-start;gap:14px;display:flex}.admin-command-copy h2{letter-spacing:-.4px;margin:4px 0 5px;font-size:19px}.admin-command-copy p{max-width:510px;color:var(--muted);margin:0;font-size:11px;line-height:1.5}.command-links{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.command-links>a{color:#4e3a84;background:#f7f5fb;border:1px solid #ebe7f4;border-radius:10px;align-items:flex-start;gap:9px;min-width:0;padding:12px;display:flex}.command-links>a:hover{background:#f0ecf9;border-color:#dcd3f1}.command-links svg{flex:none;margin-top:2px}.command-links span{flex-direction:column;min-width:0;display:flex}.command-links strong{color:#323a4c;font-size:11px}.command-links small{color:#858c9a;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:9px;overflow:hidden}.workforce-summary{grid-template-columns:repeat(3,1fr)}.compact-form{gap:13px;display:grid}.compact-form label{color:#495266;gap:7px;font-size:11px;font-weight:680;display:grid}.compact-form input,.compact-form select,.compact-form textarea{color:#263044;background:#fff;border:1px solid #dfe2e8;border-radius:9px;outline:0;width:100%;min-height:42px;padding:0 12px}.compact-form textarea{resize:vertical;padding-top:10px}.compact-form input:focus,.compact-form select:focus,.compact-form textarea:focus{border-color:#8b6ee3;box-shadow:0 0 0 3px #eeeaff}.compact-form input[type=file]{padding:9px 10px}.compact-form .button{justify-self:start}.compact-form .checkbox-label{grid-template-columns:auto 1fr;align-items:center}.compact-form .checkbox-label input{width:16px;min-height:16px;accent-color:var(--purple)}.form-hint{color:var(--muted);margin:-5px 0 0;font-size:10px;line-height:1.5}.form-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.project-selector{align-items:flex-end;gap:12px;padding:15px 18px;display:flex}.project-selector label{color:#495266;gap:6px;min-width:min(440px,100%);font-size:11px;font-weight:680;display:grid}.project-selector select{color:#263044;background:#fff;border:1px solid #dfe2e8;border-radius:9px;min-height:42px;padding:0 11px}.settings-project-note{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.settings-project-note strong{color:var(--ink)}.leave-request-panel{overflow:hidden}.leave-form{border-top:1px solid var(--line);grid-template-columns:1.25fr 1fr 1fr 1fr;gap:14px;padding:20px 22px 22px;display:grid}.leave-form label{color:#495266;gap:7px;font-size:11px;font-weight:680;display:grid}.leave-form input,.leave-form select,.leave-form textarea,.leave-review input{color:#263044;background:#fff;border:1px solid #dfe2e8;border-radius:9px;outline:0;width:100%;padding:0 11px}.leave-form input,.leave-form select{min-height:42px}.leave-form textarea{resize:vertical;padding-top:10px}.leave-form input:focus,.leave-form select:focus,.leave-form textarea:focus,.leave-review input:focus{border-color:#8b6ee3;box-shadow:0 0 0 3px #eeeaff}.leave-reason{grid-column:1/4}.leave-policy-summary{color:#4e3a84;background:#f7f5fb;border:1px solid #ebe7f4;border-radius:9px;grid-column:1/-1;grid-template-columns:auto 1fr;gap:3px 12px;padding:11px 13px;font-size:10px;display:grid}.leave-policy-summary strong{font-size:11px}.leave-policy-summary small{color:var(--muted);grid-column:1/-1;line-height:1.45}.leave-evidence{grid-column:1/3}.leave-evidence small{color:var(--muted);font-size:9px}.leave-form input[type=file]{padding:8px 10px}.evidence-link{color:#6246a7;align-items:center;gap:5px;max-width:180px;font-size:10px;display:inline-flex}.evidence-link svg{flex:none}.leave-submit{justify-content:flex-end;align-items:flex-end;gap:10px;display:flex}.leave-submit .auth-message{margin:0}.toolbar-count,.muted-cell{color:var(--muted);font-size:11px}.table-subline{color:#979dab;margin-top:3px;font-size:9px;display:block}.leave-review{gap:6px;min-width:260px;display:grid}.leave-review input{min-height:32px;font-size:10px}.leave-review>div{gap:5px;display:flex}.leave-review .auth-message{margin:0;padding:6px 8px}.mini-action{cursor:pointer;border:0;border-radius:7px;align-items:center;gap:4px;min-height:27px;padding:0 8px;font-size:9px;font-weight:720;display:inline-flex}.mini-action.approve{color:#116d4a;background:#e3f6ed}.mini-action.reject{color:#a23a47;background:#fde8eb}.mini-action:disabled{cursor:wait;opacity:.55}.empty-table-cell{height:150px;color:var(--muted);text-align:center}.leave-unlinked{color:var(--muted);border-top:1px solid var(--line);margin:0;padding:16px 22px 22px;font-size:13px;line-height:1.5}.member-admin{gap:18px;padding:18px 22px 22px;display:grid}.member-list{gap:0;display:grid}.member-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) auto;align-items:start;gap:10px 14px;padding:14px 0;display:grid}.member-row:last-child{border-bottom:0}.member-row strong{color:#273044;font-size:13px;display:block}.member-row small{color:var(--muted);margin-top:3px;font-size:11px;display:block}.member-edit{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;gap:8px;display:grid}.member-edit select,.member-admin select{color:#263044;background:#fff;border:1px solid #dfe2e8;border-radius:9px;min-height:38px;padding:0 10px}.member-row .auth-message{grid-column:1/-1;margin:0}.import-list>div{border-bottom:1px solid var(--line);gap:4px;padding:13px 0;display:grid}.import-list>div:last-child{border-bottom:0}.import-list strong{color:#273044;font-size:12px}.import-list span,.import-list p{color:var(--muted);font-size:11px;line-height:1.5}.auth-page{background:#fff;grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.auth-story{color:#fff;background:radial-gradient(circle at 15% 15%,#8d63ff59,#0000 27%),radial-gradient(circle at 85% 75%,#53c1d729,#0000 30%),#171326;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px clamp(35px,6vw,88px);display:flex}.brand-light{padding:0}.auth-copy{max-width:650px}.auth-copy h1{letter-spacing:-3.4px;margin:16px 0;font-size:clamp(42px,5vw,74px);line-height:.98}.auth-copy p{color:#aaa6b6;max-width:520px;font-size:17px;line-height:1.6}.eyebrow-light{color:#bca9ff}.auth-stat{background:#ffffff0f;border:1px solid #ffffff17;border-radius:12px;align-items:baseline;gap:9px;width:fit-content;padding:13px 18px;display:flex}.auth-stat strong{font-size:24px}.auth-stat span{color:#aaa6b6;font-size:11px}.auth-panel{place-items:center;padding:36px;display:grid}.auth-form-shell{flex-direction:column;gap:19px;width:min(390px,100%);display:flex}.auth-form{flex-direction:column;gap:16px;display:flex}.form-icon{width:45px;height:45px;color:var(--primary);background:#eee9ff;border-radius:13px;place-items:center;display:grid}.auth-heading h2{letter-spacing:-.9px;margin:7px 0 5px;font-size:27px}.auth-heading p{color:var(--muted);margin:0;font-size:12px}.auth-form label{color:#495266;flex-direction:column;gap:7px;font-size:12px;font-weight:670;display:flex}.auth-form input{border:1px solid #dfe2e8;border-radius:10px;outline:0;height:44px;padding:0 13px}.auth-form input:focus{border-color:#8b6ee3;box-shadow:0 0 0 3px #eeeaff}.field-error{color:#b42318;font-size:10px;font-weight:600}.password-hint{color:#7c8494;margin-top:-7px;font-size:10px;line-height:1.45}.auth-message{border:1px solid #e4e7ec;border-radius:9px;padding:11px 12px;font-size:11px;line-height:1.45}.auth-message.error{color:#9d2920;background:#fff1f0;border-color:#fac9c5}.auth-message.success{color:#176b4c;background:#ecf9f3;border-color:#bde8d4}.auth-links{color:#6745c7;justify-content:space-between;gap:14px;font-size:11px;font-weight:640;display:flex}.form-note{color:#969ba7;text-align:center;line-height:1.45}.centered-page{place-items:center;min-height:100vh;padding:24px;display:grid}.empty-state{text-align:center;border:1px solid var(--line);max-width:470px;box-shadow:var(--shadow);background:#fff;border-radius:20px;padding:45px}.empty-state h1{margin:10px 0}.empty-state p{color:var(--muted);margin:0 0 23px;line-height:1.55}@media (max-width:1050px){.stat-grid{grid-template-columns:repeat(2,1fr)}.settings-grid,.admin-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.admin-command{grid-template-columns:1fr}}@media (max-width:760px){.mobile-menu{z-index:60;color:#fff;background:#29233c;border:0;border-radius:11px;place-items:center;width:40px;height:40px;display:grid;position:fixed;top:14px;left:14px}.nav-backdrop{z-index:30;background:#0d0b148c;border:0;display:block;position:fixed;inset:0}.sidebar{width:248px;transition:transform .22s;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.main-content{margin-left:0;padding:78px 17px 42px}.page-header{flex-direction:column;align-items:flex-start}.header-actions{width:100%}.header-actions .button{flex:1}.hero-panel{grid-template-columns:1fr;padding:27px}.stat-grid,.settings-grid,.admin-grid,.command-links,.form-columns,.leave-form,.member-row,.member-edit{grid-template-columns:1fr}.project-selector{flex-direction:column;align-items:stretch}.leave-reason{grid-column:auto}.leave-submit{flex-direction:column;align-items:stretch}.leave-submit .button{justify-content:center}.toolbar{flex-direction:column;align-items:stretch}.toolbar-meta{justify-content:space-between}.roster-scroll{max-width:calc(100vw - 36px)}.roster-toolbar,.roster-subtoolbar,.roster-actions{flex-direction:column;align-items:stretch}.date-inputs{justify-content:space-between}.date-inputs input{width:112px}.date-controls{padding-bottom:2px;overflow-x:auto}.roster-filters,.roster-subtoolbar .legend{flex-wrap:wrap}.roster-grid-scroll{max-height:calc(100vh - 460px)}.roster-grid .meta-role{display:none}.roster-grid .meta-roster{left:220px}.roster-grid .month-row .meta-span{width:325px;min-width:325px;max-width:325px;display:table-cell}.worker-detail-list{grid-template-columns:1fr;gap:15px}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid var(--line)}.summary-strip>div:last-child{border-bottom:0}.auth-page{grid-template-columns:1fr}.auth-story{min-height:430px;padding:32px 26px}.auth-copy h1{letter-spacing:-2px;font-size:43px}.auth-stat{display:none}.auth-panel{min-height:560px;padding:42px 24px}}
