.v2-app{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font:var(--font-inter);--font-mono:var(--font-mono-jb);--bg-page:#f4f4f4;--bg-app:#fff;--surface:#fff;--surface-2:#f7f7f8;--surface-3:#efeff2;--surface-rail:#fafafa;--surface-panel:#fff;--surface-hover:#f3f3f5;--text:#000;--text-muted:#6b7280;--text-dim:#9ca3af;--text-inverse:#fff;--accent:#0f5eef;--accent-soft:#b0e9fd;--accent-soft-strong:#7fd4f8;--accent-on:#fff;--border:#e5e7eb;--border-strong:#d4d4d8;--border-dashed:#0000000f;--divider:#ececef;--success:#10b981;--success-soft:#d1fae5;--success-text:#065f46;--warning:#f59e0b;--warning-soft:#fef3c7;--warning-text:#92400e;--danger:#ef4444;--danger-soft:#fee2e2;--danger-text:#991b1b;--info:#3b82f6;--info-soft:#dbeafe;--info-text:#1e40af;--chart-line:#0f5eef;--chart-area:#0f5eef0f;--chart-grid:#0000000f;--chart-tooltip-bg:#0f5eef;--chart-tooltip-fg:#fff;--shadow-app:0 1px 2px #0000000a, 0 24px 60px #0000000d;--shadow-card:0 1px 2px #00000008;--shadow-chip:0 1px 2px #0000000a;--shadow-pop:0 8px 24px #00000014, 0 2px 8px #0000000a;--radius-xs:6px;--radius-sm:8px;--radius:10px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-pill:999px;--rail-w:76px;--panel-w:296px;--gutter:14px;--background:var(--bg-app);--foreground:var(--text);--card:var(--surface);--card-foreground:var(--text);--popover:var(--surface);--popover-foreground:var(--text);--primary:var(--accent);--primary-foreground:var(--accent-on);--secondary:var(--surface-2);--secondary-foreground:var(--text);--muted:var(--surface-2);--muted-foreground:var(--text-muted);--accent-fg:var(--text);--destructive:var(--danger);--destructive-foreground:var(--text-inverse);--input:var(--border);--ring:var(--accent)}.dark .v2-app{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-page:#08080b;--bg-app:#141417;--surface:#18181b;--surface-2:#1f1f23;--surface-3:#26262b;--surface-rail:#141417;--surface-panel:#18181b;--surface-hover:#232328;--text:#fafafa;--text-muted:#a1a1aa;--text-dim:#71717a;--text-inverse:#0a0a0a;--accent:#4b86f4;--accent-soft:#0a2540;--accent-soft-strong:#143866;--accent-on:#fff;--border:#27272a;--border-strong:#3f3f46;--border-dashed:#ffffff14;--divider:#222226;--success:#34d399;--success-soft:#064e3b;--success-text:#6ee7b7;--warning:#fbbf24;--warning-soft:#422006;--warning-text:#fcd34d;--danger:#f87171;--danger-soft:#450a0a;--danger-text:#fca5a5;--info:#60a5fa;--info-soft:#1e3a8a;--info-text:#93c5fd;--chart-line:#4b86f4;--chart-area:#4b86f41a;--chart-grid:#ffffff14;--chart-tooltip-bg:#4b86f4;--chart-tooltip-fg:#fff;--shadow-app:0 1px 2px #0006, 0 24px 60px #0000008c;--shadow-card:0 1px 2px #0000004d;--shadow-chip:0 1px 2px #00000059;--shadow-pop:0 8px 24px #0009, 0 2px 8px #0006}.v2-app{font-family:var(--font);background:var(--bg-page);color:var(--text);letter-spacing:-.005em;min-height:100vh;padding:var(--gutter);font-size:14px;line-height:1.5}.v2-app svg{flex:none}.v2-app input,.v2-app textarea,.v2-app select,.v2-app button{font-family:inherit}.v2-app input:focus-visible,.v2-app textarea:focus-visible,.v2-app select:focus-visible,.v2-app button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.v2-app ::selection{background:var(--accent);color:var(--accent-on)}.v2-app .app{grid-template-columns:var(--rail-w) var(--panel-w) 1fr;height:calc(100vh - calc(var(--gutter) * 2));background:var(--bg-app);border-radius:var(--radius-xl);box-shadow:var(--shadow-app);display:grid;position:relative;overflow:hidden}.v2-app .rail{background:var(--surface-rail);border-right:1px solid var(--divider);z-index:20;flex-direction:column;align-items:center;gap:12px;padding:18px 0;display:flex;position:relative}.v2-app .rail-brand{width:36px;height:36px;color:var(--accent-on);letter-spacing:-.02em;background:0 0;border-radius:10px;place-items:center;margin-bottom:6px;font-size:14px;font-weight:800;display:grid}.v2-app .rail-brand img{object-fit:contain;width:22px;height:22px;display:block}.v2-app .rail-chip{background:var(--surface);border:1px solid var(--border);width:48px;height:48px;color:var(--text-muted);box-shadow:var(--shadow-chip);cursor:pointer;border-radius:12px;place-items:center;text-decoration:none;transition:background .12s,color .12s,border-color .12s,transform .12s;display:grid;position:relative}.v2-app .rail-chip:hover{background:var(--surface-2);color:var(--text);transform:translateY(-1px)}.v2-app .rail-chip.is-active{background:var(--accent);color:var(--accent-on);border-color:#0000;box-shadow:0 4px 10px #0000001f}.v2-app .rail-chip svg{stroke-width:1.75px;width:20px;height:20px}.v2-app .rail-chip .badge{border-radius:var(--radius-pill);background:var(--success);color:#fff;border:2px solid var(--surface-rail);place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;display:grid;position:absolute;top:-4px;right:-4px}.v2-app .rail-chip .tip{background:var(--chart-tooltip-bg);color:var(--chart-tooltip-fg);border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;z-index:50;padding:5px 9px;font-size:12px;font-weight:600;transition:opacity .12s;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.v2-app .rail-chip:hover .tip{opacity:1}.v2-app .rail-spacer{flex:1}.v2-app .panel{background:var(--surface-panel);border-right:1px solid var(--divider);flex-direction:column;gap:14px;padding:18px 14px 14px;display:flex;overflow-y:auto}.v2-app .panel-search{position:relative}.v2-app .panel-search input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:36px;color:var(--text);padding:0 42px 0 34px;font-size:13.5px;transition:background .15s,border-color .15s}.v2-app .panel-search input::placeholder{color:var(--text-dim)}.v2-app .panel-search input:focus{background:var(--surface);border-color:var(--border-strong);outline:none}.v2-app .panel-search .search-icon{color:var(--text-dim);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.v2-app .panel-search .kbd{font-family:var(--font-mono);background:var(--surface);border:1px solid var(--border);color:var(--text-muted);border-radius:5px;padding:2px 6px;font-size:11px;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.v2-app .panel-back{border-radius:var(--radius);height:32px;color:var(--text-muted);cursor:pointer;align-items:center;gap:8px;margin:0 -4px 4px;padding:0 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.v2-app .panel-back:hover{background:var(--surface-2);color:var(--text)}.v2-app .panel-back svg{width:14px;height:14px}.v2-app .panel-divider{background:var(--divider);height:1px;margin:4px 0 6px}.v2-app .panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:8px 0 4px;padding:0 4px;font-size:11px;font-weight:600}.v2-app .panel-list{flex-direction:column;gap:1px;display:flex}.v2-app .panel-item{border-radius:var(--radius);height:38px;color:var(--text-muted);cursor:pointer;align-items:center;gap:10px;margin:0 -4px;padding:0 10px;font-size:14px;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.v2-app .panel-item svg{stroke-width:1.75px;width:16px;height:16px;color:var(--text-dim);flex-shrink:0}.v2-app .panel-item:hover{background:var(--surface-2);color:var(--text)}.v2-app .panel-item:hover svg{color:var(--text-muted)}.v2-app .panel-item.is-active{background:var(--accent-soft);color:var(--text);font-weight:600}.v2-app .panel-item.is-active svg{color:var(--text)}.v2-app .panel-item .count{font-size:11.5px;font-family:var(--font-mono);color:var(--text-dim);margin-left:auto;font-weight:500}.v2-app .panel-item.is-active .count{color:var(--text-muted)}.v2-app .panel-footer{border-top:1px solid var(--divider);align-items:center;gap:10px;margin-top:auto;padding-top:12px;display:flex}.v2-app .panel-footer .avatar{border-radius:var(--radius-pill);background:var(--accent);width:30px;height:30px;color:var(--accent-on);flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.v2-app .panel-footer .who{flex-direction:column;min-width:0;display:flex}.v2-app .panel-footer .who .name{font-size:13px;font-weight:600}.v2-app .panel-footer .who .role{color:var(--text-dim);font-size:11.5px}.v2-app .main{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.v2-app .tabs{border-bottom:1px solid var(--divider);align-items:center;gap:4px;padding:10px 24px 0;display:flex}.v2-app .tab{border-radius:var(--radius) var(--radius) 0 0;height:36px;color:var(--text-muted);cursor:pointer;border:1px solid #0000;border-bottom:none;align-items:center;gap:8px;max-width:220px;padding:0 12px;font-size:13px;display:flex;position:relative;top:1px}.v2-app .tab svg{flex-shrink:0;width:14px;height:14px}.v2-app .tab .tab-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.v2-app .tab .tab-close{width:18px;height:18px;color:var(--text-dim);opacity:.6;border-radius:4px;place-items:center;transition:opacity .12s,background .12s,color .12s;display:grid}.v2-app .tab:hover .tab-close,.v2-app .tab.is-active .tab-close{opacity:1}.v2-app .tab .tab-close:hover{background:var(--surface-2);color:var(--text);opacity:1}.v2-app .tab.is-active{background:var(--bg-app);color:var(--text);border-color:var(--divider);font-weight:600}.v2-app .tab-new{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-dim);cursor:pointer;place-items:center;margin-left:2px;display:grid}.v2-app .tab-new:hover{background:var(--surface-2);color:var(--text)}.v2-app .tab-new svg{width:14px;height:14px}.v2-app .topbar{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-end;gap:16px;padding:22px 28px 18px;display:flex}.v2-app .topbar .breadcrumb{color:var(--text-dim);margin-bottom:4px;font-size:12.5px}.v2-app .topbar h1{letter-spacing:-.025em;align-items:center;gap:12px;font-size:28px;font-weight:700;line-height:1.15;display:flex}.v2-app .topbar h1 .sub{color:var(--text-muted);letter-spacing:0;font-size:14px;font-weight:500}.v2-app .topbar-actions{align-items:center;gap:6px;display:flex}.v2-app .icon-btn{border-radius:var(--radius);width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;transition:background .12s,color .12s,border-color .12s;display:grid;position:relative}.v2-app .icon-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border)}.v2-app .icon-btn svg{stroke-width:1.75px;width:18px;height:18px}.v2-app .icon-btn .dot{background:var(--danger);border-radius:var(--radius-pill);border:2px solid var(--bg-app);width:7px;height:7px;position:absolute;top:8px;right:8px}.v2-app .avatar-pill{border-radius:var(--radius-pill);background:var(--accent);width:36px;height:36px;color:var(--accent-on);cursor:pointer;place-items:center;margin-left:4px;font-size:12px;font-weight:700;display:grid}.v2-app .content{flex:1;padding:24px 28px 32px;overflow-y:auto}.v2-app .btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .12s,color .12s,border-color .12s,transform .12s;display:inline-flex}.v2-app .btn:active{transform:translateY(1px)}.v2-app .btn svg{stroke-width:2px;width:15px;height:15px}.v2-app .btn-primary{background:var(--accent);color:var(--accent-on)}.v2-app .btn-primary:hover{filter:brightness(1.08)}.v2-app .btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.v2-app .btn-secondary:hover{background:var(--surface-2);border-color:var(--border-strong)}.v2-app .btn-ghost{color:var(--text-muted);background:0 0}.v2-app .btn-ghost:hover{background:var(--surface-2);color:var(--text)}.v2-app .btn-danger{background:var(--danger-soft);color:var(--danger-text)}.v2-app .btn-danger:hover{filter:brightness(.95)}.v2-app .btn-sm{gap:4px;height:30px;padding:0 10px;font-size:12.5px}.v2-app .btn-sm svg{width:13px;height:13px}.v2-app .card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:18px}.v2-app .card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.v2-app .card-title{color:var(--text);font-size:14px;font-weight:600}.v2-app .card-link{color:var(--text-muted);cursor:pointer;align-items:center;gap:4px;font-size:12.5px;text-decoration:none;display:inline-flex}.v2-app .card-link:hover{color:var(--text)}.v2-app .card-link svg{width:12px;height:12px}.v2-app .kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}@media (max-width:1100px){.v2-app .kpi-grid{grid-template-columns:1fr 1fr}}.v2-app .kpi{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-card);min-width:0;padding:18px 20px}.v2-app .kpi .label{color:var(--text-muted);margin-bottom:6px;font-size:12.5px;font-weight:500}.v2-app .kpi .value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-bottom:8px;font-size:clamp(20px,2.2vw,28px);font-weight:700;line-height:1.1}.v2-app .kpi .change{align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.v2-app .kpi .change .pct{font-variant-numeric:tabular-nums;align-items:center;gap:3px;display:inline-flex}.v2-app .kpi .change.up .pct{color:var(--success-text)}.v2-app .kpi .change.down .pct{color:var(--danger-text)}.dark .v2-app .kpi .change.up .pct{color:var(--success)}.dark .v2-app .kpi .change.down .pct{color:var(--danger)}.v2-app .kpi .change .note{color:var(--text-muted)}.v2-app .chart-card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px 22px}.v2-app .chart-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.v2-app .chart-head .sel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);cursor:pointer;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.v2-app .chart-head .sel svg{width:12px;height:12px;color:var(--text-muted)}.v2-app .chart-value{letter-spacing:-.025em;font-variant-numeric:tabular-nums;margin-bottom:4px;font-size:30px;font-weight:700}.v2-app .chart-value .badge{background:var(--success-soft);color:var(--success-text);border-radius:var(--radius-pill);vertical-align:middle;margin-left:8px;padding:3px 8px;font-size:12px;font-weight:600}.dark .v2-app .chart-value .badge{color:var(--success)}.v2-app .chart-wrap{margin-top:12px;position:relative}.v2-app .chart-svg{width:100%;height:240px;display:block;overflow:visible}.v2-app .chart-recharts{width:100%;height:240px;margin-top:12px}.v2-app .chart-recharts svg{overflow:visible}.v2-app .chart-recharts .recharts-surface:focus,.v2-app .chart-recharts svg:focus{outline:none}.v2-app .chart-tip{background:var(--chart-tooltip-bg);color:var(--chart-tooltip-fg);border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);flex-direction:column;gap:1px;padding:6px 10px;font-size:12px;display:flex}.v2-app .chart-tip-label{opacity:.75;font-weight:500}.v2-app .chart-tip-value{font-variant-numeric:tabular-nums;font-weight:700}.v2-app .chart-tooltip{background:var(--chart-tooltip-bg);color:var(--chart-tooltip-fg);border-radius:var(--radius-sm);pointer-events:none;font-variant-numeric:tabular-nums;padding:5px 10px;font-size:12.5px;font-weight:600;position:absolute;transform:translate(-50%,-130%)}.v2-app .chart-tooltip:after{content:"";background:var(--chart-tooltip-bg);width:8px;height:8px;position:absolute;bottom:-4px;left:50%;transform:translate(-50%)rotate(45deg)}.v2-app .table-card{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.v2-app .table-loadmore{border-top:1px solid var(--divider);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.v2-app .table-toolbar{border-bottom:1px solid var(--divider);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.v2-app .table-toolbar .left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.v2-app .table-toolbar .right{align-items:center;gap:8px;display:flex}.v2-app .search-input{width:240px;position:relative}.v2-app .search-input input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:34px;color:var(--text);padding:0 12px 0 34px;font-size:13px}.v2-app .search-input input::placeholder{color:var(--text-dim)}.v2-app .search-input svg{color:var(--text-dim);width:14px;height:14px;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.v2-app .chip-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);align-self:flex-start;gap:2px;width:max-content;padding:3px;display:inline-flex}.v2-app .chip-row .chip{border-radius:var(--radius-pill);height:26px;color:var(--text-muted);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:500;display:inline-flex}.v2-app .chip-row .chip.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-chip)}.dark .v2-app .chip-row .chip.is-active{background:var(--accent-soft);color:var(--accent);box-shadow:none}.v2-app .chip-row .chip .count{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.v2-app .bulk-bar{background:var(--accent-soft);border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:10px 20px;font-size:13px;display:none}.v2-app .bulk-bar.is-on{display:flex}.v2-app .bulk-bar .selected{font-weight:600}.v2-app .bulk-bar .actions{gap:6px;display:flex}.v2-app table.data{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}.v2-app table.data thead th{background:var(--surface-2);text-align:left;color:var(--text-muted);border-bottom:1px solid var(--divider);white-space:nowrap;padding:12px 16px;font-size:12.5px;font-weight:600}.v2-app table.data thead th .sort{color:var(--text-dim);vertical-align:middle;flex-direction:column;margin-left:4px;line-height:.7;display:inline-flex}.v2-app table.data thead th .sort .up,.v2-app table.data thead th .sort .dn{opacity:.55;font-size:9px}.v2-app table.data thead th.sortable{cursor:pointer}.v2-app table.data thead th.sortable:hover{color:var(--text)}.v2-app table.data thead th.num,.v2-app table.data tbody td.num{text-align:right;font-variant-numeric:tabular-nums}.v2-app table.data tbody td{border-bottom:1px solid var(--divider);vertical-align:middle;color:var(--text);padding:14px 16px}.v2-app table.data tbody tr:last-child td{border-bottom:none}.v2-app table.data tbody tr:hover td{background:var(--surface-2)}.v2-app table.data.is-compact thead th,.v2-app table.data.is-compact tbody td{padding:8px 16px}.v2-app table.data.v2-doc-lines thead th,.v2-app table.data.v2-doc-lines tbody td{padding:6px 12px}.v2-app table.data.v2-doc-lines .v2-line-cell .input,.v2-app table.data.v2-doc-lines .v2-line-cell .select,.v2-app table.data.v2-doc-lines .v2-line-cell .combobox-trigger,.v2-app table.data.v2-doc-lines tbody td input.input,.v2-app table.data.v2-doc-lines tbody td .combobox,.v2-app table.data.v2-doc-lines tbody td .combobox-trigger{box-sizing:border-box;height:32px;min-height:32px;font-size:13.5px}.v2-app table.data.v2-doc-lines .v2-line-cell .combobox{height:32px}.v2-app table.data.v2-doc-lines .v2-line-cell>label{display:none}.v2-app table.data.v2-doc-lines .v2-line-cell .field{margin-top:0}.v2-app .v2-doc-lines-add{height:28px;color:var(--text-muted);margin-top:4px;padding:4px 8px;font-size:13px}.v2-app .v2-doc-lines-add:hover{color:var(--text)}.v2-app .v2-datepicker{width:100%;position:relative}.v2-app .v2-datepicker__input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;height:36px;padding:0 4px 0 12px;transition:background .12s,border-color .12s;display:flex}.v2-app .v2-datepicker__input:focus-within{background:var(--surface);border-color:var(--accent)}.v2-app .v2-datepicker__input.is-disabled{opacity:.6;pointer-events:none}.v2-app .v2-datepicker__text{color:var(--text);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:1;height:100%;font-size:14px}.v2-app input.v2-datepicker__text:focus,.v2-app input.v2-datepicker__text:focus-visible,.v2-app .v2-datepicker__chev:focus,.v2-app .v2-datepicker__chev:focus-visible,.v2-app .v2-cal__navbtn:focus,.v2-app .v2-cal__navbtn:focus-visible,.v2-app .v2-cal__day-btn:focus,.v2-app .v2-cal__day-btn:focus-visible{border-radius:6px;outline:none}.v2-app .v2-datepicker__text::placeholder{color:var(--text-dim)}.v2-app .v2-datepicker__chev{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.v2-app .v2-datepicker__chev:hover{background:var(--surface-3);color:var(--text)}.v2-app .v2-datepicker__popover{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);min-width:260px;padding:12px;position:absolute;top:calc(100% + 6px);left:0}.v2-app .v2-cal{--rdp-cell-size:32px;color:var(--text);font-size:13px;position:relative}.v2-app .v2-cal__months,.v2-app .v2-cal__month{flex-direction:column;display:flex}.v2-app .v2-cal__caption{align-items:center;height:28px;margin-bottom:6px;padding:0 4px;display:flex}.v2-app .v2-cal__caption-label{text-transform:capitalize;color:var(--text);font-size:13px;font-weight:600}.v2-app .v2-cal__nav{align-items:center;gap:2px;height:28px;display:flex;position:absolute;top:0;right:0}.v2-app .v2-cal__navbtn{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.v2-app .v2-cal__navbtn:hover{background:var(--surface-2);color:var(--text)}.v2-app .v2-cal__grid{border-collapse:collapse;width:100%;margin:0}.v2-app .v2-cal__weekdays{grid-template-columns:repeat(7,1fr);display:grid}.v2-app .v2-cal__weekday{text-align:center;color:var(--text-dim);letter-spacing:.04em;padding:4px 0;font-size:10.5px;font-weight:500}.v2-app .v2-cal__week{grid-template-columns:repeat(7,1fr);display:grid}.v2-app .v2-cal__day{padding:0;position:relative}.v2-app .v2-cal__day-btn{width:100%;height:28px;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:12.5px;display:inline-flex}.v2-app .v2-cal__day-btn:hover{background:var(--surface-2)}.v2-app .v2-cal__day.is-today .v2-cal__day-btn{color:var(--accent);font-weight:700}.v2-app .v2-cal__day.is-selected .v2-cal__day-btn{background:var(--accent);color:var(--accent-on);font-weight:600}.v2-app .v2-cal__day.is-outside .v2-cal__day-btn{color:var(--text-dim)}.v2-app .v2-cal__day.is-disabled .v2-cal__day-btn{opacity:.4;cursor:not-allowed}.v2-app .v2-cal__day.is-hidden{visibility:hidden}.v2-app table.data tbody td.mono{font-family:var(--font-mono);color:var(--text-muted);font-size:12.5px}.v2-app table.data tbody td .row-title{font-weight:600}.v2-app table.data tbody td .row-sub{color:var(--text-dim);margin-top:2px;font-size:12px}.v2-app table.data .checkbox{border:1.5px solid var(--border-strong);background:var(--surface);cursor:pointer;vertical-align:middle;border-radius:4px;place-items:center;width:16px;height:16px;display:inline-grid}.v2-app table.data .checkbox.is-checked{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.v2-app table.data .checkbox svg{width:11px;height:11px;display:none}.v2-app table.data .checkbox.is-checked svg{display:block}.v2-app table.data .row-menu{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;place-items:center;margin-left:auto;display:grid}.v2-app table.data .row-menu:hover{background:var(--surface-3);color:var(--text)}.v2-app table.data .row-menu svg{width:16px;height:16px}.v2-app table.data .row-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.v2-app table.data .row-pay-action{border-radius:var(--radius-sm);background:var(--accent-soft,var(--surface-2));height:26px;color:var(--accent,var(--text));letter-spacing:.01em;cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .12s,color .12s,border-color .12s,transform .12s;display:inline-flex}.v2-app table.data .row-pay-action:hover{background:var(--accent);color:var(--accent-on,#fff);border-color:var(--accent)}.v2-app table.data .row-pay-action:active{transform:translateY(1px)}.v2-app table.data .row-pay-action svg{stroke-width:2px;width:13px;height:13px}.v2-app .table-footer{border-top:1px solid var(--divider);color:var(--text-muted);justify-content:space-between;align-items:center;padding:12px 20px;font-size:12.5px;display:flex}.v2-app .table-footer .pager{gap:4px;display:flex}.v2-app .table-footer .pager .pg{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;place-items:center;font-size:12.5px;display:grid}.v2-app .table-footer .pager .pg.is-active{background:var(--accent);color:var(--accent-on)}.v2-app .table-footer .pager .pg:hover:not(.is-active){background:var(--surface-2);color:var(--text)}.v2-app .pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:4px;padding:3px 10px;font-size:11.5px;font-weight:600;display:inline-flex}.v2-app .pill-success{background:var(--success-soft);color:var(--success-text)}.dark .v2-app .pill-success{color:var(--success)}.v2-app .pill-warning{background:var(--warning-soft);color:var(--warning-text)}.dark .v2-app .pill-warning{color:var(--warning)}.v2-app .pill-danger{background:var(--danger-soft);color:var(--danger-text)}.dark .v2-app .pill-danger{color:var(--danger)}.v2-app .pill-info{background:var(--info-soft);color:var(--info-text)}.dark .v2-app .pill-info{color:var(--info)}.v2-app .pill-neutral{background:var(--surface-2);color:var(--text-muted)}.v2-app .grid-2{grid-template-columns:1.6fr 1fr;gap:14px;margin-bottom:18px;display:grid}@media (max-width:1100px){.v2-app .grid-2{grid-template-columns:1fr}}.v2-app .list-row{border-bottom:1px solid var(--divider);align-items:center;gap:12px;padding:10px 0;display:flex}.v2-app .list-row:last-child{border-bottom:none}.v2-app .list-row .avatar{border-radius:var(--radius-pill);background:var(--surface-2);width:32px;height:32px;color:var(--text-muted);flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.v2-app .list-row .body{flex:1;min-width:0}.v2-app .list-row .body .name{font-size:13.5px;font-weight:600}.v2-app .list-row .body .meta{color:var(--text-dim);margin-top:2px;font-size:12px}.v2-app .list-row .progress{border-radius:var(--radius-pill);background:var(--surface-2);height:4px;margin-top:6px;overflow:hidden}.v2-app .list-row .progress .fill{background:var(--info);border-radius:var(--radius-pill);height:100%}.v2-app .list-row .num{text-align:right;font-variant-numeric:tabular-nums;font-size:13.5px;font-weight:600}.v2-app .list-row .num .pct{color:var(--text-dim);margin-left:4px;font-size:11.5px;font-weight:500}.v2-app .form-grid{grid-template-columns:180px 1fr;align-items:start;gap:14px 18px;display:grid}.v2-app .form-grid label{color:var(--text-muted);padding-top:10px;font-size:13px;font-weight:500}.v2-app .form-grid .field{flex-direction:column;gap:4px;display:flex}.v2-app .input,.v2-app .select,.v2-app .textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:36px;color:var(--text);padding:0 12px;font-size:14px;transition:background .12s,border-color .12s}.v2-app .input:focus,.v2-app .select:focus,.v2-app .textarea:focus{background:var(--surface);border-color:var(--accent);outline:none}.v2-app .textarea{resize:vertical;height:auto;min-height:80px;padding:10px 12px;line-height:1.5}.v2-app .field-hint{color:var(--text-dim);font-size:12px}.v2-app .field-error{color:var(--danger-text);align-items:center;gap:5px;margin-top:2px;font-size:12px;font-weight:500;display:inline-flex}.dark .v2-app .field-error{color:var(--danger)}.v2-app .field-error svg{width:13px;height:13px}.v2-app .combobox{position:relative}.v2-app .combobox-trigger{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;height:36px;color:var(--text);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;padding:0 12px;font-size:14px;display:flex}.v2-app .combobox-trigger.is-empty{color:var(--text-dim)}.v2-app .combobox-trigger svg{width:14px;height:14px;color:var(--text-dim)}.v2-app .combobox-popover{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-pop);padding:4px;display:none;position:absolute;top:calc(100% + 4px);left:0;right:0}.v2-app .combobox.is-open .combobox-popover{display:block}.v2-app .combobox-search{border-bottom:1px solid var(--divider);margin:-4px -4px 4px;padding:6px;position:relative}.v2-app .combobox-search input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:30px;color:var(--text);padding:0 8px 0 30px;font-size:13px}.v2-app .combobox-search svg{width:13px;height:13px;color:var(--text-dim);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.v2-app .combobox-list{max-height:240px;overflow-y:auto}.v2-app .combobox-option{border-radius:var(--radius-sm);height:34px;color:var(--text);cursor:pointer;align-items:center;gap:8px;padding:0 10px;font-size:13.5px;display:flex}.v2-app .combobox-option:hover,.v2-app .combobox-option.is-focus{background:var(--surface-2)}.v2-app .combobox-option .meta{color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono);margin-left:auto}.v2-app .combobox-option-create{border-top:1px solid var(--divider);color:var(--accent);margin-top:4px;padding-top:8px;font-weight:500}.v2-app .combobox-option-create svg{color:var(--accent)}.v2-app .combobox-create{padding:8px}.v2-app .combobox-create-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;height:32px;color:var(--text);margin-bottom:6px;padding:0 8px;font-size:13.5px}.v2-app .combobox-create-error{color:var(--danger);align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.v2-app .combobox-create-actions{justify-content:flex-end;gap:6px;display:flex}.v2-app .receipt{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-lg);max-width:760px;box-shadow:var(--shadow-card);margin:0 auto;padding:36px 40px}.v2-app .receipt-head{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:flex-start;margin-bottom:22px;padding-bottom:20px;display:flex}.v2-app .receipt-head .org .name{font-size:16px;font-weight:700}.v2-app .receipt-head .org .meta{color:var(--text-muted);margin-top:4px;font-size:12px;line-height:1.6}.v2-app .receipt-head .status .num{letter-spacing:-.02em;text-align:right;font-size:26px;font-weight:700}.v2-app .receipt-head .status .sub{color:var(--text-muted);text-align:right;margin-top:2px;font-size:13px}.v2-app .receipt-head .status .pill-wrap{justify-content:flex-end;margin-top:8px;display:flex}.v2-app .receipt-parties{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;display:grid}.v2-app .receipt-parties .party .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;font-size:11px}.v2-app .receipt-parties .party .name{font-size:15px;font-weight:600}.v2-app .receipt-parties .party .meta{color:var(--text-muted);margin-top:2px;font-size:12px}.v2-app .receipt-lines{border-collapse:collapse;width:100%;margin-bottom:18px}.v2-app .receipt-lines th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);text-align:left;border-bottom:1px solid var(--divider);padding:10px 8px;font-size:11px;font-weight:600}.v2-app .receipt-lines th.num,.v2-app .receipt-lines td.num{text-align:right;font-variant-numeric:tabular-nums}.v2-app .receipt-lines td{border-bottom:1px solid var(--divider);padding:14px 8px;font-size:14px}.v2-app .receipt-lines td .sku{color:var(--text-dim);font-size:11.5px;font-family:var(--font-mono);margin-top:2px}.v2-app .receipt-totals{flex-direction:column;align-items:flex-end;gap:3px;padding-top:0;display:flex}.v2-app .receipt-totals .row{justify-content:space-between;width:260px;font-size:13px;line-height:1.4;display:flex}.v2-app .receipt-totals .row .lbl{color:var(--text-muted)}.v2-app .receipt-totals .row .val{font-variant-numeric:tabular-nums}.v2-app .receipt-totals .row.grand{border-top:1px solid var(--divider);margin-top:2px;padding-top:5px;font-size:15px;font-weight:700}.v2-app .receipt-footer{border-top:1px dashed var(--border-dashed);color:var(--text-muted);justify-content:space-between;margin-top:28px;padding-top:20px;font-size:12px;display:flex}.v2-app .posting-effects{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:18px;padding:16px 20px}.v2-app .posting-effects .row{border-bottom:1px dashed var(--border-dashed);align-items:center;gap:12px;padding:10px 0;font-size:13px;display:flex}.v2-app .posting-effects .row:last-child{border-bottom:none}.v2-app .posting-effects .sign{border-radius:var(--radius-sm);background:var(--success-soft);width:22px;height:22px;color:var(--success-text);place-items:center;font-size:13px;font-weight:700;display:inline-grid}.v2-app .posting-effects .sign.neg{background:var(--danger-soft);color:var(--danger-text)}.dark .v2-app .posting-effects .sign{color:var(--success)}.dark .v2-app .posting-effects .sign.neg{color:var(--danger)}.v2-app .posting-effects .reg{font-family:var(--font-mono);color:var(--text-dim);font-size:11.5px}.v2-app .posting-effects .row .amt{font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.v2-app .attach-list{flex-direction:column;gap:8px;display:flex}.v2-app .attach{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.v2-app .attach .ico{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);place-items:center;display:grid}.v2-app .attach .info{flex:1;min-width:0}.v2-app .attach .info .name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.v2-app .attach .info .meta{color:var(--text-dim);margin-top:2px;font-size:11.5px}.v2-app .attach .x{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-dim);cursor:pointer;opacity:0;place-items:center;transition:opacity .12s;display:grid}.v2-app .attach:hover .x{opacity:1}.v2-app .attach .x:hover{background:var(--surface);color:var(--text)}.v2-app .attach .x svg{width:14px;height:14px}.v2-app .detail-grid{grid-template-columns:1fr 320px;align-items:start;gap:18px;display:grid}.v2-app .v2-toggle-switch{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;appearance:none;border-radius:999px;flex-shrink:0;width:34px;height:20px;padding:0;position:relative}.v2-app .v2-toggle-switch:after{content:"";background:var(--text-muted);border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:1px;left:1px}.v2-app .v2-toggle-switch.on{background:var(--accent);border-color:var(--accent)}.v2-app .v2-toggle-switch.on:after{background:#fff;transform:translate(14px)}.v2-app .v2-linked-control{align-items:center;gap:10px;width:100%;height:36px;display:flex}.v2-app .v2-linked-picker{flex:1;min-width:0;height:36px}.v2-app .v2-linked-empty-inline{color:var(--text-muted);font-size:12.5px}.v2-app .v2-linked-amount{font-variant-numeric:tabular-nums;color:var(--text);text-align:right;flex-shrink:0;min-width:96px;font-size:14px;font-weight:600}.v2-app .detail-grid>aside.sticky-rail{flex-direction:column;align-self:start;gap:8px;margin:0;display:flex}.v2-app .detail-grid>aside.sticky-rail>*{margin-top:0!important;margin-bottom:0!important}@media (max-width:1200px){.v2-app .detail-grid{grid-template-columns:1fr}}.v2-app .action-bar{background:var(--surface);border:1px solid var(--divider);border-radius:var(--radius-md);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;margin-bottom:14px;padding:12px 16px;display:flex}.v2-app .action-bar .left,.v2-app .action-bar .right{align-items:center;gap:8px;display:flex}.v2-app .action-bar .right{color:var(--text-dim);font-size:12px}.v2-app .empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:80px 40px;display:flex}.v2-app .empty .glyph{border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--border);width:64px;height:64px;color:var(--text-muted);place-items:center;margin-bottom:18px;display:grid}.v2-app .empty .glyph svg{stroke-width:1.5px;width:28px;height:28px}.v2-app .empty h2{letter-spacing:-.02em;margin-bottom:8px;font-size:20px;font-weight:700}.v2-app .empty p{color:var(--text-muted);max-width:480px;margin-bottom:18px;font-size:14px;line-height:1.6}.v2-app .scrim{z-index:100;background:#0006;display:none;position:fixed;inset:0}.dark .v2-app .scrim{background:#000000a6}.v2-app .scrim.is-open{justify-content:center;align-items:center;display:flex}.v2-app .modal{background:var(--surface);border-radius:var(--radius-lg);width:calc(100% - 32px);max-width:420px;box-shadow:var(--shadow-pop);padding:24px}.v2-app .modal h3{margin-bottom:6px;font-size:16px;font-weight:700}.v2-app .modal p{color:var(--text-muted);margin-bottom:20px;font-size:13.5px;line-height:1.6}.v2-app .modal .actions{justify-content:flex-end;gap:8px;display:flex}.v2-app .drawer{background:var(--surface);border-left:1px solid var(--divider);width:380px;max-width:100%;box-shadow:var(--shadow-pop);z-index:110;flex-direction:column;transition:transform .2s;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.v2-app .drawer.is-open{transform:translate(0)}.v2-app .drawer-head{border-bottom:1px solid var(--divider);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.v2-app .drawer-head h3{font-size:15px;font-weight:700}.v2-app .drawer-body{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex;overflow-y:auto}.v2-app .drawer-section .lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-bottom:8px;font-size:12px;font-weight:600}.v2-app .drawer-foot{border-top:1px solid var(--divider);justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.v2-app .spacer{height:18px}.v2-app .muted{color:var(--text-muted)}.v2-app .dim{color:var(--text-dim)}.v2-app .mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.v2-app .row-flex{align-items:center;gap:8px;display:flex}.v2-app .between{justify-content:space-between;align-items:center;display:flex}.v2-app dialog{max-height:90vh;margin:0;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.v2-app dialog::backdrop{background:#00000073}
