:root{--primary: #0b0b0d;--accent: #c6a256;--accent-tint: #f6efdd;--bg: #f6f5f1;--card: #ffffff;--surface-2: #fbfaf6;--row-hover: #f4f2ea;--text: #18181b;--muted: #6c6a64;--text-3: #75736c;--border: #e9e4d6;--gold: var(--accent);--gold-bright: color-mix(in srgb, var(--accent), white 28%);--gold-deep: color-mix(in srgb, var(--accent), #1a1407 36%);--gold-weak: color-mix(in srgb, var(--accent), white 82%);--gold-wash: color-mix(in srgb, var(--accent), white 92%);--gold-glow: color-mix(in srgb, var(--accent), transparent 76%);--ink: var(--primary);--ink-up: color-mix(in srgb, var(--primary), white 10%);--ink-soft: color-mix(in srgb, var(--primary), black 16%);--line: var(--border);--line-soft: color-mix(in srgb, var(--border), var(--card) 48%);--on-dark: rgba(255, 255, 255, .84);--on-dark-dim: rgba(255, 255, 255, .56);--on-dark-faint: rgba(255, 255, 255, .34);--on-dark-line: rgba(255, 255, 255, .09);--on-dark-hover: rgba(255, 255, 255, .06);--ok: #1c7a5e;--ok-bg: #e7f3ee;--ok-line: #c3e0d4;--warn: #9a6b12;--warn-bg: #fbf0d6;--warn-line: #ecd8a6;--danger: #b5392a;--danger-bg: #fae4e0;--danger-line: #efc1b8;--info: #2f63d6;--info-bg: #e8effc;--info-line: #c6d8f6;--purple: #6a4ea3;--purple-bg: #eee8f6;--purple-line: #d6c8ea;--shadow-xs: 0 1px 2px rgba(26, 20, 8, .04);--shadow-sm: 0 1px 2px rgba(26, 20, 8, .05), 0 1px 1px rgba(26, 20, 8, .03);--shadow-md: 0 6px 18px -8px rgba(26, 20, 8, .1), 0 2px 5px -2px rgba(26, 20, 8, .05);--shadow-lg: 0 20px 44px -16px rgba(26, 20, 8, .18), 0 6px 14px -8px rgba(26, 20, 8, .09);--font-display: "Fraunces", Georgia, "Times New Roman", serif;--r-xs: 6px;--r-sm: 9px;--r: 13px;--r-lg: 18px;--r-pill: 999px;--t: .17s cubic-bezier(.4, 0, .2, 1);--t-slow: .32s cubic-bezier(.4, 0, .2, 1);--sidebar-w: 268px;--appbar-h: 60px;color-scheme:light}:root[data-theme=dark]{--bg: #0a0a0b;--card: #141315;--surface-2: #1c1b1e;--row-hover: #211f24;--text: #eceae3;--muted: #9b9992;--text-3: #8a887f;--border: #2a282d;--line-soft: color-mix(in srgb, var(--border), var(--card) 40%);--gold-bright: color-mix(in srgb, var(--accent), white 22%);--gold-deep: color-mix(in srgb, var(--accent), white 24%);--gold-weak: color-mix(in srgb, var(--accent), #141315 56%);--gold-wash: color-mix(in srgb, var(--accent), #141315 86%);--ink-up: color-mix(in srgb, var(--primary), white 8%);--ink-soft: color-mix(in srgb, var(--primary), black 22%);--ok: #45cd8e;--ok-bg: rgba(69,205,142,.12);--ok-line: rgba(69,205,142,.3);--warn: #e2b455;--warn-bg: rgba(226,180,85,.12);--warn-line: rgba(226,180,85,.3);--danger: #f0826f;--danger-bg: rgba(240,130,111,.13);--danger-line: rgba(240,130,111,.32);--info: #74a4f2;--info-bg: rgba(116,164,242,.13);--info-line: rgba(116,164,242,.32);--purple: #b79bea;--purple-bg: rgba(183,155,234,.13);--purple-line: rgba(183,155,234,.32);--shadow-xs: 0 1px 2px rgba(0,0,0,.45);--shadow-sm: 0 1px 3px rgba(0,0,0,.55), 0 1px 2px rgba(0,0,0,.35);--shadow-md: 0 10px 28px -8px rgba(0,0,0,.62), 0 3px 8px -3px rgba(0,0,0,.4);--shadow-lg: 0 28px 56px -18px rgba(0,0,0,.72), 0 10px 22px -10px rgba(0,0,0,.5);color-scheme:dark}:root[data-theme=dark] body{background:radial-gradient(50% 36% at 80% -4%,color-mix(in srgb,var(--gold-bright),transparent 85%),transparent 66%),radial-gradient(40% 30% at 2% 104%,color-mix(in srgb,var(--gold-bright),transparent 92%),transparent 64%),var(--bg);background-attachment:fixed}:root[data-theme=dark] .card,:root[data-theme=dark] .kpi{background-image:linear-gradient(180deg,#ffffff06,#fff0 62%);box-shadow:var(--shadow-sm),inset 0 1px #ffffff0b}:root[data-theme=dark] .kpi:hover{border-color:var(--gold-weak)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.55;background:radial-gradient(46% 30% at 86% -6%,color-mix(in srgb,var(--accent),transparent 88%),transparent 62%),radial-gradient(36% 24% at -6% 108%,color-mix(in srgb,var(--accent),transparent 94%),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv05","ss01";transition:background-color var(--t-slow),color var(--t-slow)}::selection{background:color-mix(in srgb,var(--accent),transparent 56%);color:var(--text)}:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}.skip-link{position:fixed;top:10px;left:10px;z-index:200;transform:translateY(-300%);background:var(--card);color:var(--text);border:1px solid var(--gold);border-radius:8px;padding:8px 14px;font-weight:600;font-size:13px;box-shadow:var(--shadow-md);text-decoration:none;transition:transform .12s ease}.skip-link:focus{transform:translateY(0)}main:focus{outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted),transparent 64%);border-radius:999px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--muted),transparent 42%);background-clip:content-box}h1,h2,h3,h4{color:var(--text);font-weight:700;letter-spacing:-.02em}a{color:var(--gold-deep);text-decoration:none;font-weight:500;transition:color var(--t)}a:hover{color:var(--gold)}.muted{color:var(--muted)}code,.code{font-family:SFMono-Regular,ui-monospace,JetBrains Mono,Menlo,monospace;font-size:12px;background:var(--gold-wash);color:var(--gold-deep);padding:2px 6px;border-radius:var(--r-xs);border:1px solid var(--gold-weak)}.layout{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh}.content{display:flex;flex-direction:column;min-width:0}.main{padding:30px 48px 76px;min-width:0;width:100%;max-width:1520px;margin:0 auto}.main>h1,.main h1{font-family:var(--font-display);font-size:31px;margin:0 0 6px;color:var(--text);font-weight:600;letter-spacing:.01em}.main h1:after{content:"";display:block;width:46px;height:3px;margin-top:10px;border-radius:999px;background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold),transparent 78%))}.main h1+.sub,.sub{color:var(--muted);font-size:13.5px;max-width:72ch}.main h1+.sub{margin-bottom:32px}.backlink{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted);margin-bottom:14px;text-decoration:none;transition:color var(--t)}.backlink:before{content:"←";font-size:14px;line-height:1;transition:transform var(--t)}.backlink:hover{color:var(--gold-deep)}.backlink:hover:before{transform:translate(-2px)}.env-banner{display:flex;align-items:center;gap:9px;margin:0 0 18px;padding:9px 14px;border-radius:var(--r-sm);border:1px solid;font-size:12.5px;font-weight:600;letter-spacing:.01em}.env-banner:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.env-draft,.env-calculated{background:var(--gold-wash);color:var(--gold-deep);border-color:var(--gold-weak)}.env-submitted{background:var(--warn-bg);color:color-mix(in srgb,var(--warn),black 14%);border-color:var(--warn-line)}:root[data-theme=dark] .env-submitted{color:var(--warn)}.env-cancelled{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-line)}.hero-metric{margin:4px 0 30px}.hm-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.hm-value{font-size:52px;font-weight:700;letter-spacing:-.02em;line-height:1.05;color:var(--text);margin-top:10px;font-variant-numeric:tabular-nums lining-nums}.hm-cur{font-size:26px;font-weight:600;color:var(--muted);margin-right:7px;letter-spacing:0}.hm-meaning{margin-top:10px;font-size:13px;color:var(--muted);max-width:84ch}@media (max-width: 720px){.hm-value{font-size:38px}.hm-cur{font-size:19px}}.appbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:14px;height:var(--appbar-h);padding:0 28px;flex-shrink:0;background:color-mix(in srgb,var(--bg),transparent 22%);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-bottom:1px solid color-mix(in srgb,var(--line),transparent 25%)}.crumbs{display:flex;align-items:center;gap:9px;min-width:0;font-size:13px}.crumbs a.crumb{color:var(--muted);font-weight:500}.crumbs a.crumb:hover{color:var(--gold-deep)}.crumb{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb.current{color:var(--text);font-weight:600}.crumb-sep{color:var(--text-3);opacity:.7;flex-shrink:0}.appbar-spacer{flex:1}.appbar-search{display:flex;align-items:center;gap:9px;width:300px;padding:7px 8px 7px 12px;border-radius:var(--r-pill);background:var(--card);border:1px solid var(--line);color:var(--text-3);font-size:12.5px;font-weight:500;cursor:pointer;box-shadow:none;transition:border-color var(--t),color var(--t)}.appbar-search:hover{border-color:var(--gold-weak);color:var(--muted);transform:none;filter:none;box-shadow:none}.appbar-search:active{transform:none;filter:none;box-shadow:none}.appbar-search svg{width:15px;height:15px;flex-shrink:0}.appbar-search .as-label{flex:1;text-align:left}.appbar .theme-toggle{background:var(--card);border-color:var(--line)}.appbar .theme-toggle button{color:var(--muted)}.appbar .theme-toggle button:hover{color:var(--text);background:transparent}.appbar .theme-toggle button.on{background:var(--gold);color:#1a1407}.appbar-divider{width:1px;height:22px;background:var(--line);flex-shrink:0}.appbar-user{display:flex;align-items:center;gap:10px;min-width:0}.appbar-user .user-avatar{width:32px;height:32px;font-size:12px}.appbar-user-meta{line-height:1.2;min-width:0}.appbar-user-name{font-size:12.5px;font-weight:600;color:var(--text);max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appbar-user-role{font-size:9.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:color-mix(in srgb,var(--accent),#1a1407 48%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:root[data-theme=dark] .appbar-user-role{color:var(--gold-deep)}.appbar-signout{width:30px;height:30px;padding:0;flex-shrink:0;display:grid;place-items:center;border-radius:var(--r-sm);background:transparent;border:1px solid var(--line);color:var(--muted);box-shadow:none}.appbar-signout:hover{background:var(--danger);border-color:var(--danger);color:#fff;transform:none;filter:none;box-shadow:none}:root[data-theme=dark] .appbar-signout:hover,:root[data-theme=dark] .signout-btn:hover{color:#3d0c05}.appbar-signout svg{width:14px;height:14px}.sidebar{background:linear-gradient(180deg,var(--ink-up) 0%,var(--ink) 30%);color:var(--on-dark);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;border-right:1px solid var(--on-dark-line);box-shadow:inset -1px 0 #00000040}.topbar,.nav-backdrop,.drawer-close{display:none}.brand{display:flex;align-items:center;gap:12px;padding:22px 20px 18px}.brand-mark{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(160deg,var(--gold-bright),var(--accent));color:#1a1407;font-weight:800;font-size:18px;letter-spacing:-.04em}.brand-mark img{width:100%;height:100%;object-fit:contain}.brand-logo{max-width:184px;max-height:46px;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.15;min-width:0}.brand-company{font-family:var(--font-display);font-size:15px;font-weight:600;color:#fff;letter-spacing:.005em}.brand-product{font-size:10px;font-weight:600;color:var(--gold);text-transform:uppercase;letter-spacing:.18em;margin-top:1px}.sidebar h2{padding:22px 22px 18px;margin:0;font-size:16px;letter-spacing:.06em;color:var(--gold);font-weight:700;text-transform:uppercase}.sidebar nav{flex:1;overflow-y:auto;padding:6px 12px 12px;display:flex;flex-direction:column;gap:1px}.sidebar nav::-webkit-scrollbar{width:8px}.sidebar nav::-webkit-scrollbar-thumb{background:#ffffff1f;background-clip:content-box;border:2px solid transparent}.nav-group-label{font-size:9.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--on-dark-faint);padding:16px 12px 6px}.nav-group-label:first-child{padding-top:6px}.sidebar nav a{display:flex;align-items:center;gap:11px;padding:9px 12px;border-radius:var(--r-sm);color:var(--on-dark-dim);font-size:13px;font-weight:500;position:relative;border:none;text-decoration:none;transition:background var(--t),color var(--t)}.sidebar nav a:hover{background:var(--on-dark-hover);color:#fff}.sidebar nav a:hover .nav-ico{color:var(--gold-bright);opacity:1}.sidebar nav a.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent),transparent 80%),var(--on-dark-hover) 72%);color:#fff;font-weight:600}.sidebar nav a.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:999px;background:linear-gradient(var(--gold-bright),var(--gold));box-shadow:0 0 10px var(--gold-glow)}.sidebar nav a.active .nav-ico{color:var(--gold);opacity:1}.nav-ico{width:18px;height:18px;flex-shrink:0;opacity:.78;display:grid;place-items:center;color:currentColor;transition:color var(--t),opacity var(--t)}.nav-ico svg{width:17px;height:17px;display:block}.nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-badge{min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--gold);color:#1a1407;font-size:10.5px;font-weight:800;line-height:18px;text-align:center}.sidebar-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 18px 2px}.sidebar-tools .tools-label{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-dark-faint)}.theme-toggle{display:inline-flex;align-items:center;gap:2px;padding:3px;background:#ffffff0d;border:1px solid var(--on-dark-line);border-radius:999px}.theme-toggle button{width:28px;height:24px;padding:0;border:none;background:transparent;color:var(--on-dark-dim);border-radius:999px;display:grid;place-items:center;box-shadow:none;cursor:pointer;transition:background var(--t),color var(--t)}.theme-toggle button svg{width:14px;height:14px}.theme-toggle button:hover{color:#fff;background:transparent;transform:none;filter:none;box-shadow:none}.theme-toggle button.on{background:var(--gold);color:#1a1407;box-shadow:0 1px 4px -1px var(--gold-glow)}.sidebar-user{display:flex;align-items:center;gap:11px;padding:13px 15px;margin:8px 10px 12px;border-radius:var(--r);border:1px solid var(--on-dark-line);background:#ffffff08}.user-avatar{width:38px;height:38px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:14px;color:#1a1407;background:linear-gradient(150deg,var(--gold-bright),color-mix(in srgb,var(--accent),#1a1407 32%));box-shadow:0 0 0 1px var(--gold-glow)}.user-meta{min-width:0;flex:1}.user-name{font-size:12.5px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email{font-size:11px;color:var(--on-dark-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{margin-top:5px}.signout-btn{margin-left:auto;flex-shrink:0;width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:var(--r-sm);background:transparent;border:1px solid var(--on-dark-line);color:var(--on-dark-dim);cursor:pointer;transition:all var(--t);box-shadow:none}.signout-btn:hover{background:var(--danger);border-color:var(--danger);color:#fff;transform:none;filter:none}.signout-btn svg{width:15px;height:15px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px 26px;margin-bottom:20px;box-shadow:var(--shadow-sm);transition:background-color var(--t),border-color var(--t),box-shadow var(--t)}.card h3{font-size:15.5px;font-weight:650;letter-spacing:-.01em}.card>h3:first-child{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.card>.spaced:first-child{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line-soft)}.cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:18px;margin-bottom:26px}.cards-row>*{animation:cardRise .5s cubic-bezier(.16,1,.3,1) backwards}.cards-row>*:nth-child(2){animation-delay:.05s}.cards-row>*:nth-child(3){animation-delay:.1s}.cards-row>*:nth-child(4){animation-delay:.15s}.cards-row>*:nth-child(5){animation-delay:.2s}.cards-row>*:nth-child(6){animation-delay:.25s}@keyframes cardRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;position:relative;overflow:hidden;box-shadow:var(--shadow-xs);transition:box-shadow var(--t),border-color var(--t),background-color var(--t),transform var(--t)}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--gold-bright),var(--gold));opacity:.9;transition:opacity var(--t)}.kpi:after{content:"";position:absolute;top:-34px;right:-34px;width:120px;height:120px;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,var(--gold-wash),transparent 70%);opacity:.6}.kpi:hover{box-shadow:var(--shadow-md);border-color:var(--gold-weak);transform:translateY(-2px)}.kpi .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.kpi .value{font-size:32px;font-weight:700;color:var(--text);margin-top:8px;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.kpi .meta{font-size:11.5px;color:var(--text-3);margin-top:6px}.kpi-delta{display:inline-flex;align-items:center;gap:3px;font-weight:600}.kpi-delta.up{color:var(--ok)}.kpi-delta.down{color:var(--danger)}.chart{width:100%;display:block;overflow:visible}.chart-axis{stroke:var(--line);stroke-width:1}.chart-grid{stroke:var(--line-soft);stroke-width:1;stroke-dasharray:3 4}.chart-label{fill:var(--text-3);font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}.chart-bar{transition:opacity var(--t)}.chart-bar:hover{opacity:.82}.chart-legend{display:flex;flex-wrap:wrap;gap:16px;margin-top:14px}.chart-legend span{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);font-weight:500}.chart-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;align-items:stretch}.grid-2>.card{margin-bottom:0}@media (max-width: 900px){.grid-2{grid-template-columns:1fr}}.stackbar{display:flex;height:16px;border-radius:var(--r-pill);overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}.stackbar-seg{height:100%;transition:opacity var(--t)}.stackbar-seg:hover{opacity:.8}.legend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:9px 20px;margin-top:16px}.legend-item{display:flex;align-items:center;gap:9px;font-size:12.5px}.legend-item i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.legend-item .lk{color:var(--muted)}.legend-item .lv{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px}.stat-item{padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-2)}.stat-item .n{font-size:22px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;color:var(--text)}.stat-item .s{margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:6px}.stat-item .s:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--text-3);flex-shrink:0}.stat-item.is-calculated .s:before,.stat-item.is-paid .s:before{background:var(--gold)}.stat-item.is-submitted .s:before{background:var(--warn)}.stat-item.is-approved .s:before{background:var(--ok)}.stat-item.is-cancelled .s:before,.stat-item.is-rejected .s:before{background:var(--danger)}.stat-item.is-submitted{border-color:var(--warn-line);background:var(--warn-bg)}table{width:100%;border-collapse:separate;border-spacing:0}th{text-align:left;padding:11px 14px;background:var(--surface-2);color:var(--muted);font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid color-mix(in srgb,var(--accent),var(--line) 62%);white-space:nowrap;position:sticky;top:0;z-index:1}th:first-child{border-top-left-radius:var(--r-sm)}th:last-child{border-top-right-radius:var(--r-sm)}td{padding:13px 14px;border-bottom:1px solid var(--line-soft);font-size:13px;color:var(--text)}tbody tr{transition:background var(--t)}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--row-hover)}tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--gold)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td a{font-weight:600}.card:has(table){overflow-x:auto}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 9px;border-radius:var(--r-pill);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid transparent;line-height:1.5;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.9;flex-shrink:0}.pill.draft,.pill.skipped{background:color-mix(in srgb,var(--muted),transparent 88%);color:var(--muted);border-color:color-mix(in srgb,var(--muted),transparent 78%)}.pill.calculated,.pill.paid{background:var(--gold-wash);color:var(--gold-deep);border-color:var(--gold-weak)}.pill.submitted,.pill.pending,.pill.medium,.pill.needs_update{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.pill.approved,.pill.active,.pill.low{background:var(--ok-bg);color:var(--ok);border-color:var(--ok-line)}.pill.cancelled,.pill.rejected,.pill.high,.pill.critical{background:var(--danger-bg);color:var(--danger);border-color:var(--danger-line)}.pill.escalated{background:var(--purple-bg);color:var(--purple);border-color:var(--purple-line)}button,.btn{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.01em;padding:9px 18px;border-radius:var(--r-pill);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent),white 14%),var(--accent) 52%,color-mix(in srgb,var(--accent),black 8%));color:#1a1407;border:1px solid color-mix(in srgb,var(--accent),black 14%);box-shadow:inset 0 1px #ffffff52,0 1px 2px #1a140829;transition:background var(--t),border-color var(--t),opacity var(--t),box-shadow var(--t),transform var(--t),filter var(--t)}button:hover,.btn:hover{filter:brightness(1.04);box-shadow:inset 0 1px #ffffff52,0 4px 10px -3px var(--gold-glow);transform:translateY(-1px)}button:active,.btn:active{transform:translateY(0);filter:brightness(.96);box-shadow:inset 0 1px 2px #1a14082e}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:none;box-shadow:none}button.secondary,.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--line);box-shadow:none}button.secondary:hover,.btn-secondary:hover{background:var(--row-hover);border-color:var(--muted);color:var(--text)}button.ghost{background:transparent;color:var(--muted);border:1px solid transparent;box-shadow:none}button.ghost:hover{background:var(--row-hover);color:var(--text)}button.ok{background:var(--ok);color:#fff;border-color:color-mix(in srgb,var(--ok),black 12%)}button.ok:hover{background:color-mix(in srgb,var(--ok),black 8%)}button.danger{background:var(--danger);color:#fff;border-color:color-mix(in srgb,var(--danger),black 10%)}button.danger:hover{background:color-mix(in srgb,var(--danger),black 8%)}:root[data-theme=dark] button.ok{color:#062d1e}:root[data-theme=dark] button.danger{color:#3d0c05}.btn-sm,button.sm{padding:6px 13px;font-size:12px}input,select,textarea{width:100%;padding:9px 12px;font-size:13px;font-family:inherit;color:var(--text);background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);transition:border-color var(--t),box-shadow var(--t),background-color var(--t)}input::placeholder,textarea::placeholder{color:var(--text-3)}input:hover,select:hover,textarea:hover{border-color:var(--gold-weak)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:active,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);border-color:var(--line);-webkit-box-shadow:0 0 0 100px var(--card) inset;box-shadow:0 0 0 100px var(--card) inset;transition:background-color 600000s 0s,color 600000s 0s}input:-webkit-autofill:focus,textarea:-webkit-autofill:focus,select:-webkit-autofill:focus{border-color:var(--gold);-webkit-box-shadow:0 0 0 100px var(--card) inset,0 0 0 3px var(--gold-glow);box-shadow:0 0 0 100px var(--card) inset,0 0 0 3px var(--gold-glow)}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 53%,calc(100% - 13px) 53%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:32px}label{display:block;font-size:10.5px;color:var(--muted);margin-bottom:5px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.field{margin-bottom:14px}.select{position:relative;width:100%}.select-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;font-size:13px;font-family:inherit;font-weight:500;color:var(--text);background:var(--card);text-align:left;cursor:pointer;border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:none;filter:none;transition:border-color var(--t),box-shadow var(--t),background-color var(--t)}.select-btn:hover{background:var(--card);border-color:var(--gold-weak);transform:none;filter:none;box-shadow:none}.select-btn:active{transform:none;filter:none}.select.is-open .select-btn,.select-btn:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-glow)}.select.is-disabled{opacity:.55;pointer-events:none}.select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-ph{color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-caret{width:16px;height:16px;color:var(--muted);flex-shrink:0;transition:transform var(--t),color var(--t)}.select.is-open .select-caret{transform:rotate(180deg);color:var(--gold)}.select-panel{z-index:70;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-lg);padding:5px;overflow-x:hidden;overflow-y:auto;animation:selIn .14s ease both}@keyframes selIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.select-group{padding:9px 10px 4px;font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-3)}.select-option{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);font-size:13px;color:var(--text);cursor:pointer;white-space:nowrap;transform-origin:left center;transition:background var(--t),color var(--t),transform var(--t),box-shadow var(--t)}.select-option-label{overflow:hidden;text-overflow:ellipsis}.select-option.active{background:var(--gold-wash);color:var(--gold-deep);transform:scale(1.025);box-shadow:var(--shadow-md)}.select-option.sel{color:var(--gold-deep);font-weight:600}.select-option.sel.active{background:var(--gold-wash)}.select-option.dis{opacity:.45;cursor:not-allowed}.select-option.dis.active{transform:none;box-shadow:none;background:transparent;color:var(--text)}.select-check{width:15px;height:15px;margin-left:auto;color:var(--gold);flex-shrink:0}.select-empty{padding:12px;text-align:center;color:var(--muted);font-size:12.5px}.ms-panel{display:flex;flex-direction:column;overflow:hidden;padding:0}.ms-toolbar{padding:8px 8px 6px;border-bottom:1px solid var(--line);background:var(--card);flex-shrink:0}.ms-search{width:100%;padding:7px 9px;font-size:13px;border-radius:var(--r-sm);border:1px solid var(--line);background:var(--bg);color:var(--text)}.ms-search:focus-visible{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-wash)}.ms-actions{display:flex;gap:12px;margin-top:6px}.ms-link{background:none;border:none;padding:0;font-size:11.5px;font-weight:600;color:var(--gold-deep);cursor:pointer;letter-spacing:.01em}.ms-link:hover:not(:disabled){text-decoration:underline;background:none;transform:none;box-shadow:none;filter:none}.ms-link:disabled{opacity:.45;cursor:not-allowed}.ms-list{overflow-y:auto;overflow-x:hidden;padding:5px;flex:1}.ms-option{white-space:normal;align-items:flex-start}.ms-box{width:15px;height:15px;margin-top:1px;flex-shrink:0;border:1.5px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;color:#1a1407;background:var(--bg);transition:background var(--t),border-color var(--t)}.ms-box.on{background:var(--gold);border-color:var(--gold)}.ms-box svg{width:11px;height:11px}.ms-hint{display:block;font-size:11px;color:var(--text-3);font-weight:400;margin-top:1px}.select-option.active .ms-hint{color:var(--gold-deep);opacity:.85}.kbd{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;font-family:inherit;font-size:10.5px;font-weight:600;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:5px;line-height:1}.nav-search{display:flex;align-items:center;gap:9px;margin:2px 12px 8px;padding:8px 12px;border-radius:var(--r-sm);cursor:pointer;text-align:left;background:#ffffff0a;border:1px solid var(--on-dark-line);color:var(--on-dark-dim);font-size:12.5px;font-weight:500;box-shadow:none;transition:background var(--t),border-color var(--t),color var(--t)}.nav-search:hover{background:#ffffff12;color:#fff;border-color:#ffffff29;transform:none;filter:none}.nav-search svg{width:15px;height:15px;flex-shrink:0}.nav-search .ns-label{flex:1}.nav-search .kbd{background:#ffffff0f;border-color:var(--on-dark-line);color:var(--on-dark-dim)}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cmdkFade .14s ease both}@keyframes cmdkFade{0%{opacity:0}to{opacity:1}}.cmdk{width:100%;max-width:580px;background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden;animation:cmdkIn .16s cubic-bezier(.4,0,.2,1) both}@keyframes cmdkIn{0%{opacity:0;transform:translateY(-8px) scale(.985)}to{opacity:1;transform:none}}.cmdk-search{display:flex;align-items:center;gap:11px;padding:15px 18px;border-bottom:1px solid var(--line)}.cmdk-search>svg{width:18px;height:18px;color:var(--muted);flex-shrink:0}.cmdk-search input{flex:1;border:none;background:transparent;box-shadow:none;padding:0;font-size:15px;color:var(--text)}.cmdk-search input:hover,.cmdk-search input:focus{outline:none;box-shadow:none;border:none}.cmdk-list{max-height:52vh;overflow-y:auto;padding:8px}.cmdk-group{padding:10px 10px 5px;font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3)}.cmdk-item{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-sm);cursor:pointer;color:var(--text);font-size:13.5px}.cmdk-item.active{background:var(--gold-wash);color:var(--gold-deep)}.cmdk-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-hint{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums}.cmdk-item.active .cmdk-hint{color:var(--gold-deep)}.cmdk-empty{padding:28px;text-align:center;color:var(--muted);font-size:13px}.cmdk-foot{display:flex;gap:16px;padding:10px 16px;border-top:1px solid var(--line);background:var(--surface-2)}.cmdk-foot span{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--text-3)}.row{display:flex;gap:12px;align-items:center}.row>*{flex:1}.row.start{align-items:flex-start}.spaced{display:flex;justify-content:space-between;align-items:center;gap:12px}.error,.success{padding:11px 14px;border-radius:var(--r-sm);font-size:13px;margin-bottom:14px;display:flex;align-items:center;gap:8px}.error{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-line)}.success{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-line)}.toaster{position:fixed;top:18px;right:18px;z-index:1000;display:flex;flex-direction:column;gap:10px;max-width:min(380px,calc(100vw - 36px));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--r-sm);background:var(--card);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:13px;line-height:1.45;animation:toast-in .22s cubic-bezier(.2,.8,.2,1)}.toast-ico{flex-shrink:0;width:18px;height:18px;border-radius:50%;margin-top:1px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}.toast-success{border-color:var(--ok-line)}.toast-success .toast-ico{background:var(--ok)}.toast-error{border-color:var(--danger-line)}.toast-error .toast-ico{background:var(--danger)}.toast-info{border-color:var(--gold-weak)}.toast-info .toast-ico{background:var(--accent)}.toast-msg{flex:1;min-width:0;word-break:break-word}.toast-x{flex-shrink:0;background:none;border:none;cursor:pointer;box-shadow:none;color:var(--muted);font-size:16px;line-height:1;padding:0 2px;margin:-2px -4px 0 0}.toast-x:hover{color:var(--text);transform:none;filter:none;box-shadow:none}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:none}}@media (max-width: 640px){.toaster{left:12px;right:12px;top:12px;max-width:none}}@media (prefers-reduced-motion: reduce){.toast{animation:none}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:modal-fade .15s ease}.modal{width:100%;max-width:440px;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:22px 22px 18px;animation:modal-pop .18s cubic-bezier(.2,.8,.2,1)}.modal-title{margin:0 0 8px;font-size:17px}.modal-msg{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}.modal-field{display:block;margin-bottom:16px}.modal-field>span{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.modal-field input,.modal-field textarea{width:100%;resize:vertical}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.modal-backdrop,.modal{animation:none}}.run-stepper{list-style:none;padding:0;display:flex;align-items:flex-start;margin:18px 0 26px;max-width:720px}.rs-step{flex:1;position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:7px}.rs-step:before{content:"";position:absolute;top:7px;left:-50%;width:100%;height:2px;background:var(--line)}.rs-step:first-child:before{display:none}.rs-step.done:before,.rs-step.current:before{background:linear-gradient(90deg,var(--gold-weak),var(--gold))}.rs-dot{width:15px;height:15px;border-radius:50%;border:2px solid var(--line);background:var(--card);position:relative;z-index:1;transition:border-color var(--t),background var(--t)}.rs-step.done .rs-dot{background:var(--gold);border-color:var(--gold)}.rs-step.current .rs-dot{border-color:var(--gold);box-shadow:0 0 0 4px var(--gold-glow)}.rs-label{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.rs-step.done .rs-label,.rs-step.current .rs-label{color:var(--text)}.rs-meta{font-size:10.5px;color:var(--muted);margin-top:-3px}@media (max-width: 460px){.rs-label{font-size:9px;letter-spacing:.04em}}.workflow-steps{list-style:none;padding:0;margin:0}.workflow-steps li{padding:14px 0;border-bottom:1px dashed var(--line);display:flex;align-items:center}.workflow-steps li:last-child{border-bottom:none}.workflow-steps .step-no{display:inline-grid;place-items:center;width:30px;height:30px;flex-shrink:0;background:var(--ink);color:var(--gold);border:1px solid var(--gold);border-radius:50%;font-weight:700;font-size:12px;margin-right:14px}iframe.payslip{width:100%;height:1200px;border:1px solid var(--line);border-radius:var(--r);background:#fff}.skeleton{position:relative;overflow:hidden;border-radius:var(--r-xs);background:color-mix(in srgb,var(--muted),transparent 86%)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--card),transparent 30%),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-text{height:12px;margin:7px 0}.skeleton-row{height:44px;margin-bottom:8px;border-radius:var(--r-sm)}.empty-state{text-align:center;padding:44px 24px;color:var(--muted)}.empty-state .empty-ico{width:52px;height:52px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center;color:var(--gold);background:var(--gold-wash);border:1px solid var(--gold-weak)}.empty-state .empty-ico svg{width:24px;height:24px}.empty-state h4{margin:0 0 5px;font-size:15px;color:var(--text);font-weight:650}.empty-state p{margin:0 auto;font-size:13px;max-width:42ch;line-height:1.6}.empty-state .actions{margin-top:18px;display:inline-flex;gap:10px}.login-shell{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh}.login-brand{position:relative;overflow:hidden;background:linear-gradient(160deg,color-mix(in srgb,var(--primary),white 10%),var(--primary) 70%);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between}.login-brand:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(58% 48% at 86% 12%,var(--gold-glow) 0%,transparent 60%),radial-gradient(50% 40% at 8% 100%,rgba(255,255,255,.05) 0%,transparent 60%)}.login-brand>*{position:relative}.login-brand-head{display:flex;align-items:center;gap:13px}.login-brand-title{margin-top:auto}.login-brand-title h2{font-family:var(--font-display);font-size:44px;line-height:1.1;color:#fff;font-weight:600;letter-spacing:.01em;max-width:16ch}@supports ((-webkit-background-clip: text) or (background-clip: text)){.login-brand-title h2{background:linear-gradient(115deg,#fff 32%,var(--gold-bright) 55%,#fff 82%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}}.login-brand-title p{margin-top:14px;color:var(--on-dark-dim);font-size:14px;max-width:42ch;line-height:1.6}.login-brand-foot{font-size:11.5px;color:var(--on-dark-faint);letter-spacing:.02em}.login-brand-foot .dot{color:var(--gold)}.login-main{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:radial-gradient(70% 50% at 50% 0%,var(--gold-wash) 0%,transparent 60%),var(--bg)}.login-card{background:var(--card);padding:40px;border-radius:var(--r-lg);border:1px solid var(--line);box-shadow:var(--shadow-lg);width:100%;max-width:392px}.login-card h1{margin:0 0 6px;color:var(--text);font-family:var(--font-display);font-weight:600;font-size:26px;letter-spacing:.008em}.login-card .sub{color:var(--muted);font-size:13px;margin-bottom:24px}.login-card .field{margin-bottom:16px}.login-card button{width:100%;padding:11px;font-size:14px;margin-top:4px}@media (max-width: 860px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}}@media (min-width: 720.02px){.nav-search,.sidebar-tools,.sidebar-user,.backlink{display:none}}@media (max-width: 1024px){:root{--sidebar-w: 228px}.main{padding:24px 24px 60px}.appbar{padding:0 20px}.appbar-search{width:200px}.appbar-user-meta{display:none}}@media (max-width: 720px){.layout{grid-template-columns:1fr}.appbar{display:none}.topbar{display:flex;align-items:center;gap:10px;position:sticky;top:0;z-index:60;padding:9px 12px;background:var(--ink);color:var(--on-dark);border-bottom:1px solid var(--on-dark-line)}.topbar-brand{flex:1;min-width:0;font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-company{color:var(--on-dark)}.topbar-product{color:var(--accent)}.topbar-logo{max-height:30px;max-width:150px;display:block}.hamburger,.topbar-search{flex-shrink:0;background:none;border:none;color:var(--on-dark);cursor:pointer;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-sm);box-shadow:none}.hamburger:hover,.topbar-search:hover{transform:none;filter:none;box-shadow:none}.hamburger svg,.topbar-search svg{width:22px;height:22px}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:min(82vw,300px);z-index:80;transform:translate(-100%);transition:transform .24s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 40px #00000080}.nav-open .sidebar{transform:translate(0)}.nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#00000080;opacity:0;pointer-events:none;transition:opacity .24s ease}.nav-open .nav-backdrop{opacity:1;pointer-events:auto}.drawer-close{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:12px;right:12px;z-index:1;width:34px;height:34px;border-radius:var(--r-sm);background:none;border:none;color:var(--on-dark);cursor:pointer;box-shadow:none}.drawer-close svg{width:20px;height:20px}.main{padding:22px 16px 52px}.cards-row{grid-template-columns:1fr 1fr}.responsive-grid{grid-template-columns:1fr!important}.card table{min-width:560px}.workflow-steps li{flex-wrap:wrap;row-gap:10px}}@media (max-width: 460px){.cards-row{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-delay:.001ms!important;transition-duration:.001ms!important}}@media print{.sidebar,.topbar,.appbar,.nav-backdrop,.skip-link,.toast-region,button{display:none!important}.layout{display:block}.main{margin:0;padding:0}body,.card{background:#fff!important;color:#000!important;box-shadow:none!important}.card{border:1px solid #ccc;break-inside:avoid}a{color:#000;text-decoration:none}}
