@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--ink: #f2ead0;--ink-soft: #b8aa76;--surface: #151311;--bg-1: #070707;--bg-2: #11100e;--bg-3: #2a2314;--accent: #c8b36a;--accent-soft: #2a2415;--line: #3a321f;--good: #6abf95;--ease-smooth: cubic-bezier(.22, 1, .36, 1);--warn: #d89d3f;--radius: 18px;--shadow: 0 12px 40px rgba(0, 0, 0, .45);--shell-max-width: 1680px}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{margin:0;min-height:100%}body{font-family:Space Grotesk,Segoe UI,sans-serif;color:var(--ink);background:radial-gradient(1200px 680px at 0% 0%,#3a311b 0%,transparent 55%),radial-gradient(1200px 680px at 100% 100%,#18140d 0%,transparent 50%),var(--bg-1)}.login-bg{min-height:100vh;display:grid;place-items:center;padding:28px}.login-wrap{width:min(520px,100%)}.login-card{background:#12100de6;border:1px solid rgba(200,179,106,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);border-radius:30px;padding:28px;animation:rise .45s var(--ease-smooth)}.login-card h1{margin:0 0 8px;font-size:2rem;letter-spacing:-.02em;color:var(--accent)}.brand h1{margin:0;font-size:1.45rem;letter-spacing:-.02em;color:var(--accent)}.login-card>p{margin:0 0 14px;color:var(--ink-soft)}.login-card>p:last-of-type{margin-bottom:18px}.login-brand{display:grid;grid-template-columns:minmax(150px,190px) minmax(0,1fr);align-items:center;gap:18px;margin-bottom:18px}.brand-mark{width:100%;height:100%;display:block;object-fit:contain}.login-wordmark{width:min(190px,100%);height:auto;display:block;filter:drop-shadow(0 10px 24px rgba(0,0,0,.3))}.login-form label{display:block;margin-bottom:0;font-size:.9rem;color:var(--ink-soft)}.login-form{display:grid;gap:12px}.login-form input:not([type=checkbox]):not([type=radio]),.login-form textarea,.login-form select,.grid-form input:not([type=checkbox]):not([type=radio]),.grid-form textarea,.grid-form select,.panel input:not([type=checkbox]):not([type=radio]),.panel textarea,.panel select{width:100%;margin-top:6px;border:1px solid var(--line);background:#0a0a0abf;color:var(--ink);border-radius:12px;padding:10px 12px;font-family:Space Grotesk,sans-serif;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}input::placeholder,textarea::placeholder{color:#8a7c50}.login-form input:not([type=checkbox]):not([type=radio]):focus-visible,.login-form textarea:focus-visible,.login-form select:focus-visible,.grid-form input:not([type=checkbox]):not([type=radio]):focus-visible,.grid-form textarea:focus-visible,.grid-form select:focus-visible,.panel input:not([type=checkbox]):not([type=radio]):focus-visible,.panel textarea:focus-visible,.panel select:focus-visible{outline:2px solid rgba(200,179,106,.6);outline-offset:2px;border-color:#c8b36a8c;box-shadow:0 0 0 3px #c8b36a29}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:0;accent-color:var(--accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid rgba(200,179,106,.6);outline-offset:2px}.login-form p.muted{margin:0}.field-with-action{position:relative;margin-top:6px}.field-with-action input{margin-top:0;padding-right:84px}.field-action{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid rgba(200,179,106,.35);background:#100e0ce6;color:var(--ink);border-radius:10px;padding:6px 10px;min-height:32px;font-family:IBM Plex Mono,monospace;font-size:.75rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.field-action:hover{background:#c8b36a14;border-color:#c8b36a8c}.field-action:focus-visible{outline:2px solid rgba(200,179,106,.65);outline-offset:2px}.grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid rgba(200,179,106,.25);background:#0b0a09d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:22px 16px;position:sticky;top:0;align-self:start;height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.sidebar-toggle{display:none;white-space:nowrap}.brand{display:flex;align-items:flex-start;gap:14px;margin:0;min-width:0}.brand-mark-frame{width:64px;aspect-ratio:1;padding:8px;border-radius:18px;overflow:hidden;background:#030303f5;border:1px solid rgba(200,179,106,.18);box-shadow:inset 0 1px #ffffff0a,0 10px 22px #00000047}.sidebar-brand-mark{object-fit:cover;object-position:center top;transform:scale(1.18)}.brand-text{display:grid;gap:4px;min-width:0}.brand-kicker{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.brand p{margin:0;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.78rem;line-height:1.45}.login-brand-copy{display:grid;gap:6px}.login-brand-copy p{margin:0}.nav-list{display:grid;gap:8px}.nav-item{text-decoration:none;color:var(--ink);padding:10px 12px;border-radius:10px;border:1px solid rgba(200,179,106,.2);transition:all .2s ease}.nav-item:hover{background:#c8b36a14;border-color:#c8b36a73}.nav-item.active{background:var(--accent);color:#111;border-color:transparent}.content-area{padding:22px 24px 28px 18px}.content-inner{width:100%;max-width:var(--shell-max-width);margin:0;display:grid;gap:14px}.topbar{background:#100e0ce6;border:1px solid rgba(200,179,106,.25);border-radius:16px;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.topbar-actions{display:flex;align-items:center;gap:10px}.workspace-switcher{display:grid;gap:8px;margin-bottom:14px}.offline-banner{border:1px solid rgba(216,157,63,.32);background:#d89d3f1f;color:var(--ink);border-radius:14px;padding:10px 12px;font-family:IBM Plex Mono,monospace;font-size:.78rem}.search-action-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.search-action-group input{margin-top:0}.mobile-dock{display:none}.btn-install{min-width:110px}.install-wrap{display:inline-flex}.install-stack{display:grid;gap:8px}.install-hint{margin:0;line-height:1.35}.login-form .btn-install{width:100%}.eyebrow,.meta-role,.muted{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.78rem}.status-ok{color:var(--good);font-family:IBM Plex Mono,monospace;font-size:.8rem}.status-down{color:#9b2f12;font-family:IBM Plex Mono,monospace;font-size:.8rem}.status-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(200,179,106,.22);background:#0a0a0a59}.status-pill:before{content:"";width:8px;height:8px;border-radius:999px;background:currentColor;box-shadow:0 0 0 3px #c8b36a1f}.data-pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:5px 10px;border-radius:999px;border:1px solid rgba(200,179,106,.2);background:#0a0a0a59;font-family:IBM Plex Mono,monospace;font-size:.74rem;line-height:1;white-space:nowrap}.data-pill.good{color:var(--good);border-color:#6abf9559;background:#6abf951f}.data-pill.warn{color:var(--warn);border-color:#d89d3f59;background:#d89d3f24}.data-pill.bad{color:#f09f85;border-color:#f09f8559;background:#995a3d2e}.data-pill.neutral{color:var(--ink-soft)}.page{animation:rise .35s var(--ease-smooth)}.page-stack{display:grid;gap:14px}.page-stack>*{animation:float-in .42s var(--ease-smooth) both}.page-stack>:nth-child(2){animation-delay:.04s}.page-stack>:nth-child(3){animation-delay:.08s}.page-stack>:nth-child(4){animation-delay:.12s}.page-stack>:nth-child(n+5){animation-delay:.16s}.page-header h2{margin:0;font-size:1.55rem}.page-header p{margin:6px 0 0;color:var(--ink-soft)}.panel{background:#0f0d0be6;border:1px solid rgba(200,179,106,.24);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;transition:border-color .2s var(--ease-smooth),box-shadow .2s var(--ease-smooth);overflow-x:auto;-webkit-overflow-scrolling:touch}.panel:hover{border-color:#c8b36a5c;box-shadow:0 16px 48px #00000080}.panel h3{margin-top:0}.notice-banner{display:grid;gap:6px;padding:14px 16px;border-radius:16px;border:1px solid rgba(200,179,106,.24);background:#0f0d0beb;box-shadow:var(--shadow)}.notice-banner strong{font-size:.92rem;letter-spacing:.01em}.notice-banner p{margin:0;color:var(--ink-soft)}.notice-banner.success{border-color:#6abf9559;background:#6abf951a}.notice-banner.error{border-color:#f09f8561;background:#995a3d29}.ticket-page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.ticket-header-chips{justify-content:flex-end}.ticket-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ticket-section-head h3{margin-bottom:4px}.ticket-compose-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.85fr);gap:14px;align-items:start}.ticket-compose-main,.ticket-form,.ticket-compose-side,.ticket-primary-cell,.ticket-meta-stack,.table-control,.ticket-action-cell{display:grid;gap:8px}.ticket-form-grid,.ticket-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-field{display:grid;gap:6px;align-content:start}.form-field-wide{grid-column:1 / -1}.form-label{color:var(--ink);font-size:.86rem;font-weight:700;letter-spacing:.01em}.form-help{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.74rem;line-height:1.45}.ticket-form textarea,.table-control textarea{resize:vertical}.ticket-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.ticket-form-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ticket-stat-grid{margin-top:14px}.ticket-inline-filter{width:min(220px,100%)}.ticket-primary-cell .muted,.ticket-meta-stack .muted{margin:0}.ticket-filter-grid{margin-top:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.warning-page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.warning-header-chips{justify-content:flex-end}.warning-subnav-panel{padding:14px}.warning-subnav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.warning-subnav-link{display:grid;gap:6px;padding:12px 14px;border-radius:14px;border:1px solid rgba(200,179,106,.18);background:#110f0c99;color:inherit;text-decoration:none;transition:transform .18s var(--ease-smooth),border-color .18s var(--ease-smooth),background .18s var(--ease-smooth)}.warning-subnav-link:hover{transform:translateY(-1px);border-color:#c8b36a73;background:#18140fe6}.warning-subnav-link strong{font-size:.95rem;letter-spacing:-.01em}.warning-subnav-link span{color:var(--ink-soft);font-size:.78rem;line-height:1.45}.warning-subnav-link.active{border-color:#c8b36a94;background:#c8b36a1f}.warning-section-head,.warning-subsection-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.warning-section-head h3,.warning-subsection-head h3{margin-bottom:4px}.warning-stat-grid{margin-top:0}.warning-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.warning-action-grid-single{grid-template-columns:minmax(0,1fr)}.warning-workbench-card,.warning-form,.warning-table-cell{display:grid;gap:8px}.warning-workbench-card{min-height:100%;padding:14px;border-radius:16px;border:1px solid rgba(200,179,106,.18);background:radial-gradient(circle at top right,rgba(200,179,106,.12),transparent 38%),#110f0cbd}.warning-subsection-head{margin-bottom:14px}.warning-context-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.warning-form-grid,.warning-filter-grid{display:grid;gap:12px}.warning-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:14px}.warning-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px}.warning-form-actions,.warning-filter-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.warning-form-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.warning-run-card{margin-top:14px;padding:14px;border-radius:16px;border:1px solid rgba(200,179,106,.24);background:radial-gradient(circle at top right,rgba(200,179,106,.14),transparent 32%),#14110dd1;display:grid;gap:10px}.warning-run-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.warning-run-metrics{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.warning-table-scroll{margin-top:14px}.warning-table-cell strong{font-size:.98rem;letter-spacing:-.01em}.warning-table-cell .muted{margin:0}.payroll-page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.payroll-header-chips{justify-content:flex-end}.payroll-subnav-panel{padding:14px}.payroll-subnav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.payroll-subnav-link{display:grid;gap:6px;padding:12px 14px;border-radius:14px;border:1px solid rgba(200,179,106,.18);background:#110f0c99;color:inherit;text-decoration:none;transition:transform .18s var(--ease-smooth),border-color .18s var(--ease-smooth),background .18s var(--ease-smooth)}.payroll-subnav-link:hover{transform:translateY(-1px);border-color:#c8b36a73;background:#18140fe6}.payroll-subnav-link strong{font-size:.95rem;letter-spacing:-.01em}.payroll-subnav-link span{color:var(--ink-soft);font-size:.78rem;line-height:1.45}.payroll-subnav-link.active{border-color:#c8b36a94;background:#c8b36a1f}.payroll-section-head,.payroll-subsection-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.payroll-section-head h3,.payroll-subsection-head h3{margin-bottom:4px}.payroll-hero-grid,.payroll-run-layout,.payroll-adjustment-layout,.payroll-profile-layout,.payroll-breakdown-grid{display:grid;gap:14px;align-items:start}.payroll-hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.payroll-run-layout,.payroll-adjustment-layout,.payroll-profile-layout,.payroll-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-workbench-card,.payroll-action-card,.payroll-form-stack,.payroll-form-section,.payroll-table-cell{display:grid;gap:8px}.payroll-workbench-card,.payroll-action-card{min-height:100%;padding:14px;border-radius:16px;border:1px solid rgba(200,179,106,.18);background:radial-gradient(circle at top right,rgba(200,179,106,.12),transparent 38%),#110f0cbd}.payroll-form-stack{margin-top:14px}.payroll-form-section{padding:14px;border-radius:16px;border:1px solid rgba(200,179,106,.18);background:#12100db8}.payroll-form-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-form-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}.payroll-context-grid,.payroll-summary-grid{display:grid;gap:12px}.payroll-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payroll-summary-grid{margin-top:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.payroll-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.payroll-table-scroll{margin-top:14px}.payroll-table-cell strong{font-size:.98rem;letter-spacing:-.01em}.payroll-table-cell .muted{margin:0}.table-control{min-width:180px}.ticket-action-cell{min-width:160px;align-content:start}.empty-state{margin-top:14px;display:grid;gap:6px;padding:18px;border-radius:16px;border:1px dashed rgba(200,179,106,.28);background:#110f0c9e}.empty-state p{margin:0;color:var(--ink-soft)}.holiday-page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.holiday-header-chips{justify-content:flex-end}.holiday-section-head,.holiday-list-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.holiday-section-head h3,.holiday-list-head h3{margin-bottom:4px}.holiday-filter-form,.holiday-form,.holiday-compose-main,.holiday-compose-side,.holiday-table-cell,.holiday-name-cell{display:grid;gap:8px}.holiday-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.holiday-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.holiday-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.holiday-stat-grid{margin-top:0}.holiday-compose-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.85fr);gap:14px;align-items:start}.holiday-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.holiday-table-scroll{margin-top:14px}.holiday-table-cell strong,.holiday-name-cell strong{font-size:.98rem;letter-spacing:-.01em}.holiday-name-cell .muted,.holiday-table-cell .muted{margin:0}.asset-page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.asset-header-chips{justify-content:flex-end}.asset-section-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.asset-section-head h3{margin-bottom:4px}.asset-stat-grid{margin-top:0}.asset-filter-grid,.asset-form,.asset-form-meta,.asset-card-meta,.asset-card-copy,.asset-table-cell,.asset-action-cell{display:grid;gap:8px}.asset-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.asset-filter-actions,.asset-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px}.asset-form-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.asset-card-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.asset-card{border:1px solid rgba(200,179,106,.2);border-radius:16px;padding:14px;background:radial-gradient(circle at top right,rgba(200,179,106,.12),transparent 36%),#110f0cc2;display:grid;gap:12px}.asset-card-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.asset-card h3{margin:0;font-size:1.12rem;letter-spacing:-.01em}.asset-card-copy .muted,.asset-table-cell .muted{margin:0}.asset-card-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.asset-card-detail{border:1px solid rgba(200,179,106,.14);border-radius:12px;padding:10px;background:#0a0a0a3d;display:grid;gap:6px}.asset-card-detail strong,.asset-table-cell strong{font-size:.98rem;letter-spacing:-.01em}.asset-card-note{margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.55}.asset-table-scroll{margin-top:14px}.asset-ops-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.asset-workbench-card{min-height:100%}.asset-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asset-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.asset-action-cell{min-width:160px;align-content:start}.batch-page-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-end}.batch-header-chips{justify-content:flex-end}.batch-subnav-panel{padding:14px}.batch-subnav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.batch-subnav-link{display:grid;gap:6px;padding:12px 14px;border-radius:14px;border:1px solid rgba(200,179,106,.18);background:#110f0c99;color:inherit;text-decoration:none;transition:transform .18s var(--ease-smooth),border-color .18s var(--ease-smooth),background .18s var(--ease-smooth)}.batch-subnav-link:hover{transform:translateY(-1px);border-color:#c8b36a73;background:#18140fe6}.batch-subnav-link strong{font-size:.95rem;letter-spacing:-.01em}.batch-subnav-link span{color:var(--ink-soft);font-size:.78rem;line-height:1.45}.batch-subnav-link.active{border-color:#c8b36a94;background:#c8b36a1f}.batch-dashboard-grid,.batch-action-grid{display:grid;gap:14px}.batch-dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.batch-action-grid-single,.batch-action-grid-release{grid-template-columns:minmax(0,1fr)}.batch-workbench-card-wide{grid-column:1 / -1}.batch-section-head,.batch-summary-cell,.batch-detail-cell,.batch-status-stack,.batch-filter-form,.batch-card-list,.batch-form,.batch-workbench-card,.batch-inline-meta{display:grid;gap:8px}.batch-section-head{grid-template-columns:minmax(0,1fr) auto;align-items:flex-start}.batch-section-head h3{margin-bottom:4px}.batch-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.batch-filter-actions,.batch-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.batch-filter-meta,.batch-form-meta,.batch-inline-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.batch-form-grid{display:grid;gap:12px}.batch-form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.batch-form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.batch-context-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.batch-table-scroll{margin-top:14px}.batch-summary-cell strong,.batch-detail-cell strong{font-size:.98rem;letter-spacing:-.01em}.batch-summary-cell .muted,.batch-detail-cell .muted,.batch-status-stack .muted{margin:0}.batch-status-stack{min-width:170px}.row-wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row-between{display:flex;justify-content:space-between;align-items:center;gap:12px}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.kpi-card{display:block;width:100%;background:#11100e;border:1px solid var(--line);border-radius:14px;padding:14px;color:inherit;text-decoration:none;text-align:left}button.kpi-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit}.kpi-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.kpi-card-trail{display:inline-flex;align-items:center;gap:8px;color:var(--ink-soft)}.kpi-card-arrow{color:var(--accent);font-family:IBM Plex Mono,monospace;font-size:.95rem;line-height:1;opacity:.85}.kpi-card-hint{margin-top:8px;color:var(--ink-soft);font-size:.78rem}.kpi-card.clickable{cursor:pointer;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.kpi-card.clickable:hover{transform:translateY(-1px);background:#11100eeb;border-color:#c8b36a8c;box-shadow:0 14px 42px #0000008c}.kpi-card.clickable:focus-visible{outline:2px solid rgba(200,179,106,.65);outline-offset:2px}.kpi-card p{margin:0;color:var(--ink-soft);font-size:.85rem}.kpi-card h3{margin:8px 0 0;font-size:1.5rem}.kpi-card.good h3{color:var(--good)}.kpi-card.warn h3{color:var(--warn)}.chart-empty{color:var(--ink-soft);padding:10px 0;font-size:.9rem}.chart-box{border:1px solid rgba(200,179,106,.22);border-radius:14px;background:#110f0c8c;padding:10px}.line-chart{width:100%;height:auto;display:block}.line-chart-grid line{stroke:#c8b36a29;stroke-width:1}.line-chart-axis text,.line-chart-xlabels text{fill:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:11px}.donut{position:relative}.donut-svg{width:100%;height:100%;display:block}.donut-track{fill:transparent;stroke:#c8b36a24}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;text-align:center;pointer-events:none}.donut-value{font-size:1.22rem;font-weight:700;letter-spacing:-.01em}.donut-label{margin-top:4px;color:var(--ink-soft);font-size:.8rem}.viz-split{display:grid;grid-template-columns:200px 1fr;gap:14px;align-items:center}.legend{display:grid;gap:8px}.legend-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid rgba(200,179,106,.18);background:#100e0ca6}.legend-left{display:inline-flex;align-items:center;gap:8px}.legend-swatch{width:10px;height:10px;border-radius:999px;background:var(--swatch, var(--accent));box-shadow:0 0 0 2px #0003}.legend-count{font-family:IBM Plex Mono,monospace;font-size:.82rem;color:var(--ink-soft)}.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:minmax(140px,1fr) 2fr auto;gap:10px;align-items:center}.bar-label{font-weight:600}.bar-track{height:11px;border-radius:999px;background:#c8b36a24;border:1px solid rgba(200,179,106,.22);overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e6d79f,var(--accent));width:0}.bar-value{display:grid;justify-items:end;gap:2px;font-family:IBM Plex Mono,monospace;font-size:.82rem}.bar-meta{color:var(--ink-soft);font-size:.72rem}.heatmap{display:grid;gap:10px}.heatmap-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.heatmap-tile{border:1px solid var(--line);border-radius:14px;padding:12px;min-height:92px;display:grid;align-content:start;gap:6px}.heatmap-label{font-weight:700;letter-spacing:-.01em}.heatmap-value{font-family:IBM Plex Mono,monospace;font-size:1.05rem}.heatmap-meta{color:var(--ink-soft);font-size:.78rem}.heatmap-legend{display:flex;align-items:center;gap:10px}.heatmap-bar{flex:1;height:10px;border-radius:999px;border:1px solid rgba(200,179,106,.22)}.chip-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.chip{background:#12100d;border:1px solid rgba(200,179,106,.28);color:var(--ink);border-radius:999px;padding:6px 10px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.chip:hover:not(:disabled){transform:translateY(-1px);border-color:#c8b36a8c}.chip.active{background:#c8b36a24;border-color:#c8b36a99}.chip:focus-visible{outline:2px solid rgba(200,179,106,.65);outline-offset:2px}.panel-details{margin-top:12px;border-top:1px solid rgba(200,179,106,.18);padding-top:12px}.panel-details summary{cursor:pointer;color:var(--ink-soft);font-weight:700}.panel-details summary:focus-visible{outline:2px solid rgba(200,179,106,.65);outline-offset:3px;border-radius:10px}.perf-bar{height:14px;border-radius:999px;border:1px solid var(--line);background:#c8b36a29;overflow:hidden}.perf-bar-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e6d79f,var(--accent));width:0;transition:width .28s ease}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.calendar-dow{font-size:.75rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;padding:2px 4px}.calendar-cell{background:#12110ee6;border:1px solid var(--line);border-radius:14px;padding:10px;min-height:86px;display:flex;flex-direction:column;justify-content:space-between}.calendar-cell.empty{background:transparent;border:1px dashed rgba(85,96,114,.25)}.calendar-cell.present{border-color:#6abf9580;background:#6abf951f}.calendar-cell.late{border-color:#d89d3f80;background:#d89d3f24}.calendar-cell.holiday{border-color:#c8b36a8c;background:#c8b36a1f}.calendar-cell.absent{border-color:#995a3d99;background:#995a3d29}.calendar-cell.future{opacity:.55}.calendar-cell.today{box-shadow:0 0 0 3px #c8b36a47}.calendar-day{font-family:IBM Plex Mono,monospace;font-size:.85rem;color:var(--ink-soft)}.calendar-meta{display:grid;gap:4px}.calendar-status{font-weight:700}.grid-three{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.grid-form{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.mini-card{border:1px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;transition:transform .22s var(--ease-smooth),border-color .22s var(--ease-smooth),background .22s var(--ease-smooth)}.mini-card:hover{transform:translateY(-1px);border-color:#c8b36a6b;background:#14110deb}.mini-card span{font-size:1.12rem;font-weight:700}.table{width:100%;border-collapse:collapse;min-width:0}.table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:12px}.table-scroll .table{min-width:900px}.table th,.table td{text-align:left;padding:10px;border-bottom:1px solid var(--line);font-size:.93rem}.announce-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.announce-card{background:#110f0ceb;border-radius:14px;border:1px solid var(--line);padding:14px;box-shadow:var(--shadow)}.announce-card h3{margin:0 0 8px}.announce-card p{margin:0 0 10px}.announce-card span{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.75rem}.notify-list{display:grid;gap:10px}.notify-item{border-radius:12px;border:1px solid var(--line);background:#100e0cdb;padding:12px}.notify-item.unread{border-left:6px solid var(--accent)}.notify-item header{display:flex;justify-content:space-between;gap:8px}.notify-item h3{margin:0}.notify-item p{margin:8px 0 12px}.btn{border:1px solid transparent;border-radius:10px;padding:9px 14px;font-weight:600;font-family:Space Grotesk,sans-serif;cursor:pointer;transition:transform .15s ease,filter .15s ease,background .15s ease,border-color .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:focus-visible{outline:2px solid rgba(200,179,106,.65);outline-offset:2px}.btn-solid{background:var(--accent);color:#14110b}.login-form button.btn-solid{width:100%}.btn-solid:hover:not(:disabled){filter:brightness(1.06)}.btn-outline{background:#12100d;border-color:#c8b36a59;color:var(--ink)}.btn-outline:hover:not(:disabled){background:#c8b36a14;border-color:#c8b36a99}.btn.small{padding:6px 10px;font-size:.8rem}.error-box{background:var(--accent-soft);color:#ffd9ce;border:1px solid #694130;border-radius:10px;padding:10px 12px}.signature-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:14px;align-items:start}.signature-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.signature-note{margin:0}.signature-preview-shell{padding:22px;border-radius:20px;border:1px solid rgba(196,165,118,.24);background:radial-gradient(circle at top right,rgba(196,165,118,.18),transparent 34%),linear-gradient(180deg,#f8f1e4,#f2e7d3);overflow:auto}.signature-preview-inner{min-width:520px}.signature-code{min-height:360px;font-family:IBM Plex Mono,monospace;font-size:.8rem;line-height:1.55;resize:vertical}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes float-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 1100px){.kpi-grid,.grid-form,.batch-dashboard-grid,.batch-action-grid,.asset-filter-grid,.asset-form-grid,.asset-ops-grid,.warning-action-grid,.warning-filter-grid,.warning-form-grid,.warning-context-grid,.holiday-filter-grid,.holiday-form-grid{grid-template-columns:1fr 1fr}.batch-form-grid-three,.holiday-compose-layout{grid-template-columns:1fr}}@media (max-width: 900px){.app-shell,.batch-dashboard-grid,.batch-action-grid,.asset-ops-grid,.warning-action-grid,.ticket-compose-layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;overflow:visible;border-right:none;border-bottom:1px solid rgba(200,179,106,.22);padding:14px 14px 10px}.sidebar-toggle{display:inline-flex}.sidebar .nav-list{display:none;margin-top:12px}.sidebar.open .nav-list{display:grid;grid-template-columns:repeat(2,1fr)}.sidebar .brand-mark{width:100%;height:100%}.sidebar .brand-mark-frame{width:52px;padding:6px}.sidebar .brand-kicker,.sidebar .brand-text p{display:none}.sidebar .brand h1{font-size:1.25rem}.content-area{padding:14px 14px 88px}.mobile-dock{position:fixed;left:12px;right:12px;bottom:12px;z-index:40;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:8px;border-radius:18px;border:1px solid rgba(200,179,106,.24);background:#0c0a08eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 36px #00000057}.mobile-dock-item{min-height:52px;display:grid;place-items:center;text-decoration:none;color:var(--ink-soft);border-radius:14px;border:1px solid transparent;padding:6px 8px;text-align:center;font-size:.78rem;font-family:IBM Plex Mono,monospace}.mobile-dock-item.active{color:#111;background:var(--accent)}.workspace-switcher{margin-top:12px}}@media (max-width: 980px){.payroll-hero-grid,.payroll-run-layout,.payroll-adjustment-layout,.payroll-profile-layout,.payroll-breakdown-grid{grid-template-columns:1fr}.payroll-context-grid,.payroll-summary-grid,.payroll-form-grid,.payroll-form-grid-four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.grid-two,.grid-three,.grid-form{grid-template-columns:1fr}.batch-page-header,.warning-page-header,.payroll-page-header,.asset-page-header,.warning-section-head,.warning-subsection-head,.payroll-section-head,.payroll-subsection-head,.asset-section-head,.warning-form-actions,.warning-filter-actions,.payroll-form-actions,.asset-filter-actions,.asset-form-actions,.batch-section-head,.batch-filter-actions,.batch-form-actions,.holiday-page-header,.holiday-section-head,.holiday-list-head,.holiday-actions,.ticket-page-header,.ticket-section-head,.ticket-form-actions{flex-direction:column;align-items:flex-start}.batch-filter-grid,.batch-form-grid-two,.batch-form-grid-three,.payroll-context-grid,.payroll-summary-grid,.payroll-form-grid,.payroll-form-grid-two,.payroll-form-grid-four,.payroll-hero-grid,.payroll-run-layout,.payroll-adjustment-layout,.payroll-profile-layout,.payroll-breakdown-grid,.warning-filter-grid,.warning-form-grid,.warning-context-grid,.asset-filter-grid,.asset-form-grid,.holiday-filter-grid,.holiday-form-grid,.ticket-form-grid,.ticket-filter-grid{grid-template-columns:1fr}.batch-header-chips,.warning-header-chips,.payroll-header-chips,.asset-header-chips,.holiday-header-chips,.ticket-header-chips{justify-content:flex-start}.holiday-compose-layout{grid-template-columns:1fr}.batch-status-stack,.warning-run-card-head,.asset-action-cell,.ticket-inline-filter,.table-control,.ticket-action-cell{width:100%}.warning-run-card-head{flex-direction:column}.login-brand,.signature-layout{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.row-between{align-items:flex-start;flex-direction:column}.asset-card-detail-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.topbar-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.table{min-width:0}.table-scroll{overflow-x:visible;border:0;border-radius:0}.table-scroll .table{min-width:0}.table thead{display:none}.table tbody tr{display:block;margin-bottom:10px;border:1px solid var(--line);border-radius:10px;padding:8px;background:#12100d}.table tbody td{display:block;border:0;padding:6px 4px 6px 138px;position:relative;overflow-wrap:anywhere;text-align:right}.table tbody td:before{content:attr(data-label);position:absolute;left:4px;top:6px;width:126px;color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table tbody td:not([data-label]){padding-left:4px}.table tbody td:not([data-label]):before{content:"";display:none}.calendar-grid{gap:6px}.calendar-cell{padding:8px;min-height:68px;border-radius:12px}.calendar-meta .muted{display:none}.viz-split,.bar-row{grid-template-columns:1fr}.bar-value{justify-items:start}.search-action-group{grid-template-columns:1fr}}@media (max-width: 480px){.login-card{padding:20px;border-radius:22px}.kpi-grid{grid-template-columns:1fr}}.camera-panel{display:grid;gap:14px}.scanner-preview{position:relative}.camera-preview{overflow:hidden;border-radius:18px;border:1px solid rgba(200,179,106,.24);background:#0a0a0ad1;aspect-ratio:4 / 3}.camera-preview video,.camera-preview img{width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);transition:transform .35s var(--ease-smooth),filter .35s var(--ease-smooth)}.camera-preview:hover video,.camera-preview:hover img,.attendance-photo-preview:hover img{transform:scale(1.015);filter:saturate(1.03)}.camera-canvas{display:none}.btn-small{min-height:34px;padding:6px 12px;font-size:.82rem}.attendance-photo-panel{display:grid;gap:14px}.attendance-photo-preview{overflow:hidden;border-radius:18px;border:1px solid rgba(200,179,106,.24);background:#0a0a0ad1;max-width:720px;width:100%}.attendance-photo-preview img{width:100%;height:auto;display:block;object-fit:contain}.permission-gate{max-width:760px;margin:0 auto;display:grid;gap:14px}.permission-gate h2{margin:0}.permission-card{display:grid;gap:12px;padding:16px;border-radius:16px;border:1px solid rgba(200,179,106,.18);background:#110f0cb8}.permission-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}@media (max-width: 640px){.camera-panel .row-wrap,.permission-actions{align-items:stretch}.camera-panel .row-wrap .btn,.permission-actions .btn,.permission-actions .install-wrap,.permission-actions .install-wrap .btn-install{width:100%}}
