:root{--bg:#fafaf9;--surface:#fff;--surface-2:#f6f6f4;--surface-3:#efefec;--border:#e6e6e1;--border-strong:#d5d5cf;--divider:#ecece8;--text:#1a1a1a;--text-2:#545454;--text-3:#8a8a85;--text-inv:#fff;--ink:#0f1115;--primary:#635bff;--primary-hover:#5048e5;--primary-soft:#efeeff;--success:#1a7f37;--success-soft:#e6f4ea;--warning:#b25e00;--warning-soft:#fff4e5;--danger:#b42318;--danger-soft:#fee4e2;--info:#0b66c3;--info-soft:#e7f0fb;--eur:#1f4fd9;--uah:#1b7a4b;--usd:#6b5b00;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-1:0 1px 2px #0f11150a, 0 0 0 1px #0f11150a;--shadow-2:0 2px 8px #0f11150f, 0 0 0 1px #0f11150d;--shadow-pop:0 12px 32px #0f11151f, 0 0 0 1px #0f11150f;--font-sans:"Inter", "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01", "cv11";font-size:14px;line-height:1.45}.app{grid-template-columns:240px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-header{border-bottom:1px solid var(--divider);align-items:center;gap:10px;padding:18px 18px 12px;display:flex}.brand-mark{color:#fff;letter-spacing:-.02em;background:linear-gradient(135deg,#1a1a1a 0%,#3a3a3a 100%);border-radius:7px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.brand-sub{color:var(--text-3);font-size:11px;font-weight:500}.sidebar-section{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:12px 10px 4px;font-size:10.5px;font-weight:600}.sidebar nav{flex:1;padding:4px 8px;overflow-y:auto}.nav-item{border-radius:var(--r-sm);cursor:pointer;color:var(--text-2);-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:7px 10px;font-size:13.5px;font-weight:500;display:flex}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-item.active{background:var(--ink);color:#fff}.nav-item.active .nav-badge{color:#fff;background:#ffffff2e}.nav-item svg{flex-shrink:0}.nav-badge{background:var(--surface-3);color:var(--text-2);font-variant-numeric:tabular-nums;border-radius:10px;margin-left:auto;padding:1px 6px;font-size:10.5px;font-weight:600}.sidebar-footer{border-top:1px solid var(--divider);align-items:center;gap:10px;padding:12px;display:flex}.avatar{color:#fff;background:linear-gradient(135deg,#ffc18a,#e08a3e);border-radius:50%;place-items:center;width:32px;height:32px;font-size:12px;font-weight:600;display:grid}.user-meta{font-size:12.5px;line-height:1.2}.user-meta strong{color:var(--text);font-weight:600;display:block}.user-meta span{color:var(--text-3);font-size:11px}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:5;-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--border);background:#fafaf9d9;align-items:center;gap:16px;padding:14px 28px;display:flex;position:sticky;top:0}.crumbs{color:var(--text-3);align-items:center;gap:8px;font-size:13px;display:flex}.crumbs strong{color:var(--text);font-weight:600}.topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.content{padding:24px 28px 64px}.action-banner{border:1px solid var(--border);background:var(--surface-2);color:var(--text-1);border-radius:8px;margin:14px 28px 0;padding:10px 12px;font-size:13px}.action-banner-error{color:#9f1d1d;background:#fff4f4;border-color:#f1b8b8}.closing-row{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;display:flex}.closing-row:last-child{border-bottom:0}.oneoff-form{grid-template-columns:minmax(300px,1.5fr) 90px minmax(150px,.7fr) minmax(260px,1fr) auto;align-items:end;gap:12px;display:grid}.oneoff-preview{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;display:grid}.oneoff-preview>div{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);padding:10px 12px}.oneoff-preview span,.oneoff-preview strong{display:block}.oneoff-preview strong{margin-top:4px}.page-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.page-title{letter-spacing:-.015em;margin:0;font-size:22px;font-weight:600}.page-sub{color:var(--text-3);margin-top:4px;font-size:13px}.btn{border-radius:var(--r-sm);border:1px solid var(--border-strong);background:var(--surface);height:32px;font:inherit;color:var(--text);cursor:pointer;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary:hover{background:#2a2a2a}.btn-accent{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-accent:hover{background:var(--primary-hover)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-2)}.btn-sm{border-radius:5px;height:26px;padding:0 9px;font-size:12px}.btn-lg{height:38px;padding:0 16px;font-size:14px}.btn-danger{color:var(--danger);border-color:var(--border-strong)}.btn-danger:hover{background:var(--danger-soft)}.btn-icon{justify-content:center;width:32px;padding:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1)}.card-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-title{letter-spacing:-.005em;font-size:14px;font-weight:600}.card-sub{color:var(--text-3);font-size:12px}.card-body{padding:16px 18px}.card-pad-lg .card-body{padding:22px 24px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;gap:6px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.stat-label{color:var(--text-3);font-size:12px;font-weight:500}.stat-value{letter-spacing:-.015em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.stat-value .ccy{color:var(--text-3);margin-left:4px;font-size:13px;font-weight:500}.stat-delta{border-radius:4px;align-items:center;gap:4px;width:fit-content;padding:1px 6px;font-size:11.5px;font-weight:500;display:inline-flex}.stat-delta.up{color:var(--success);background:var(--success-soft)}.stat-delta.down{color:var(--danger);background:var(--danger-soft)}.stat-delta.flat{color:var(--text-2);background:var(--surface-3)}.table-wrap{overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:13px}table.t thead th{text-align:left;background:var(--surface-2);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 12px;font-size:11.5px;font-weight:500}table.t tbody td{border-bottom:1px solid var(--divider);vertical-align:middle;padding:10px 12px}table.t tbody tr:hover{background:var(--surface-2)}table.t .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}table.t .mono{font-family:var(--font-mono);font-size:12.5px}.compact table.t thead th,.compact table.t tbody td{padding:6px 10px}.tag{background:var(--surface-3);color:var(--text-2);letter-spacing:.01em;border-radius:4px;align-items:center;gap:5px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.tag-eur{color:var(--eur);background:#e7edfb}.tag-uah{color:var(--uah);background:#e5f2eb}.tag-usd{color:var(--usd);background:#f5efd3}.tag-success{background:var(--success-soft);color:var(--success)}.tag-warning{background:var(--warning-soft);color:var(--warning)}.tag-danger{background:var(--danger-soft);color:var(--danger)}.tag-info{background:var(--info-soft);color:var(--info)}.tag-fop{color:#5a2bd0;background:#f1ecfe}.tag-cash{color:#8c5418;background:#fceedc}.tag-dot{background:currentColor;border-radius:50%;width:6px;height:6px;display:inline-block}.field{flex-direction:column;gap:6px;display:flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mini-field{color:var(--text-2);flex-direction:column;gap:5px;font-size:12px;display:flex}.mini-field>span{font-weight:500}.label{color:var(--text-2);font-size:12px;font-weight:500}.input,.select,textarea.input{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);height:34px;font:inherit;color:var(--text);outline:none;padding:0 10px;font-size:13px;transition:box-shadow .12s,border-color .12s}textarea.input{resize:vertical;height:auto;min-height:80px;padding:8px 10px}.input:focus,.select:focus,textarea.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #635bff26}.input-group{border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:auto 1fr auto;align-items:stretch;display:grid}.input-group .prefix,.input-group .suffix{color:var(--text-3);background:var(--surface-2);align-items:center;padding:0 10px;font-size:12px;font-weight:500;display:flex}.input-group .prefix{border-right:1px solid var(--border);border-radius:var(--r-sm) 0 0 var(--r-sm)}.input-group .suffix{border-left:1px solid var(--border);border-radius:0 var(--r-sm) var(--r-sm) 0}.input-group input{height:32px;font:inherit;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;width:100%;padding:0 10px;font-size:13px}.toolbar{border-bottom:1px solid var(--divider);align-items:center;gap:8px;padding:10px 14px;display:flex}.search{flex:0 280px;position:relative}.search input{border:1px solid var(--border-strong);border-radius:var(--r-sm);width:100%;height:30px;font:inherit;background:var(--surface);padding:0 10px 0 30px;font-size:13px}.search svg{color:var(--text-3);position:absolute;top:7px;left:9px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.money{font-variant-numeric:tabular-nums;letter-spacing:-.005em}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#0f111580;place-items:center;padding:40px;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);flex-direction:column;width:100%;max-width:720px;max-height:90vh;animation:.18s popIn;display:flex;overflow:hidden}.modal-lg{max-width:980px}.modal-xl{max-width:1240px}.modal-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.modal-body{padding:20px 22px;overflow-y:auto}.modal-footer{border-top:1px solid var(--divider);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.99)}to{opacity:1;transform:none}}.row{align-items:center;gap:8px;display:flex}.col{flex-direction:column;gap:8px;display:flex}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.muted{color:var(--text-3)}.dim{color:var(--text-2)}.right{text-align:right}.grow{flex:1}.divider{background:var(--divider);height:1px;margin:12px 0}.dot{border-radius:50%;width:6px;height:6px;display:inline-block}.dot-success{background:var(--success)}.dot-warning{background:var(--warning)}.dot-danger{background:var(--danger)}.dot-info{background:var(--info)}.dot-muted{background:var(--text-3)}.tabs{border-bottom:1px solid var(--divider);gap:2px;margin-bottom:16px;display:flex}.tab{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px;font-weight:500}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--ink)}.segment{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:2px;display:inline-flex}.segment button{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:500}.segment button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-1)}.drawer-backdrop{z-index:90;background:#0f111566;position:fixed;inset:0}.drawer{background:var(--surface);z-index:91;flex-direction:column;width:480px;max-width:100%;animation:.22s slideIn;display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-16px 0 32px #0f11151f}@keyframes slideIn{0%{transform:translate(100%)}to{transform:none}}.drawer-header{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:16px 22px;display:flex}.drawer-body{flex:1;padding:18px 22px;overflow-y:auto}.drawer-footer{border-top:1px solid var(--divider);justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}.callout{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);color:var(--text-2);gap:10px;padding:10px 12px;font-size:12.5px;display:flex}.callout-info{background:var(--info-soft);color:var(--info);border-color:#0b66c333}.callout-warning{background:var(--warning-soft);color:var(--warning);border-color:#b25e0033}.callout-success{background:var(--success-soft);color:var(--success);border-color:#1a7f3733}.switch{background:var(--surface-3);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:32px;height:18px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.switch.on{background:var(--ink)}.switch.on:after{transform:translate(14px)}.payroll-review-toggle{color:var(--text-2);cursor:pointer;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.payroll-review-toggle input{appearance:none;background:var(--surface-3);border:1px solid var(--border);cursor:pointer;border-radius:999px;width:30px;height:18px;margin:0;transition:background .15s,border-color .15s;position:relative}.payroll-review-toggle input:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000029}.payroll-review-toggle input:checked{background:var(--success);border-color:var(--success)}.payroll-review-toggle input:checked:after{transform:translate(12px)}.toggle-row{color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;font-size:12.5px;display:inline-flex}.toggle-row .switch-dot{background:var(--surface-3);border:1px solid var(--border);border-radius:999px;width:30px;height:18px;transition:background .15s,border-color .15s;position:relative}.toggle-row .switch-dot:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000029}.toggle-row.on .switch-dot{background:var(--success);border-color:var(--success)}.toggle-row.on .switch-dot:after{transform:translate(12px)}.av{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-flex}.av-row{align-items:center;gap:8px;display:inline-flex}.av-name{font-size:13px;font-weight:500}.av-sub{color:var(--text-3);font-size:11.5px}.fade-in{animation:.2s fadeIn}@media print{.sidebar,.topbar,.no-print{display:none!important}.content{padding:0}body{background:#fff}}body.dense .stat{padding:12px 14px}body.dense .stat-value{font-size:19px}body.dense table.t thead th,body.dense table.t tbody td{padding:6px 10px}body.dense .card-body{padding:12px 14px}@media (max-width:1100px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sidebar-section,.sidebar-footer{display:none}.topbar,.page-header,.toolbar{flex-wrap:wrap}.stat-grid,.grid-responsive{grid-template-columns:1fr!important}}@media (max-width:760px){.content{padding:16px}.topbar{padding:12px 16px}.sidebar nav{grid-template-columns:1fr}.page-header{align-items:flex-start}.page-header>.row{flex-wrap:wrap}}
