:root{--ink:#172033;--muted:#68758a;--line:#d8e0ea;--green:#1d5fa7;--green-dark:#0c2d52;--green-soft:#e7f0fa;--surface:#fff;--canvas:#eef2f6}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{color:#eef6f1;z-index:20;background:linear-gradient(175deg,#173d2d 0%,#102e22 75%,#0b261b 100%);flex-direction:column;width:238px;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #ffffff17;align-items:center;gap:13px;height:92px;padding:0 24px;display:flex}.brand-mark{width:40px;height:40px;color:var(--green-dark);letter-spacing:-1px;background:#edf7f0;border-radius:12px 12px 12px 4px;place-items:center;font-size:16px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand strong{letter-spacing:1px;font-size:18px}.brand small{color:#9db9aa;letter-spacing:4px;margin-top:3px;font-size:11px}.sidebar nav{flex:1;padding:17px 12px;overflow:auto}.nav-group{margin-bottom:18px}.nav-title{color:#729282;letter-spacing:2px;padding:0 13px 7px;font-size:10px}.nav-item{color:#b9cdc1;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:10px 13px;font-size:13px;transition:all .15s;display:flex}.nav-item>span{text-align:center;width:20px;font-size:17px}.nav-item i{color:#173326;background:#d5ad62;border-radius:12px;margin-left:auto;padding:2px 6px;font-size:10px;font-style:normal;font-weight:800}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:#e4f4ea24;box-shadow:inset 3px 0 #80bd96}.sidebar-foot{background:#00000026;border-radius:10px;align-items:center;gap:10px;margin:0 14px 16px;padding:14px;display:flex}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:11px}.sidebar-foot small{color:#7fa18f;margin-top:4px;font-size:9px}.online-dot{background:#56d284;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #56d2841f}.main{flex:1;min-width:0;margin-left:238px}.topbar{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff0;justify-content:space-between;align-items:center;height:92px;padding:0 32px;display:flex;position:sticky;top:0}.topbar h1{letter-spacing:-.5px;margin:0;font-size:22px;font-weight:750}.topbar p{color:var(--muted);margin:6px 0 0;font-size:12px}.top-actions{align-items:center;gap:10px;font-size:12px;display:flex}.icon-button{border:1px solid var(--line);background:#fff;border-radius:9px;width:35px;height:35px;position:relative}.icon-button b{color:#fff;background:#d35c4c;border-radius:10px;padding:2px 5px;font-size:9px;position:absolute;top:-4px;right:-4px}.divider{background:var(--line);width:1px;height:28px;margin:0 5px}.avatar{background:var(--green-soft);width:35px;height:35px;color:var(--green);border-radius:10px;place-items:center;font-weight:800;display:grid}.user strong,.user small{display:block}.user small{color:var(--muted);margin-top:2px;font-size:10px}.logout-button{color:#748079;background:0 0;border:0;padding:7px;font-size:10px}.logout-button:hover{color:#b45148}.content{max-width:1600px;margin:auto;padding:25px 30px 42px}.password-warning{color:#765421;background:#fff8e9;border:1px solid #efd8a9;border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 15px;display:flex}.password-warning strong,.password-warning span{display:block}.password-warning strong{font-size:11px}.password-warning span{color:#9c7b49;margin-top:3px;font-size:9px}.password-warning button{color:#765421;background:#fff;border:1px solid #dfc183;border-radius:7px;padding:7px 11px;font-size:10px}.card{background:var(--surface);border:1px solid #e7ebe8;border-radius:13px;box-shadow:0 2px 10px #17362806}.date-strip{background:linear-gradient(100deg,#f0f6f2,#f8faf8);border:1px solid #dde8e0;border-radius:11px;justify-content:space-between;align-items:center;min-height:57px;margin-bottom:17px;padding:12px 16px;display:flex}.date-strip>div{align-items:center;gap:11px;display:flex}.date-strip strong{font-size:13px}.date-strip small{color:var(--muted);border-left:1px solid #d5dfd8;padding-left:12px;font-size:11px}.date-chip{background:var(--green);color:#fff;border-radius:7px;padding:5px 9px;font-size:10px;font-weight:700}.primary,.secondary{border-radius:8px;padding:9px 15px;font-size:12px;font-weight:650}.primary{border:1px solid var(--green);color:#fff;background:var(--green);box-shadow:0 3px 8px #1f7a4f2b}.secondary{color:#506058;background:#fff;border:1px solid #dce2de}.metrics{grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:15px;display:grid}.metric{gap:14px;min-height:118px;padding:19px;display:flex;position:relative;overflow:hidden}.metric-icon{border-radius:11px;flex:none;place-items:center;width:43px;height:43px;font-family:serif;font-weight:800;display:grid}.metric-icon.orange{color:#b96f27;background:#fbefe0}.metric-icon.violet{color:#745aa2;background:#f0ecf8}.metric-copy small{color:#77837d;font-size:11px}.metric-copy>div{margin-top:3px}.metric-copy strong{letter-spacing:-1px;font-size:25px}.metric-copy span{color:#75827b;margin-left:5px;font-size:10px}.metric-copy p{color:#9aa49f;margin:5px 0 0;font-size:9px}.metric-progress{background:#edf0ee;border-radius:4px;height:3px;position:absolute;bottom:15px;left:19px;right:19px;overflow:hidden}.metric-progress i{background:#5e9f79;border-radius:4px;height:100%;display:block}.two-column{grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr);gap:15px;margin-bottom:15px;display:grid}.card-title{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;min-height:56px;padding:0 18px;display:flex}.card-title>div{align-items:center;gap:9px;display:flex}.card-title h2{margin:0;font-size:14px}.card-title span{color:#8a958f;font-size:10px}.card-title button{color:var(--green);background:0 0;border:0;font-size:10px}.table-wrap{overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:11px}.table-wrap th{color:#919b96;text-align:left;white-space:nowrap;background:#fafbfa;padding:9px 13px;font-weight:600}.table-wrap td{white-space:nowrap;border-top:1px solid #f0f2f1;padding:10px 13px}.table-wrap td strong{font-weight:650}.row-actions{gap:5px;display:flex}.row-actions button,.text-button{color:var(--green);background:0 0;border:0;padding:2px 4px;font-size:10px}.row-actions button:hover,.text-button:hover{text-decoration:underline}.muted-cell{color:#9ba49f;font-size:9px}.role-tag{color:#496656;background:#edf3ef;border-radius:5px;padding:4px 8px;font-size:9px;font-weight:650}.subtext{color:#98a19c;margin-top:3px;font-size:8px;display:block}.permission-on,.permission-off{border-radius:5px;margin-right:4px;padding:3px 6px;font-size:8px;display:inline-block}.permission-on{color:#28744e;background:#e8f4ed}.permission-off{color:#8e9792;background:#f1f2f1}.role-admin{color:#654c91;background:#eee9f7}.role-hr{color:#28744e;background:#e8f4ed}.protected-label{color:#8c789f;background:#f1edf7;border-radius:5px;padding:4px 7px;font-size:8px}.status{color:#66736d;background:#eff2f0;border-radius:12px;align-items:center;padding:3px 8px;font-size:9px;font-weight:650;display:inline-flex}.status:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px;margin-right:5px}.status-pending,.status-in_progress,.status-queued,.status-reopened,.status-withdrawn{color:#a86725;background:#fbf0e2}.status-overdue,.status-disabled{color:#b45148;background:#faeaea}.timeline-card{padding-bottom:8px}.timeline{padding:13px 18px}.timeline-item{grid-template-columns:38px 14px 1fr 20px;gap:5px;min-height:46px;display:grid;position:relative}.timeline-item time{color:#929c97;padding-top:2px;font-size:9px}.timeline-item i{z-index:1;background:#fff;border:2px solid #cbd4cf;border-radius:50%;width:8px;height:8px;margin-top:3px}.timeline-item:not(:last-child) i:after{content:"";background:#e0e5e2;width:1px;margin-left:2px;position:absolute;top:12px;bottom:0}.timeline-item strong,.timeline-item small{display:block}.timeline-item strong{font-size:11px}.timeline-item small{color:#949e99;margin-top:3px;font-size:9px}.timeline-item.current i{border-color:#d5a757;box-shadow:0 0 0 3px #faefd9}.timeline-item b{color:var(--green);font-size:11px}.quick-card{margin-bottom:15px}.quick-actions{grid-template-columns:repeat(4,1fr);gap:10px;padding:13px;display:grid}.quick-actions button{text-align:left;background:#fafcfa;border:1px solid #e7ebe8;border-radius:9px;align-items:center;gap:10px;padding:13px;display:flex}.quick-actions button:hover{background:#f5faf7;border-color:#b7d1c0;transform:translateY(-1px)}.quick-actions button>span{width:32px;height:32px;color:var(--green);background:#e8f2eb;border-radius:8px;place-items:center;font-weight:800;display:grid}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:11px}.quick-actions small{color:#98a19c;margin-top:3px;font-size:9px}.page-card{min-height:570px}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.toolbar>div{gap:8px;display:flex}.search{color:#8b9690;border:1px solid #dfe4e1;border-radius:8px;align-items:center;gap:7px;width:285px;padding:0 10px;display:flex}.search input{border:0;outline:0;width:100%;padding:8px 0;font-size:11px}.summary-line{color:#89938e;padding:12px 18px;font-size:11px}.summary-line strong{color:var(--ink)}.roomy td,.roomy th{padding:13px 18px}.mono{color:#53615a;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.employee-toolbar{align-items:flex-end}.employee-filters{flex-wrap:wrap;align-items:flex-end}.filter-select,.employee-search{color:#65726b;flex-direction:column;gap:6px;font-size:9px;font-weight:650;display:flex}.filter-select select{width:180px;color:var(--ink);background:#fff;border:1px solid #dfe4e1;border-radius:8px;outline:0;padding:9px 30px 9px 10px;font-size:11px}.filter-select select:focus,.employee-search>div:focus-within{border-color:#70a98a;box-shadow:0 0 0 3px #edf6f1}.employee-search>div{color:#8b9690;background:#fff;border:1px solid #dfe4e1;border-radius:8px;align-items:center;gap:7px;width:285px;padding:0 9px;display:flex}.employee-search input{border:0;outline:0;width:100%;padding:8px 0;font-size:11px}.employee-search button{color:#8a948f;background:0 0;border:0;padding:2px 3px;font-size:15px}.employee-actions{align-items:center}.employee-table-wrap{max-height:560px;position:relative;overflow:auto}.employee-table-wrap thead th{z-index:2;box-shadow:inset 0 -1px 0 var(--line);background:#f8faf9;position:sticky;top:0}.sort-header{width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:0;font-weight:650;display:flex}.sort-header span{color:#a7b0ab;font-size:10px}.sort-header.active,.sort-header.active span{color:var(--green)}.empty-table{text-align:center!important;color:#98a19c!important;padding:48px 18px!important}.employee-table-wrap th:last-child,.employee-table-wrap td:last-child{min-width:150px}.grid-list{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.person-card{align-items:flex-start;gap:14px;min-height:140px;padding:20px;display:flex;position:relative}.person-avatar{width:48px;height:48px;color:var(--green);background:linear-gradient(135deg,#dbece1,#f0f7f3);border-radius:13px;place-items:center;font-size:18px;font-weight:800;display:grid}.person-main h3{align-items:center;gap:8px;margin:2px 0 7px;font-size:15px;display:flex}.person-main p{color:#55645c;margin:0;font-size:11px}.person-main small{color:#98a19d;margin-top:6px;font-size:9px;display:block}.permission-tags{gap:5px;margin-left:auto;display:flex}.permission-tags span{color:#557062;background:#f0f5f2;border-radius:5px;padding:4px 7px;font-size:9px}.more{color:#9aa39f;background:0 0;border:0;position:absolute;bottom:12px;right:15px}.page-stack{flex-direction:column;gap:14px;display:flex}.page-actions{justify-content:flex-end;gap:8px;display:flex}.roster-card{align-items:center;gap:14px;padding:18px;display:flex}.roster-symbol{width:46px;height:46px;color:var(--green);background:#e8f4ed;border-radius:11px;place-items:center;font-weight:800;display:grid}.roster-card h3{margin:0 0 5px;font-size:14px}.roster-card p{color:#8a958f;margin:0;font-size:10px}.roster-card>.status{margin-left:10px}.roster-actions{gap:7px;margin-left:auto;display:flex}.roster-actions button{border:1px solid var(--line);color:#536159;background:#fff;border-radius:7px;padding:7px 10px;font-size:10px}.task-block{overflow:hidden}.task-overview{border-bottom:1px solid var(--line);color:#77827c;background:#fbfcfb;align-items:center;gap:14px;padding:12px 18px;font-size:10px;display:flex}.task-overview strong{color:var(--ink);margin-left:auto}.logs{grid-template-columns:1fr 1fr}.log-list{padding:8px 18px}.log-list>div{border-bottom:1px solid #eff1f0;align-items:flex-start;gap:11px;padding:12px 0;display:flex}.log-list>div:last-child{border:0}.log-list>div>div{flex:1}.log-list strong,.log-list p,.log-list small{margin:0;display:block}.log-list strong{font-size:11px}.log-list p{color:#748079;margin-top:4px;font-size:10px}.log-list small{color:#a1aaa5;margin-top:4px;font-size:8px}.log-icon{width:30px;height:30px;color:var(--green);background:#e8f2eb;border-radius:8px;place-items:center;display:grid}.log-icon.audit{color:#9e6d2e;background:#f4ede1}.empty{color:#99a29e;font-size:11px;justify-content:center!important;padding:40px!important}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;display:flex}.empty-state>div{width:60px;height:60px;color:var(--green);background:#eaf3ed;border-radius:18px;place-items:center;font-size:23px;display:grid}.empty-state h2{margin:18px 0 7px;font-size:17px}.empty-state p{color:#88938d;max-width:420px;margin:0 0 18px;font-size:11px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08181073;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:min(520px,100%);animation:.18s ease-out pop;overflow:hidden;box-shadow:0 24px 70px #00000038}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:21px 24px 16px;display:flex}.modal-head h2{margin:0;font-size:18px}.modal-head p{color:#8a948f;margin:5px 0 0;font-size:10px}.modal-head button{color:#6d7872;background:#f1f3f2;border:0;border-radius:8px;width:30px;height:30px;font-size:18px}.modal form{padding:20px 24px}.field{flex:1;margin-bottom:14px;display:block}.field>span{color:#53615a;margin-bottom:6px;font-size:11px;font-weight:650;display:block}.field input,.field select{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe4e1;border-radius:8px;outline:0;padding:10px 11px;font-size:12px}.field input:focus,.field select:focus{border-color:#70a98a;box-shadow:0 0 0 3px #edf6f1}.field-row{gap:12px;display:flex}.notice{color:#577064;background:#f1f7f3;border-radius:8px;margin:3px 0 14px;padding:10px 12px;font-size:10px;line-height:1.6}.modal-actions{justify-content:flex-end;gap:8px;padding-top:8px;display:flex}.toast{z-index:70;color:#fff;background:#173d2d;border-radius:9px;padding:12px 17px;font-size:11px;animation:.2s slide;position:fixed;bottom:25px;right:25px;box-shadow:0 10px 30px #0003}.loading{color:#829087;justify-content:center;align-items:center;gap:5px;min-height:500px;font-size:11px;display:flex}.loading span{background:var(--green);border-radius:50%;width:7px;height:7px;animation:1s infinite alternate pulse}.loading span:nth-child(2){animation-delay:.2s}.loading span:nth-child(3){animation-delay:.4s}.loading p{margin-left:8px}.login-page{background:#fff;grid-template-columns:minmax(420px,1.05fr) minmax(420px,.95fr);min-height:100vh;display:grid}.login-visual{color:#eef8f2;background:radial-gradient(circle at 78% 22%,#82bc9738,#0000 26%),linear-gradient(145deg,#173f2e,#0c291d);padding:45px 55px;position:relative;overflow:hidden}.login-visual:after{content:"";border:1px solid #ffffff12;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-190px;right:-170px;box-shadow:0 0 0 70px #ffffff06,0 0 0 140px #ffffff05}.login-brand{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.login-brand span{color:#16422e;background:#edf7f0;border-radius:12px 12px 12px 4px;place-items:center;width:42px;height:42px;font-size:21px;font-weight:800;display:grid}.login-brand strong{letter-spacing:2px;font-size:18px}.login-copy{z-index:1;position:absolute;top:48%;left:55px;right:55px;transform:translateY(-50%)}.login-copy small{color:#8fb29e;letter-spacing:3px;font-size:10px}.login-copy h1{letter-spacing:1px;margin:17px 0 14px;font-size:40px;line-height:1.35}.login-copy p{color:#a8c0b3;max-width:470px;font-size:12px;line-height:1.8}.login-foot{color:#6f9480;font-size:10px;position:absolute;bottom:40px;left:55px}.login-panel{background:linear-gradient(#fff,#fafcfb);place-items:center;padding:40px;display:grid}.login-panel form{width:min(380px,100%)}.login-panel h2{margin:0;font-size:27px}.login-panel>form>p{color:#89938e;margin:8px 0 30px;font-size:11px}.mobile-brand{display:none}.login-submit{background:var(--green);color:#fff;border:0;border-radius:9px;width:100%;margin-top:4px;padding:12px;font-weight:700;box-shadow:0 5px 15px #1f7a4f33}.login-submit:disabled{opacity:.65}.login-hint{text-align:center;color:#9ba49f;margin-top:17px;font-size:9px;display:block}.login-error{color:#a6473f;background:#faeaea;border-radius:7px;margin-bottom:10px;padding:9px 11px;font-size:10px}.department-multi{border:0;margin:0 0 14px;padding:0}.department-multi legend{color:#53615a;margin-bottom:6px;font-size:11px;font-weight:650}.department-options{border:1px solid #dfe4e1;border-radius:8px;grid-template-columns:1fr 1fr;gap:7px;padding:9px;display:grid}.department-options label{cursor:pointer;background:#f6f8f7;border-radius:7px;align-items:center;gap:7px;min-width:0;padding:7px 8px;font-size:11px;display:flex}.department-options label.disabled{color:#9aa39e;cursor:not-allowed;background:#f4f4f4}.department-options input{accent-color:#25734c}.department-options span{white-space:nowrap}.department-options small{white-space:nowrap;color:#9aa39e;margin-left:auto;font-size:9px}.row-actions button.danger{color:#b34b43}.confirm-summary{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.confirm-summary strong{font-size:13px}.confirm-summary span{color:#7c8982;font-size:10px}.people-checklist{border:1px solid var(--line);border-radius:9px;max-height:330px;margin-bottom:12px;padding:5px;overflow:auto}.people-checklist label{cursor:pointer;border-bottom:1px solid #edf0ee;align-items:center;gap:10px;padding:9px;display:flex}.people-checklist label:last-child{border-bottom:0}.people-checklist input{accent-color:var(--green)}.people-checklist span{flex-direction:column;gap:2px;display:flex}.people-checklist strong{font-size:11px}.people-checklist small{color:#8a948f;font-size:9px}.people-checklist em{color:#b57c2f;margin-left:auto;font-size:9px;font-style:normal}.roster-actions button.danger{color:#b34b43}.roster-modal{width:min(820px,100%);max-height:calc(100vh - 32px);overflow:auto}.roster-modal .modal-head{z-index:5;background:#fff;position:sticky;top:0}.roster-selector{margin-bottom:14px}.roster-selector-toolbar{align-items:center;gap:8px;margin-bottom:9px;display:flex}.roster-selector-toolbar>div:first-child{flex-direction:column;margin-right:auto;display:flex}.roster-selector-toolbar>div:first-child strong{color:var(--ink);font-size:12px}.roster-selector-toolbar>div:first-child span{color:#8b9690;margin-top:2px;font-size:9px}.roster-search{color:#8b9690;border:1px solid #dfe4e1;border-radius:8px;align-items:center;gap:6px;width:220px;padding:0 8px;display:flex}.roster-search:focus-within{border-color:#70a98a;box-shadow:0 0 0 3px #edf6f1}.roster-search input{border:0;outline:0;width:100%;padding:7px 0;font-size:10px}.roster-search button{color:#87918c;background:0 0;border:0}.roster-selector-toolbar .danger{color:#b34b43}.roster-departments{grid-template-columns:1fr 1fr;gap:9px;max-height:390px;padding:2px;display:grid;overflow:auto}.roster-department{background:#fff;border:1px solid #e1e6e3;border-radius:10px;overflow:hidden}.roster-department header{background:#f5f8f6;border-bottom:1px solid #e7ebe8;justify-content:space-between;align-items:center;padding:10px 11px;display:flex}.roster-department header>div{flex-direction:column;gap:2px;display:flex}.roster-department header strong{font-size:11px}.roster-department header span{color:#849089;font-size:8px}.roster-department header button{color:var(--green);background:0 0;border:0;font-size:9px;font-weight:650}.roster-department-people{grid-template-columns:1fr 1fr;padding:5px;display:grid}.roster-department-people label{cursor:pointer;border-radius:7px;align-items:center;gap:7px;min-width:0;padding:7px;display:flex}.roster-department-people input{accent-color:var(--green);flex:none}.roster-department-people span{flex-direction:column;min-width:0;display:flex}.roster-department-people strong{text-overflow:ellipsis;font-size:10px;overflow:hidden}.roster-department-people small{color:#8b9690;font-size:8px}.roster-no-result{text-align:center;color:#929c97;padding:35px;font-size:10px}.status-planned{color:#a86725;background:#fbf0e2}.status-expired{color:#6f7974;background:#eef1ef}.modal-readonly{padding:20px 24px}.people-checklist.readonly{padding:5px}.readonly-person{border-bottom:1px solid #edf0ee;align-items:center;gap:10px;padding:9px;display:flex}.readonly-person:last-child{border-bottom:0}.readonly-person>span:nth-child(2){flex-direction:column;gap:2px;display:flex}.readonly-person strong{font-size:11px}.readonly-person small{color:#8a948f;font-size:9px}.readonly-person em{margin-left:auto;font-size:9px;font-style:normal}.included-mark,.excluded-mark{border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.excluded-mark{color:#b45148;background:#faeaea}.temp-addition-type{border:0;margin:0 0 14px;padding:0}.temp-addition-type legend{margin-bottom:7px;font-size:11px;font-weight:700}.temp-addition-type>div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.temp-addition-type label{cursor:pointer;background:#f8fafc;border:1px solid #d8e1e8;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.temp-addition-type label.selected{background:#eaf4fc;border-color:#2474b5;box-shadow:0 0 0 1px #2474b5}.temp-addition-type input{margin-top:3px}.temp-addition-type span{flex-direction:column;gap:3px;display:flex}.temp-addition-type strong{font-size:11px}.temp-addition-type small{color:#6b7883;font-size:9px;line-height:1.4}.external-count-card{color:#164d78;background:#edf6fd;border-left:4px solid #2474b5;justify-content:space-between;align-items:center;gap:12px;margin:10px 0;padding:11px 13px;display:flex}.external-count-card strong{font-size:12px}.external-count-card span{color:#55768f;font-size:9px}.schedule-settings-card{border-left:5px solid #2474b5;justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.schedule-settings-card>div{align-items:center;gap:24px;display:flex}.schedule-settings-card small{color:#6a7782;font-size:10px}.schedule-settings-card strong{color:#173b5b;font-size:13px}.schedule-form-section{background:#f8fafc;border:1px solid #dce5ec;border-radius:8px;margin-bottom:12px;padding:13px 14px}.schedule-form-section>strong{color:#1d5fa7;margin-bottom:10px;font-size:12px;display:block}.status-failed{color:#b45148;background:#faeaea}.error-text{color:#b45148!important;font-size:9px!important}.status-canceled{color:#fff;background:#7b8794}.task-management-actions{gap:7px;margin-left:8px;display:flex}.task-management-actions button{border-radius:6px;padding:6px 9px;font-size:9px}.task-management-actions .danger{color:#b33d35;background:#fff;border:1px solid #d8a5a1}.task-draft-note{color:#6d7b88;background:#f8fafc;border-top:1px solid #e4eaf0;padding:16px 18px;font-size:10px}.task-management-actions .action-resend{color:#fff;background:#7655a6}.monthly-toolbar{justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.monthly-toolbar>div:first-child{align-items:center;gap:10px;display:flex}.monthly-toolbar small{color:#6f7d8a;font-size:10px}.monthly-toolbar input{color:#173b5b;background:#fff;border:1px solid #ced9e4;border-radius:7px;padding:7px 9px}.monthly-legend{color:#647382;align-items:center;gap:16px;font-size:9px;display:flex}.monthly-legend span{align-items:center;gap:5px;display:flex}.monthly-legend i{border-radius:2px;width:10px;height:10px}.monthly-legend i.lunch{background:#2d78b7}.monthly-legend i.dinner{background:#dc8a35}.monthly-legend b{font-size:13px}.monthly-legend .meal-yes{color:#24865f}.monthly-legend .meal-no{color:#c43b32}.monthly-chart-scroll{padding:16px 18px 12px;overflow-x:auto}.monthly-chart{align-items:flex-end;gap:5px;min-width:max-content;height:190px;display:flex}.daily-bars{border-radius:6px;flex-direction:column;justify-content:flex-end;align-items:center;width:45px;min-width:45px;height:180px;padding:5px 3px 3px;display:flex}.bar-area{justify-content:center;align-items:flex-end;gap:3px;height:145px;display:flex}.bar{border-radius:3px 3px 0 0;width:14px;min-height:0;transition:height .2s;position:relative}.bar.lunch{background:#2d78b7}.bar.dinner{background:#dc8a35}.bar span{color:#526170;font-size:8px;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.daily-bars>strong{color:#5a6977;margin-top:5px;font-size:9px}.monthly-matrix-wrap{max-width:100%;max-height:620px;overflow:auto}.monthly-matrix-wrap table{border-collapse:separate;border-spacing:0;min-width:max-content;font-size:9px}.monthly-matrix-wrap th,.monthly-matrix-wrap td{text-align:center;background:#fff;border-bottom:1px solid #e5ebf1;border-right:1px solid #e2e8ee;min-width:42px;height:31px;padding:5px 7px}.monthly-matrix-wrap thead th{z-index:4;color:#52677a;background:#edf3f8;font-weight:700;position:sticky;top:0}.monthly-matrix-wrap .employee-no-head,.monthly-matrix-wrap .employee-name-head{z-index:7}.monthly-matrix-wrap .employee-no-head,.monthly-matrix-wrap .employee-no-cell{z-index:3;text-align:left;background:#f8fafc;min-width:92px;position:sticky;left:0}.monthly-matrix-wrap .employee-name-head,.monthly-matrix-wrap .employee-name-cell{z-index:3;text-align:left;background:#f8fafc;min-width:92px;position:sticky;left:92px;box-shadow:2px 0 4px #1435540d}.monthly-matrix-wrap .meal-yes{color:#fff;background:#24865f;font-weight:800}.monthly-matrix-wrap .meal-no{color:#fff;background:#c43b32;font-weight:800}.monthly-matrix-wrap .meal-empty{color:#b2bbc3;background:#fafbfc}.monthly-matrix-wrap .tomorrow-head{background:#dcecf9}.monthly-matrix-wrap .monthly-total-head{color:#164f7c;background:#dcebf7;border-left:1px solid #8fb1cc}.monthly-matrix-wrap .monthly-total-cell{color:#164f7c;background:#e7f1f9;border-left:1px solid #adc6d9;font-weight:800}.monthly-matrix-wrap .external-row td{border-top:2px solid #8faac1;font-weight:700}.monthly-matrix-wrap .external-count{color:#175b91;background:#e3f0fa}.monthly-matrix-wrap .external-total{color:#fff;background:#2874a8}.monthly-empty{color:#8d99a4!important;padding:35px!important}.monthly-matrix-card{overflow:hidden}.monthly-matrix-wrap{isolation:isolate}.monthly-matrix-wrap th,.monthly-matrix-wrap td{width:26px;min-width:26px;max-width:26px;height:22px;padding:2px;line-height:1.1}.monthly-matrix-wrap thead tr:nth-child(2) th{top:22px}.monthly-matrix-wrap .employee-no-head,.monthly-matrix-wrap .employee-no-cell{text-overflow:ellipsis;width:46px;min-width:46px;max-width:46px;left:0;overflow:hidden}.monthly-matrix-wrap .employee-name-head,.monthly-matrix-wrap .employee-name-cell{text-overflow:ellipsis;width:46px;min-width:46px;max-width:46px;left:46px;overflow:hidden}.monthly-matrix-wrap tbody .employee-no-cell,.monthly-matrix-wrap tbody .employee-name-cell{z-index:5}.monthly-matrix-wrap thead .employee-no-head,.monthly-matrix-wrap thead .employee-name-head{z-index:12;background:#dfeaf4;position:sticky;top:0;box-shadow:inset 0 -1px #b9cddd}.monthly-matrix-wrap thead .employee-name-head{box-shadow:2px 0 5px #1435542e,inset 0 -1px #b9cddd}.monthly-matrix-wrap tbody tr[aria-selected]{cursor:pointer}.monthly-matrix-wrap tbody tr[aria-selected]:focus{outline:none}.monthly-matrix-wrap .selected-person-row td{box-shadow:inset 0 2px #e5a419,inset 0 -2px #e5a419}.monthly-matrix-wrap .selected-person-row td:not(.meal-yes):not(.meal-no){background:#fff3bf}.monthly-matrix-wrap .selected-person-row .employee-name-cell{box-shadow:2px 0 5px #1435542e,inset 0 2px #e5a419,inset 0 -2px #e5a419}.monthly-matrix-wrap tbody tr[aria-selected]:focus-visible td{box-shadow:inset 0 2px #226aa5,inset 0 -2px #226aa5}.monthly-chart{gap:0}.daily-bars{width:32px;min-width:32px;padding-left:1px;padding-right:1px}.bar-area{gap:2px}.bar{width:14px}.monthly-chart-card .card-title{flex-wrap:wrap;gap:8px;padding-top:8px;padding-bottom:8px}.card-title .monthly-chart-totals{align-items:stretch;gap:6px;display:flex}.monthly-chart-totals span{color:#65788a;background:#f3f7fb;border:1px solid #d8e4ef;border-radius:7px;flex-direction:column;justify-content:center;min-width:88px;padding:6px 9px;font-size:8px;line-height:1.2;display:flex}.monthly-chart-totals strong{color:#1d5fa7;margin-top:2px;font-size:15px;line-height:1}.monthly-chart-totals .grand-total{color:#315f84;background:#e4f0fa;border-color:#99bbd8}.monthly-chart-totals .grand-total strong{color:#164f7c}.monthly-toolbar-right{align-items:center;gap:16px;display:flex}.monthly-export-actions{gap:6px;display:flex}.monthly-export-actions a{color:#fff;background:#1d5fa7;border:1px solid #477da9;border-radius:6px;align-items:center;padding:6px 10px;font-size:9px;font-weight:700;text-decoration:none;display:inline-flex}.monthly-export-actions a:hover{background:#164e8b}.roster-actions a{border:1px solid var(--line);color:#536159;background:#fff;border-radius:7px;padding:7px 10px;font-size:10px;text-decoration:none}.roster-actions a:hover{color:var(--green);border-color:#9db9a8}.login-brand span{letter-spacing:-1px;font-size:17px}body{background-color:var(--canvas);background-image:linear-gradient(#234f7d06 1px,#0000 1px),linear-gradient(90deg,#234f7d06 1px,#0000 1px);background-size:32px 32px}.sidebar{color:#edf5fc;background:linear-gradient(175deg,#102f4f 0%,#0a223b 70%,#061727 100%)}.brand{border-bottom-color:#a6cfef24}.brand-mark{color:#123f70;background:#dbeafe;border:1px solid #ffffff9e;box-shadow:0 4px 14px #00102238}.brand small{color:#8faecb}.nav-title{color:#6f91b0}.nav-item{color:#b5c9dc}.nav-item:hover{background:#5fa7e01f}.nav-item.active{background:#418bc73d;box-shadow:inset 3px 0 #66b6ef}.sidebar-foot{background:#000c1940;border:1px solid #97c6ea17}.sidebar-foot small{color:#86a7c4}.online-dot{background:#52bce8;box-shadow:0 0 0 4px #52bce824}.topbar{background:#fafcfff2;box-shadow:0 1px 8px #1f43670a}.avatar{color:#1d5fa7;background:#e3eef9}.logout-button{color:#65758a}.card{border-color:#dce4ed;border-radius:10px;box-shadow:0 3px 12px #183a5b0b}.date-strip{background:linear-gradient(100deg,#e8f0f8,#f7f9fc);border-color:#d3dfeb}.date-strip small{border-left-color:#cbd8e5}.primary{box-shadow:0 3px 9px #1d5fa733}.primary:hover{background:#174f8b}.secondary{color:#42536a;border-color:#ccd7e3}.secondary:hover{background:#f1f5f9}.metric-icon.green{color:#1d5fa7;background:#e2edf9}.metric-icon.blue{color:#26758f;background:#e2f0f6}.metric-progress{background:#e7edf4}.metric-progress i{background:#4287c5}.card-title{border-bottom-color:#e5ebf1}.table-wrap th{color:#758499;background:#f4f7fa}.table-wrap td{border-top-color:#e8edf3}.table-wrap tr:hover td{background:#f7faff}.role-tag{color:#365a7d;background:#e7eef6}.permission-on,.role-hr{color:#1e5f9d;background:#e1edf9}.status-submitted,.status-completed,.status-active,.status-published,.status-sent,.status-resubmitted{color:#1d5f9e;background:#e2eef9}.timeline-item.done i{background:#2874b8;border-color:#2874b8}.quick-actions button{background:#f8fafc;border-color:#dce4ed}.quick-actions button:hover{background:#f0f6fb;border-color:#9cbdd9}.quick-actions button>span{color:#1d5fa7;background:#e3eef9}.status-disabled{color:#fff;background:#c43b32}.status-active{color:#fff;background:#23865f}.employee-actions-cell{gap:7px}.row-actions button.employee-action{color:#fff;border-radius:6px;padding:5px 9px;font-weight:650;line-height:1.2;box-shadow:0 2px 6px #1720331f}.row-actions button.employee-action:hover{filter:brightness(.92);text-decoration:none}.employee-edit{background:#1d5fa7!important}.employee-departure{background:#c7781e!important}.employee-restore{background:#23865f!important}.employee-delete{background:#c43b32!important}.management-actions{gap:7px}.row-actions button.management-action{color:#fff;border-radius:6px;padding:5px 9px;font-weight:650;line-height:1.2;box-shadow:0 2px 6px #1720331f}.row-actions button.management-action:hover{filter:brightness(.92);text-decoration:none}.action-edit{background:#1d5fa7!important}.action-reset{background:#7655a6!important}.action-disable{background:#c7781e!important}.action-enable{background:#23865f!important}.operation-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.operation-actions .action-button{cursor:pointer;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 2px 6px #1720331f;color:#fff!important;border:0!important;border-radius:6px!important;padding:5px 9px!important;font-size:10px!important;font-weight:650!important;line-height:1.2!important;text-decoration:none!important}.operation-actions .action-button:hover{filter:brightness(.92);text-decoration:none!important}.action-view{background:#1d5fa7!important}.action-confirm,.action-export{background:#23865f!important}.action-reopen,.action-copy,.action-special{background:#7655a6!important}.action-cancel{background:#c7781e!important}.action-delete{background:#c43b32!important}.employee-table-wrap.roomy th,.employee-table-wrap.roomy td{padding:7px 12px}.employee-table-wrap .subtext{margin-top:1px}.employee-table-wrap .status{padding:2px 7px}.employee-table-wrap .row-actions button.employee-action{padding:4px 8px}.roster-modal{width:min(1180px,100vw - 32px)}.roster-departments{grid-template-columns:repeat(3,minmax(0,1fr));max-height:470px}.roster-department-people{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-select select,.employee-search>div,.search,.roster-search,.field input,.field select{border-color:#d2dce6}.filter-select select:focus,.employee-search>div:focus-within,.roster-search:focus-within,.field input:focus,.field select:focus{border-color:#5794ca;box-shadow:0 0 0 3px #e7f0fa}.employee-table-wrap thead th{background:#edf3f8}.person-avatar{background:linear-gradient(135deg,#dceafb,#eef5fb)}.permission-tags span{color:#44627f;background:#e8eff6}.roster-symbol{color:#1d5fa7;background:#e1edf9}.roster-symbol.cold{color:#26758f;background:#dff0f6}.task-overview{background:#f5f8fb}.log-icon{color:#1d5fa7;background:#e1edf9}.empty-state>div{color:#1d5fa7;background:#e2edf8}.modal-backdrop{background:#071b3085}.modal-head button{color:#52657a;background:#e9eff5}.notice{color:#3d5f80;background:#e9f1f9}.toast{background:#123f70}.login-visual{color:#eef6fd;background:radial-gradient(circle at 78% 22%,#5aa6e047,#0000 27%),linear-gradient(145deg,#123c65,#071b30)}.login-brand span{color:#123f70;background:#dbeafe}.login-copy small{color:#83b4da}.login-copy p{color:#a8c2d8}.login-foot{color:#7196b5}.login-panel{background:linear-gradient(#fff,#f4f7fa)}.login-submit{box-shadow:0 5px 16px #1d5fa73b}.department-options{border-color:#d4dee8}.department-options label{background:#f3f6f9}.department-options label:has(input:checked){color:#1e5f9d;background:#e1edf9}.roster-department{border-color:#d9e2eb}.roster-department header{background:#edf3f8;border-bottom-color:#dce5ed}.roster-department-people label:hover{background:#edf4fa}.included-mark{color:#1d5f9e;background:#e2eef9}.roster-actions a:hover{border-color:#8eb5d7}@keyframes pulse{to{opacity:.25;transform:translateY(-4px)}}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes slide{0%{opacity:0;transform:translateY(8px)}}@media (max-width:1100px){.metrics{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.roster-departments{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.sidebar{width:68px}.brand{padding:0 14px}.brand>div,.nav-title,.nav-item:not(.active) i,.nav-item{font-size:0}.nav-item{justify-content:center;padding:11px}.nav-item>span{font-size:17px}.sidebar-foot{justify-content:center;padding:11px}.sidebar-foot div{display:none}.main{margin-left:68px}.topbar{height:76px;padding:0 16px}.topbar p,.user,.divider{display:none}.content{padding:15px}.date-strip>div{flex-wrap:wrap}.date-strip small{display:none}.metrics,.grid-list,.quick-actions{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.search{width:100%}.employee-filters{grid-template-columns:1fr;align-items:stretch;display:grid!important}.filter-select select,.employee-search>div{width:100%}.employee-actions{justify-content:flex-end}.employee-table-wrap{min-height:300px;max-height:calc(100vh - 330px)}.field-row{display:block}.logs{grid-template-columns:1fr}.roster-card{flex-wrap:wrap;align-items:flex-start}.roster-actions{width:100%;margin:4px 0 0}.roster-selector-toolbar{flex-wrap:wrap;align-items:stretch}.roster-selector-toolbar>div:first-child,.roster-search{width:100%}.roster-departments{grid-template-columns:1fr;max-height:360px}.roster-department-people{grid-template-columns:1fr 1fr}.topbar h1{font-size:18px}.login-page{background:#edf2f7;padding:22px;display:block}.login-visual{display:none}.login-panel{border-radius:14px;min-height:calc(100vh - 44px);padding:25px;box-shadow:0 8px 35px #133a5e1a}.mobile-brand{color:var(--green);margin-bottom:34px;font-weight:800;display:block}.login-panel h2{font-size:24px}.password-warning{align-items:flex-start;gap:10px}}
