@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--brand-950: #05150e;--brand-900: #081f15;--brand-800: #0d2c1e;--brand-700: #123a28;--brand-600: #1a5138;--brand-500: #24704e;--brand-tint: #eaf1ec;--gold: #d0a850;--gold-dim: #b08c39;--gold-tint: #fbf4e4;--gold-line: #eddcb4;--bg: #f5f5f2;--panel: #ffffff;--panel-2: #faf9f7;--panel-3: #f0efeb;--ink: #191a15;--ink-2: #4f5148;--ink-3: #74766c;--line: #e3e2da;--line-2: #eeeee8;--line-strong: #d3d2c8;--placeholder: #a3a49a;--icon-dim: #b9bab0;--skel-hi: #f7f6f3;--on-dark: #ffffff;--sidebar-ink: #a9b6ad;--sidebar-ink-2: #93a197;--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: rgba(208, 168, 80, .13);--pos: #12703f;--pos-bg: #e9f4ed;--pos-line: #c6e1d1;--neg: #b8322a;--neg-bg: #fbeeed;--neg-line: #f0cfcc;--warn: #8a6100;--warn-bg: #fdf6e6;--warn-line: #f0e2ba;--t-micro: 11px;--t-xs: 12px;--t-sm: 13px;--t-base: 14px;--t-md: 16px;--t-lg: 19px;--t-xl: 24px;--t-2xl: 30px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-full: 999px;--sh-1: 0 1px 2px rgba(16, 20, 14, .04), 0 1px 3px rgba(16, 20, 14, .05);--sh-2: 0 4px 12px rgba(16, 20, 14, .08), 0 1px 3px rgba(16, 20, 14, .06);--sh-3: 0 24px 60px rgba(6, 14, 10, .28);--ring: 0 0 0 3px rgba(26, 81, 56, .16);--dur: .14s;--ease: cubic-bezier(.4, 0, .2, 1);--sidebar-w: 244px;--topbar-h: 60px;--font: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font);font-size:var(--t-base);line-height:1.5;background:var(--bg);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:var(--ink)}h1,h2,h3{font-weight:600;letter-spacing:-.011em}:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--brand-tint)}.shell{display:flex;min-height:100vh;min-height:100dvh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--brand-900);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;z-index:30}.brand{display:flex;align-items:center;gap:var(--s3);padding:var(--s5) var(--s4) var(--s4)}.brand-mark{width:40px;height:40px;border-radius:var(--r-md);flex-shrink:0;object-fit:cover;display:block;box-shadow:0 0 0 1px #d0a85059;background:var(--brand-950)}.brand-name{color:var(--on-dark);font-weight:600;font-size:var(--t-base);line-height:1.25;letter-spacing:-.01em}.brand-sub{color:var(--gold);font-size:var(--t-micro);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.nav{padding:var(--s2) var(--s3);display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto}.nav-section{color:#ffffff61;font-size:var(--t-micro);font-weight:600;letter-spacing:.09em;text-transform:uppercase;padding:var(--s4) var(--s3) var(--s2)}.nav a{position:relative;display:flex;align-items:center;gap:var(--s3);padding:9px var(--s3);border-radius:var(--r-sm);color:var(--sidebar-ink);text-decoration:none;font-weight:500;font-size:var(--t-sm);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.nav a svg{width:17px;height:17px;flex-shrink:0;opacity:.85}.nav a:hover{background:#ffffff0f;color:var(--on-dark)}.nav a.active{background:var(--sidebar-active);color:var(--on-dark)}.nav a.active svg{opacity:1;color:var(--gold)}.nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--gold)}.nav a:focus-visible{outline-color:var(--gold)}.nav .nav-external{margin-top:var(--s1);color:var(--sidebar-ink-2)}.nav .nav-external .ext{margin-left:auto;flex-shrink:0;width:13px;height:13px;opacity:.55}.side-user{margin:var(--s3);padding:var(--s3);border-radius:var(--r-md);background:#ffffff0d;display:flex;align-items:center;gap:var(--s3)}.side-user .avatar{width:32px;height:32px;border-radius:var(--r-full);background:var(--gold);color:var(--brand-950);display:grid;place-items:center;font-weight:700;font-size:var(--t-xs);flex-shrink:0}.side-user .who{flex:1;min-width:0}.side-user .who b{color:var(--on-dark);font-size:var(--t-sm);font-weight:600;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user .who .linkish{background:none;border:none;padding:0;text-align:left;color:var(--sidebar-ink-2);font-size:var(--t-micro);text-decoration:underline;text-underline-offset:2px;transition:color var(--dur) var(--ease)}.side-user .who .linkish:hover{color:var(--gold)}.side-user .out{background:none;border:none;color:var(--sidebar-ink-2);padding:var(--s1);border-radius:var(--r-sm);display:grid;place-items:center;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.side-user .out:hover{color:var(--on-dark);background:#ffffff1a}.nav-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e0a80;z-index:25;border:0;padding:0;display:none}.nav-toggle{display:none}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{background:var(--panel);border-bottom:1px solid var(--line);min-height:var(--topbar-h);padding:var(--s3) var(--s5);display:flex;align-items:center;gap:var(--s3);position:sticky;top:0;z-index:20}.topbar .titles{min-width:0}.topbar h1{margin:0;font-size:var(--t-md);font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .page-sub{color:var(--ink-3);font-size:var(--t-xs);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar .spacer{flex:1}.topbar .org{color:var(--ink-3);font-size:var(--t-xs);font-weight:500;padding-left:var(--s3);border-left:1px solid var(--line)}.content{padding:var(--s5);padding-bottom:var(--s7);max-width:1460px;width:100%}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1)}.card-head{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line-2);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap}.card-head h2{margin:0;font-size:var(--t-base);font-weight:600;letter-spacing:-.006em}.card-head .sub{color:var(--ink-3);font-size:var(--t-xs)}.card-body{padding:var(--s5)}.grid{display:grid;gap:var(--s4)}.grid-2{grid-template-columns:1fr 1fr;align-items:start}.grid-side{grid-template-columns:minmax(240px,300px) 1fr;align-items:start}.mt{margin-top:var(--s4)}.muted{color:var(--ink-3)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.inline-form{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap}.inline-form .input{flex:1 1 160px;min-width:0}.stack-sm{display:grid;gap:var(--s2)}.btn.between{justify-content:space-between}.btn .count{opacity:.7;font-weight:500}.mb{margin-bottom:var(--s4)}.boot{text-align:center}.boot .brand-mark{margin:0 auto var(--s4)}.stats{grid-template-columns:repeat(auto-fit,minmax(216px,1fr));margin-bottom:var(--s4)}.stat{padding:var(--s4) var(--s5) var(--s5);display:flex;flex-direction:column;min-height:116px}.stat .label{color:var(--ink-2);font-size:var(--t-xs);font-weight:600;letter-spacing:.02em}.stat .value{font-size:var(--t-xl);font-weight:700;margin-top:var(--s2);letter-spacing:-.02em;line-height:1.15}.stat .hint{color:var(--ink-3);font-size:var(--t-xs);margin-top:auto;padding-top:var(--s2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.stat.is-accent{border-color:var(--brand-500);box-shadow:var(--sh-1),inset 3px 0 0 var(--brand-500)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--r-sm);padding:9px var(--s4);min-height:38px;font-weight:600;font-size:var(--t-sm);border:1px solid transparent;background:var(--brand-700);color:var(--on-dark);white-space:nowrap;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.btn:hover{background:var(--brand-600)}.btn:active{background:var(--brand-800)}.btn.ghost{background:var(--panel);color:var(--ink);border-color:var(--line);box-shadow:var(--sh-1)}.btn.ghost:hover{background:var(--panel-2);border-color:var(--line-strong)}.btn.ghost:active{background:var(--panel-3)}.btn.subtle{background:transparent;color:var(--ink-2);border-color:transparent;box-shadow:none}.btn.subtle:hover{background:var(--panel-3);color:var(--ink)}.btn.danger{background:var(--panel);color:var(--neg);border-color:var(--neg-line);box-shadow:var(--sh-1)}.btn.danger:hover{background:var(--neg);color:var(--on-dark);border-color:var(--neg)}.btn.sm{padding:4px 10px;min-height:30px;font-size:var(--t-xs);font-weight:500;border-radius:var(--r-sm)}.btn.block{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{background:var(--brand-700)}.btn.ghost:disabled:hover{background:var(--panel)}.btn.danger:disabled:hover{background:var(--panel);color:var(--neg)}.linkbtn{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:2px 0;color:var(--brand-600);font-size:var(--t-xs);font-weight:600;text-decoration:underline;text-underline-offset:2px;text-decoration-color:#1a51384d;transition:color var(--dur) var(--ease),text-decoration-color var(--dur) var(--ease)}.linkbtn:hover{color:var(--brand-800);text-decoration-color:currentColor}.segmented{display:inline-flex;padding:3px;gap:2px;background:var(--panel-3);border-radius:var(--r-sm);border:1px solid var(--line)}.segmented button{border:0;background:none;color:var(--ink-2);padding:6px var(--s3);border-radius:4px;min-height:30px;font-size:var(--t-sm);font-weight:600;white-space:nowrap;transition:background var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.segmented button:hover{color:var(--ink)}.segmented button[aria-selected=true]{background:var(--panel);color:var(--ink);box-shadow:var(--sh-1)}.input,select.input,textarea.input{width:100%;padding:9px 11px;min-height:38px;font-size:var(--t-md);border-radius:var(--r-sm);border:1px solid var(--line);background:var(--panel);color:var(--ink);outline:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}textarea.input{min-height:64px;resize:vertical;line-height:1.5}.input::placeholder{color:var(--placeholder)}.input:hover{border-color:var(--line-strong)}.input:focus{border-color:var(--brand-500);box-shadow:var(--ring)}.input:disabled{background:var(--panel-3);color:var(--ink-3);cursor:not-allowed}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2374766c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}label.field{display:block;font-size:var(--t-xs);font-weight:600;color:var(--ink-2)}label.field>.input,label.field>.amount-input,label.field>.hint{margin-top:5px}label.field .hint{display:block;font-weight:400;font-size:var(--t-xs);color:var(--ink-3)}label.field .req{color:var(--neg);font-weight:700}.amount-input{position:relative}.amount-input>i{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-style:normal;font-weight:600;color:var(--ink-3);pointer-events:none}.amount-input>.input{padding-left:26px;font-weight:600}.amount-input input[type=number]::-webkit-outer-spin-button,.amount-input input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.amount-input input[type=number]{-moz-appearance:textfield}.form-err{background:var(--neg-bg);color:var(--neg);border:1px solid var(--neg-line);padding:var(--s2) var(--s3);border-radius:var(--r-sm);font-size:var(--t-sm);display:flex;align-items:flex-start;gap:var(--s2)}.form-note{background:var(--brand-tint);border:1px solid var(--pos-line);color:var(--ink-2);padding:var(--s3);border-radius:var(--r-sm);font-size:var(--t-sm);line-height:1.5}.form-hint{color:var(--ink-3);font-size:var(--t-xs)}.actionbar{display:flex;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-bottom:var(--s4)}.actionbar .spacer{flex:1}.actionbar .summary{font-size:var(--t-sm);color:var(--ink-2);display:flex;align-items:baseline;gap:var(--s2)}.actionbar .summary b{font-weight:700;color:var(--ink)}.filterbar{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-1);padding:var(--s3) var(--s4);margin-bottom:var(--s4);display:flex;gap:var(--s3);align-items:flex-end;flex-wrap:wrap}.filterbar .spacer{flex:1;min-width:0}.fgroup{display:flex;flex-direction:column;gap:4px;min-width:0}.fgroup>span{font-size:var(--t-micro);font-weight:600;color:var(--ink-3);letter-spacing:.05em;text-transform:uppercase}.fgroup .input{min-height:34px;padding-top:6px;padding-bottom:6px;font-size:var(--t-sm)}.fgroup.w-sm .input{width:132px}.fgroup.w-md .input{width:168px}.fgroup.w-lg .input{width:220px}.date-pair{display:flex;align-items:center;gap:6px}.date-pair .input{width:146px}.date-pair .sep{color:var(--ink-3);font-size:var(--t-xs)}.search-input{position:relative}.search-input svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:15px;height:15px;color:var(--ink-3);pointer-events:none}.search-input .input{padding-left:30px}.chips{display:flex;gap:var(--s2);flex-wrap:wrap;align-items:center}.chip{display:inline-flex;align-items:center;gap:6px;background:var(--brand-tint);border:1px solid var(--pos-line);color:var(--brand-800);border-radius:var(--r-full);padding:3px 6px 3px 10px;font-size:var(--t-xs);font-weight:500}.chip b{font-weight:700}.chip button{border:0;background:none;color:inherit;opacity:.6;line-height:1;padding:2px 3px;border-radius:var(--r-full);transition:opacity var(--dur) var(--ease),background var(--dur) var(--ease)}.chip button:hover{opacity:1;background:#123a281a}.table-scroll{overflow-x:auto;border-radius:var(--r-md);-webkit-overflow-scrolling:touch}.table-scroll.tall{overflow-y:auto;max-height:min(68vh,720px)}table.tbl{width:100%;border-collapse:collapse}.tbl.wide{min-width:1000px}.tbl.x-wide{min-width:1120px}.tbl th.col-desc{min-width:280px}.tbl th.col-note{min-width:170px}.tbl td.cell-cat{white-space:nowrap}.tbl th{text-align:left;font-size:var(--t-micro);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600;padding:var(--s3) var(--s4);background:var(--panel-2);border-bottom:1px solid var(--line);white-space:nowrap}.table-scroll.tall .tbl th{position:sticky;top:0;z-index:2}.tbl td{padding:11px var(--s4);border-bottom:1px solid var(--line-2);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background var(--dur) var(--ease)}.tbl tbody tr:hover td{background:var(--panel-2)}.tbl tbody tr.is-highlight td{background:var(--gold-tint)}.tbl tbody tr.is-highlight td:first-child{box-shadow:inset 3px 0 0 var(--gold)}.tbl tbody tr.is-dim{opacity:.55}.tbl .num{text-align:right;white-space:nowrap}.tbl .actions{white-space:nowrap;text-align:right}.tbl .actions .btn+.btn{margin-left:6px}.tbl .id{color:var(--ink-3);font-size:var(--t-xs)}.tbl .primary-cell{font-weight:500}.tbl .sub-cell{color:var(--ink-3);font-size:var(--t-xs);margin-top:2px;line-height:1.4}.tbl tfoot td{padding:var(--s3) var(--s4);background:var(--panel-2);border-top:1px solid var(--line);font-weight:700;position:sticky;bottom:0}.tbl tfoot .foot-label{font-weight:600;color:var(--ink-2);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em}.tbl .cell-date{white-space:nowrap}.tbl .cell-narration{max-width:340px}.tbl .cell-narration .primary-cell{word-break:break-word}.tbl .cell-note{max-width:260px}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.money.in{color:var(--pos)}.money.out{color:var(--neg)}.money.total{font-weight:700}.money.zero{color:var(--ink-3)}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:var(--r-full);font-size:var(--t-xs);font-weight:500;background:var(--panel-3);color:var(--ink-2);border:1px solid var(--line);white-space:nowrap}.badge.ok{background:var(--pos-bg);color:var(--pos);border-color:var(--pos-line)}.badge.muted{background:var(--panel-3);color:var(--ink-3);border-color:var(--line)}.badge.danger{background:var(--neg-bg);color:var(--neg);border-color:var(--neg-line)}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:var(--warn-line)}.badge.company{background:var(--gold-tint);color:var(--gold-dim);border-color:var(--gold-line)}.person{display:inline-flex;align-items:center;gap:7px;font-size:var(--t-sm);font-weight:500;white-space:nowrap}.person .av{width:22px;height:22px;border-radius:var(--r-full);flex-shrink:0;background:var(--brand-tint);color:var(--brand-700);display:grid;place-items:center;font-size:9.5px;font-weight:700;letter-spacing:.02em}.person.is-company .av{background:var(--gold-tint);color:var(--gold-dim)}.person .av.lg{width:30px;height:30px;font-size:var(--t-micro)}.pcmp{display:flex;flex-direction:column;gap:var(--s5)}.pcmp-row{display:flex;flex-direction:column;gap:6px}.pcmp-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s3);font-size:var(--t-sm)}.pcmp-name{font-weight:600}.pcmp-amt{font-weight:700;font-size:var(--t-base)}.pcmp-track{position:relative;height:16px;background:var(--panel-3);border-radius:4px;overflow:hidden}.pcmp-fill{position:absolute;inset:0 auto 0 0;background:var(--brand-500);border-radius:4px;min-width:2px;transition:width .26s var(--ease)}.pcmp-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink);border-radius:1px}.pcmp-foot{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);font-size:var(--t-xs);color:var(--ink-3);flex-wrap:wrap}.delta{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:var(--t-xs);white-space:nowrap}.delta.over{color:var(--pos)}.delta.under{color:var(--neg)}.delta.level{color:var(--ink-3)}.legend-note{color:var(--ink-3);font-size:var(--t-xs);margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line-2);display:flex;align-items:center;gap:7px}.legend-note .tick{display:inline-block;width:2px;height:12px;background:var(--ink);border-radius:1px;flex-shrink:0}.barlist{display:flex;flex-direction:column;gap:var(--s4)}.bar-row .bar-meta{display:flex;justify-content:space-between;gap:var(--s3);margin-bottom:5px;font-size:var(--t-sm)}.bar-row .bar-meta .name{font-weight:500}.bar-row .bar-meta .val{color:var(--ink-2);font-weight:600}.bar-track{position:relative;height:10px;background:var(--panel-3);border-radius:3px;overflow:hidden}.bar-fill{position:absolute;inset:0 auto 0 0;background:var(--brand-500);border-radius:3px;min-width:2px;transition:width .26s var(--ease)}.skel{display:block;height:11px;border-radius:4px;background:linear-gradient(90deg,var(--panel-3) 25%,var(--skel-hi) 37%,var(--panel-3) 63%);background-size:400% 100%;animation:skel 1.4s var(--ease) infinite}@keyframes skel{0%{background-position:100% 50%}to{background-position:0 50%}}.empty{color:var(--ink-3);text-align:center;padding:var(--s6) var(--s4);display:flex;flex-direction:column;align-items:center;gap:var(--s2)}.empty svg{width:26px;height:26px;color:var(--icon-dim)}.empty .empty-title{color:var(--ink-2);font-weight:600;font-size:var(--t-sm)}.empty .empty-sub{font-size:var(--t-xs);max-width:42ch;line-height:1.5}.empty .btn{margin-top:var(--s2)}.pager{display:flex;justify-content:center;align-items:center;gap:var(--s3);padding:var(--s3);border-top:1px solid var(--line-2)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e0a80;z-index:50;display:grid;place-items:center;padding:var(--s4);animation:fade var(--dur) var(--ease);overflow-y:auto}@keyframes fade{0%{opacity:0}to{opacity:1}}.modal{background:var(--panel);border-radius:var(--r-lg);width:100%;max-width:540px;max-height:90vh;overflow:auto;box-shadow:var(--sh-3);animation:lift .18s var(--ease)}@keyframes lift{0%{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}.modal.narrow{max-width:420px}.modal-head{padding:var(--s4) var(--s5);border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;gap:var(--s3)}.modal-head h3{margin:0;font-size:var(--t-md);font-weight:600}.modal-head .x{background:none;border:none;color:var(--ink-3);font-size:var(--t-md);line-height:1;padding:6px;border-radius:var(--r-sm);transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.modal-head .x:hover{background:var(--panel-3);color:var(--ink)}.modal-body{padding:var(--s5);display:grid;gap:var(--s4)}.modal-body .row2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.modal-foot{padding:var(--s4) var(--s5);border-top:1px solid var(--line-2);display:flex;justify-content:flex-end;gap:var(--s3);background:var(--panel-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.toasts{position:fixed;z-index:80;bottom:var(--s5);right:var(--s5);display:flex;flex-direction:column;gap:var(--s2);pointer-events:none;max-width:min(380px,calc(100vw - 32px))}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s2);background:var(--brand-900);color:var(--on-dark);padding:var(--s3) var(--s4);border-radius:var(--r-md);box-shadow:var(--sh-2);font-size:var(--t-sm);line-height:1.45;animation:toast-in .2s var(--ease)}.toast.err{background:var(--neg)}.toast .x{margin-left:auto;background:none;border:0;color:inherit;opacity:.6;padding:0 2px;line-height:1.2}.toast .x:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.login-wrap{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--s4);background:var(--brand-900)}.login-card{background:var(--panel);border-radius:var(--r-lg);padding:var(--s6);width:100%;max-width:400px;box-shadow:var(--sh-3)}.login-card .brand-mark{width:52px;height:52px;margin-bottom:var(--s4)}.login-card h1{margin:0 0 var(--s1);font-size:var(--t-lg);font-weight:600}.login-card .sub{color:var(--ink-3);font-size:var(--t-sm);margin-bottom:var(--s5)}.login-card form{display:grid;gap:var(--s4)}.login-card .btn{min-height:42px}.login-hint{margin-top:var(--s5);padding:var(--s3);border-radius:var(--r-sm);background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);font-size:var(--t-xs);line-height:1.6}.login-hint code{background:#8a61001a;padding:1px 5px;border-radius:4px;font-size:var(--t-micro)}.login-foot{margin-top:var(--s5);text-align:center;color:var(--ink-3);font-size:var(--t-micro);letter-spacing:.03em}.qe-wrap{min-height:100vh;min-height:100dvh;background:var(--brand-900);padding:max(12px,env(safe-area-inset-top)) 12px max(12px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:flex-start}.qe-card{background:var(--panel);width:100%;max-width:460px;border-radius:var(--r-lg);padding:18px 18px 22px;display:flex;flex-direction:column;gap:var(--s4);box-shadow:var(--sh-3)}.qe-head{display:flex;align-items:center;gap:var(--s3)}.qe-head img{border-radius:9px;flex-shrink:0}.qe-head h1{margin:0;font-size:var(--t-lg);line-height:1.1;font-weight:600}.qe-head span{color:var(--ink-3);font-size:var(--t-xs)}.qe-head>div{flex:1;min-width:0}.qe-out{background:none;border:1px solid var(--line);color:var(--ink-2);border-radius:var(--r-sm);padding:7px 11px;font-size:var(--t-xs);font-weight:500;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.qe-out:hover{background:var(--panel-2);border-color:var(--line-strong)}.qe-field{display:flex;flex-direction:column;gap:6px}.qe-field>span{font-size:var(--t-sm);font-weight:600;color:var(--ink-2)}.qe-field>span i{font-weight:400;color:var(--ink-3);font-style:normal}.qe-field input,.qe-field select{width:100%;font-size:var(--t-md);padding:12px 13px;border-radius:11px;border:1px solid var(--line);background:var(--panel);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.qe-field select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2374766c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:18px;padding-right:36px}.qe-field input:focus,.qe-field select:focus{border-color:var(--brand-500);box-shadow:var(--ring)}.qe-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3)}.qe-amount-input{position:relative}.qe-amount-input i{position:absolute;left:14px;top:50%;transform:translateY(-50%);font-style:normal;font-size:var(--t-xl);font-weight:600;color:var(--ink-3)}.qe-amount-input input{font-size:var(--t-2xl);font-weight:700;padding:12px 14px 12px 42px;letter-spacing:-.02em}.qe-amount-input input::-webkit-outer-spin-button,.qe-amount-input input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qe-amount-input input{-moz-appearance:textfield}.qe-submit{margin-top:var(--s1);width:100%;padding:16px;border:none;border-radius:12px;background:var(--brand-900);color:var(--gold);font-size:var(--t-md);font-weight:700;letter-spacing:.01em;transition:background var(--dur) var(--ease),transform var(--dur) var(--ease)}.qe-submit:hover{background:var(--brand-800)}.qe-submit:active{transform:translateY(1px)}.qe-submit:disabled{opacity:.6}.qe-link{text-align:center;color:var(--ink-3);font-size:var(--t-sm);text-decoration:none;padding:6px;transition:color var(--dur) var(--ease)}.qe-link:hover{color:var(--brand-600)}.qe-err,.qe-warn{padding:10px 12px;border-radius:var(--r-md);font-size:var(--t-sm);line-height:1.45}.qe-err{background:var(--neg-bg);color:var(--neg);border:1px solid var(--neg-line)}.qe-warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line)}.qe-done{text-align:center;align-items:center;padding-top:30px}.qe-tick{width:62px;height:62px;border-radius:var(--r-full);background:var(--pos-bg);color:var(--pos);font-size:var(--t-xl);display:grid;place-items:center}.qe-done h2{margin:0;font-size:var(--t-md);color:var(--ink-3);font-weight:500}.qe-amount{font-size:var(--t-2xl);font-weight:700;letter-spacing:-.02em}.qe-sub{margin:0;font-size:var(--t-md)}.qe-meta{margin:0;color:var(--ink-3);font-size:var(--t-xs)}.qe-done .qe-submit,.qe-done .qe-link{width:100%}@media (max-width: 1280px){.content{padding:var(--s5) var(--s4) var(--s7)}.topbar{padding:var(--s3) var(--s4)}}@media (max-width: 1024px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%);transition:transform .2s var(--ease);box-shadow:var(--sh-3)}.shell.nav-open .sidebar{transform:none}.shell.nav-open .nav-scrim{display:block}.nav-toggle{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:var(--r-sm);flex-shrink:0;transition:background var(--dur) var(--ease)}.nav-toggle:hover{background:var(--panel-2)}.grid-2,.grid-side{grid-template-columns:1fr}.table-scroll.tall{max-height:none;overflow-y:visible}.table-scroll.tall .tbl th,.tbl tfoot td{position:static}}@media (max-width: 768px){.content{padding:var(--s4) var(--s3) var(--s6)}.topbar{padding:var(--s3);gap:var(--s2)}.topbar .org{display:none}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--s3)}.stat{padding:var(--s3) var(--s4) var(--s4);min-height:100px}.stat .value{font-size:var(--t-lg)}.card-head,.card-body{padding:var(--s4)}.filterbar{padding:var(--s3);gap:var(--s2)}.fgroup,.fgroup .input,.fgroup.w-sm .input,.fgroup.w-md .input,.fgroup.w-lg .input{width:100%}.fgroup{flex:1 1 148px}.fgroup.dates{flex:1 1 100%}.date-pair{width:100%}.date-pair .input{width:100%;flex:1}.toasts{left:var(--s3);right:var(--s3);bottom:var(--s3);max-width:none}}@media (max-width: 560px){.modal-body .row2{grid-template-columns:1fr}.modal-foot{flex-direction:column-reverse}.modal-foot .btn{width:100%}.actionbar{gap:var(--s2)}.actionbar .btn{flex:1 1 auto}.actionbar .summary{flex:1 1 100%;min-width:0;flex-wrap:wrap}.stats{grid-template-columns:1fr 1fr}.overlay{padding:var(--s2);align-items:flex-end}.modal{max-height:92vh}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.actionbar,.filterbar,.pager,.toasts{display:none!important}.content{max-width:none;padding:0}.card{box-shadow:none;border-color:var(--line-strong)}.table-scroll.tall{max-height:none;overflow:visible}}
