@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-arabic-wght-normal-DiwT_uOQ.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-vietnamese-wght-normal-Do5Nl5oc.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-latin-ext-wght-normal-CsYMu49W.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Readex Pro Variable;font-style:normal;font-display:swap;font-weight:160 700;src:url(/assets/readex-pro-latin-wght-normal--ekFhJJC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ui-zoom:1}@media (width>=1100px){:root{zoom:.8;--ui-zoom:.8}}:root{--bg:#faf7f2;--bg-2:#f4eee5;--surface:#fff;--surface-2:#f4eee5;--surface-3:#efe7dc;--surface-glass:#ffffffeb;--border:#ebe3d7;--border-soft:#f2ece3;--primary:#df6a0b;--primary-600:#c25a06;--primary-700:#9a4704;--primary-light:#fff0df;--primary-glow:#df6a0b29;--on-primary:#fff;--accent:#ffc21a;--accent-600:#e6a800;--accent-light:#fff6d6;--accent-glow:#ffc21a33;--on-accent:#2b1a00;--teal:#2a78d6;--teal-light:#e8f1fc;--text:#1d1813;--text-2:#3a3129;--muted:#5d5348;--muted-2:#978b7d;--positive:#138a52;--positive-bg:#e8f6ee;--negative:#d93a2b;--negative-bg:#fdecea;--warn:#a86b00;--warn-bg:#fff4d6;--info:#2a78d6;--info-bg:#e8f1fc;--chart-1:#df6a0b;--chart-2:#2a78d6;--neg:var(--negative);--danger:var(--negative);--pos:var(--positive);--success:var(--positive);--warning:var(--warn);--warn-fg:var(--warn);--text-3:var(--muted-2);--danger-color:var(--negative);--success-color:var(--positive);--primary-bg:var(--primary-light);--bg-subtle:var(--surface-2);--text-color:var(--text);--text-color-light:var(--muted);--text-light:var(--muted);--text-muted:var(--muted);--sidebar-bg:#15110d;--sidebar-border:transparent;--sidebar-dots:#ffc21a17;--radius:20px;--radius-sm:16px;--radius-xs:12px;--shadow-sm:0 1px 2px #1d18130a;--shadow:0 1px 2px #1d18130a, 0 10px 28px -14px #783c0a2e;--shadow-md:0 2px 4px #1d18130d, 0 16px 36px -16px #783c0a3d;--shadow-lg:0 24px 56px -20px #783c0a4d;--font:"Readex Pro Variable", "Segoe UI", Tahoma, sans-serif;--scroll-thumb:#d9cfc1;--scroll-thumb-hover:#bfb2a1;--sidebar-w:270px;--topbar-h:64px;--transition:.2s cubic-bezier(.4, 0, .2, 1);--transition-spring:.35s cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.dark{--bg:#100d0a;--bg-2:#15110d;--surface:#1a1611;--surface-2:#231d17;--surface-3:#2a231b;--surface-glass:#1a1611eb;--border:#31291f;--border-soft:#262019;--primary:#ff8a24;--primary-600:#f07a12;--primary-700:#ffb070;--primary-light:#33200c;--primary-glow:#ff8a242e;--on-primary:#1a0e00;--accent:#e8b52a;--accent-600:#d4a21c;--accent-light:#2e2510;--accent-glow:#e8b52a2e;--on-accent:#2b1a00;--teal:#6ea6e8;--teal-light:#6ea6e81f;--text:#f7f2eb;--text-2:#e6ddd1;--muted:#c6baab;--muted-2:#8c8174;--positive:#5cc493;--positive-bg:#5cc4931f;--negative:#f0857a;--negative-bg:#f0857a1f;--warn:#e3b55a;--warn-bg:#e3b55a1f;--info:#7aaee8;--info-bg:#7aaee81f;--chart-1:#e06e10;--chart-2:#3987e5;--sidebar-bg:#0b0907;--sidebar-border:#241e17;--sidebar-dots:#ffc21a0d;--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 12px 32px -16px #0009;--shadow-md:0 2px 4px #00000059, 0 16px 40px -16px #000000b3;--shadow-lg:0 24px 60px -20px #000c;--scroll-thumb:#3a3127;--scroll-thumb-hover:#4d4134;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:inherit;text-decoration:none}h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.3}::selection{background:var(--primary-glow);color:var(--text)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:content-box;border:2px solid #0000;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-thumb-hover);background-clip:content-box}::-webkit-scrollbar-track{background:0 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.9)}50%{transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.animate-fade{animation:.4s ease-out both fadeIn}.animate-slide{animation:.45s ease-out both slideUp}.animate-bounce{animation:.5s ease-out both bounceIn}.app{grid-template-columns:var(--sidebar-w) 1fr;min-height:calc(100vh / var(--ui-zoom));display:grid}.sidebar{background-color:var(--sidebar-bg);background-image:radial-gradient(var(--sidebar-dots) 1px, transparent 1.5px);color:#fff;height:calc(100vh / var(--ui-zoom));z-index:30;border-inline-start:1px solid var(--sidebar-border);background-size:22px 22px;flex-direction:column;padding:0 0 16px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar::-webkit-scrollbar-thumb{background:#ffffff1f}.brand{border-bottom:1px solid #ffffff12;align-items:center;gap:12px;margin-bottom:6px;padding:22px 18px 18px;display:flex}.brand .logo-img{object-fit:contain;background:#fff;border-radius:14px;width:46px;height:46px;padding:3px;box-shadow:0 6px 16px -6px #00000080}.brand .mark{background:var(--primary);color:#fff;border-radius:14px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 8px 20px -10px #df6a0be6}.brand .name{letter-spacing:-.01em;color:#fff;font-size:16.5px;font-weight:700}.brand .name small{color:#ffffff80;margin-top:3px;font-size:11.5px;font-weight:400;display:block}.nav{flex-direction:column;gap:2px;padding:0 12px;display:flex}.nav .sec{color:#fff6;letter-spacing:.02em;padding:18px 12px 8px;font-size:11px;font-weight:600}.nav a{border-radius:var(--radius-xs);color:#ffffffb3;min-height:44px;transition:background-color var(--transition), color var(--transition), box-shadow var(--transition);align-items:center;gap:12px;padding:0 12px;font-size:14px;font-weight:500;display:flex;position:relative}.nav a .ic{flex-shrink:0;place-items:center;width:18px;height:18px;display:grid}.nav a .ic svg{width:18px;height:18px}.nav a:hover{color:#fff;background:#ffffff0d}.nav a.active{background:var(--primary);color:#fff;font-weight:600;box-shadow:0 8px 20px -10px #df6a0be6}.dark .nav a.active{color:var(--on-primary);box-shadow:0 8px 20px -12px #ff8a2499}.sidebar .spacer{flex:1}.side-foot{color:#ffffff4d;border-top:1px solid #ffffff0f;margin:0 12px;padding:14px 20px;font-size:11px}.main{background:var(--bg);flex-direction:column;min-width:0;display:flex}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border);background:var(--surface-glass);-webkit-backdrop-filter:blur(12px);z-index:20;justify-content:space-between;align-items:center;gap:16px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .title{color:var(--text);font-size:16px;font-weight:700}.topbar .right{align-items:center;gap:10px;display:flex}.icon-btn{border-radius:var(--radius-xs);width:40px;height:40px;color:var(--muted);cursor:pointer;transition:background-color var(--transition), color var(--transition);background:0 0;border:none;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:20px;height:20px}.icon-btn .count{top:4px;background:var(--negative);color:#fff;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--surface);border-radius:999px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;inset-inline-end:4px}.conn-pill{border-radius:999px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.conn-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.conn-pill.on{background:var(--positive-bg);color:var(--positive)}.conn-pill.off{background:var(--negative-bg);color:var(--negative)}.userchip{color:var(--muted);align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.userchip .av{width:36px;height:36px;color:var(--on-primary);background:var(--primary);box-shadow:0 6px 14px -8px var(--primary);border-radius:50%;place-items:center;font-size:14px;font-weight:700;display:grid}.alerts-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:340px;box-shadow:var(--shadow-lg);z-index:100;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden}.alerts-menu .head{border-bottom:1px solid var(--border);padding:12px 16px;font-size:14px;font-weight:700}.alert-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px;margin-top:6px}.alert-dot.danger{background:var(--negative)}.alert-dot.warning{background:var(--warn)}.alert-dot.info{background:var(--info)}.content{width:100%;max-width:1280px;padding:28px 32px 60px;animation:.35s ease-out fadeIn}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-head h1{color:var(--text);font-size:24px}.page-head p{color:var(--muted);margin:4px 0 0;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:var(--transition);animation:.4s ease-out both slideUp}.card:hover{box-shadow:var(--shadow-md)}.card.no-hover:hover{box-shadow:var(--shadow)}.grid{gap:16px;display:grid}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:18px;display:grid}.stat{transition:var(--transition);cursor:default;padding:20px 22px;position:relative;overflow:hidden}.stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat .lbl{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.stat .lbl .dot{background:linear-gradient(135deg, var(--primary), var(--teal));border-radius:50%;width:8px;height:8px}.stat .val{letter-spacing:-.5px;margin-top:10px;font-size:28px;font-weight:900;line-height:1.2}.stat .cur{color:var(--muted);margin-inline-start:5px;font-size:13px;font-weight:600}.stat .ic-bg{inset-inline-end:-8px;opacity:.06;transition:var(--transition);font-size:60px;position:absolute;bottom:-14px}.stat:hover .ic-bg{opacity:.1;transform:scale(1.1)}.pos{color:var(--positive)!important}.neg{color:var(--negative)!important}.section-title{justify-content:space-between;align-items:center;margin:6px 2px 14px;display:flex}.section-title h3{color:var(--text-2);font-size:16px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}thead th{text-align:start;color:var(--muted);background:var(--surface-2);border-bottom:2px solid var(--border);letter-spacing:.3px;white-space:nowrap;padding:14px 18px;font-size:12.5px;font-weight:700}tbody td{border-bottom:1px solid var(--border-soft);transition:var(--transition);padding:13px 18px}tbody tr:last-child td{border-bottom:0}tbody tr{transition:var(--transition)}tbody tr:hover td{background:var(--primary-light)}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum";text-align:right;direction:ltr}.btn{border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font);transition:var(--transition);background:linear-gradient(145deg, var(--primary), var(--primary-600));color:var(--on-primary);box-shadow:0 4px 14px var(--primary-glow), 0 1px 3px #0000001a;border:0;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:14px;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:var(--transition);background:linear-gradient(145deg,#ffffff26,#0000);position:absolute;inset:0}.btn:hover{box-shadow:0 6px 20px var(--primary-glow), 0 2px 6px #0000001f;transform:translateY(-2px)}.btn:hover:after{opacity:1}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.accent{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 14px var(--accent-glow)}.btn.accent:hover{box-shadow:0 6px 20px var(--accent-glow)}.btn.success{background:var(--positive);color:#fff;box-shadow:none}.btn.ghost{background:var(--surface);color:var(--muted);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.btn.ghost:after{display:none}.btn.ghost:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light);box-shadow:0 2px 8px var(--primary-glow)}.btn.sm{border-radius:var(--radius-xs);padding:8px 14px;font-size:13px}.btn.xs{border-radius:6px;padding:5px 10px;font-size:12px}.btn.block{width:100%}.btn.danger{background:var(--negative);color:#fff;box-shadow:none}.field,.form-grid label{flex-direction:column;gap:7px;display:flex}.field label,.form-grid label>span{color:var(--muted);letter-spacing:.2px;font-size:13px;font-weight:700;display:block}.input,.form-grid input,.form-grid select,.form-grid textarea{border-radius:var(--radius-xs);border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);font-family:var(--font);transition:var(--transition);padding:11px 15px;font-size:14.5px;font-weight:500}.input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--surface);outline:none}.dark select,.dark input,.dark textarea{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dark select:not([class]),.dark textarea:not([class]),.dark input:not([class]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){background-color:var(--surface);color:var(--text);border-color:var(--border)}.dark option,.dark optgroup{background-color:var(--surface);color:var(--text)}.dark option:disabled{color:var(--muted-2)}.dark option:checked{background-color:var(--surface-3)}.dark input:-webkit-autofill{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text)}.dark input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text)}.dark input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);-webkit-box-shadow:0 0 0 1000px var(--surface) inset;caret-color:var(--text)}.input::placeholder,.form-grid input::placeholder,.form-grid textarea::placeholder{color:var(--muted-2);font-weight:400}.form-grid input[type=checkbox],.form-grid input[type=radio]{width:auto;accent-color:var(--primary);cursor:pointer;margin:0;padding:0;transform:scale(1.15)}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.tab{background:var(--surface);border:1.5px solid var(--border);color:var(--muted);cursor:pointer;transition:var(--transition);border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600}.tab:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px)}.tab.active{background:linear-gradient(145deg, var(--primary), var(--primary-600));color:#fff;box-shadow:0 4px 14px var(--primary-glow);border-color:#0000;font-weight:700}.badge{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);transition:var(--transition);border-radius:999px;align-items:center;gap:6px;padding:5px 13px;font-size:12.5px;font-weight:600;display:inline-flex}.badge.pos{background:var(--positive-bg);color:var(--positive);border-color:#0000}.badge.neg{background:var(--negative-bg);color:var(--negative);border-color:#0000}.badge.warn{background:var(--warn-bg);color:var(--warn);border-color:#0000}.badge.link{cursor:pointer}.badge.link:hover{color:var(--primary);border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px)}.chip-type{border-radius:var(--radius-xs);background:var(--primary-light);color:var(--primary-600);border:1px solid var(--border);padding:4px 12px;font-size:12px;font-weight:700}.empty{text-align:center;color:var(--muted);padding:60px 20px;animation:.5s ease-out fadeIn}.empty .ico{opacity:.4;margin-bottom:14px;font-size:52px}.empty h4{color:var(--text-2);margin-bottom:8px;font-size:17px}.spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:30px;height:30px;animation:.7s linear infinite spin}.center-load{place-items:center;padding:80px;animation:.3s fadeIn;display:grid}.skel{background:linear-gradient(90deg, var(--surface-2) 25%, var(--surface-3) 37%, var(--surface-2) 63%);border-radius:var(--radius-xs);background-size:400% 100%;animation:1.4s infinite shimmer}.offline-bar{background:var(--warn-bg);color:var(--warn);border-bottom:1px solid color-mix(in srgb, var(--warn) 30%, transparent);text-align:center;justify-content:center;align-items:center;gap:10px;padding:10px;font-size:14px;font-weight:700;animation:.3s fadeIn;display:flex}.cache-note{color:var(--warn);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}.alert{border-radius:var(--radius-sm);align-items:center;gap:10px;margin-bottom:18px;padding:13px 18px;font-size:14px;animation:.3s ease-out slideUp;display:flex}.alert.err{background:var(--negative-bg);border:1px solid color-mix(in srgb, var(--negative) 25%, transparent);color:var(--negative)}.alert.note{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);justify-content:space-between;gap:12px}.alert.ok{background:var(--positive-bg);border:1px solid color-mix(in srgb, var(--positive) 25%, transparent);color:var(--positive)}.balance-summary{background:var(--surface-2);border-top:2px solid var(--border);border-radius:0 0 var(--radius) var(--radius);grid-template-columns:1fr 1fr 1fr;gap:16px;padding:18px;display:grid}.balance-summary .item{text-align:center;padding:10px}.balance-summary .item .label{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:600}.balance-summary .item .value{font-size:20px;font-weight:800}.payment-box{background:linear-gradient(135deg, var(--primary-light), #e0ecff);border:2px solid var(--border);border-radius:var(--radius);margin-top:16px;padding:20px}.payment-box h4{color:var(--primary-700);align-items:center;gap:8px;margin-bottom:14px;font-size:15px;display:flex}.payment-row{justify-content:space-between;align-items:center;padding:8px 0;font-size:15px;display:flex}.payment-row.total{border-top:2px solid var(--primary);margin-top:8px;padding-top:14px;font-size:18px;font-weight:800}.remaining-badge{border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-size:16px;font-weight:800;display:inline-flex}.remaining-badge.has-remaining{background:var(--negative-bg);color:var(--negative);border:1.5px solid #dc354533}.remaining-badge.paid{background:var(--positive-bg);color:var(--positive);border:1.5px solid #0d9e5c33}.login-page{min-height:calc(100vh / var(--ui-zoom));background:radial-gradient(ellipse at 85% 10%, color-mix(in srgb, var(--primary) 28%, transparent) 0%, transparent 55%), linear-gradient(160deg, var(--sidebar-bg) 0%, color-mix(in srgb, var(--sidebar-bg) 82%, var(--primary)) 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.login-page:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--primary) 18%, transparent) 0%, transparent 70%);width:600px;height:600px;position:absolute;top:-200px;right:-200px}.login-page:after{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 70%);width:500px;height:500px;position:absolute;bottom:-150px;left:-150px}.login-card{background:var(--surface-glass);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:1;border-radius:24px;width:100%;max-width:420px;padding:48px 40px;animation:.6s ease-out bounceIn;position:relative;box-shadow:0 25px 60px #0000004d}.login-logo{width:100px;height:auto;margin:0 auto 16px;display:block}.login-title{text-align:center;color:var(--primary-700);margin-bottom:6px;font-size:22px;font-weight:900}.login-sub{text-align:center;color:var(--muted);margin-bottom:30px;font-size:14px}.print-only{display:none}@page{size:A4;margin:0}#list-print{display:none}@page list-sheet{size:A4 landscape;margin:0}@media print{body.list-printing #root{display:none!important}body.list-printing #list-print{page:list-sheet;color:#111;background:#fff;padding:12mm;font-size:12px;display:block}#list-print h1{margin:0;font-size:20px}#list-print h2{margin:4px 0;font-size:15px;font-weight:600}#list-print .p{color:#555;margin-bottom:10px}#list-print table{border-collapse:collapse;width:100%}#list-print th{background:#f1ece4;font-weight:700}#list-print th,#list-print td{text-align:start;vertical-align:top;border:1px solid #cfc8bd;padding:5px 7px}#list-print thead{display:table-header-group}#list-print tr{page-break-inside:avoid}#list-print .n{white-space:nowrap;font-variant-numeric:tabular-nums}#list-print .t{margin-top:8px;font-size:13px;font-weight:700}*{animation:none!important}.sidebar,.topbar,.btn,.tabs,.no-print,.print-hide{display:none!important}.print-only{display:block!important}.app{grid-template-columns:1fr!important}.content{padding:12mm!important}.card{page-break-inside:avoid;box-shadow:none!important;border:1px solid #ccc!important}.print-header{display:flex!important}}.print-header{border-bottom:2px solid var(--primary);align-items:center;gap:16px;margin-bottom:20px;padding:20px;display:none}@media (width<=860px){.app{grid-template-columns:1fr}.sidebar{z-index:60;width:var(--sidebar-w);inset-inline-start:0;box-shadow:var(--shadow-lg);transition:transform .3s cubic-bezier(.4,0,.2,1);position:fixed;top:0;transform:translate(100%)}.app.nav-open .sidebar{transform:translate(0)}.backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;background:#0d284780;animation:.2s fadeIn;position:fixed;inset:0}.menu-btn{display:inline-grid!important}.content{padding:18px 16px 50px}.page-head h1{font-size:20px}.balance-summary{grid-template-columns:1fr}}.menu-btn{border-radius:var(--radius-xs);background:var(--surface);border:1.5px solid var(--border);width:40px;height:40px;color:var(--text);cursor:pointer;transition:var(--transition);place-items:center;font-size:18px;display:none}.menu-btn:hover{background:var(--primary-light);color:var(--primary)}.mono{font-family:Courier New,monospace;font-size:13px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-width:100%;max-height:calc(90vh / var(--ui-zoom));flex-direction:column;animation:.3s ease-out slideUp;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-head h2{color:var(--text);margin:0;font-size:17px;font-weight:800}.modal-head .close-btn{color:var(--muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;padding:0;font-size:26px;line-height:1}.modal-head .close-btn:hover{color:var(--negative);transform:scale(1.1)}.modal-body{padding:24px;overflow-y:auto}.confirm-modal{text-align:center;align-items:center;width:100%;max-width:440px;padding:26px 24px 20px}.confirm-icon{background:var(--primary-light);border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:14px;font-size:26px;display:grid}.confirm-icon[data-danger]{background:var(--negative-bg)}.confirm-title{color:var(--text);margin:0 0 8px;font-size:17px;font-weight:800}.confirm-message{color:var(--muted);margin:0;font-size:13.5px;line-height:1.7}.confirm-details{border-radius:var(--radius-xs);background:var(--surface-2);border:1px solid var(--border-soft);text-align:start;width:100%;margin-top:14px;padding:10px 12px;font-size:13px}.confirm-actions{justify-content:center;gap:10px;width:100%;margin-top:22px;display:flex}.confirm-actions .btn{flex:1;max-width:160px}.table-dense{overflow-x:auto}.table-dense table{font-size:12.5px}.table-dense thead th{letter-spacing:0;padding:8px 10px;font-size:11.5px;font-weight:700}.table-dense tbody td{padding:7px 10px;line-height:1.5}.table-dense .badge{padding:2px 7px;font-size:11px}.table-dense .btn.xs{padding:3px 8px;font-size:11.5px}.table-dense .num,.table-dense .mono{font-size:12px}.pager{border-top:1px solid var(--border-soft);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.pager-info{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12.5px}.pager-info strong{color:var(--text-2);font-weight:700}.pager-btns{align-items:center;gap:6px;display:flex}.pager.inset{border:1px solid var(--border-soft);border-radius:var(--radius-sm);margin-top:14px}@media (width<=860px){.pager{justify-content:center}.pager-btns{justify-content:center;width:100%}}.inbox-panel{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);margin-top:14px;padding:14px 16px;animation:.2s ease-out slideUp}.inbox-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.inbox-head h3{color:var(--text);align-items:center;gap:8px;margin:0;font-size:14px;font-weight:800;display:flex}.inbox-count{background:var(--negative);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11.5px;font-weight:800;display:inline-grid}.inbox-list{flex-direction:column;gap:8px;display:flex}.inbox-item{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.inbox-item:hover{border-color:var(--primary)}.inbox-item-main{min-width:0}.inbox-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;font-size:13px;font-weight:700;overflow:hidden}.inbox-meta{color:var(--muted-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.inbox-actions{flex-shrink:0;gap:6px;display:flex}.inbox-age{background:var(--surface-3);color:var(--muted);border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700}.inbox-age[data-late]{background:var(--warn-bg);color:var(--warn)}.inbox-age[data-stale]{background:var(--negative-bg);color:var(--negative)}.page-narrow{max-width:none;margin:0 auto}.filter-input{border-radius:var(--radius-xs);border:1.5px solid var(--border);font-size:12.5px;font-family:var(--font);color:var(--text);background:var(--surface);transition:var(--transition);padding:6px 10px}.filter-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}.inbox-panel .empty{padding:18px 10px}.inbox-panel .empty .ico{margin-bottom:6px;font-size:26px}.inbox-panel .empty h4{font-size:13.5px}.inbox-panel .empty p{font-size:12px}:root{--sidebar-w:228px;--topbar-h:54px;--radius:16px;--radius-sm:12px;--radius-xs:10px}body{font-size:13.5px}.content{max-width:none;padding:18px 22px 40px}.topbar{padding:0 22px}.topbar .title{font-size:15px}.userchip{font-size:13px}.userchip .av{width:32px;height:32px;font-size:13px}.brand{gap:10px;padding:14px 14px 12px}.brand .logo-img{border-radius:10px;width:40px;height:40px}.brand .mark{border-radius:10px;width:38px;height:38px;font-size:19px}.brand .name{font-size:14px;line-height:1.35}.brand .name small{margin-top:2px;font-size:10.5px}.nav{gap:1px;padding:0 8px}.nav .sec{padding:12px 10px 5px;font-size:10.5px}.nav a{gap:10px;min-height:38px;padding:0 11px;font-size:13.5px}.nav a .ic,.nav a .ic svg{width:17px;height:17px}.nav a:hover{transform:none}.page-head{gap:10px;margin-bottom:14px}.page-head h1{font-size:20px}.page-head p{margin-top:2px;font-size:12.5px}.card.pad{padding:16px 18px}.grid{gap:12px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px 14px}.stats{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.stat{padding:14px 16px}.stat .lbl{font-size:12px}.stat .val{font-size:22px}.stat .ic-bg{font-size:44px}.stat:hover,.card:hover{transform:none}.section-title h3{font-size:14.5px}table{font-size:13px}thead th{padding:9px 12px;font-size:12px}tbody td{vertical-align:middle;padding:8px 12px;line-height:1.45}td.num,.num,td .badge,td .btn,td .chip-type,td a,td time{white-space:nowrap}tbody td:has(>.btn){white-space:nowrap}tbody td:has(>.badge){white-space:nowrap}td .btn+.btn{margin-inline-start:4px}tbody td{word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.btn{border-radius:var(--radius-xs);white-space:nowrap;gap:6px;padding:8px 15px;font-size:13px}.btn.sm{padding:6px 11px;font-size:12.5px}.btn.xs{padding:4px 8px;font-size:11.5px}.btn:hover{transform:none}.btn.outline{background:var(--surface);color:var(--primary);border:1.5px solid var(--primary);box-shadow:none}.btn.outline:after{display:none}.btn.outline:hover{background:var(--primary-light)}.btn.warning{background:var(--accent);color:var(--on-accent);box-shadow:none}.btn.neg{background:var(--negative);color:#fff;box-shadow:none}.btn.outline.warning{background:var(--warn-bg);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 45%, transparent)}.btn.outline.neg,.btn.outline.danger{background:var(--negative-bg);color:var(--negative);border-color:color-mix(in srgb, var(--negative) 45%, transparent)}.btn.outline.success{background:var(--positive-bg);color:var(--positive);border-color:color-mix(in srgb, var(--positive) 45%, transparent)}.dark .btn.neg,.dark .btn.danger,.dark .btn.success{color:#14100c}.dark .btn.outline.neg,.dark .btn.outline.danger{color:var(--negative)}.dark .btn.outline.success{color:var(--positive)}.input,.form-grid input,.form-grid select,.form-grid textarea{padding:7px 11px;font-size:13px}.field,.form-grid label{gap:4px}.field label,.form-grid label>span{font-size:12px}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{text-align:right;direction:ltr}input[type=date],input[type=month],.range-presets{border:1.5px solid var(--border);background:var(--surface);min-height:38px;color:var(--text);cursor:pointer;border-radius:10px;padding:7px 12px;font-family:inherit;font-size:13.5px;font-weight:600;transition:border-color .15s,box-shadow .15s,background .15s}input[type=date]{min-width:150px}input[type=date]:hover,input[type=month]:hover,.range-presets:hover{border-color:color-mix(in srgb, var(--primary) 55%, var(--border))}input[type=date]:focus,input[type=month]:focus,.range-presets:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);outline:none}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;background-color:color-mix(in srgb, var(--primary) 14%, transparent);border-radius:6px;padding:3px}.range-presets{background:color-mix(in srgb, var(--primary) 7%, var(--surface));color:var(--primary-700)}.date-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.doc-sheet{background:var(--surface);max-width:1100px;box-shadow:var(--shadow);border:1px solid var(--border-soft);-webkit-print-color-adjust:exact;print-color-adjust:exact;border-radius:18px;margin:0 auto 24px;overflow:hidden}.doc-band{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-700) 100%);color:#fff;justify-content:space-between;align-items:center;gap:20px;padding:26px 34px;display:flex;position:relative}.doc-band:after{content:"";background:var(--accent);height:5px;position:absolute;inset:auto 0 0}.doc-brand{align-items:center;gap:16px;display:flex}.doc-logo{background:#fff;border-radius:50%;flex:none;place-items:center;width:74px;height:74px;display:grid;box-shadow:0 4px 14px #0000002e}.doc-logo img{object-fit:contain;width:62px;height:62px}.doc-brand h2{color:#fff;white-space:nowrap;margin:0;font-size:24px}.doc-band .doc-sub{color:#ffffffd9}.doc-title{text-align:center;background:#ffffff24;border:1.5px solid #ffffff73;border-radius:14px;padding:10px 22px}.doc-title-name{white-space:nowrap;font-size:22px;font-weight:800}.doc-title-no{opacity:.9;margin-top:2px;font-family:ui-monospace,monospace;font-size:14px}.doc-meta{border-bottom:1px solid var(--border-soft);background:var(--surface-2);flex-wrap:wrap;display:flex}.doc-meta>div{border-inline-end:1px solid var(--border-soft);flex:160px;padding:12px 22px}.doc-meta span,.doc-label{color:var(--muted);margin-bottom:3px;font-size:11.5px;font-weight:700;display:block}.doc-meta strong{font-size:14px}.doc-body{padding:26px 34px 30px}.doc-party{background:var(--surface-2);border-inline-start:5px solid var(--primary);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:18px 22px;display:flex}.doc-party-name{font-size:20px}.doc-sub{color:var(--muted);margin-top:2px;font-size:12.5px}.doc-amount{text-align:end}.doc-amount strong{color:var(--primary);font-size:26px}.doc-amount small{font-size:13px}.doc-fields{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:20px;display:grid}.doc-fields>div{border:1px dashed var(--border);border-radius:12px;padding:10px 14px}.doc-table{border-collapse:separate;border-spacing:0;border:1px solid var(--border-soft);border-radius:12px;width:100%;overflow:hidden}.doc-table th{background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary-700);padding:11px 12px;font-size:13px}.doc-table td{border-top:1px solid var(--border-soft);padding:11px 12px;font-size:14px}.doc-table tbody tr:nth-child(2n) td{background:var(--surface-2)}.doc-bottom{flex-wrap:wrap;justify-content:space-between;gap:24px;margin-top:20px;display:flex}.doc-notes{flex:260px;font-size:14px}.doc-totals{border:1px solid var(--border-soft);border-radius:14px;flex:0 330px;overflow:hidden}.doc-totals>div{border-top:1px solid var(--border-soft);justify-content:space-between;padding:9px 16px;font-size:14px;display:flex}.doc-totals>div:first-child{border-top:none}.doc-totals span{color:var(--muted)}.doc-totals .doc-total-strong{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-700) 100%);color:#fff;font-size:16px}.doc-totals .doc-total-strong span{color:#fff}.doc-signs{text-align:center;justify-content:space-around;gap:20px;margin-top:44px;display:flex}.doc-signs span{color:var(--muted);font-size:13px;font-weight:700}.doc-signs i{border-bottom:1.5px solid var(--text);width:150px;margin:34px auto 0;display:block}.doc-foot{color:var(--muted);border-top:3px solid var(--accent);background:var(--surface-2);flex-wrap:wrap;justify-content:center;gap:22px;padding:12px 20px;font-size:12.5px;display:flex}.doc-payments{border:1px solid var(--border-soft);border-radius:12px;margin-top:24px;padding:10px 16px}.doc-payments summary{cursor:pointer;font-weight:700}@media (width<=640px){.doc-band,.doc-body{padding:18px 16px}.doc-brand h2{white-space:normal;font-size:19px}}@media print{.doc-sheet{width:100%;max-width:none;box-shadow:none;visibility:visible;border:none;border-radius:0;margin:0;position:absolute;inset:0 auto auto 0}.doc-sheet *{visibility:visible}body:has(.doc-sheet) *{visibility:hidden}:is(body:has(.doc-sheet) .doc-sheet,body:has(.doc-sheet) .doc-sheet *){visibility:visible}.doc-sheet .hide-print{display:none!important}.doc-signs{margin-top:60px}}.badge{white-space:nowrap;gap:4px;padding:2px 9px;font-size:11.5px}.badge.sm{padding:1px 7px;font-size:11px}.badge.info{background:var(--info-bg);color:var(--info);border-color:#0000}.badge.warning{background:var(--warn-bg);color:var(--warn);border-color:#0000}.chip-type{font-size:11.5px}.tabs{gap:6px;margin-bottom:12px}.tab{padding:6px 13px;font-size:13px}.empty{padding:34px 16px}.empty .ico{margin-bottom:8px;font-size:38px}.empty h4{font-size:15px}.empty p{font-size:13px}.card{animation-duration:.2s}.content{animation-duration:.15s}@media (width<=860px){.content{padding:12px 10px 40px}}.badge.wrap-ok{white-space:normal;line-height:1.35}.table-dense thead th{padding:7px}.table-dense tbody td{padding:6px 7px}@media (width<=860px){html,body{overflow-x:clip}.hide-mobile{display:none!important}.topbar{gap:8px;padding:0 10px}.topbar .title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.topbar .right{flex-shrink:0;gap:6px}.content select,.content .input{max-width:100%}}.alerts-menu .alert-item:hover{background:var(--surface-2)}@media print{.dark{--bg:#fff;--bg-2:#fff;--surface:#fff;--surface-2:#f4f1ec;--surface-3:#efe9e1;--border:#d9d2c7;--border-soft:#e9e3da;--text:#111;--text-2:#222;--muted:#444;--muted-2:#6b6157;--primary:#b8520a;--primary-600:#9a4704;--primary-700:#7a3803;--primary-light:#fff0df;--on-primary:#fff;--positive:#0f6e41;--positive-bg:#e8f6ee;--negative:#b3261e;--negative-bg:#fdecea;--warn:#8a5800;--warn-bg:#fff4d6;--info:#1f5fae;--info-bg:#e8f1fc;--chart-1:#b8520a;--chart-2:#2a78d6;--shadow:none;--shadow-sm:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html,body{background:#fff!important}}.text-center{text-align:center}.text-left{text-align:left}.text-muted{color:var(--muted)}.font-mono{font-variant-numeric:tabular-nums;white-space:nowrap;direction:ltr;unicode-bidi:isolate}td.font-mono,th.font-mono{text-align:left}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.report-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;display:flex}.report-filters label{min-width:170px;color:var(--muted);flex-direction:column;flex:0 220px;gap:6px;font-size:13px;font-weight:700;display:flex}.report-filters input,.report-filters select{border-radius:var(--radius-xs);border:1.5px solid var(--border);background:var(--surface);width:100%;color:var(--text);font-family:var(--font);padding:10px 14px;font-size:14px;font-weight:500}.report-filters .btn{margin-inline-start:auto}.report-title{text-align:center;margin-bottom:26px}.report-title h2{margin:0 0 4px}.report-title p{color:var(--muted);margin:0}.report-section-title{border-bottom:2px solid;margin:0 0 14px;padding-bottom:10px;font-size:16px}.report-total td{background:var(--surface-2);font-weight:800}td.neg,.neg{color:var(--negative)}@media (width<=900px){.report-two-cols{grid-template-columns:1fr!important}}@media print{.hide-print,.print-hide{display:none!important}.report-two-cols{grid-template-columns:1fr 1fr!important}}.settings-page{max-width:1100px;margin:0 auto}.settings-stack{gap:20px;display:grid}.settings-row{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));align-items:start;gap:20px;display:grid}.set-head{border-bottom:1px solid var(--border);align-items:flex-start;gap:12px;margin-bottom:18px;padding-bottom:14px;display:flex}.set-head-icon{background:color-mix(in srgb, var(--primary) 12%, transparent);width:36px;height:36px;color:var(--primary);border-radius:10px;flex:none;place-items:center;display:grid}.set-head h3{color:var(--text);margin:0;font-size:16px}.set-head p{color:var(--muted);margin:3px 0 0;font-size:12.5px}.set-agency{grid-template-columns:200px 1fr;align-items:start;gap:28px;display:grid}.set-logo{text-align:center;border:1px dashed var(--border);background:var(--surface-2);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:18px 12px;display:flex}.set-logo-img{background:var(--surface);border:1px solid var(--border);border-radius:50%;place-items:center;width:132px;height:132px;display:grid;overflow:hidden}.set-logo-img img{object-fit:cover;width:100%;height:100%}.set-logo-img span{color:var(--muted);font-size:12.5px}.set-logo-btn{cursor:pointer;gap:6px}.set-logo small{color:var(--muted);word-break:break-all;font-size:11.5px}.set-fields{min-width:0}.set-group-title{color:var(--text-2);flex-wrap:wrap;align-items:baseline;gap:8px;margin:18px 0 10px;font-size:13px;font-weight:700;display:flex}.set-group-title:first-child{margin-top:0}.set-group-title em{color:var(--muted);font-size:12px;font-style:normal;font-weight:400}.form-grid.set-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.set-hint{color:var(--muted);margin-top:-4px;font-size:12px;line-height:1.7}.set-actions{justify-content:flex-end;margin-top:18px;display:flex}.set-actions .btn{justify-content:center;gap:6px;min-width:180px}.set-warn{background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:10px;align-items:flex-start;gap:10px;margin-top:4px;padding:10px 12px;font-size:13px;line-height:1.9;display:flex}.set-warn svg{color:var(--accent);flex:none;margin-top:4px}.set-warn code{background:var(--surface);border-radius:5px;padding:1px 5px;font-size:12px}@media (width<=860px){.set-agency,.form-grid.set-grid-2,.settings-row{grid-template-columns:1fr}.set-actions .btn{width:100%}}
