:root{--navy:#0c2a5a;--navy-2:#163a73;--gold:#c99a3a;--gold-dark:#a87d24;--gold-50:#faf4e6;--primary:#163f7d;--primary-hover:#0c2a5a;--primary-50:#edf1f8;--bg:#f3f5f8;--card:#fff;--surface:#f8f9fb;--line:#dde2ea;--line-soft:#edf0f4;--text:#1b2533;--muted:#5f6b7a;--green:#107c41;--amber:#b26a00;--red:#c4314b;--blue:#0b5cad;--teal:#0e7c86;--radius:8px;--shadow:0 1px 2px #0a25400f, 0 1px 3px #0a25400d;color:var(--text);background:var(--bg);font-family:IBM Plex Sans Arabic,Segoe UI,Tahoma,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);min-height:100vh;margin:0;font-size:14.5px;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;line-height:1.3}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{background:#fff;border:1px solid #c8cfd9;border-radius:6px;outline:none;min-height:38px;padding:7px 12px;transition:border-color .12s,box-shadow .12s}input:hover,select:hover,textarea:hover{border-color:#9aa5b4}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0b5cad26}input[type=checkbox]{width:16px;height:16px;min-height:auto;accent-color:var(--primary)}.btn{cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:7px 16px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{text-decoration:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--green);color:#fff}.btn-success:hover{background:#0c6534}.btn-danger{background:var(--red);color:#fff}.btn-ghost{color:var(--text);background:#fff;border-color:#c8cfd9}.btn-ghost:hover{background:var(--surface);border-color:#9aa5b4}.btn-danger-ghost{color:var(--red);background:#fff;border-color:#e8c3ca}.btn-danger-ghost:hover{background:#fdf3f5}.btn-sm{min-height:30px;padding:3px 12px;font-size:13px}.btn-block{width:100%}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:6px;display:inline-flex}.icon-btn:hover{background:var(--line-soft);color:var(--text)}.shell{flex-direction:column;min-height:100vh;display:flex}.topnav{z-index:20;position:sticky;top:0;box-shadow:0 2px 6px #0c2a5a1f}.topnav-inner{border-bottom:3px solid var(--gold);background:#fff;align-items:center;gap:24px;height:68px;padding:0 28px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-logo{width:auto;height:46px;display:block}.brand-text{border-inline-start:1px solid var(--line);flex-direction:column;padding-inline-start:12px;line-height:1.3;display:flex}.brand-text strong{color:var(--navy);font-size:16px;font-weight:700}.brand-text small{color:var(--gold-dark);font-size:12px;font-weight:600}.mode-switch{border:1px solid var(--line);border-radius:6px;display:flex;overflow:hidden}.mode-switch a{color:var(--muted);align-items:center;padding:5px 14px;font-size:13.5px;display:flex}.mode-switch a+a{border-inline-start:1px solid var(--line)}.mode-switch a:hover{background:var(--surface);text-decoration:none}.mode-switch a.on{background:var(--navy);color:#fff;font-weight:600}.topnav-end{align-items:center;gap:16px;margin-inline-start:auto;display:flex}.kiosk-link{border:1px solid var(--gold);color:var(--gold-dark);border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.kiosk-link:hover{background:var(--gold-50);text-decoration:none}.user-chip{border-inline-start:1px solid var(--line);align-items:center;gap:10px;padding-inline-start:16px;display:flex}.user-chip .who{flex-direction:column;line-height:1.25;display:flex}.user-chip strong{color:var(--navy);font-size:13px;font-weight:600}.user-chip small{color:var(--muted);font-size:12px}.avatar{background:var(--navy);border:2px solid var(--gold);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:14px;font-weight:600;display:grid}.tabs-nav{scrollbar-width:none;background:var(--navy);gap:2px;padding:0 20px;display:flex;overflow-x:auto}.tabs-nav::-webkit-scrollbar{display:none}.nav-link{color:#c3cee0;white-space:nowrap;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:11px 16px;font-size:14px;font-weight:500;display:flex}.nav-link:hover{color:#fff;background:#ffffff0f;text-decoration:none}.nav-link.active{color:#fff;border-bottom-color:var(--gold);background:#ffffff14;font-weight:600}.nav-link.active svg{color:var(--gold)}.main{flex:1;width:100%;max-width:1440px;margin:0 auto}.page-head{padding:24px 28px 0}.page-head h1{color:var(--navy);border-bottom:3px solid var(--gold);padding-bottom:6px;font-size:22px;font-weight:700;display:inline-block}.content{padding:18px 28px 40px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.card.narrow{max-width:720px}.card-title{color:var(--navy);border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;font-size:15px;font-weight:700;display:flex}.card-title:before{content:"";background:var(--gold);border-radius:1px;width:4px;height:16px}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.card-head .card-title{border:none;margin:0;padding:0}.stack{flex-direction:column;gap:18px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.grid-3-1{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;display:grid}.row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.filters{flex-wrap:wrap;flex:1;align-items:center;gap:10px;display:flex}.spacer{flex:1}.actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;display:grid}.stats.compact{margin-bottom:18px}.stat{--c:var(--navy);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);border-top:3px solid var(--c);flex-direction:column;gap:2px;padding:16px 18px;display:flex}.stats.compact .stat{box-shadow:none;background:var(--surface)}.stat small{color:var(--muted);font-size:13px;font-weight:500}.stat strong{color:var(--c);font-size:30px;font-weight:600;line-height:1.25}.stat em{color:var(--muted);font-size:12px;font-style:normal}.stat-green{--c:var(--green)}.stat-amber{--c:var(--amber)}.stat-red{--c:var(--red)}.stat-blue{--c:var(--primary)}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:start;vertical-align:middle;border-bottom:1px solid var(--line-soft);padding:10px 14px}th{color:var(--muted);white-space:nowrap;background:var(--surface);border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600}tbody tr:last-child td{border-bottom:none}tbody tr:nth-child(2n) td{background:#fbfcfd}tbody tr:hover td{background:var(--primary-50)}.card>table{border:1px solid var(--line)}.row-muted{opacity:.55}.clickable{cursor:pointer}.detail-row>td{padding:8px 16px 16px;background:var(--surface)!important}table.inner{border:1px solid var(--line);background:#fff}table.inner th,table.inner td{padding:6px 10px;font-size:13px}td .badge+.badge{margin-inline-start:4px}td strong+.badge{margin-inline-start:6px}.badge{white-space:nowrap;border:1px solid;border-radius:4px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-green{color:var(--green);background:#eaf5ee;border-color:#b9dcc6}.badge-amber{color:var(--amber);background:#fdf4e6;border-color:#f0d3a3}.badge-red{color:var(--red);background:#fbeef0;border-color:#efc1ca}.badge-blue{color:var(--primary);background:var(--primary-50);border-color:#b9d3ef}.badge-gray{color:var(--muted);background:var(--surface);border-color:var(--line)}.alert{border:1px solid;border-inline-start-width:4px;border-radius:6px;margin-bottom:12px;padding:11px 16px;display:block}.alert-error{color:#8f1d32;border-color:#efc1ca;border-inline-start-color:var(--red);background:#fbeef0}.alert-info{background:var(--primary-50);color:#0a4785;border-color:#b9d3ef;border-inline-start-color:var(--primary)}.alert-warn{color:#7a4800;border-color:#f0d3a3;border-inline-start-color:var(--amber);background:#fdf4e6}.notices{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.notices .alert{margin:0;font-weight:600}.notices .alert:hover{filter:brightness(.98);text-decoration:none}.muted{color:var(--muted)}.small{font-size:13px}.warn{color:var(--amber);font-size:12px}.text-green{color:var(--green);font-weight:600}.text-amber{color:var(--amber);font-weight:600}.text-red{color:var(--red);font-weight:600}.text-blue{color:var(--primary);font-weight:600}.empty{text-align:center;color:var(--muted);background:var(--surface);border-radius:6px;padding:30px 10px}.loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;padding:46px;display:flex}.spinner{border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.form{flex-direction:column;gap:14px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field>span{color:#3a4757;font-size:13px;font-weight:600}.checks{flex-wrap:wrap;gap:20px;display:flex}.check{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.inline-form{gap:10px;margin-bottom:16px;display:flex}.inline-form.wrap{flex-wrap:wrap}.inline-form input:not([type=date]){flex:1;min-width:200px}.inline-label{color:var(--muted);align-items:center;gap:6px;display:inline-flex}.day-picker{flex-wrap:wrap;gap:6px;display:flex}.day-picker button{cursor:pointer;color:var(--text);background:#fff;border:1px solid #c8cfd9;border-radius:6px;padding:6px 14px}.day-picker button.on{background:var(--primary);border-color:var(--primary);color:#fff}.tabs{border:1px solid #c8cfd9;border-radius:6px;flex-wrap:wrap;gap:0;width:fit-content;margin-bottom:14px;display:flex;overflow:hidden}.card-head .tabs{margin:0}.tabs button{border:none;cursor:pointer;color:var(--text);background:#fff;border-inline-end:1px solid #c8cfd9;padding:6px 16px;font-size:13.5px}.tabs button:last-child{border-inline-end:none}.tabs button:hover{background:var(--surface)}.tabs button.on{background:var(--primary);color:#fff;font-weight:600}.info-list{margin:0;display:grid}.info-list>div{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.info-list dt{color:var(--muted)}.info-list dd{text-align:end;margin:0;font-weight:600}.modal-backdrop{z-index:50;background:#0a254073;place-items:center;padding:16px;animation:.12s fade;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:92vh;overflow:auto;box-shadow:0 16px 48px #0a254040}.modal-wide{max-width:760px}.modal-head{border-bottom:1px solid var(--line);z-index:1;background:#fff;justify-content:space-between;align-items:center;padding:14px 20px;display:flex;position:sticky;top:0}.modal-head h3{color:var(--navy);font-size:16px;font-weight:600}.modal-body{padding:20px}@keyframes fade{0%{opacity:0}}.toasts{z-index:100;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;left:24px}.toast{color:var(--text);border:1px solid var(--line);background:#fff;border-inline-start:4px solid;border-radius:6px;max-width:360px;padding:12px 18px;font-weight:500;animation:.2s fade;box-shadow:0 8px 24px #0a254026}.toast-success{border-inline-start-color:var(--green)}.toast-error{border-inline-start-color:var(--red)}.auth-page{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);place-items:center;min-height:100vh;padding:20px;display:grid}.auth-card{border-top:5px solid var(--gold);background:#fff;border-radius:8px;flex-direction:column;gap:14px;width:100%;max-width:430px;padding:28px 36px 36px;display:flex;box-shadow:0 20px 60px #0000004d}.auth-card h2{text-align:center;color:var(--navy);font-size:19px;font-weight:700}.auth-card>.muted{text-align:center;margin:-8px 0 6px}.auth-switch{color:var(--navy);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:4px;font-weight:700;text-decoration:underline}.auth-switch:hover{color:var(--gold-dark)}.auth-logo{width:230px;max-width:80%;height:auto;margin:0 auto;display:block}.punch{flex-direction:column;align-items:center;gap:14px;padding:10px 0;display:flex}.punch-btn{border:6px solid var(--primary-50);cursor:pointer;color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:150px;height:150px;transition:background .2s,transform .12s;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #b9d3ef,0 8px 24px #0b5cad40}.punch-big .punch-btn{border-width:8px;width:210px;height:210px}.punch-btn:hover:not(:disabled){background:var(--primary-hover)}.punch-btn:active:not(:disabled){transform:scale(.98)}.punch-scanning{background:var(--navy-2)}.punch-success{background:var(--green);border-color:#eaf5ee;box-shadow:0 0 0 1px #b9dcc6,0 8px 24px #107c4140}.punch-error{background:var(--red);border-color:#fbeef0;box-shadow:0 0 0 1px #efc1ca,0 8px 24px #c4314b40}.scan-line{background:#ffffffe6;height:2px;animation:1.2s ease-in-out infinite scan;position:absolute;left:12%;right:12%}@keyframes scan{0%,to{top:22%}50%{top:76%}}.punch-msg{text-align:center;color:var(--muted);width:100%;min-height:60px}.punch-result{color:var(--text);flex-direction:column;align-items:center;animation:.3s fade;display:flex}.punch-result strong{font-size:19px;font-weight:600}.punch-result.in strong{color:var(--green)}.punch-result.out strong{color:var(--primary)}.punch-time{color:var(--navy);font-size:30px;font-weight:600}.today-strip{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(4,1fr);margin-top:18px;display:grid}.today-strip>div{text-align:center;border-inline-end:1px solid var(--line);padding:10px}.today-strip>div:last-child{border-inline-end:none}.today-strip small{color:var(--muted);margin-bottom:4px;display:block}.kiosk{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 100%);place-items:center;min-height:100vh;padding:20px;display:grid}.kiosk-card{border-top:5px solid var(--gold);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:470px;padding:36px 32px;display:flex;box-shadow:0 24px 70px #00000059}.kiosk-logo{width:200px;height:auto;margin-bottom:4px}.kiosk-clock{color:var(--navy);letter-spacing:1px;font-variant-numeric:tabular-nums;font-size:50px;font-weight:600}.kiosk-date{color:var(--muted);margin-top:-8px;margin-bottom:10px}.kiosk-code{width:100%}.kiosk-code input{text-align:center}.kiosk-history{border:1px solid var(--line);border-radius:6px;width:100%;margin:4px 0;padding:0;font-size:14px;list-style:none}.kiosk-history li{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:8px 12px;display:flex}.kiosk-history li:last-child{border-bottom:none}.kiosk-admin-link{color:var(--navy);text-underline-offset:3px;margin-top:4px;font-size:15px;font-weight:700;text-decoration:underline}.kiosk-admin-link:hover{color:var(--gold-dark)}.install-btn{border:1px solid var(--gold);background:var(--gold-50);width:100%;color:var(--gold-dark);font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:11px 16px;font-weight:600;display:inline-flex}.install-btn:hover{background:var(--gold);color:#fff}.install-steps{margin:0 0 12px;padding-inline-start:22px;line-height:2}.feed{max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.feed li{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:9px 2px;display:flex}.feed li:last-child{border-bottom:none}.feed li div{flex-direction:column;line-height:1.4;display:flex}.feed small{color:var(--muted)}.dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.dot.in{background:var(--green)}.dot.out{background:var(--primary)}.dot.late{background:var(--amber)}.dot.absent{background:var(--red)}.dept-bars{flex-direction:column;gap:16px;margin:0;padding:0;list-style:none;display:flex}.dept-row{justify-content:space-between;margin-bottom:5px;font-size:14px;display:flex}.dept-row small{color:var(--muted)}.bar{background:var(--line-soft);border-radius:2px;height:8px;overflow:hidden}.bar span{background:var(--primary);height:100%;transition:width .5s;display:block}.fp-register{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.fp-register input{flex:1;min-width:140px}.fp-list{border:1px solid var(--line);border-radius:6px;margin:0;padding:0;list-style:none}.fp-list li{border-bottom:1px solid var(--line-soft);color:var(--primary);align-items:center;gap:12px;padding:10px 14px;display:flex}.fp-list li:last-child{border-bottom:none}.fp-list li div{color:var(--text);flex-direction:column;flex:1;display:flex}.fp-list small{color:var(--muted)}.chip-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip-list li{background:var(--surface);border:1px solid var(--line);border-radius:6px;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:14px;display:flex}.shift-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;display:grid}.shift-card{border:1px solid var(--line);border-inline-start:4px solid var(--primary);background:#fff;border-radius:6px;flex-direction:column;gap:6px;padding:16px;display:flex}.shift-time{color:var(--navy);font-size:21px;font-weight:600}.days-mini{gap:4px;margin:4px 0;display:flex}.days-mini span{background:var(--line-soft);color:#9aa5b4;border-radius:4px;padding:2px 6px;font-size:11px}.days-mini span.on{background:var(--primary-50);color:var(--primary);font-weight:600}.print-header,.print-only{display:none}input.readonly{background:var(--surface);color:var(--navy);letter-spacing:.5px;cursor:default;font-weight:700}.emp-search{width:320px;color:var(--muted);align-items:center;margin-inline-start:auto;display:flex;position:relative}.emp-search+.topnav-end{margin-inline-start:0}.emp-search>svg{pointer-events:none;position:absolute;inset-inline-start:10px}.emp-search input{background:var(--surface);border-color:var(--line);width:100%;height:38px;padding-inline-start:36px;font-size:13.5px}.emp-search input:focus{background:#fff}.emp-search-results{top:calc(100% + 6px);z-index:30;border:1px solid var(--line);border-radius:var(--radius);background:#fff;max-height:380px;margin:0;padding:6px;list-style:none;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 12px 32px #0c2a5a2e}.emp-search-results li.muted{text-align:center;padding:12px;font-size:13px}.emp-search-results button{cursor:pointer;text-align:start;width:100%;font:inherit;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.emp-search-results button.on{background:var(--gold-50)}.emp-search-results .who{flex-direction:column;flex:1;min-width:0;line-height:1.35;display:flex}.emp-search-results .who strong{color:var(--navy);font-size:14px}.emp-search-results .who small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.emp-link strong{color:var(--navy)}.emp-link:hover strong{text-decoration:underline}.profile-head{border-top:4px solid var(--gold);flex-wrap:wrap;align-items:center;gap:18px;display:flex}.profile-avatar{background:var(--navy);color:#fff;border:3px solid var(--gold);border-radius:50%;flex-shrink:0;place-items:center;width:72px;height:72px;font-size:30px;font-weight:700;display:grid}.profile-title{flex:1;min-width:200px}.profile-title h2{color:var(--navy);margin:0 0 2px;font-size:22px}.profile-badges{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.profile-actions{flex-wrap:wrap;gap:8px;display:flex}.info-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px 18px;display:grid}.info-item{border-bottom:1px dashed var(--line-soft);flex-direction:column;gap:3px;padding-bottom:10px;display:flex}.info-item small{color:var(--muted);font-size:12px}.info-item strong{color:var(--text);word-break:break-word;font-size:14.5px;font-weight:600}.avatar-img{object-fit:cover;background:var(--surface);padding:0}.wave{margin-inline-end:4px;display:inline-block}.top-tool{color:var(--navy);align-items:center;gap:6px;font-size:13px;font-weight:600}.lang-btn span{white-space:nowrap}.link-btn{color:var(--primary);cursor:pointer;font:inherit;background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:600}.link-btn:hover{text-decoration:underline}.bell{position:relative}.bell-btn{color:var(--navy);position:relative}.bell-count{top:0;background:var(--red);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:grid;position:absolute;inset-inline-end:-2px}.bell-panel{top:calc(100% + 8px);z-index:40;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);width:340px;max-height:440px;position:absolute;inset-inline-end:-60px;overflow-y:auto;box-shadow:0 14px 36px #0c2a5a33}.bell-head{border-bottom:1px solid var(--line-soft);background:var(--card);justify-content:space-between;align-items:center;padding:10px 14px;display:flex;position:sticky;top:0}.bell-panel ul{margin:0;padding:4px;list-style:none}.bell-panel li button{text-align:start;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:none;border-radius:6px;flex-direction:column;gap:2px;padding:9px 10px;display:flex}.bell-panel li button:hover{background:var(--surface)}.bell-panel li button.unread{background:var(--primary-50)}.bell-panel li button strong{color:var(--navy);font-size:13.5px}.bell-panel li button span{color:var(--muted);font-size:13px}.bell-panel li button small{color:var(--muted);font-size:11.5px}.kpi-head{justify-content:space-between;align-items:center;display:flex}.kpis{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.kpi{--k:var(--green);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 18px;display:grid}.kpi-icon{color:#fff;background:var(--k);border-radius:10px;place-items:center;width:52px;height:52px;display:grid}.kpi-body{flex-direction:column;min-width:0;line-height:1.3;display:flex}.kpi-body strong{color:var(--k);font-size:30px;font-weight:700}.kpi-body span{color:var(--text);font-size:14.5px;font-weight:700}.kpi-body small{color:var(--muted);font-size:12px}.kpi-link{border:1px solid var(--k);color:var(--k);white-space:nowrap;border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600}.kpi-link:hover{background:var(--k);color:#fff;text-decoration:none}.kpi-green{--k:#2fa84f}.kpi-red{--k:#e04a4a}.kpi-amber{--k:#e3a008}.kpi-blue{--k:#3b82f6}.kpi-salmon{--k:#ef6c5a}.tile-section{--t:var(--primary);--tb:var(--primary-50);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:10px;padding:14px 16px 18px}.tile-section-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;display:flex}.tile-section-head h3{color:var(--t);border-inline-start:4px solid var(--t);padding-inline-start:10px;font-size:17px;font-weight:700}.tile-section-tools{align-items:center;gap:10px;display:flex}.tile-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.tile{background:var(--tb);min-height:46px;color:var(--text);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:13.5px;font-weight:500;transition:transform .1s,box-shadow .1s;display:flex;position:relative}.tile:hover{text-decoration:none;transform:translateY(-1px);box-shadow:0 4px 12px #0c2a5a1a}.tile-letter{background:var(--t);color:#fff;border-radius:6px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:grid}.tile-label{flex:1;line-height:1.35}.tile-star{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:2px;display:inline-flex}.tile-star.on{color:#e3a008}.tile-gold,.tile-section-gold{--t:#d39b16;--tb:#f8ecc9}.tile-salmon,.tile-section-salmon{--t:#ef6c5a;--tb:#fcdcd5}.tile-slate,.tile-section-slate{--t:#2f5f80;--tb:#c9d9e3}.tile-blue,.tile-section-blue{--t:#4a7bd8;--tb:#d6e2f8}.tile-teal,.tile-section-teal{--t:#0f8f8a;--tb:#cdeeec}.tile-sky,.tile-section-sky{--t:#2c9fd6;--tb:#d4ecf8}.form-section{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:12px;margin:0;padding:12px 14px 14px;display:flex}.form-section legend{color:var(--navy);padding:0 8px;font-size:14px;font-weight:700}.badge-teal{color:var(--teal);background:#e3f4f5;border-color:#a9dadd}.sub-title{color:var(--navy);margin:16px 0 8px;font-size:14px}.note-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.note-list li{border:1px solid var(--line);background:var(--surface);border-radius:6px;grid-template-columns:auto 1fr auto;align-items:start;gap:4px 10px;padding:10px 12px;display:grid}.note-list li p{margin:0}.note-list li small{grid-column:2}.note-list li .icon-btn{grid-area:1/3}.profile-photo{display:inline-block;position:relative}.profile-photo.editable{cursor:pointer}.profile-photo.editable:after{content:"✎";bottom:0;background:var(--gold);color:#fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid;position:absolute;inset-inline-end:0}.profile-avatar.avatar-img{border:3px solid var(--gold)}.bulk-bar{background:var(--gold-50);border:1px solid #f0d3a3;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.bulk-bar input{flex:1;min-width:180px}.upload-form{margin-top:16px}.upload-drop{border:2px dashed var(--line);cursor:pointer;color:var(--muted);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:26px;display:flex}.upload-drop:hover{border-color:var(--primary);color:var(--primary)}.cell-input{width:100px;min-height:30px;padding:3px 8px}.report-name{color:var(--navy);font-size:15px}td.num{font-variant-numeric:tabular-nums}tfoot td{background:var(--gold-50);color:var(--navy);border-top:2px solid var(--gold);font-weight:700}.payroll-table td,.payroll-table th{white-space:nowrap}.services{grid-template-columns:1fr 230px;min-height:320px;padding:0;display:grid;overflow:hidden}.services-cats{background:var(--primary);flex-direction:column;order:2;padding:8px 0;display:flex}.services-cats button{color:#fff;font:inherit;text-align:center;cursor:pointer;background:0 0;border:none;border-bottom:1px solid #ffffff26;padding:10px 16px;font-weight:600}.services-cats button:hover{background:#ffffff1a}.services-cats button.on{background:var(--card);color:var(--primary);border-radius:0 10px 10px 0;margin-inline-start:8px}.services-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));align-content:start;column-gap:24px;padding:10px 18px;display:grid}.service-item{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:14px 4px;display:flex}.service-item strong{color:var(--text);flex:1;font-size:14px}.service-dot{background:var(--primary);width:10px;height:10px;box-shadow:0 0 0 3px var(--primary-50);border-radius:50%;flex-shrink:0}.req-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.req-card{--r:var(--green);background:var(--card);border:1px solid var(--line);border-inline-end:6px solid var(--r);box-shadow:var(--shadow);color:var(--text);border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.req-card:hover{text-decoration:none;box-shadow:0 6px 18px #0c2a5a1f}.req-card .req-icon{color:var(--r);border-inline-end:1px solid var(--line-soft);place-items:center;padding-inline-end:14px;display:grid}.req-card strong{text-align:center;font-size:26px;font-weight:700;display:block}.req-card span{text-align:center;color:var(--muted);font-size:13.5px;display:block}.req-card .req-arrow{color:var(--r);font-size:18px;font-weight:700}.req-green{--r:#2fa84f}.req-red{--r:#e04a4a}.req-blue{--r:#3b82f6}.req-amber{--r:#e3a008}.home-grid{align-items:start}.emp-card{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.emp-card .avatar,.emp-card .avatar-img{border:3px solid var(--line)}.emp-card>strong{color:var(--navy);font-size:16px}.emp-card ul{text-align:start;flex-direction:column;align-self:stretch;gap:8px;margin:0;padding:0;font-size:13.5px;list-style:none;display:flex}.emp-card li{color:var(--muted);align-items:center;gap:6px;display:flex}.emp-card li b{color:var(--text)}.emp-card li svg{color:var(--primary);flex-shrink:0}.emp-card-actions{grid-template-columns:1fr 1fr;align-self:stretch;gap:8px;margin-top:6px;display:grid}.balance-list{margin:0;padding:0;list-style:none}.balance-list li{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;padding:14px 4px;display:flex}.balance-list li span:before{content:"";background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 3px var(--primary-50);border-radius:50%;margin-inline-end:10px;display:inline-block}.balance-list b{background:var(--primary-50);color:var(--primary);text-align:center;border-radius:6px;min-width:52px;padding:4px 10px}.month-mini{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.month-mini>small{grid-column:1/-1}.month-mini div{background:var(--surface);border-radius:6px;flex-direction:column;align-items:center;padding:8px;display:flex}.online-att{border:1px solid #a6c8e0;border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.online-att h4{text-align:center;color:var(--primary);margin:0;font-size:15px}.online-att-row{flex-direction:column;gap:2px;display:flex}.online-att-row span{font-variant-numeric:tabular-nums;font-weight:600}.online-att-row small{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.photo-pick{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.work-card{border:1px solid var(--line);color:#1b2533;text-align:center;width:320px;box-shadow:var(--shadow);background:#fff;border-radius:14px;flex-direction:column;align-items:center;margin:0 auto;display:flex;overflow:hidden}.work-card-top{background:linear-gradient(180deg, var(--navy), var(--navy-2));border-bottom:4px solid var(--gold);width:100%;padding:14px}.work-card-top img{background:#fff;border-radius:6px;height:54px;padding:4px 8px}.work-card-photo{margin-top:-2px;margin-block:14px 6px;border:3px solid var(--gold)!important}.work-card-name{color:#0c2a5a;font-size:17px}.work-card-job{color:#a87d24;margin-bottom:8px;font-weight:600}.work-card dl{width:85%;margin:0 0 12px}.work-card dl div{border-bottom:1px dashed #dde2ea;justify-content:space-between;padding:5px 0;font-size:13px;display:flex}.work-card dt{color:#5f6b7a}.work-card dd{margin:0;font-weight:600}.work-card-foot{color:#fff;background:#0c2a5a;width:100%;padding:8px;font-size:12.5px;font-weight:600}.payslip{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:16px}.payslip header{border-bottom:2px solid var(--gold);align-items:center;gap:14px;margin-bottom:12px;padding-bottom:12px;display:flex}.payslip header img{height:52px}.payslip header div{flex-direction:column;display:flex}.payslip header strong{color:var(--navy);font-size:16px}.payslip table{border:1px solid var(--line)}.payslip-info{background:var(--surface);border-radius:6px;flex-wrap:wrap;gap:8px 18px;margin-bottom:12px;padding:8px 12px;font-size:14px;display:flex}.payslip-net{text-align:center;background:var(--primary-50);border-radius:6px;margin-top:14px;padding:12px;font-size:16px}.payslip-net strong{color:var(--primary);font-size:20px}.print-page{max-width:820px;margin:0 auto;padding:24px}.print-tools{margin-bottom:14px}.letter{color:#1b2533;border:1px solid var(--line);page:letter;background:#fff;border-radius:6px;padding:40px 48px;font-size:15.5px;line-height:2.1}.letter-head{border-bottom:3px solid var(--gold);justify-content:space-between;align-items:center;margin-bottom:26px;padding-bottom:14px;display:flex}.letter-head img{height:80px}.letter-head div{text-align:end;flex-direction:column;line-height:1.7;display:flex}.letter-head strong{color:#0c2a5a;font-size:17px}.letter-head small{color:#5f6b7a}.letter-to{font-weight:700}.letter-title{text-align:center;color:#0c2a5a;text-underline-offset:8px;margin:18px 0;text-decoration:underline}.letter-sign{justify-content:space-between;align-items:center;margin-top:50px;display:flex}.letter-sign div:first-child{flex-direction:column;line-height:1.6;display:flex}.stamp{color:#9aa5b4;border:2px dashed #c8cfd9;border-radius:50%;place-items:center;width:110px;height:110px;display:grid}@page letter{size:A4 portrait;margin:14mm}.file-list{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.file-list li{align-items:center;gap:2px;display:inline-flex}.file-chip{border:1px solid var(--line);background:var(--surface);color:var(--primary);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:5px;max-width:240px;padding:3px 8px;font-size:12.5px;display:inline-flex}.file-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-chip small{color:var(--muted)}.file-chip:hover{border-color:var(--primary)}.file-drop{border:1px dashed var(--line);cursor:pointer;color:var(--muted);border-radius:6px;align-items:center;gap:6px;width:fit-content;padding:8px 14px;display:inline-flex}.file-drop:hover{border-color:var(--primary);color:var(--primary)}.file-drop.busy{opacity:.6;cursor:wait}.trail{border-inline-start:2px solid var(--line);flex-direction:column;gap:8px;margin:0;padding:0 14px 0 0;list-style:none;display:flex}.trail li{padding-inline-start:12px;font-size:13.5px;position:relative}.trail li:before{content:"";inset-inline-start:-21px;background:var(--muted);border:2px solid var(--card);border-radius:50%;width:10px;height:10px;position:absolute;top:6px}.trail li.done:before{background:var(--green)}.trail li.no:before{background:var(--red)}.trail li.wait:before{background:var(--amber)}.trail li.wait{color:var(--amber);font-weight:600}.trail small{color:var(--muted);margin-inline-start:6px}.trail em{color:var(--muted);font-style:normal}.nav-count{background:var(--red);color:#fff;border-radius:9px;padding:0 6px;font-size:11px;font-weight:700;line-height:18px}.team-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.team-member{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;display:flex}.team-member .member-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.avatar{flex-shrink:0}.team-member strong{color:var(--navy);font-size:14px}.team-member small{color:var(--muted);font-size:12px}.roster-table th.today{background:var(--gold-50)}.roster-cell{min-width:130px}.roster-cell select{width:100%;min-height:32px;padding:3px 6px;font-size:12.5px}.roster-cell small{font-size:11px;display:block}.roster-cell.cell-off select,.roster-cell.cell-off span{background:var(--surface);color:var(--muted)}.roster-cell.cell-custom select{border-color:var(--gold);background:var(--gold-50);font-weight:600}.schedule-strip{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.sched-day{border:1px solid var(--line);background:var(--card);border-radius:8px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.sched-day strong{color:var(--navy);font-size:13.5px}.sched-day small{color:var(--muted);font-size:11.5px}.sched-day span{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.sched-day em{color:var(--gold-dark);font-size:11px;font-style:normal}.sched-day.off{background:var(--surface);color:var(--muted)}.sched-day.leave{background:var(--primary-50);border-color:#b9d3ef}.sched-day.custom{border-color:var(--gold)}.sched-day.today{box-shadow:0 0 0 2px var(--primary)}.vehicle-card{align-items:center;gap:14px;margin-bottom:8px;display:flex}.plate{border:2px solid var(--navy);letter-spacing:1px;color:var(--navy);background:#fff;border-radius:6px;padding:6px 14px;font-size:18px;font-weight:700}.push-row{justify-content:center;margin-top:12px;display:flex}.bell-push{border-bottom:1px solid var(--line-soft);padding:8px 14px}.audit-details{background:var(--surface);border:1px solid var(--line);white-space:pre-wrap;word-break:break-word;border-radius:6px;max-height:50vh;padding:12px;font-size:12.5px;overflow:auto}.import-result details{border:1px solid var(--line);border-radius:6px;padding:8px 12px}.import-result summary{cursor:pointer;margin-bottom:8px;font-weight:600}.hub-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.hub-tile{min-height:64px}.hub-tile .tile-label{flex-direction:column;font-weight:600;display:flex}.hub-tile .tile-label small{color:var(--muted);font-size:12px;font-weight:400}.announce-list{flex-direction:column;gap:10px;display:flex}.announce{border:1px solid var(--line);border-inline-start:4px solid var(--primary);background:var(--card);border-radius:8px;padding:10px 14px}.announce.important{border-inline-start-color:var(--red);background:color-mix(in srgb, var(--red) 4%, var(--card))}.announce.read{opacity:.85}.announce header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.announce header strong{color:var(--navy);font-size:15px}.announce header small{margin-inline-start:auto}.announce p{white-space:pre-wrap;margin:8px 0;line-height:1.8}.announce footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.announce footer small{flex:1}.loan-total{background:var(--primary-50);border-radius:6px;margin-bottom:6px;padding:10px 12px}.loan-total strong{color:var(--primary);font-size:17px}.eval-head{align-items:center;gap:12px;display:flex}.eval-head>div{flex-direction:column;flex:1;display:flex}.eval-head strong{color:var(--navy);font-size:16px}.eval-score{color:var(--primary);font-size:26px;font-weight:700}.eval-att{background:var(--surface);border-radius:6px;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.eval-criteria{flex-direction:column;gap:8px;display:flex}.eval-row{border-bottom:1px solid var(--line-soft);grid-template-columns:200px 1fr;align-items:center;gap:10px;padding:6px 0;display:grid}.eval-row>span{font-weight:600}.eval-levels{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.eval-levels button{border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;border-radius:6px;padding:6px 4px;font-size:12.5px}.eval-levels button:disabled{cursor:default}.eval-levels button.on{color:#fff;border-color:#0000;font-weight:700}.eval-levels .lvl-1{background:#c4314b}.eval-levels .lvl-2{background:#b26a00}.eval-levels .lvl-3{background:#0e7c86}.eval-levels .lvl-4{background:#0b5cad}.eval-levels .lvl-5{background:#107c41}.eval-pick{border:1px solid var(--line);font:inherit;text-align:start;cursor:pointer;width:100%}.eval-pick:hover{border-color:var(--primary)}.my-eval{border:1px solid var(--line);border-radius:8px;padding:12px 14px}.my-eval-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.my-eval-head strong{color:var(--navy)}.eval-summary{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px;margin:0 0 8px;padding:0;list-style:none;display:grid}.eval-summary li{background:var(--surface);border-radius:6px;justify-content:space-between;padding:6px 10px;font-size:13px;display:flex}@media (width<=640px){.eval-row{grid-template-columns:1fr}}.company-docs{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;display:grid}.company-doc{border:1px solid var(--line);border-top:4px solid var(--green);background:var(--card);border-radius:10px;flex-direction:column;gap:8px;padding:14px;display:flex}.company-doc.soon{border-top-color:var(--amber)}.company-doc.expired{border-top-color:var(--red);background:color-mix(in srgb, var(--red) 3%, var(--card))}.company-doc header{align-items:flex-start;gap:10px;display:flex}.company-doc header>div{flex-direction:column;flex:1;min-width:0;display:flex}.company-doc header strong{color:var(--navy);font-size:15px}.company-doc header small{color:var(--muted);font-size:12.5px}.company-doc-icon{background:var(--primary-50);width:36px;height:36px;color:var(--primary);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.company-doc dl{grid-template-columns:repeat(3,1fr);gap:6px;margin:0;display:grid}.company-doc dl div{background:var(--surface);border-radius:6px;padding:6px 8px}.company-doc dt{color:var(--muted);font-size:11.5px}.company-doc dd{margin:0;font-size:13px;font-weight:600}.company-doc footer{border-top:1px solid var(--line-soft);margin-top:auto;padding-top:6px}.notices button.alert{text-align:start;cursor:pointer;font:inherit;font-weight:600}.item-edit>*,.item-edit fieldset{min-width:0}.item-edit .inline-field{flex-direction:row;justify-content:space-between;align-items:center;gap:8px}.item-edit .inline-field span{flex:1;min-width:0;font-weight:500}.item-edit .inline-field input{flex-shrink:0;width:110px}.item-edit .inline-field .icon-btn{flex-shrink:0;padding:2px}.item-edit .add-line input[type=number]{width:90px}@media (width<=760px){.item-edit{grid-template-columns:1fr}}.add-line{border-top:1px dashed var(--line-soft);gap:6px;padding-top:6px;display:flex}.add-line input:first-child{flex:1;min-width:0}.add-line input[type=number]{width:100px}.item-total{text-align:end;border-top:1px dashed var(--line);padding-top:6px}.seg{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:0;width:fit-content;display:flex;overflow:hidden}.seg button{border:none;border-inline-end:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;padding:8px 16px;font-weight:600}.seg button:last-child{border-inline-end:none}.seg button.on{background:var(--primary);color:#fff}.seg-sm button{padding:5px 12px;font-size:13px;font-weight:500}.people-picker{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:8px;padding:10px;display:flex}.people-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 12px;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.people-list li .check{border-radius:4px;width:100%;padding:5px 6px}.people-list li .check:hover{background:var(--surface)}.people-list li small{margin-inline-start:auto;font-size:11.5px}.assigned{flex-wrap:wrap;gap:6px;display:flex}.assigned.compact{gap:4px;margin-top:4px}.assigned-chip{background:var(--surface);border:1px solid var(--line);border-radius:14px;align-items:center;gap:6px;padding:3px 10px;font-size:12.5px;display:inline-flex}.assigned-chip.group{background:var(--primary-50);color:var(--primary);border-color:#b9d3ef;font-weight:600}.assigned-chip.chip-green{color:var(--green);background:#eaf5ee;border-color:#b9dcc6}.assigned-chip.chip-red{color:var(--red);background:#fbeef0;border-color:#efc1ca}.assigned-chip button{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0;font-size:12px}.assigned-chip button:hover{color:var(--red)}.map-picker{flex-direction:column;gap:8px;display:flex}.map-search{gap:8px;display:flex;position:relative}.map-search input{flex:1}.map-results{top:calc(100% + 4px);z-index:1000;background:var(--card);border:1px solid var(--line);border-radius:6px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;inset-inline:0;overflow-y:auto;box-shadow:0 10px 28px #0c2a5a2e}.map-results button{text-align:start;cursor:pointer;width:100%;font:inherit;color:var(--text);background:0 0;border:none;border-radius:4px;padding:8px 10px;font-size:13px}.map-results button:hover{background:var(--primary-50)}.map-box{border:1px solid var(--line);z-index:0;border-radius:8px;width:100%;height:340px}.map-overview{height:300px;margin-bottom:14px}.leaflet-container{font-family:inherit}@media (width<=640px){.map-box{height:280px}}:root[data-theme=dark]{--bg:#0f1724;--card:#172234;--surface:#1c2a40;--line:#2a3a54;--line-soft:#223149;--text:#e3e9f2;--muted:#9fb0c6;--navy:#9cc1f2;--primary:#3d7bd9;--primary-hover:#2f68bf;--primary-50:#1d3152;--gold-50:#3a3020;--shadow:0 1px 3px #0006;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{border-color:var(--line);color:var(--text);background:#101a29}:root[data-theme=dark] .btn-ghost,:root[data-theme=dark] .btn-danger-ghost,:root[data-theme=dark] .btn{background-color:#0000}:root[data-theme=dark] .btn-primary{background:var(--primary)}:root[data-theme=dark] .btn-success{background:var(--green)}:root[data-theme=dark] .btn-danger{background:var(--red)}:root[data-theme=dark] .btn-ghost{color:var(--text);border-color:var(--line)}:root[data-theme=dark] .topnav-inner,:root[data-theme=dark] .modal,:root[data-theme=dark] .modal-head,:root[data-theme=dark] .emp-search-results,:root[data-theme=dark] .shift-card,:root[data-theme=dark] table.inner,:root[data-theme=dark] .toast,:root[data-theme=dark] .day-picker button,:root[data-theme=dark] .tabs button{background:var(--card);color:var(--text)}:root[data-theme=dark] .tabs button.on,:root[data-theme=dark] .day-picker button.on{background:var(--primary);color:#fff}:root[data-theme=dark] tbody tr:nth-child(2n) td{background:#182538}:root[data-theme=dark] tbody tr:hover td{background:var(--primary-50)}:root[data-theme=dark] .tabs-nav{background:#0a1220}:root[data-theme=dark] .brand-logo,:root[data-theme=dark] .auth-logo,:root[data-theme=dark] .kiosk-logo{background:#fff;border-radius:6px;padding:2px 6px}:root[data-theme=dark] .tile{color:#12233c}:root[data-theme=dark] .kpi-body span,:root[data-theme=dark] .req-card strong{color:var(--text)}:root[data-theme=dark] .alert-info{background:var(--primary-50);color:#bcd5f7;border-color:#2c4a77}:root[data-theme=dark] .alert-warn,:root[data-theme=dark] .bulk-bar{color:#f3d7a1;background:#3a3020;border-color:#6b5530}:root[data-theme=dark] .alert-error{color:#f5b8c3;background:#3b1e26;border-color:#6e3040}:root[data-theme=dark] .badge-green{color:#7fd8a2;background:#173826;border-color:#2c6b45}:root[data-theme=dark] .badge-red{color:#f5a3b2;background:#3b1e26;border-color:#6e3040}:root[data-theme=dark] .badge-amber{color:#f3c977;background:#3a3020;border-color:#6b5530}:root[data-theme=dark] .badge-teal{color:#7fd6d9;background:#143536;border-color:#2a6a6c}:root[data-theme=dark] .field>span{color:var(--muted)}:root[data-theme=dark] .services-cats button.on{background:var(--card);color:var(--navy)}:root[data-theme=dark] .kiosk-card,:root[data-theme=dark] .auth-card{background:var(--card)}@media (width<=1100px){.grid-3{grid-template-columns:1fr 1fr}.grid-3-1{grid-template-columns:1fr}}@media (width<=860px){.topnav-inner{gap:12px;padding:0 14px}.kiosk-link span,.user-chip .who{display:none}.user-chip{padding-inline-start:10px}.mode-switch a{padding:0 10px;font-size:13px}.brand-text{display:none}.brand-logo{height:38px}.topnav-inner{height:58px}.tabs-nav{padding:0 8px}.page-head{padding:18px 16px 0}.page-head h1{font-size:20px}.content{padding:14px 16px 30px}.grid-2,.grid-3{grid-template-columns:1fr}.today-strip{grid-template-columns:1fr 1fr}.kiosk-clock{font-size:40px}.emp-search{width:220px}.services{grid-template-columns:1fr}.services-cats{flex-direction:row;order:0;padding:0;overflow-x:auto}.services-cats button{white-space:nowrap;border-bottom:none}.services-cats button.on{border-radius:0;margin:0}.services-list{grid-template-columns:1fr}.lang-btn span{display:none}.bell-panel{width:300px;inset-inline-end:-110px}}@media (width<=640px){.topnav-inner{flex-wrap:wrap;row-gap:8px;height:auto;padding-block:8px}.emp-search{order:10;width:100%;margin-inline-start:0}.emp-search+.topnav-end{margin-inline-start:auto}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff;font-size:11px}.topnav,.page-head,.no-print,.toasts{display:none!important}.content{padding:0}.card{box-shadow:none;border:none;padding:0}.print-header{text-align:center;border-bottom:2px solid var(--gold);margin-bottom:14px;padding-bottom:10px;display:block}.print-header img{height:70px}.print-header h2{color:var(--navy)}.print-only{display:table-row}.stat{box-shadow:none}th,td{padding:4px 6px}tbody tr:nth-child(2n) td{background:#fff}tr{break-inside:avoid}body:has(.modal .print-area) .shell{display:none}body:has(.modal .print-area) .modal-backdrop{background:0 0;padding:0;animation:none;display:block;position:static}body:has(.modal .print-area) .modal{box-shadow:none;border-radius:0;max-width:none;max-height:none;animation:none;overflow:visible}body:has(.modal .print-area) .modal-head{display:none}body:has(.modal .print-area) .modal-body{padding:0}:root,body{background:#fff!important}body:has(.modal .print-area){page:letter}.payslip,.work-card{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.payslip{border:1px solid #c8cfd9;font-size:13px}.payslip table{width:100%}.print-page{max-width:none;padding:0}.letter{border:none;padding:0}:root[data-theme=dark] body{color:#1b2533;background:#fff}}
