:root{--navy-50:#f2f3f9;--navy-100:#e2e3f0;--navy-200:#c6c8df;--navy-300:#9a9cbf;--navy-400:#565887;--navy-500:#343675;--navy-600:#26275d;--navy-700:#1d1e4b;--navy-800:#14153a;--navy-900:#0d0e2b;--navy-950:#08091f;--yellow-tint:#fbf6dc;--yellow-soft:#fde68a;--yellow-400:#fce94f;--yellow-500:#f9dd0e;--gold-500:#e8c40a;--gold-600:#c9a50d;--gold-700:#9c7f0a;--neutral-0:#ffffff;--neutral-50:#faf9f4;--neutral-100:#f3f2ea;--neutral-200:#e7e5da;--neutral-300:#d5d2c2;--neutral-400:#a8a595;--neutral-500:#7b7c93;--neutral-600:#54556e;--neutral-700:#3a3b52;--neutral-800:#26273c;--neutral-900:#1a1a2e;--neutral-950:#0d0e1c;--green-500:#249a60;--green-600:#1e7f4f;--red-500:#e03c31;--red-600:#c42c22;--warn-500:#f5a623;--warn-600:#c97f0c;--gradient-navy:linear-gradient(135deg,#14153a 0%,#26275d 100%);--gradient-cta:linear-gradient(180deg,#f9dd0e 0%,#e0b90c 100%);--color-cta:var(--gradient-cta);--color-on-cta:var(--navy-800);--color-cta-border:var(--gold-600);--color-brand:var(--navy-800);--color-brand-hover:var(--navy-600);--color-brand-active:var(--navy-900);--color-brand-subtle:#edeef7;--color-brand-subtle-hover:var(--navy-100);--color-brand-border:var(--navy-200);--color-on-brand:#ffffff;--color-accent:var(--gold-500);--color-accent-subtle:var(--yellow-tint);--surface-page:var(--neutral-50);--surface-card:var(--neutral-0);--surface-raised:var(--neutral-0);--surface-sunken:var(--neutral-100);--surface-inset:var(--neutral-100);--surface-hover:#f0efe6;--surface-active:var(--neutral-200);--surface-overlay:rgba(13,14,43,.48);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--text-tertiary:var(--neutral-500);--text-disabled:var(--neutral-400);--text-on-brand:#ffffff;--text-link:var(--navy-600);--text-link-hover:var(--navy-800);--border-subtle:#edebe0;--border-default:var(--neutral-200);--border-strong:var(--neutral-300);--border-focus:var(--navy-600);--color-success:var(--green-600);--color-success-subtle:#e6f2eb;--color-warning:var(--warn-600);--color-warning-subtle:#fcf1da;--color-danger:var(--red-600);--color-danger-subtle:#fce9e7;--color-info:var(--navy-600);--color-info-subtle:#edeef7;--ring:0 0 0 3px color-mix(in oklch, var(--navy-600) 26%, transparent);--font-sans:"Manrope", "Be Vietnam Pro", ui-sans-serif, system-ui, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:2.25rem;--text-4xl:2.75rem;--text-5xl:3.375rem;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extra:800;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.6;--leading-relaxed:1.65;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-caps:.12em;--text-display:var(--weight-extra) var(--text-4xl)/var(--leading-tight) var(--font-sans);--text-title:var(--weight-extra) var(--text-2xl)/var(--leading-snug) var(--font-sans);--text-heading:var(--weight-bold) var(--text-lg)/var(--leading-snug) var(--font-sans);--text-body:var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);--text-body-lg:var(--weight-regular) var(--text-md)/var(--leading-relaxed) var(--font-sans);--text-label:var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-sans);--text-caption:var(--weight-regular) var(--text-xs)/var(--leading-snug) var(--font-sans);--space-0:0;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--control-sm:2rem;--control-md:2.5rem;--control-lg:3rem;--container-max:1200px;--sidebar-w:264px;--topbar-h:60px;--radius-btn:0px;--radius-xs:2px;--radius-sm:3px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:20px;--radius-full:999px;--shadow-xs:0 1px 2px rgba(20,21,58,.06);--shadow-sm:0 1px 3px rgba(20,21,58,.08),0 1px 2px rgba(20,21,58,.05);--shadow-md:0 4px 10px -2px rgba(20,21,58,.11),0 2px 4px -2px rgba(20,21,58,.07);--shadow-lg:0 10px 24px -6px rgba(20,21,58,.14),0 4px 8px -4px rgba(20,21,58,.08);--shadow-xl:0 12px 32px -8px rgba(20,21,58,.2),0 8px 16px -8px rgba(20,21,58,.12);--shadow-cta:0 6px 18px rgba(224,185,12,.3);--ease-out:cubic-bezier(.22,1,.36,1);--ease-standard:cubic-bezier(.4,0,.2,1);--dur-fast:.12s;--dur-base:.18s;--transition-colors:color var(--dur-fast) var(--ease-standard),background-color var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard);color-scheme:light dark}.dark{--color-brand:var(--yellow-500);--color-brand-hover:var(--yellow-400);--color-brand-active:var(--yellow-soft);--color-brand-subtle:color-mix(in oklch, var(--yellow-500) 14%, var(--navy-900));--color-brand-subtle-hover:color-mix(in oklch, var(--yellow-500) 24%, var(--navy-900));--color-brand-border:color-mix(in oklch, var(--yellow-500) 32%, transparent);--color-on-brand:var(--navy-800);--color-accent:var(--gold-500);--color-accent-subtle:color-mix(in oklch, var(--gold-500) 18%, var(--navy-900));--surface-page:var(--navy-950);--surface-card:#111230;--surface-raised:#1a1b45;--surface-sunken:#08091f;--surface-inset:#171838;--surface-hover:#1f2050;--surface-active:#2a2b63;--surface-overlay:rgba(4,4,15,.68);--text-primary:#f2f2f8;--text-secondary:#b4b5cc;--text-tertiary:#8a8ba6;--text-disabled:#5c5d7d;--text-on-brand:var(--navy-800);--text-link:var(--yellow-soft);--text-link-hover:var(--yellow-500);--border-subtle:#242552;--border-default:#32336a;--border-strong:#474888;--border-focus:var(--yellow-500);--color-success:#4fbf87;--color-success-subtle:color-mix(in oklch, var(--green-500) 18%, var(--navy-950));--color-warning:var(--warn-500);--color-warning-subtle:color-mix(in oklch, var(--warn-500) 18%, var(--navy-950));--color-danger:#ff7a70;--color-danger-subtle:color-mix(in oklch, var(--red-500) 18%, var(--navy-950));--color-info:var(--navy-200);--color-info-subtle:color-mix(in oklch, var(--navy-400) 26%, var(--navy-950));--ring:0 0 0 3px color-mix(in oklch, var(--yellow-500) 34%, transparent);--shadow-sm:0 1px 3px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.4);--shadow-md:0 4px 10px -2px rgba(0,0,0,.55),0 2px 4px -2px rgba(0,0,0,.4);--shadow-lg:0 12px 24px -6px rgba(0,0,0,.6),0 4px 8px -4px rgba(0,0,0,.45)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font:var(--text-body);font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--text-link);text-decoration:none;transition:var(--transition-colors)}a:hover{color:var(--text-link-hover)}::selection{background:color-mix(in oklch,var(--color-brand) 26%,transparent)}.mono{font-family:var(--font-mono)}.brand-logo{display:block;flex:none}.dark .brand-logo{background:#fff;padding:5px 8px;border-radius:var(--radius-sm);box-sizing:content-box}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:99px}button{font-family:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-btn);cursor:pointer;font-family:var(--font-sans);font-weight:var(--weight-bold);letter-spacing:.02em;white-space:nowrap;transition:var(--transition-colors);height:40px;padding:0 18px;font-size:var(--text-base)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn:focus-visible{outline:none;box-shadow:var(--ring)}.btn-sm{height:32px;padding:0 12px;font-size:var(--text-sm)}.btn-full{width:100%;overflow:hidden}.btn-primary{background:var(--color-cta);color:var(--color-on-cta);border-color:var(--color-cta-border);box-shadow:var(--shadow-cta)}.btn-primary:hover:not(:disabled){filter:brightness(1.05);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--surface-hover)}.btn-navy{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand)}.btn-navy:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn-danger{background:var(--color-danger-subtle);color:var(--color-danger);border-color:color-mix(in oklch,var(--color-danger) 32%,transparent)}.btn-danger:hover:not(:disabled){background:color-mix(in oklch,var(--color-danger) 16%,transparent)}.icon-btn{width:36px;height:36px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:var(--radius-btn);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;transition:var(--transition-colors)}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.field{display:flex;align-items:center;gap:8px;width:100%;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);padding:0 12px;height:40px;color:var(--text-tertiary);transition:var(--transition-colors)}.field-sm{height:32px}.field:focus-within{border-color:var(--border-focus);box-shadow:var(--ring)}.field.is-disabled{background:var(--surface-inset);color:var(--text-disabled)}.field input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary)}.field input::placeholder{color:var(--text-tertiary)}.field.is-disabled input{color:var(--text-disabled)}.select{width:100%;height:40px;padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);cursor:pointer;transition:var(--transition-colors)}.select-sm{height:32px;font-size:var(--text-sm)}.select:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:var(--ring)}.textarea{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);resize:vertical;transition:var(--transition-colors)}.textarea:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:var(--ring)}.textarea::placeholder{color:var(--text-tertiary)}.badge{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border:1px solid transparent;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold);line-height:1;white-space:nowrap}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-brand{background:var(--color-brand-subtle);color:var(--color-brand-active);border-color:var(--color-brand-border)}.badge-neutral{background:var(--surface-inset);color:var(--text-secondary);border-color:var(--border-subtle)}.badge-success{background:var(--color-success-subtle);color:var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning)}.badge-info{background:var(--color-info-subtle);color:var(--color-info)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger)}.alert{display:flex;gap:10px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid transparent;font-size:var(--text-base);line-height:var(--leading-normal)}.alert .alert-ico{flex:none;margin-top:1px}.alert .alert-title{font-weight:var(--weight-semibold);margin-bottom:2px}.alert-info{background:var(--color-info-subtle);color:var(--text-primary);border-color:color-mix(in oklch,var(--color-info) 24%,transparent)}.alert-info .alert-ico{color:var(--color-info)}.alert-warning{background:var(--color-warning-subtle);color:var(--text-primary);border-color:color-mix(in oklch,var(--color-warning) 26%,transparent)}.alert-warning .alert-ico{color:var(--color-warning)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:var(--color-brand-subtle);color:var(--color-brand-active);font-weight:var(--weight-semibold);text-transform:uppercase}.nav-item{display:flex;align-items:center;gap:11px;padding:0 12px;height:40px;width:100%;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left;font:var(--weight-medium) var(--text-base)/1 var(--font-sans);color:var(--text-secondary);background:transparent;transition:var(--transition-colors)}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{color:var(--color-brand-active);background:var(--color-brand-subtle)}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.card-head{padding:var(--space-4) var(--space-5);font:var(--text-heading)}.card-head-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5)}.kpi{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-4)}.scope-pill{display:inline-flex;align-items:center;gap:6px;background:var(--color-brand-subtle);border:1px solid var(--color-brand-border);border-radius:var(--radius-full);padding:4px 12px;font:var(--text-caption);color:var(--color-brand-active)}.empty{padding:var(--space-10);text-align:center;color:var(--text-tertiary);font:var(--text-body)}.field-label{font:var(--text-label);color:var(--text-secondary);margin-bottom:6px}.col-head,.form-section span,.fl-eyebrow,.rst-eyebrow{font:var(--weight-bold) 11px/1 var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}.dashed{border:1px dashed var(--border-default);border-radius:var(--radius-md);background:var(--surface-sunken)}.use-bar{height:4px;border-radius:999px;background:var(--surface-inset);overflow:hidden;margin-top:6px}.use-bar>i{display:block;height:100%;border-radius:999px;background:var(--color-brand-active);transition:width var(--transition-colors)}.use-bar.over>i{background:var(--color-danger)}.sum-row{background:var(--surface-inset);border-top:2px solid var(--border-default);font-weight:var(--weight-bold)}.row-act{width:28px;height:28px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-btn);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;transition:var(--transition-colors)}.row-act:hover{background:var(--surface-hover);color:var(--text-primary)}.row-act.danger:hover{color:var(--color-danger);border-color:var(--color-danger)}.row-act.on{color:var(--color-warning);border-color:var(--color-warning)}.row-act.on svg{fill:currentColor}.row-act:disabled{opacity:.4;cursor:default}.subtabs{display:inline-flex;gap:4px;padding:4px;background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-4);flex-wrap:wrap}.subtab{border:none;background:transparent;padding:7px 14px;border-radius:var(--radius-sm);font:var(--weight-medium) var(--text-sm)/1 var(--font-sans);color:var(--text-secondary);cursor:pointer;transition:var(--transition-colors)}.subtab:hover{color:var(--text-primary)}.subtab.active{background:var(--surface-card);color:var(--color-brand-active);box-shadow:var(--shadow-xs)}.cbx-opt{display:block;width:100%;text-align:left;border:none;padding:9px 12px;cursor:pointer;font:var(--text-sm);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cbx-opt:hover{background:var(--surface-hover)}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:48px 16px;box-sizing:border-box;background-color:var(--navy-800);background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px),var(--gradient-navy);background-size:22px 22px,auto}.auth-card{width:100%;box-sizing:border-box;display:flex;flex-direction:column;background:#fff;border-radius:var(--radius-lg);box-shadow:0 24px 60px #0d0e2b73;padding:40px 36px 32px}.auth-card>.brand-logo{margin:0 auto}.auth-rule{width:34px;height:2px;background:var(--gold-500);margin:0 auto 24px}.auth-note{background:var(--yellow-tint);border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:16px 18px;margin-top:24px}.auth-link{border:none;background:none;padding:0;cursor:pointer;font:var(--text-body);color:var(--navy-600)}.auth-link:hover:not(:disabled){color:var(--navy-800);text-decoration:underline}.auth-link:disabled{opacity:.55;cursor:not-allowed}@media(max-width:480px){.auth-card{padding:32px 20px 24px}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh;background:var(--surface-page)}.app-sidebar{background:var(--surface-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;padding:var(--space-4);position:sticky;top:0;height:100dvh}.app-right{min-width:0;display:flex;flex-direction:column}.app-topbar{height:var(--topbar-h);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-6);border-bottom:1px solid var(--border-subtle);background:var(--surface-card);position:sticky;top:0;z-index:5}.app-main{flex:1;padding:var(--space-6);max-width:1160px;width:100%;margin:0 auto}.app-mobile{display:flex;flex-direction:column;min-height:100dvh;background:var(--surface-page)}.m-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:var(--space-2);min-height:56px;padding:0 var(--space-3);padding-top:env(safe-area-inset-top);background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.m-title{flex:1;min-width:0;font:var(--weight-semibold) var(--text-lg)/1.1 var(--font-sans);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-main-mobile{flex:1;width:100%;padding:var(--space-4);padding-bottom:calc(58px + env(safe-area-inset-bottom) + var(--space-4))}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--surface-card);border-top:1px solid var(--border-subtle);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -1px 4px #211f1b0f}.bottom-nav-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:56px;padding:6px 2px 4px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;font:var(--weight-medium) 10.5px/1 var(--font-sans);position:relative;-webkit-tap-highlight-color:transparent;transition:color var(--dur-fast) var(--ease-standard)}.bottom-nav-item span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav-item:active{background:var(--surface-hover)}.bottom-nav-item.active{color:var(--color-brand-active)}.bottom-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--color-brand)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--surface-overlay);animation:fade-in var(--dur-fast) var(--ease-standard)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--surface-card);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-xl);padding:var(--space-4) var(--space-5);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));animation:sheet-up var(--dur-base) var(--ease-out)}.sheet-handle{width:36px;height:4px;border-radius:99px;background:var(--border-default);margin:0 auto var(--space-4)}.sheet-row{display:flex;align-items:center;gap:12px;padding:12px 0}.sheet-row+.sheet-row{border-top:1px solid var(--border-subtle)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.vcard{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:var(--space-4)}.vcard+.vcard{margin-top:var(--space-3)}.vcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.vcard-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.form-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.stack-row{display:grid;grid-template-columns:1fr auto;gap:var(--space-4);align-items:center}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-3)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:640px){.form-2col{grid-template-columns:1fr}}@media(max-width:560px){.stack-row{grid-template-columns:1fr}.stack-row .stack-actions{justify-content:flex-start;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.field.is-invalid,.select.is-invalid{border-color:var(--color-danger)}.field.is-invalid:focus-within,.select.is-invalid:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch,var(--color-danger) 24%,transparent)}.form-section{display:flex;align-items:center;gap:10px;margin:var(--space-6) 0 var(--space-4)}.form-section:first-child{margin-top:0}.form-section span{white-space:nowrap}.form-section:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.cbx-opt.is-selected{background:var(--surface-inset)}.cbx-opt.is-active{background:var(--color-brand-subtle);color:var(--color-brand-active)}.form-actions{display:flex;gap:8px}@media(max-width:640px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.expense-form{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-width:min(1080px,100%)}.form-actionbar{position:sticky;top:var(--topbar-h);z-index:4;display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);background:var(--surface-card);border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.form-actionbar-main{min-width:0}.form-actionbar-btns{display:flex;gap:8px;align-items:center;margin-left:auto}.expense-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6);align-items:start;padding:var(--space-5)}.expense-fields{min-width:0}.expense-fields>section+section{margin-top:var(--space-6)}.expense-preview{position:sticky;top:calc(var(--topbar-h) + 92px);min-width:0}.vprev{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--surface-sunken);overflow:hidden}.vprev-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:var(--space-3) var(--space-4);border-bottom:1px dashed var(--border-default)}.vprev-ma{font:var(--weight-semibold) var(--text-sm)/1 var(--font-mono);letter-spacing:.06em;color:var(--text-secondary)}.vprev-amt{padding:var(--space-4) var(--space-4) 0;font:var(--weight-bold) var(--text-3xl)/1.05 var(--font-mono);letter-spacing:-.01em;color:var(--color-brand)}.vprev-cap{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px var(--space-4) var(--space-4);font:var(--text-caption);color:var(--text-secondary)}.vprev-rows{border-top:1px solid var(--border-subtle)}.vprev-row{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:8px var(--space-4);border-top:1px solid var(--border-subtle)}.vprev-row:first-child{border-top:none}.vprev-row .k{font:var(--text-caption);color:var(--text-tertiary)}.vprev-row .v{min-width:0;font:var(--text-sm);color:var(--text-primary);overflow-wrap:anywhere}.vprev-row .v.is-empty{color:var(--text-tertiary)}.vprev-foot{padding:var(--space-3) var(--space-4);border-top:1px dashed var(--border-default);font:var(--text-caption);color:var(--text-tertiary)}@media(max-width:899px){.form-actionbar{top:calc(56px + env(safe-area-inset-top))}.expense-layout{grid-template-columns:1fr}.expense-preview{display:none}}@media(min-width:900px){.cap-hint{display:none}}@media(max-width:420px){.form-actionbar-btns .btn{padding-left:var(--space-3);padding-right:var(--space-3)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:var(--surface-overlay);display:grid;place-items:center;padding:var(--space-5);animation:fade-in var(--dur-fast) var(--ease-standard)}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#08091feb;display:grid;place-items:center;padding:var(--space-5);animation:fade-in var(--dur-fast) var(--ease-standard)}.modal-panel{width:100%;max-width:580px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-xl)}.modal-head{display:flex;align-items:center;gap:12px;flex:none}.modal-x{margin-left:auto;width:30px;height:30px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:var(--radius-btn);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;font-size:15px;line-height:1}.modal-x:hover{background:var(--surface-hover);color:var(--text-primary)}.detail-scroll{flex:1;overflow-y:auto;padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.detail-hero{text-align:center}.detail-hero-amt{font:var(--weight-bold) var(--text-3xl)/1 var(--font-mono);letter-spacing:-.02em;color:var(--color-brand)}.detail-hero-km{font:var(--weight-semibold) var(--text-md)/1.3 var(--font-sans);margin-top:6px}.detail-hero-sub{font:var(--text-caption);color:var(--text-tertiary);margin-top:4px}.stepper{list-style:none;margin:0;padding:0;display:flex}.step{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;text-align:center}.step:not(:first-child):before{content:"";position:absolute;right:50%;top:11px;width:100%;height:2px;background:var(--border-default);z-index:0}.step-done:not(:first-child):before,.step-active:not(:first-child):before{background:var(--color-brand)}.step-dot{position:relative;z-index:1;width:24px;height:24px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;font:var(--weight-bold) 12px/1 var(--font-mono);background:var(--surface-inset);color:var(--text-tertiary);border:2px solid var(--border-default)}.step-done .step-dot{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand)}.step-active .step-dot{background:var(--surface-card);color:var(--color-brand);border-color:var(--color-brand);box-shadow:var(--ring)}.step-label{font:var(--text-caption);color:var(--text-tertiary);line-height:1.2}.step-active .step-label,.step-done .step-label{color:var(--text-secondary)}.reject-banner{padding:10px 14px;border-radius:var(--radius-md);background:var(--color-danger-subtle);color:var(--color-danger);font:var(--weight-medium) var(--text-sm)/1.3 var(--font-sans)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px var(--space-5)}.detail-row{min-width:0}.detail-k{font:var(--text-label);color:var(--text-tertiary)}.detail-v{font:var(--weight-medium) var(--text-sm)/1.35 var(--font-sans);margin-top:2px;overflow-wrap:anywhere}.thread-title{border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}.thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.ev-line{display:flex;align-items:center;gap:8px;font:var(--text-caption);color:var(--text-secondary)}.ev-dot{flex:none;width:8px;height:8px;border-radius:99px}.bubble-row{display:flex;gap:8px;align-items:flex-end}.bubble-row.me{flex-direction:row-reverse}.bubble{max-width:76%;background:var(--surface-inset);border-radius:14px;padding:8px 12px}.bubble-row.me .bubble{background:var(--color-brand-subtle)}.bubble-who{font:var(--weight-semibold) var(--text-caption) var(--font-sans);color:var(--text-secondary);margin-bottom:2px}.bubble-text{font:var(--weight-regular) var(--text-sm)/1.4 var(--font-sans);overflow-wrap:anywhere;white-space:pre-wrap}.bubble-time{font:10px var(--font-mono);color:var(--text-tertiary);margin-top:3px;text-align:right}.chat-box{flex:none;display:flex;gap:8px;padding:var(--space-3) var(--space-5);border-top:1px solid var(--border-subtle);background:var(--surface-card)}.chat-input{flex:1;min-width:0;height:var(--control-sm);padding:0 12px;border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);color:var(--text-primary);font:var(--text-sm) var(--font-sans);outline:none}.chat-input:focus{border-color:var(--border-focus);box-shadow:var(--ring)}.row-clickable{transition:var(--transition-colors)}.row-clickable:hover{background:var(--surface-hover)}@media(max-width:480px){.detail-grid{grid-template-columns:1fr}.step-label{font-size:10px}}@media(prefers-reduced-motion:reduce){.modal-backdrop,.lightbox-backdrop{animation:none}}.confirm-backdrop{z-index:70}.confirm-panel{width:100%;max-width:380px;padding:var(--space-6) var(--space-5) var(--space-5);display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;box-shadow:var(--shadow-xl);animation:confirm-pop var(--dur-fast) var(--ease-standard) both}.confirm-icon{width:46px;height:46px;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;margin-bottom:2px}.confirm-brand .confirm-icon{background:var(--color-brand-subtle);color:var(--color-brand-active)}.confirm-danger .confirm-icon{background:var(--color-danger-subtle);color:var(--color-danger)}.confirm-title{font:var(--weight-semibold) var(--text-lg)/1.3 var(--font-sans);letter-spacing:-.01em}.confirm-amt{font:var(--weight-bold) var(--text-2xl)/1.1 var(--font-mono);letter-spacing:-.01em}.confirm-brand .confirm-amt{color:var(--color-brand-active)}.confirm-danger .confirm-amt{color:var(--color-danger)}.confirm-meta{font:var(--text-caption);color:var(--text-tertiary)}.confirm-body{font:var(--text-sm);color:var(--text-secondary);max-width:32ch}.confirm-actions{display:flex;gap:8px;width:100%;margin-top:8px}.confirm-actions .btn{flex:1}@keyframes confirm-pop{0%{transform:translateY(10px) scale(.97);opacity:0}}@media(prefers-reduced-motion:reduce){.confirm-panel{animation:none}}.config-shell,.cs-shell,.fl-shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);gap:var(--space-5);align-items:start}.config-shell{--rail:216px}.config-nav{display:flex;flex-direction:column;gap:var(--space-4);position:sticky;top:calc(var(--topbar-h) + 16px)}.config-group-label{font:var(--weight-semibold) var(--text-xs)/1 var(--font-sans);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);padding:0 10px 6px}.config-nav-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-md);background:none;color:var(--text-secondary);font:var(--text-sm) var(--font-sans);cursor:pointer;text-align:left;transition:var(--transition-colors)}.config-nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.config-nav-item.active{background:var(--color-brand-subtle);color:var(--color-brand);font-weight:var(--weight-semibold)}.config-search-pop{position:absolute;top:100%;left:0;right:0;margin-top:4px;z-index:45;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:320px;overflow-y:auto}.config-search-hit{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-bottom:1px solid var(--border-subtle);background:none;color:var(--text-primary);font:var(--text-sm) var(--font-sans);cursor:pointer;text-align:left}.config-search-hit:hover{background:var(--surface-hover)}.cfg-group-head{position:sticky;top:0;z-index:1;padding:6px var(--space-5);background:var(--surface-inset);border-top:1px solid var(--border-subtle);font:var(--weight-semibold) var(--text-caption) var(--font-sans);color:var(--text-secondary)}.flash{animation:cfg-flash 1.8s var(--ease-standard)}@keyframes cfg-flash{0%,50%{background:var(--color-warning-subtle)}to{background:transparent}}.cs-shell{--rail:270px}.cs-node-row{display:flex;align-items:center}.cs-node-row .cs-node{flex:1;min-width:0}.cs-node-acts{display:flex;gap:2px;padding-right:10px;opacity:0;transition:opacity var(--dur-fast)}.cs-node-row:hover .cs-node-acts{opacity:1}.cs-node{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px var(--space-4);border:none;background:none;color:var(--text-secondary);font:var(--text-sm) var(--font-sans);cursor:pointer;text-align:left;transition:var(--transition-colors)}.cs-node:hover{background:var(--surface-hover);color:var(--text-primary)}.cs-node.active{background:var(--color-brand-subtle);color:var(--color-brand);font-weight:var(--weight-semibold)}@media(max-width:899px){.config-shell,.cs-shell,.fl-shell{grid-template-columns:1fr}.config-nav{position:static}.config-group{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.config-group-label{display:none}.config-nav-item{width:auto;white-space:nowrap}}.mp-opt{display:flex;align-items:center;gap:8px;padding:6px 12px;font:var(--text-sm) var(--font-sans);color:var(--text-primary);cursor:pointer;white-space:nowrap}.mp-opt:hover{background:var(--surface-hover)}.role-head{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:none;background:none;cursor:pointer;color:var(--text-primary)}.role-head:hover{background:var(--surface-hover)}.rot180{transform:rotate(180deg)}.toaster{position:fixed;z-index:80;top:calc(var(--topbar-h) + 10px);right:16px;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;max-width:calc(100vw - 32px)}.toast{pointer-events:auto;cursor:pointer;text-align:left;background:var(--surface-raised);color:var(--text-primary);border:1px solid var(--border-strong);border-left-width:4px;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:14px 18px;font:var(--weight-semibold) var(--text-md)/1.4 var(--font-sans);min-width:280px;max-width:min(440px,calc(100vw - 32px))}.toast-brand{background:color-mix(in oklch,var(--color-brand) 12%,var(--surface-raised));border-color:var(--color-brand)}.toast-success{background:color-mix(in oklch,var(--color-success) 12%,var(--surface-raised));border-color:var(--color-success)}.toast-danger{background:color-mix(in oklch,var(--color-danger) 14%,var(--surface-raised));border-color:var(--color-danger)}.toast-info{background:color-mix(in oklch,var(--color-info) 12%,var(--surface-raised));border-color:var(--color-info)}.toast{animation:toast-in var(--dur-base) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.fl-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:0 0 var(--space-4);margin-bottom:var(--space-5);border-bottom:2px solid var(--color-brand)}.fl-total{font:var(--weight-bold) var(--text-3xl)/1.05 var(--font-mono);letter-spacing:-.02em;margin-top:8px}.fl-hero-meta{font:var(--text-caption);color:var(--text-tertiary)}.fl-shell{--rail:280px}.fl-rail{position:sticky;top:calc(var(--topbar-h) + 16px);min-width:0}.fl-rail-scroll{max-height:calc(100dvh - var(--topbar-h) - 190px);overflow-y:auto}.fl-grp{display:flex;justify-content:space-between;gap:8px;padding:14px 10px 6px;font:var(--weight-semibold) var(--text-caption) var(--font-sans);color:var(--text-tertiary);border-bottom:1px solid var(--border-strong)}.fl-acc{display:flex;align-items:baseline;gap:8px;width:100%;padding:8px 10px 9px;border:none;border-bottom:1px solid var(--border-subtle);background-color:transparent;color:var(--text-secondary);cursor:pointer;text-align:left;background-image:linear-gradient(to right,var(--navy-100) var(--w,0%),transparent var(--w,0%));transition:var(--transition-colors)}.fl-acc:hover{background-color:var(--surface-hover);color:var(--text-primary)}.fl-acc.active{background-color:var(--color-brand-subtle);color:var(--color-brand-active)}.fl-acc-all{margin-bottom:var(--space-2);border-bottom:none;background-image:none;font-weight:var(--weight-semibold)}.fl-acc-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:var(--text-sm)}.fl-acc.active .fl-acc-name,.fl-acc-all .fl-acc-name{font-weight:var(--weight-semibold)}.fl-acc-amt{flex:none;font:var(--weight-semibold) var(--text-sm)/1 var(--font-mono);color:var(--text-primary);white-space:nowrap}.fl-acc.active .fl-acc-amt{color:var(--color-brand-active)}.fl-book{min-width:0}.fl-book-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5)}.fl-book-title{font:var(--weight-bold) var(--text-lg)/1.2 var(--font-sans);margin-top:6px}.fl-book-sub{font:var(--text-caption);color:var(--text-tertiary);margin-top:3px}.fl-book-search{width:min(260px,100%)}.fl-head,.fl-row{display:grid;grid-template-columns:56px minmax(0,1fr) 150px 168px;gap:12px;padding:12px var(--space-5);border-top:1px solid var(--border-subtle);align-items:baseline}.fl-head{font:var(--weight-bold) 11px/1 var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary);background:var(--surface-inset);border-bottom:1px solid var(--border-subtle);padding-top:9px;padding-bottom:9px}.fl-row{font:var(--text-sm)}.fl-row:hover{background:var(--surface-hover)}.fl-num{text-align:right;white-space:nowrap}.fl-date{color:var(--text-tertiary);white-space:nowrap}.fl-desc{min-width:0;overflow-wrap:anywhere}.fl-sub{display:block;margin-top:3px;font:var(--text-caption);color:var(--text-tertiary)}.fl-ma{white-space:nowrap}.fl-amt{font-weight:var(--weight-semibold)}.fl-amt.out{color:var(--color-danger)}.fl-amt.in{color:var(--color-success)}.fl-run{font-weight:var(--weight-bold);color:var(--text-primary)}.fl-more{display:block;width:100%;padding:14px;border:none;border-top:1px solid var(--border-subtle);background:var(--surface-inset);color:var(--text-link);cursor:pointer;font:var(--weight-semibold) var(--text-sm)/1 var(--font-sans);transition:var(--transition-colors)}.fl-more:hover{background:var(--surface-active);color:var(--text-link-hover)}@media(max-width:899px){.fl-rail{position:static}.fl-rail-scroll{max-height:none;display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.fl-rail-scroll>div{display:flex;gap:6px}.fl-grp{align-self:center;padding:0 2px 0 12px;white-space:nowrap;border-bottom:none}.fl-grp .mono{display:none}.fl-acc{width:auto;flex:none;border:1px solid var(--border-default);border-radius:var(--radius-full);padding:7px 14px 8px;gap:8px}.fl-acc-all{margin-bottom:0}.fl-acc-name{flex:none;max-width:130px}.fl-acc{background-image:none}.fl-head{display:none}.fl-row{grid-template-columns:1fr auto;gap:4px 12px;padding:12px var(--space-4);align-items:center}.fl-date{grid-row:1;font-size:11px}.fl-amt{grid-row:1}.fl-desc{grid-row:2;grid-column:1 / -1}.fl-run{grid-row:3;grid-column:1 / -1;text-align:left;font:var(--text-caption);color:var(--text-tertiary)}.fl-run:before{content:"Số dư luỹ kế "}}.rst-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-6)}.rst-count{font:var(--weight-bold) var(--text-2xl)/1 var(--font-mono);margin-top:8px}.rst-count span{font:var(--text-body);color:var(--text-tertiary);margin-left:6px}.rst-search{width:min(280px,100%)}.rst-sec{margin-bottom:var(--space-6)}.rst-sec-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 var(--space-3);padding-bottom:8px;border-bottom:2px solid var(--color-brand)}.rst-sec-name{font:var(--weight-extra) var(--text-md)/1 var(--font-sans);letter-spacing:-.01em;color:var(--text-primary)}.rst-sec-n{font:var(--weight-bold) var(--text-sm)/1 var(--font-mono);color:var(--color-on-brand);background:var(--color-brand);padding:3px 7px}.rst-sec-hint{font:var(--text-caption);color:var(--text-tertiary);margin-left:auto}.rst-quiet{font:var(--text-body);color:var(--text-tertiary);margin:0}.rst-inline{font:var(--text-caption)}.rst-queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-4)}.rst-card{background:var(--surface-card);border:1px solid var(--border-default);border-left:3px solid var(--color-accent);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5) var(--space-5)}.rst-id{display:flex;align-items:center;gap:12px;margin-bottom:var(--space-4)}.rst-card-form{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.rst-card-act{display:flex;gap:8px;margin-top:var(--space-4)}.rst-hint{font:var(--text-caption);color:var(--text-tertiary);margin:10px 0 0}.rst-list{overflow:visible}.rst-row+.rst-row{border-top:1px solid var(--border-subtle)}.rst-row.is-open{background:var(--surface-sunken)}.rst-head{display:flex;align-items:center;gap:12px;width:100%;padding:var(--space-3) var(--space-5);border:none;background:none;cursor:pointer;text-align:left;color:inherit;transition:var(--transition-colors)}.rst-head:hover{background:var(--surface-hover)}.rst-head:focus-visible{outline:none;box-shadow:inset var(--ring)}.rst-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rst-name{display:flex;align-items:center;gap:8px;font:var(--weight-bold) var(--text-base)/1.25 var(--font-sans);color:var(--text-primary)}.rst-email{font:var(--text-caption);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rst-auth{font:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rst-norole{color:var(--color-warning);font-style:normal;font-weight:var(--weight-medium)}.rst-lock{font-weight:var(--weight-regular);color:var(--text-tertiary)}.rst-edit{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4);align-items:end;padding:0 var(--space-5) var(--space-5);border-top:1px dashed var(--border-default);padding-top:var(--space-4)}.rst-edit-act{display:flex;justify-content:flex-end;align-items:center}@media(max-width:640px){.rst-card-form{grid-template-columns:1fr}.rst-head{padding:var(--space-3) var(--space-4);align-items:flex-start;gap:10px}.rst-auth{white-space:normal}.rst-head>.badge{flex:none;gap:0;padding:0 7px;font-size:0}.rst-head>.badge .dot{width:8px;height:8px}.rst-edit{padding-left:var(--space-4);padding-right:var(--space-4)}.rst-edit-act{justify-content:flex-start}.rst-sec-hint{flex-basis:100%;margin-left:0}}.dp{position:relative}.dp-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:45;display:flex;gap:var(--space-3);padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.dp-pop-wide{flex-wrap:wrap}.dp-cal{width:238px}.dp-nav{display:flex;align-items:center;gap:2px;margin-bottom:6px}.dp-nav-title{flex:1;text-align:center;font:var(--weight-semibold) var(--text-sm)/1 var(--font-sans);white-space:nowrap}.dp-nav-btn{width:24px;height:24px;flex:none;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;font-size:14px;line-height:1}.dp-nav-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dp-dow span{text-align:center;padding:4px 0;font:var(--weight-semibold) 10px/1 var(--font-mono);color:var(--text-tertiary)}.dp-day{height:30px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font:var(--text-sm);cursor:pointer;transition:var(--transition-colors)}.dp-day:hover{background:var(--surface-hover)}.dp-day.is-out{color:var(--text-disabled)}.dp-day.is-today{box-shadow:inset 0 0 0 1px var(--color-brand-border);font-weight:var(--weight-semibold)}.dp-day.is-range{background:var(--color-brand-subtle);border-radius:0}.dp-day.is-sel,.dp-day.is-edge{background:var(--color-brand);color:var(--color-on-brand);font-weight:var(--weight-semibold)}.dp-day:focus-visible{outline:none;box-shadow:var(--ring)}.dp-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-subtle)}.dp-link{border:none;background:none;padding:0;color:var(--text-link);font:var(--text-caption);cursor:pointer}.dp-link:hover{color:var(--text-link-hover);text-decoration:underline}.dp-months{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.dp-month{height:34px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--surface-inset);color:var(--text-primary);font:var(--text-sm);cursor:pointer;transition:var(--transition-colors)}.dp-month:hover{background:var(--surface-hover)}.dp-month.is-today{border-color:var(--color-brand-border);font-weight:var(--weight-semibold)}.dp-month.is-sel{background:var(--color-brand);color:var(--color-on-brand);border-color:var(--color-brand);font-weight:var(--weight-semibold)}.dp-month:focus-visible{outline:none;box-shadow:var(--ring)}.dp-presets{display:flex;flex-direction:column;gap:2px;min-width:118px}.dp-preset{text-align:left;padding:6px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font:var(--text-sm);cursor:pointer;white-space:nowrap}.dp-preset:hover{background:var(--color-brand-subtle);color:var(--color-brand-active)}@media(max-width:560px){.dp-pop{left:auto;right:0}.dp-presets{flex-direction:row;flex-wrap:wrap;min-width:0}}.pay-flow{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-top:10px;padding:8px 12px;background:var(--surface-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.pay-leg{min-width:0}.pay-leg-k{font:var(--weight-semibold) 9px/1 var(--font-mono);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}.pay-leg-v{font:var(--text-sm);color:var(--text-primary);margin-top:3px;overflow-wrap:anywhere}.pay-stk{font-family:var(--font-mono);font-weight:var(--weight-semibold);-webkit-user-select:all;user-select:all;cursor:text}.pay-arrow{flex:none;color:var(--text-tertiary);font-size:15px}@media(max-width:560px){.pay-arrow{transform:rotate(90deg)}}.pay-slip{display:grid;gap:6px;padding:var(--space-4);background:var(--color-brand-subtle);border:1px solid var(--color-brand-border);border-radius:var(--radius-md)}.pay-slip .pay-leg-k{margin-top:2px}.pay-slip-mid{display:flex;align-items:center;gap:10px;padding:var(--space-2) 0}.pay-slip-arrow{color:var(--text-tertiary);font-size:18px;line-height:1;flex:none}.pay-slip-amt{font:var(--weight-extra) var(--text-xl)/1 var(--font-mono);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.pay-slip-to{padding-bottom:var(--space-2)}.pay-slip-who{font:var(--weight-semibold) var(--text-base)/1.3 var(--font-sans)}.pay-slip-acct{margin-top:2px;font:var(--text-sm)}.xb-list{border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;accent-color:var(--color-brand)}.xb-head{display:flex;align-items:center;gap:10px;padding:4px 12px;background:var(--surface-inset);border-bottom:1px solid var(--border-subtle)}.xb-count{font:var(--text-sm);color:var(--text-tertiary);flex:none}.xb-total{font:var(--weight-bold) var(--text-base)/1 var(--font-mono);color:var(--text-primary)}.xb-head .btn{margin-left:auto;flex:none}.xb-row{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-top:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition-colors)}.xb-row:hover{background:var(--surface-hover)}.xb-row.is-off,.xb-row.is-off:hover{background:var(--color-warning-subtle);cursor:default}.xb-row.is-off .xb-amt{color:var(--text-tertiary);font-weight:var(--weight-regular)}.xb-row input{flex:none;margin-top:3px}.xb-warn{flex:none;width:13px;text-align:center;color:var(--color-warning)}.xb-body{flex:1;min-width:0}.xb-name{font:var(--weight-medium) var(--text-sm)/1.35 var(--font-sans);color:var(--text-primary)}.xb-desc{font-weight:var(--weight-regular);color:var(--text-secondary)}.xb-meta{margin-top:2px;font:var(--text-caption);color:var(--text-tertiary);overflow-wrap:anywhere}.xb-miss{color:var(--color-warning);font-weight:var(--weight-semibold)}.xb-amt{flex:none;font:var(--weight-semibold) var(--text-sm)/1.35 var(--font-mono);color:var(--text-primary)}
