:root{font-family:Arial,system-ui,sans-serif;color:#182230;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-weight:400;--navy:#172333;--navy2:#223448;--primary:#176d69;--primary-dark:#0f5754;--muted:#697586;--border:#e3e9ef;--panel:#fff;--red:#b42318;--shadow:0 8px 28px rgba(24,34,48,.07)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #d3dbe4;border-radius:8px;padding:10px 12px;background:#fff;color:#182230;min-height:42px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid rgba(23,109,105,.24);outline-offset:2px;border-color:var(--primary)}button:focus:not(:focus-visible){outline:none}h1,h2,h3,p{margin-top:0}h1{font-size:25px;line-height:1.25;margin-bottom:4px;letter-spacing:-.025em}h2{font-size:18px;margin-bottom:18px}h3{font-size:14px;margin-bottom:12px}p{line-height:1.6}.app-root{min-height:100vh}.main-shell{min-height:100vh;margin-inline-start:260px}.sidebar{background:var(--navy);color:#d9e2ec;width:260px;position:fixed;inset-block:0;inset-inline-start:0;padding:20px 14px;display:flex;flex-direction:column;z-index:40}.sidebar-brand{height:49px;padding:0 9px;display:flex;align-items:center;gap:11px;font-weight:700;color:#fff;margin-bottom:25px}.brand-mark{width:48px;height:48px;border-radius:15px;background:linear-gradient(145deg,#39a79e,#11635e);color:#fff;display:grid;place-items:center;font-size:20px;font-weight:700;box-shadow:0 10px 24px #176d6938}.small-mark{width:34px;height:34px;border-radius:11px;font-size:15px}.sidebar nav{display:grid;gap:5px}.nav-link{border:0;background:transparent;color:#b9c5d2;padding:11px 12px;display:flex;align-items:center;gap:12px;text-align:start;border-radius:9px;font-weight:500;min-height:43px}.nav-link:hover{background:#fff1;color:#fff}.nav-link.selected{background:#2a454d;color:#fff;box-shadow:inset 3px 0 #60c2b7}.nav-glyph{width:21px;text-align:center;font-size:16px;color:#8fa2b4}.selected .nav-glyph{color:#80d2c8}.sidebar-footer{margin-top:auto;border-top:1px solid #ffffff19;padding-top:14px}.user-badge{display:flex;align-items:center;gap:10px;padding:8px 5px 14px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:#d9eeeb;color:#175b57;font-weight:700}.user-copy{min-width:0;display:grid;gap:3px}.user-copy strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.user-copy span{font-size:11px;color:#9eacb9}.logout-link{width:100%}.topbar{height:74px;padding:0 30px;background:#ffffffe6;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.top-title{display:grid;gap:3px}.top-title strong{font-size:16px}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700;color:#81909f}.top-actions{margin-inline-start:auto;display:flex;align-items:center;gap:20px}.profile-chip{display:flex;align-items:center;gap:9px;font-size:13px;color:#455263}.language-switch{display:inline-flex;align-items:center;gap:5px;color:#a6b0bc;font-size:12px;white-space:nowrap}.language-switch button{border:0;background:transparent;color:#667384;padding:5px 4px;border-radius:5px}.language-switch button.current{color:var(--primary);font-weight:700;background:#eaf4f2}.language-floating{position:absolute;top:20px;inset-inline-end:24px}.content{max-width:1500px;margin:0 auto;padding:30px;display:grid;gap:20px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:1px}.page-title p{color:var(--muted);margin:5px 0 0}.panel{background:var(--panel);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow);padding:20px;min-width:0}.toolbar{display:flex;align-items:center;gap:14px;justify-content:space-between;margin-bottom:16px}.search-box{display:flex;align-items:center;gap:8px;max-width:390px;flex:1;color:#81909f;border:1px solid #d3dbe4;border-radius:8px;background:#fff;padding-inline:11px}.search-box input{border:0;outline:0;box-shadow:none;padding-inline:0}.search-box:focus-within{outline:3px solid rgba(23,109,105,.16);border-color:var(--primary)}.compact-field{display:grid;gap:5px;min-width:135px;font-size:12px;font-weight:600;color:#566374}.compact-field select,.compact-field input{font-weight:400}.muted{color:var(--muted);font-size:13px}.table-wrap{overflow:auto;width:100%;border:1px solid #edf0f3;border-radius:9px}table{border-collapse:collapse;width:100%;min-width:680px;text-align:start;font-size:13px}th,td{padding:12px 14px;text-align:start;border-bottom:1px solid #edf0f3;vertical-align:middle}th{background:#f8fafc;color:#667384;font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfcfd}.empty-cell{text-align:center;color:var(--muted);padding:30px}.button{min-height:39px;padding:9px 14px;border-radius:8px;border:1px solid transparent;font-size:13px;font-weight:600;display:inline-flex;justify-content:center;align-items:center;gap:7px;text-decoration:none;white-space:nowrap}.primary{background:var(--primary);color:#fff}.primary:hover{background:var(--primary-dark)}.secondary{background:#fff;border-color:#d6dee6;color:#344254}.secondary:hover{background:#f7f9fb}.danger{background:#fff4f2;border-color:#f4d2cc;color:#a92c20}.small{min-height:31px;padding:6px 9px;font-size:11px}.button-row,.row-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.row-actions{white-space:nowrap}.text-button{border:0;background:transparent;color:#176d69;text-align:start;padding:0;font-weight:700}.text-button:hover{text-decoration:underline}.status{display:inline-flex;align-items:center;border-radius:20px;padding:4px 9px;background:#eef2f5;color:#5d6876;font-size:11px;font-weight:700;white-space:nowrap}.status-active,.status-available,.status-present,.status-settled,.status-completed{background:#e7f5ef;color:#17734d}.status-unfilled,.status-open,.status-draft,.status-temporaryunavailable{background:#fff5df;color:#946100}.status-cancelled,.status-inactive,.status-absent{background:#fff0ee;color:#ab3326}.status-assigned,.status-ended,.status-replaced,.status-approvedleave{background:#edf2ff;color:#4258a5}.state{padding:25px 15px;text-align:center;color:var(--muted);font-size:13px}.error,.form-error{color:var(--red)}.form-error{font-size:12px;margin:9px 0}.field{display:grid;gap:6px;margin:13px 0;color:#465365;font-size:12px;font-weight:600}.field b{color:var(--red)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-actions{display:flex;gap:9px;align-items:center;margin-top:18px}.form-actions .button:first-child{margin-inline-start:auto}.check-field{display:flex;align-items:center;gap:8px;font-size:13px;color:#465365;margin:10px 0}.check-field input{width:17px;height:17px;min-height:auto;accent-color:var(--primary)}.check-list{border:1px solid var(--border);border-radius:9px;padding:8px 12px;margin:12px 0}.check-list legend{font-size:12px;color:#465365;font-weight:700;padding:0 6px}.notice{background:#edf7f5;border:1px solid #cce8e3;color:#175e58;padding:11px 14px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.notice button{border:0;background:transparent;font-size:18px;color:inherit}.permission-notice{background:#fff4ee;border-color:#f1d3c4;color:#8a3b20}.dialog{width:min(560px,calc(100vw - 30px));max-height:calc(100vh - 32px);overflow:auto}.wide-dialog{width:min(900px,calc(100vw - 30px))}.overlay{position:fixed;inset:0;z-index:60;background:#0e182375;display:grid;place-items:center;padding:16px}.dialog-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dialog-title p{color:var(--muted);font-size:13px;margin-bottom:15px}.icon-button{width:34px;height:34px;border:1px solid var(--border);background:#fff;border-radius:8px;font-size:20px;color:#667384}.detail-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 20px}.detail-metric{border:1px solid var(--border);border-radius:9px;padding:13px;display:grid;gap:6px}.detail-metric small{color:var(--muted)}.detail-metric strong{font-size:18px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-list{background:#f8fafc;border:1px solid var(--border);border-radius:9px;padding:14px;min-width:0}.detail-list p{font-size:12px;color:#576476;margin:7px 0}.chip-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:7px 0}.chip{display:inline-flex;border-radius:20px;background:#e9f3f2;color:#226c67;font-size:12px;padding:5px 10px}.link-danger{border:0;background:transparent;color:#ad3227;font-size:11px}.inline-form{display:flex;align-items:end;gap:7px;flex-wrap:wrap;margin-top:13px}.inline-form select{min-width:150px;max-width:260px}.mini-form{display:grid;gap:8px;margin-top:12px}.mini-form input,.mini-form select{min-height:36px}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.metric{min-height:135px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:9px;position:relative;overflow:hidden}.metric:before{content:"";position:absolute;inset-inline-end:-32px;inset-block-start:-40px;width:110px;height:110px;border-radius:50%;background:currentColor;opacity:.05}.metric-label{font-size:12px;color:#657283;font-weight:600}.metric strong{font-size:30px;letter-spacing:-.04em;color:#1c2d3d}.metric small{font-size:10px;line-height:1.4;color:var(--muted);max-width:230px}.metric-blue{color:#3c79c2}.metric-green{color:#178059}.metric-violet{color:#7555b4}.metric-amber{color:#bc8315}.metric-rose{color:#bd5267}.metric-teal{color:#148b8b}.dashboard-note{display:flex;align-items:center;gap:12px;color:#647283}.dashboard-note p{margin:4px 0 0;font-size:12px}.note-mark{width:24px;height:24px;border:1px solid #cad4df;border-radius:50%;display:grid;place-items:center;font-weight:700}.balance-strip{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12px}.balance-strip strong{color:#1a2c3b;font-size:17px}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.section-heading{display:flex;justify-content:space-between;align-items:center}.section-heading h2{margin:0}.toolbar-panel{display:flex;align-items:center;justify-content:space-between;gap:15px}.toolbar-panel h2{margin-bottom:5px}.selection-form{align-items:end}.notice-inline{font-size:12px;background:#f5f8fa;padding:10px;border-radius:8px;color:#5b697a}.login-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 18% 12%,#dff1ee 0,transparent 34%),radial-gradient(ellipse at 89% 82%,#e5eafa 0,transparent 32%),#f4f7fb}.login-card{width:min(430px,100%);border-radius:17px;background:#fff;border:1px solid var(--border);box-shadow:0 22px 65px #1c30421a;padding:38px}.login-card .brand-mark{margin-bottom:24px}.login-card h1{font-size:27px;margin:8px 0}.login-card form{margin-top:24px}.login-card form>.button{width:100%;margin-top:8px;min-height:45px}.unsupported-role{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:12px}.menu-toggle{display:none;border:1px solid var(--border);border-radius:8px;background:#fff;width:38px;height:38px;color:#435263}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.filter-toolbar{justify-content:flex-start;flex-wrap:wrap}html[dir=rtl]{font-family:Arial,system-ui,sans-serif}html[dir=rtl] .nav-link.selected{box-shadow:inset -3px 0 #60c2b7}html[dir=rtl] .metric strong{letter-spacing:0}.sidebar-backdrop{display:none}@media(max-width:1100px){.sidebar{width:230px}.main-shell{margin-inline-start:230px}.content{padding:22px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-chip>span:last-child{display:none}}@media(max-width:760px){.sidebar{transform:translate(-105%);transition:transform .2s ease;width:min(290px,84vw);inset-inline-start:0}.sidebar-open{transform:translate(0)}html[dir=rtl] .sidebar{transform:translate(105%)}html[dir=rtl] .sidebar-open{transform:translate(0)}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#0e182b66;z-index:35}.main-shell{margin-inline-start:0}.topbar{height:64px;padding:0 15px}.menu-toggle{display:block}.top-title .eyebrow{display:none}.top-actions{gap:8px}.profile-chip{display:none}.content{padding:18px 13px;gap:14px}.page-title{align-items:flex-start}.page-title h1{font-size:21px}.page-title .button-row{flex-direction:column;align-items:stretch}.panel{padding:14px}.toolbar{align-items:stretch;flex-wrap:wrap}.search-box{max-width:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:115px;padding:14px}.metric strong{font-size:25px}.form-grid,.detail-grid,.two-column{grid-template-columns:1fr}.detail-metrics{grid-template-columns:1fr 1fr}.detail-metric:last-child:nth-child(odd){grid-column:1/-1}.dialog{padding:17px}.toolbar-panel{align-items:flex-start;flex-direction:column}.balance-strip{flex-wrap:wrap}.language-floating{top:14px;inset-inline-end:15px}}@media(max-width:420px){.metric-grid{grid-template-columns:1fr 1fr}.metric-label{font-size:11px}.metric strong{font-size:23px}.login-card{padding:26px 21px}.page-title{flex-direction:column}.page-title>.button{align-self:stretch}.detail-metrics{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}@media(max-width:850px){.sidebar{position:fixed;inset-block:0;inset-inline-start:0;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;width:min(290px,84vw);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;transform:translate(-105%);transition:transform .2s ease}.sidebar-open{transform:translate(0)}html[dir=rtl] .sidebar{transform:translate(105%)}html[dir=rtl] .sidebar-open{transform:translate(0)}.sidebar-backdrop.show{display:block;position:fixed;inset:0;background:#0e182b66;z-index:35}.main-shell{margin-inline-start:0}.menu-toggle{display:block}}:root{--bg:#06050c;--s1:rgba(22,19,38,.62);--s2:rgba(36,31,62,.62);--s3:rgba(54,47,92,.7);--bd:rgba(150,140,255,.14);--bd2:rgba(170,160,255,.28);--tx:#ecebff;--mu:#a29fc4;--acc:oklch(.88 .16 185);--accT:#031a1c;--vio:oklch(.74 .2 295);--ok:oklch(.86 .18 160);--warn:oklch(.86 .15 85);--err:oklch(.75 .2 20);--info:oklch(.82 .13 235);--neu:#a8a5c9;--g1:120,70,255;--g2:0,230,200;color-scheme:dark;--navy:var(--s1);--navy2:var(--s2);--primary:var(--acc);--primary-dark:color-mix(in oklch,var(--acc) 80%,#000);--muted:var(--mu);--border:var(--bd);--panel:var(--s1);--red:var(--err);--shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 30px rgba(0,0,0,.18);font-family:Instrument Sans,IBM Plex Sans Arabic,system-ui,sans-serif;color:var(--tx)}html[data-palette=neon]{--acc:oklch(.9 .21 145);--vio:oklch(.8 .15 200);--g1:0,200,90;--g2:0,160,220;--bd:rgba(120,255,170,.14);--bd2:rgba(120,255,170,.28)}html[data-palette=ember]{--acc:oklch(.8 .17 55);--vio:oklch(.72 .19 20);--g1:255,110,30;--g2:255,40,90;--bd:rgba(255,170,110,.14);--bd2:rgba(255,170,110,.28)}html[data-palette=crimson]{--acc:oklch(.68 .24 25);--accT:#fff;--vio:oklch(.75 .15 25);--g1:230,20,50;--g2:120,10,40;--bd:rgba(255,120,130,.14);--bd2:rgba(255,120,130,.28)}html[data-theme=light]{--bg:#eef0fb;--s1:rgba(255,255,255,.78);--s2:rgba(240,241,255,.9);--s3:#e0e2f6;--bd:rgba(80,70,170,.14);--bd2:rgba(80,70,170,.3);--tx:#14122b;--mu:#575377;--acc:oklch(.5 .17 275);--accT:#fff;--vio:oklch(.5 .2 300);--ok:oklch(.46 .13 160);--warn:oklch(.5 .12 65);--err:oklch(.5 .19 20);--info:oklch(.47 .12 235);--neu:#544f78;--g1:130,100,255;--g2:0,200,200;color-scheme:light;--shadow:inset 0 1px 0 #fff,0 8px 30px rgba(60,50,140,.08)}html,body{background:radial-gradient(900px 520px at 85% -10%,rgba(var(--g1),.28),transparent 60%),radial-gradient(700px 480px at 0% 105%,rgba(var(--g2),.16),transparent 60%),var(--bg);background-attachment:fixed;color:var(--tx)}html[dir=rtl]{font-family:IBM Plex Sans Arabic,Instrument Sans,system-ui,sans-serif}input,select,textarea{background:var(--s2);border:1px solid var(--bd);color:var(--tx)}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-color:var(--acc)}.search-box{background:var(--s2);border-color:var(--bd);color:var(--mu)}.search-box:focus-within{outline:2px solid var(--acc);border-color:var(--acc)}.compact-field,.field,.check-field,.check-list legend{color:var(--mu)}.check-field input{accent-color:var(--acc)}.sidebar{background:var(--s1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-inline-end:1px solid var(--bd);color:var(--tx);overflow-y:auto;overflow-x:hidden}.sidebar-brand{color:var(--tx)}.brand-mark{background:linear-gradient(135deg,var(--acc),var(--vio));color:var(--accT);box-shadow:0 0 18px color-mix(in oklch,var(--acc) 45%,transparent)}.nav-link{color:var(--mu);transition:background .15s,color .15s;border-inline-start:2px solid transparent}.nav-link:hover{background:var(--s2);color:var(--tx)}.nav-link.selected{background:linear-gradient(90deg,color-mix(in oklch,var(--acc) 16%,transparent),transparent);color:var(--tx);box-shadow:none;border-inline-start-color:var(--acc)}html[dir=rtl] .nav-link.selected{box-shadow:none;background:linear-gradient(270deg,color-mix(in oklch,var(--acc) 16%,transparent),transparent)}.nav-glyph{color:var(--mu)}.selected .nav-glyph{color:var(--acc)}.sidebar-footer{border-top-color:var(--bd)}.user-copy strong{color:var(--tx)}.user-copy span{color:var(--mu)}.avatar{background:var(--s3);color:var(--tx)}.topbar{background:color-mix(in oklch,var(--bg) 70%,transparent);border-bottom-color:var(--bd);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.eyebrow,.profile-chip,.language-switch,.language-switch button{color:var(--mu)}.language-switch button.current{color:var(--acc);background:var(--s2)}.menu-toggle,.icon-button{background:var(--s1);border-color:var(--bd);color:var(--tx)}.sidebar-backdrop.show{background:#0305088c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{transition:transform .28s cubic-bezier(.2,.8,.2,1)}.panel,.login-card,.detail-metric{background:var(--s1);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--shadow)}.detail-list,.notice-inline{background:var(--s2);border-color:var(--bd);color:var(--mu)}.login-screen{background:radial-gradient(900px 520px at 85% -10%,rgba(var(--g1),.3),transparent 60%),radial-gradient(700px 480px at 0% 105%,rgba(var(--g2),.18),transparent 60%),var(--bg)}h1,.metric strong,.balance-strip strong{color:var(--tx)}.page-title p,.muted,.state,.empty-cell,.metric small,.metric-label,.dialog-title p{color:var(--mu)}.table-wrap{border-color:var(--bd);max-height:calc(100dvh - 300px)}th{background:var(--s2);color:var(--mu);position:sticky;top:0;z-index:2;text-transform:none;letter-spacing:0;font-size:12px}th,td{border-bottom-color:var(--bd)}tbody tr{transition:background .12s}tbody tr:hover{background:var(--s2)}td:nth-child(n+2){font-variant-numeric:tabular-nums}.primary{background:var(--acc);color:var(--accT)}.primary:hover{background:var(--acc);filter:brightness(1.1)}.secondary{background:var(--s2);border-color:var(--bd);color:var(--tx)}.secondary:hover{background:var(--s3)}.danger{background:color-mix(in oklch,var(--err) 14%,transparent);border-color:color-mix(in oklch,var(--err) 35%,transparent);color:var(--err)}.text-button,.link-danger{color:var(--acc)}.link-danger{color:var(--err)}.status{background:color-mix(in oklch,var(--neu) 16%,transparent);color:var(--neu);border:1px solid color-mix(in oklch,var(--neu) 30%,transparent)}.status-active,.status-available,.status-present,.status-settled,.status-completed{background:color-mix(in oklch,var(--ok) 14%,transparent);color:var(--ok);border-color:color-mix(in oklch,var(--ok) 30%,transparent)}.status-unfilled,.status-temporaryunavailable{background:color-mix(in oklch,var(--warn) 14%,transparent);color:var(--warn);border-color:color-mix(in oklch,var(--warn) 30%,transparent)}.status-open,.status-draft,.status-assigned{background:color-mix(in oklch,var(--info) 14%,transparent);color:var(--info);border-color:color-mix(in oklch,var(--info) 30%,transparent)}.status-cancelled,.status-inactive,.status-absent{background:color-mix(in oklch,var(--err) 14%,transparent);color:var(--err);border-color:color-mix(in oklch,var(--err) 30%,transparent)}.status-ended,.status-replaced,.status-approvedleave{background:color-mix(in oklch,var(--neu) 16%,transparent);color:var(--neu)}.chip{background:var(--s3);color:var(--tx)}.metric{min-height:120px}.metric:before{display:none}.metric-label{display:flex;align-items:center;gap:8px}.metric-label:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;color:inherit}.metric-blue .metric-label:before{color:var(--info)}.metric-green .metric-label:before{color:var(--ok)}.metric-violet .metric-label:before{color:var(--vio)}.metric-amber .metric-label:before{color:var(--warn)}.metric-rose .metric-label:before{color:var(--err)}.metric-teal .metric-label:before{color:var(--acc)}.metric-blue,.metric-green,.metric-violet,.metric-amber,.metric-rose,.metric-teal{color:var(--mu)}.metric strong{font-variant-numeric:tabular-nums;font-weight:600}.overlay{background:#03050899;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:wf-fade .2s}.dialog{background:var(--s1);border:1px solid var(--bd2);border-radius:18px;box-shadow:0 30px 80px #00000073;animation:wf-pop .22s cubic-bezier(.2,.8,.2,1)}.notice{background:color-mix(in oklch,var(--ok) 12%,transparent);border-color:color-mix(in oklch,var(--ok) 30%,transparent);color:var(--ok)}.permission-notice{background:color-mix(in oklch,var(--warn) 12%,transparent);border-color:color-mix(in oklch,var(--warn) 30%,transparent);color:var(--warn)}.error,.form-error,.field b{color:var(--err)}@keyframes wf-fade{0%{opacity:0}to{opacity:1}}@keyframes wf-pop{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}.content{animation:wf-fade .25s ease}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.danger-solid{background:var(--err);color:#fff;border-color:transparent}.confirm-dialog{width:min(440px,calc(100vw - 30px))}.skeleton{display:grid;gap:12px;padding:8px 0}.skeleton span{height:34px;border-radius:8px;background:var(--s2);animation:wf-pulse 1.4s ease-in-out infinite}@keyframes wf-pulse{0%,to{opacity:.5}50%{opacity:1}}.state.error{display:flex;flex-direction:column;align-items:center;gap:12px}.stage-cell{display:flex;flex-direction:column;gap:6px;align-items:flex-start;min-width:96px}.stage-bars{display:flex;gap:3px;width:96px}.stage-bars i{flex:1;height:4px;border-radius:99px;background:var(--s3)}.stage-info .on{background:var(--info)}.stage-ok .on{background:var(--ok)}.stage-warn i{background:color-mix(in oklch,var(--warn) 45%,var(--s3))}.stage-err i{background:color-mix(in oklch,var(--err) 45%,var(--s3))}.bar-row{margin:12px 0}.bar-head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.bar-track{height:6px;border-radius:99px;background:var(--s3);overflow:hidden}.bar-fill{display:block;height:100%;border-radius:99px;transition:width .5s cubic-bezier(.2,.8,.2,1)}.dot-ok{background:var(--ok)}.dot-warn{background:var(--warn)}.dot-err{background:var(--err)}.dot-info{background:var(--info)}.dot-neu{background:var(--neu)}.attention-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.attention-list li{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--bd);flex-wrap:wrap}.attention-list li:first-child{border-top:0}.attention-list li span:nth-of-type(2){flex:1;min-width:160px}.dot{width:8px;height:8px;border-radius:50%;flex:none}@media(max-width:700px){.table-wrap{border:0;max-height:none;overflow:visible}table{min-width:0}thead{display:none}tbody,tr,td{display:block}tbody tr{border:1px solid var(--bd);border-radius:12px;padding:12px;margin-bottom:10px;background:var(--s2)}td{border:0;padding:6px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;text-align:end}td:before{content:attr(data-label);color:var(--mu);font-size:12px;text-align:start;flex:none}td.row-actions{flex-wrap:wrap;justify-content:flex-start;white-space:normal}td.row-actions:before{display:none}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-width:0;overflow-x:clip}.app-root,.main-shell,.content>*,.panel,.toolbar>*,.page-title>*{min-width:0}img,svg,video,canvas{max-width:100%;height:auto}.content,.topbar{padding-inline:max(30px,env(safe-area-inset-left),env(safe-area-inset-right))}.sidebar{padding-bottom:max(20px,env(safe-area-inset-bottom))}tr[hidden]{display:none!important}.skip-link{position:fixed;inset-block-start:8px;inset-inline-start:8px;z-index:100;padding:10px 14px;border-radius:10px;background:var(--acc);color:var(--accT);font-weight:700;transform:translateY(-200%);transition:transform .15s}.skip-link:focus{transform:none}#main-content:focus{outline:none}.top-title{min-width:0;flex:1 1 auto}.top-title strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-expired{position:fixed;inset-block-start:16px;inset-inline:16px;margin:0 auto;max-width:420px;text-align:center;padding:10px 14px;border-radius:12px;background:var(--s2);border:1px solid var(--bd2);color:var(--warn);z-index:10}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid var(--bd);background:var(--s1);color:var(--mu);padding:9px 16px;border-radius:999px;font-weight:600;min-height:40px}.tabs button.current{background:var(--acc);color:var(--accT);border-color:transparent}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}.pager{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--mu)}.pager-size{display:flex;align-items:center;gap:8px}.pager-size select{width:auto;min-height:34px;padding:4px 8px}.pager-buttons{display:inline-flex;align-items:center;gap:8px}.pager-page{min-width:48px;text-align:center;color:var(--tx)}.export-button{margin-inline-start:auto}.sheet-hint{flex:1 1 220px;margin:0}.sheet-actions{margin-inline-start:auto}.row-dirty{background:rgba(var(--g2),.08)}.unsaved{margin:12px 0 0}td>input,td>select{min-width:0}td small.muted{font-size:11px}.alerts{position:relative}.alerts-button{position:relative;font-size:16px;display:grid;place-items:center}.alerts-badge{position:absolute;inset-block-start:-6px;inset-inline-end:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--err);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;line-height:1}.alerts-panel{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-end:0;width:min(340px,calc(100vw - 24px));background:var(--bg);border:1px solid var(--bd2);border-radius:14px;padding:14px;box-shadow:0 18px 50px #0006;z-index:60;display:grid;gap:8px}.alerts-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.alerts-panel li button{width:100%;display:flex;align-items:center;gap:12px;text-align:start;padding:10px 12px;border:1px solid var(--bd);border-radius:10px;background:var(--s1);color:var(--tx)}.alerts-panel li button:hover{border-color:var(--bd2);background:var(--s2)}.alerts-panel li b{min-width:28px;text-align:center;color:var(--warn);font-size:16px}.alerts-panel p{margin:0}@media(min-width:2200px){body{zoom:1.25}}@media(min-width:1700px){.content{max-width:1640px}}@media(max-width:1100px){.content,.topbar{padding-inline:max(22px,env(safe-area-inset-left),env(safe-area-inset-right))}.top-actions{gap:12px}}@media(max-width:850px){.menu-toggle{width:42px;height:42px;flex:none}.alerts-panel{position:fixed;inset-block-start:70px;inset-inline:12px;width:auto}}@media(max-width:760px){.content,.topbar{padding-inline:max(13px,env(safe-area-inset-left),env(safe-area-inset-right))}input,select,textarea{font-size:16px}.button{white-space:normal;text-align:center}.page-title{flex-direction:column;align-items:stretch;gap:12px}.page-title>.button{align-self:stretch}.toolbar>*,.filter-toolbar>*{flex:1 1 100%}.compact-field{min-width:0}.table-footer{flex-direction:column;align-items:stretch}.export-button{margin-inline-start:0;width:100%}.pager{justify-content:space-between}.pager-range{flex:1 1 100%}.sheet-actions{margin-inline-start:0;width:100%}.sheet-actions .button{flex:1}.overlay{align-items:end;padding:0}.overlay>.dialog,.overlay>.wide-dialog{width:100%;max-width:100%;max-height:92dvh;max-height:92vh;border-radius:18px 18px 0 0}.overlay .panel{padding-bottom:max(18px,env(safe-area-inset-bottom))}.form-actions{flex-wrap:wrap}.form-actions .button{flex:1 1 140px}.form-actions .button:first-child{margin-inline-start:0}.detail-metrics{grid-template-columns:1fr 1fr}}@media(max-width:700px){table{display:block;width:100%;min-width:0}td{overflow-wrap:anywhere;min-width:0}td>*{min-width:0}td>input,td>select{width:auto;flex:1 1 55%;max-width:62%}td>.row-actions{flex-wrap:wrap}tbody tr td[data-label=""]:before{display:none}.stage-cell{justify-content:flex-end}}@media(max-width:360px){.topbar{gap:8px}.top-actions{gap:6px}.icon-button,.menu-toggle{width:38px;height:38px}.language-switch{font-size:11px;gap:2px}.language-switch button{padding:4px 3px}.metric-grid{grid-template-columns:1fr}.metric{min-height:96px}.page-title h1{font-size:19px}.panel{padding:12px}.detail-metrics{grid-template-columns:1fr}.login-card{padding:22px 16px}.attention-list li{gap:8px}.attention-list li span:nth-of-type(2){min-width:0;flex:1 1 100%;order:3}}@media(max-height:480px){.topbar{height:52px}.sidebar{padding-block:10px}.sidebar-brand{margin-bottom:10px}.nav-link{min-height:36px;padding-block:6px}.overlay{align-items:start;overflow:auto;padding:8px}.overlay>.dialog,.overlay>.wide-dialog{max-height:none;border-radius:14px}.login-screen{align-items:start}}@media(pointer:coarse){.button,.icon-button,.nav-link,.tabs button,select,input:not([type=checkbox]):not([type=radio]){min-height:44px}.button.small,.check-field{min-height:40px}.check-field input{width:22px;height:22px}}@media(prefers-reduced-motion:reduce){.skip-link{transition:none}}@media(forced-colors:active){.button,.icon-button,.panel,.status,.alerts-badge{border:1px solid CanvasText}}.print-only{display:none}@media(min-width:851px){.menu-toggle{display:inline-grid;place-items:center;flex:none;cursor:pointer}.main-shell{transition:margin-inline-start .28s cubic-bezier(.2,.8,.2,1)}.sidebar-collapsed .sidebar{transform:translate(-105%);visibility:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}html[dir=rtl] .sidebar-collapsed .sidebar{transform:translate(105%)}.sidebar-collapsed .main-shell{margin-inline-start:0}}@media print{:root,html[data-theme]{color-scheme:light;--bg:#fff;--tx:#000;--mu:#333;--bd:#999;--s1:#fff;--s2:#fff;--s3:#eee}html,body{background:#fff!important;color:#000!important;zoom:1}*{color:#000!important;text-shadow:none!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;animation:none!important}.sidebar,.sidebar-backdrop,.topbar,.skip-link,.no-print,.alerts,.table-footer,.notice,.language-floating{display:none!important}.main-shell{margin:0!important}.content{max-width:none;padding:0}body:has(.overlay) .content>*:not(.overlay){display:none!important}.overlay{position:static!important;display:block!important;background:none!important;padding:0!important}.panel,.dialog,.wide-dialog{background:#fff!important;border:0!important;width:100%!important;max-width:none!important;max-height:none!important;overflow:visible!important;padding:0!important;border-radius:0!important}.print-only{display:block}.print-heading{font-size:14px;margin:0 0 12px}.table-wrap{overflow:visible;border:0}table{min-width:0;width:100%;font-size:12px}th,td{border:1px solid #999!important;background:#fff!important;padding:6px 8px}thead{display:table-header-group}tr{break-inside:avoid}.detail-metrics{display:flex;gap:16px}.detail-metric{border:1px solid #999!important;border-radius:0}}
