/* ============================================================
   VEZRA Dashboard — Redesigned, Functional
   ============================================================ */

/* --- Layout --- */
.app{display:flex;min-height:100vh}

/* --- Sidebar --- */
.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;z-index:50;overflow-y:auto;border-right:1px solid rgba(255,255,255,0.06)}
.sidebar-head{padding:24px 22px 18px;display:flex;align-items:center;justify-content:center}
.sidebar-logo-mark{width:42px;height:42px;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;border-radius:10px}
.sidebar-logo-mark img{height:42px;width:auto;max-width:none;display:block;object-fit:contain;object-position:left center;flex:0 0 auto}

.sidebar-nav{flex:1;padding:0 10px}
.sidebar-group{margin-bottom:20px}
.sidebar-group-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--navy-500);padding:0 12px;margin-bottom:6px}

.sidebar-link{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:7px;font-size:13px;font-weight:500;color:var(--sidebar-text);cursor:pointer;transition:all 0.15s ease;border-left:2px solid transparent;margin-bottom:1px;position:relative}
.sidebar-link:hover{color:var(--sidebar-text-active);background:var(--sidebar-hover)}
.sidebar-link.active{color:var(--sidebar-text-active);background:var(--sidebar-active);border-left-color:var(--sidebar-active-border)}
.sidebar-link svg{width:18px;height:18px;opacity:0.6;flex-shrink:0}
.sidebar-link.active svg{opacity:1}

.sidebar-foot{padding:16px;border-top:1px solid rgba(255,255,255,0.06)}
.sidebar-user{display:flex;align-items:center;gap:10px;padding:8px;border-radius:7px;cursor:pointer;transition:background 0.15s}
.sidebar-user:hover{background:var(--sidebar-hover)}
.sidebar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--copper),var(--copper-light));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}
.sidebar-user-info{flex:1}
.sidebar-user-name{font-size:13px;font-weight:600;color:#fff}
.sidebar-user-role{font-size:10px;color:var(--navy-400)}

/* --- Main --- */
.main{margin-left:var(--sidebar-w);flex:1;background:var(--surface);min-height:100vh}

/* Top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:var(--surface-2);border-bottom:1px solid var(--border);position:relative}
.topbar-left{display:flex;align-items:center;gap:10px}
.mobile-toggle{display:none}
.topbar-left h1{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-0.03em}
.topbar-left p{font-size:11px;color:var(--ink-4);margin-top:2px;letter-spacing:0.01em}
.topbar-right{display:flex;align-items:center;gap:8px}
.search-box{display:flex;align-items:center;gap:8px;padding:7px 14px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);min-width:200px;transition:border-color 0.2s}
.search-box:focus-within{border-color:var(--copper);box-shadow:0 0 0 3px var(--copper-bg)}
.search-box svg{width:15px;height:15px;color:var(--ink-4);flex-shrink:0}
.search-box input{flex:1;color:var(--ink);font-size:13px}
.search-box input::placeholder{color:var(--ink-5)}
.notif-btn{position:relative;display:flex;align-items:center;justify-content:center;background:var(--surface-3);border-color:var(--border);color:var(--ink-4)}
.notif-btn:hover{background:var(--surface-2);color:var(--ink);border-color:var(--copper-border)}
.notif-dot{display:none}
.entity-toggle{display:flex;padding:2px;background:var(--surface-3);border:1px solid var(--border);border-radius:6px}
.entity-opt{padding:5px 14px;font-size:11px;font-weight:600;border-radius:4px;color:var(--ink-4);transition:all 0.15s}
.entity-opt.active{background:var(--surface-2);color:var(--ink);box-shadow:var(--shadow-sm)}

/* --- Content Area --- */
.content{padding:16px 24px}

/* Page panels — each sidebar link shows one */
.page-panel{display:none}
.page-panel.active{display:block}

/* --- Stats Row --- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}
.stat-card{padding:14px 16px;border-radius:var(--radius-lg);background:var(--surface-2);border:1px solid var(--border);transition:border-color 0.15s,box-shadow 0.15s}
.stat-card:hover{border-color:var(--border-2);box-shadow:var(--shadow-sm)}
.stat-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.stat-label{font-size:9px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em}
.stat-icon{width:28px;height:28px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center}
.stat-icon svg{width:14px;height:14px}
.stat-icon.copper{background:var(--copper-bg);color:var(--copper)}
.stat-icon.positive{background:var(--positive-bg);color:var(--positive)}
.stat-icon.info{background:var(--info-bg);color:var(--info)}
.stat-icon.warn{background:var(--warn-bg);color:var(--warn)}
.stat-icon.negative{background:rgba(239,68,68,0.1);color:var(--negative)}
.stat-val{font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-0.03em;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums}
.stat-delta{font-size:10px;font-weight:600;margin-top:2px;display:flex;align-items:center;gap:3px}
.stat-delta.up{color:var(--positive)}
.stat-delta.down{color:var(--negative)}

/* --- Panel Component --- */
.panel{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color 0.15s}
.panel:hover{border-color:var(--border-2)}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border)}
.panel-title{font-size:12px;font-weight:700;color:var(--ink);letter-spacing:-0.01em}
.panel-actions{display:flex;gap:3px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.panel-tab{padding:2px 8px;font-size:10px;font-weight:600;color:var(--ink-4);border-radius:4px;cursor:pointer;transition:all 0.15s}
.panel-tab:hover{color:var(--ink-2);background:var(--surface-3)}
.panel-tab.active{background:var(--surface-3);color:var(--ink)}
.panel-body{padding:14px 16px}
.panel-subtitle{margin:3px 0 0;font-size:11px;line-height:1.35;color:var(--ink-4)}
.trust-hero{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;margin-bottom:14px}
.trust-score-card,.trust-hero-copy,.trust-scope-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:16px}
.trust-score-card{display:flex;flex-direction:column;justify-content:space-between;min-height:150px;border-color:var(--copper-border);background:linear-gradient(180deg,var(--copper-bg),var(--surface-2))}
.trust-score-card strong{display:block;font-size:48px;line-height:1;color:var(--ink);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.trust-score-card small,.trust-hero-copy p,.trust-note,.trust-empty{font-size:12px;line-height:1.45;color:var(--ink-3);margin:6px 0 0}
.trust-hero-copy h3{margin:8px 0 0;font-size:22px;line-height:1.15;letter-spacing:-.03em;color:var(--ink)}
.trust-kicker{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--copper)}
.trust-grid{display:grid;gap:12px;margin-bottom:14px}
.trust-grid-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.trust-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.trust-scope-card{display:grid;gap:9px;min-width:0}
.trust-scope-head,.trust-scope-row,.trust-action-row,.trust-saas-row,.trust-queue-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.trust-scope-head span,.trust-metric span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4)}
.trust-scope-head strong{font-size:18px;color:var(--positive);font-variant-numeric:tabular-nums}
.trust-scope-money{font-size:24px;font-weight:900;color:var(--ink);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.trust-scope-row{font-size:11px;color:var(--ink-4)}
.trust-scope-row b{color:var(--ink);font-variant-numeric:tabular-nums}
.trust-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.trust-metric{padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);min-width:0}
.trust-metric strong{display:block;margin-top:5px;font-size:20px;line-height:1.1;color:var(--ink);letter-spacing:-.025em;font-variant-numeric:tabular-nums}
.trust-metric small{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:var(--ink-4)}
.trust-chip-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.trust-chip{display:inline-flex;align-items:center;height:24px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-1);font-size:10px;font-weight:850;color:var(--ink-3);white-space:nowrap}
.trust-queue,.trust-action-list,.trust-saas-list{display:grid;gap:9px}
.trust-queue-row,.trust-action-row,.trust-saas-row{padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1)}
.trust-queue-row strong,.trust-action-row strong,.trust-saas-row strong{display:block;font-size:12px;color:var(--ink);line-height:1.25}
.trust-queue-row span,.trust-action-row span,.trust-saas-row span{display:block;margin-top:3px;font-size:11px;line-height:1.35;color:var(--ink-4)}
.trust-queue-row small{display:block;margin-top:4px;font-size:10px;line-height:1.35;color:var(--copper);font-weight:800}
.trust-queue-row b{display:block;text-align:right;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.trust-row-action{margin-top:6px;height:26px;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--ink);font-size:10px;font-weight:850;cursor:pointer;white-space:nowrap}
.trust-row-action:hover{border-color:var(--copper-border);color:var(--copper)}
.trust-action-row b{font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.trust-sync-status{display:grid;gap:3px;margin-bottom:10px;padding:11px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1)}
.trust-sync-status strong{font-size:13px;color:var(--ink)}
.trust-sync-status span{font-size:11px;color:var(--ink-4)}
.trust-sync-status.good{border-color:rgba(34,197,94,.28);background:var(--positive-bg)}
.trust-sync-status.warn{border-color:rgba(245,158,11,.34);background:var(--warn-bg)}
.trust-sync-status.danger{border-color:rgba(220,53,69,.3);background:var(--negative-bg)}
.trust-status-dot{width:9px;height:9px;border-radius:50%;flex:0 0 9px;background:var(--ink-4)}
.trust-status-dot.good{background:var(--positive)}
.trust-status-dot.warn{background:var(--warn)}
.trust-status-dot.danger{background:var(--negative)}
.trust-saas-row{align-items:flex-start}
.trust-saas-row>div{min-width:0;flex:1}
.trust-saas-row b{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4);white-space:nowrap}
@media(max-width:1100px){
  .trust-grid-four,.trust-grid-two,.trust-hero{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .trust-grid-four,.trust-grid-two,.trust-hero,.trust-metric-grid{grid-template-columns:1fr}
  .trust-score-card strong{font-size:40px}
  .trust-queue-row,.trust-action-row,.trust-saas-row{align-items:flex-start}
}
.expense-command{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px;padding:18px 20px;border:1px solid rgba(32,38,46,.1);border-radius:var(--radius-lg);background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.03)}
.expense-command h2{font-size:24px;letter-spacing:0;margin:4px 0 6px;color:var(--ink)}
.expense-command p{font-size:13px;line-height:1.5;color:var(--ink-3);max-width:780px;margin:0}
.expense-kicker{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--copper)}
.expense-command-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.expense-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:4px 0 10px}
.expense-section-head h3{margin:3px 0 0;font-size:17px;line-height:1.25;color:var(--ink)}
.expense-section-head p{max-width:620px;margin:5px 0 0;font-size:12px;line-height:1.45;color:var(--ink-4);text-align:left}
.expense-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.expense-kpi{min-width:0;min-height:96px;border:1px solid rgba(32,38,46,.09);border-radius:var(--radius);background:var(--surface-1);padding:14px 15px;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.expense-kpi.copper{border-color:rgba(196,115,59,.18);background:linear-gradient(180deg,#fff,rgba(196,115,59,.045))}
.expense-kpi.good{border-color:rgba(34,197,94,.18);background:linear-gradient(180deg,#fff,rgba(34,197,94,.04))}
.expense-kpi.warn{border-color:rgba(245,158,11,.22);background:linear-gradient(180deg,#fff,rgba(245,158,11,.045))}
.expense-kpi span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4);margin-bottom:8px}
.expense-kpi strong{display:block;font-size:24px;font-weight:820;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.expense-kpi small{display:block;margin-top:6px;font-size:11px;line-height:1.35;color:var(--ink-4)}
.expense-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 16px;padding:10px;border:1px solid rgba(32,38,46,.08);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,var(--surface-2))}
.expense-flow-step{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 9px;border-radius:var(--radius);color:var(--ink-3)}
.expense-flow-step b{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-3);color:var(--ink);font-size:11px;flex:0 0 auto}
.expense-flow-step span{font-size:11px;line-height:1.3;color:var(--ink-3)}
.expense-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.85fr);gap:14px;align-items:start}
.expense-side-stack{display:grid;gap:14px}
.expense-panel-head{align-items:flex-start}
.expense-panel-head small{display:block;margin-top:3px;font-size:11px;font-weight:500;line-height:1.35;color:var(--ink-4)}
.expense-filter-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--surface-2)}
.expense-filter-tab{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink-3);font-size:11px;font-weight:760;padding:5px 10px;cursor:pointer;white-space:nowrap}
.expense-filter-tab b{min-width:22px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-3);color:var(--ink-4);font-size:10px;font-variant-numeric:tabular-nums;padding:0 6px}
.expense-filter-tab:hover,.expense-filter-tab.active{border-color:var(--copper-border);background:var(--copper-bg);color:var(--ink)}
.expense-filter-tab.active b{background:#fff;color:var(--copper)}
.expense-action-list,.expense-bucket-list,.expense-vendor-list{display:grid;gap:9px}
.expense-row,.expense-bucket,.expense-vendor-row{display:grid;gap:8px;padding:12px;border:1px solid rgba(32,38,46,.09);border-radius:var(--radius);background:var(--surface-1);min-width:0;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.expense-row{grid-template-columns:minmax(0,1fr) minmax(116px,auto);align-items:center}
.expense-row.needs-review{border-color:rgba(245,158,11,.12)}
.expense-row-main strong,.expense-bucket strong,.expense-vendor-row strong{display:block;font-size:13px;color:var(--ink);line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.expense-row-main{min-width:0}
.expense-row-main>strong{max-width:100%}
.expense-row-meta,.expense-row-descriptor,.expense-bucket span span,.expense-vendor-main span{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:var(--ink-4)}
.expense-row-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.expense-row-descriptor{color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.expense-row-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.expense-tag{display:inline-flex;align-items:center;height:20px;border-radius:999px;padding:0 7px;font-size:9px;font-weight:780;background:var(--surface-3);color:var(--ink-3);white-space:nowrap}
.expense-tag.warn{background:rgba(245,158,11,.1);color:#9a5f00}
.expense-tag.good{background:rgba(34,197,94,.09);color:#14713a}
.expense-tag.copper{background:rgba(196,115,59,.09);color:var(--copper)}
.expense-tag.info{background:rgba(46,107,176,.08);color:var(--info)}
.expense-tag.muted{background:transparent;border:1px solid var(--border);color:var(--ink-4)}
.expense-row-side{text-align:right;display:grid;gap:7px;justify-items:end}
.expense-row-amount{font-size:14px;font-weight:830;color:var(--ink);font-variant-numeric:tabular-nums}
.expense-action-btn,.expense-empty-action{border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--ink);font-size:10px;font-weight:800;padding:6px 10px;cursor:pointer;white-space:nowrap}
.expense-action-btn:hover,.expense-empty-action:hover{border-color:var(--copper-border);color:var(--copper);background:var(--copper-bg)}
.expense-bucket{grid-template-columns:minmax(0,1fr) minmax(62px,auto);align-items:center;text-align:left;cursor:pointer}
.expense-bucket:hover,.expense-bucket.active,.expense-vendor-row:hover,.expense-vendor-row.active{border-color:var(--copper-border);background:linear-gradient(180deg,#fff,var(--copper-bg))}
.expense-bucket.is-empty{background:var(--surface-2);color:var(--ink-4)}
.expense-bucket b{font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.expense-bucket-count{display:grid;justify-items:end;gap:2px}
.expense-bucket-count small{font-size:9px;font-weight:780;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em}
.expense-bucket-action,.expense-vendor-action{display:inline-flex;margin-top:8px;font-size:10px;font-style:normal;font-weight:800;color:var(--copper)}
.expense-bucket.is-empty .expense-bucket-action{color:var(--ink-4)}
.expense-vendor-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left;cursor:pointer}
.expense-vendor-main{min-width:0}
.expense-vendor-meta{display:grid;justify-items:end;gap:2px;font-size:10px;line-height:1.2;color:var(--ink-4);white-space:nowrap}
.expense-vendor-meta b{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}
.expense-vendor-meta.muted{color:var(--ink-4)}
.expense-vendor-meta.muted b{display:none}
.expense-vendor-action{margin-top:3px}
.expense-empty{display:grid;justify-items:center;gap:7px;padding:24px;border:1px dashed rgba(32,38,46,.16);border-radius:var(--radius);background:var(--surface-2);text-align:center;color:var(--ink-4);font-size:12px;line-height:1.45}
.expense-empty strong{font-size:13px;line-height:1.25;color:var(--ink)}
.expense-empty span{max-width:420px}
@media(max-width:980px){
  .expense-command{display:grid}
  .expense-command-actions{justify-content:flex-start}
  .expense-section-head{display:grid}
  .expense-section-head p{text-align:left}
  .expense-kpi-grid,.expense-layout,.expense-flow{grid-template-columns:1fr}
}
@media(max-width:620px){
  .expense-command{padding:16px}
  .expense-row,.expense-vendor-row{grid-template-columns:1fr}
  .expense-row-side{justify-items:start;text-align:left}
  .expense-filter-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:12px}
  .expense-filter-tab{flex:0 0 auto}
}
.overview-control-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 14px}
.overview-nav-btn{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--surface-2));color:var(--ink);cursor:pointer;text-align:left;box-shadow:inset 0 1px 0 rgba(255,255,255,.84);transition:border-color .15s,box-shadow .15s,background .15s}
.overview-nav-btn:hover{border-color:var(--copper-border);box-shadow:0 8px 22px rgba(15,23,42,.06)}
.overview-nav-btn.is-open{border-color:var(--copper-border);background:var(--copper-bg)}
.overview-nav-main{display:grid;gap:2px;min-width:0}
.overview-nav-main strong{font-size:12px;line-height:1.2;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-nav-main span{font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.overview-nav-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;background:var(--surface-3);color:var(--ink-4);font-weight:900;flex-shrink:0}
.overview-nav-btn.is-open .overview-nav-icon{background:var(--surface-2);color:var(--copper)}
.overview-collapsible{transition:border-color .15s,box-shadow .15s,background .15s}
.overview-collapsible.is-collapsed{box-shadow:none}
.overview-collapsible.is-collapsed .panel-head{border-bottom:0}
.overview-collapsible.is-collapsed>.panel-body{display:none}
.overview-collapse-toggle{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--ink-3);font-size:16px;font-weight:850;line-height:1;cursor:pointer;transition:all .15s}
.overview-collapse-toggle:hover{border-color:var(--copper-border);color:var(--copper);background:var(--copper-bg)}
.overview-collapsible:not(.is-collapsed) .overview-collapse-toggle{color:var(--copper);border-color:var(--copper-border);background:var(--copper-bg)}

/* === Vezra Next Actions === */
.command-feed-panel,.ai-command-feed-panel{margin-bottom:14px}
.command-feed{display:grid;gap:10px}
.command-feed-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid rgba(32,38,46,.09);border-radius:var(--radius);background:linear-gradient(135deg,#fff,rgba(196,115,59,.045))}
.command-feed-summary span,.command-feed-kicker{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--copper)}
.command-feed-summary strong{display:block;margin-top:5px;font-size:18px;line-height:1.15;color:var(--ink);letter-spacing:-.025em}
.command-feed-summary small{display:block;margin-top:5px;font-size:11px;line-height:1.45;color:var(--ink-4)}
.command-feed-summary-metric{min-width:86px;padding:10px 12px;border:1px solid rgba(196,115,59,.22);border-radius:var(--radius);background:rgba(255,255,255,.72);text-align:center}
.command-feed-summary-metric strong{font-size:24px;margin:0;font-variant-numeric:tabular-nums}
.command-feed-summary-metric span{color:var(--ink-4);letter-spacing:.06em}
.command-feed-list{display:grid;gap:8px}
.command-feed-item{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:11px;align-items:start;padding:11px 12px;border:1px solid rgba(32,38,46,.09);border-radius:var(--radius);background:#fff;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.command-feed-item.warn{border-color:rgba(245,158,11,.36);background:linear-gradient(180deg,rgba(245,158,11,.055),var(--surface-2))}
.command-feed-item.danger{border-color:rgba(220,53,69,.28);background:linear-gradient(180deg,rgba(220,53,69,.045),var(--surface-2))}
.command-feed-item.good{border-color:rgba(34,197,94,.25);background:linear-gradient(180deg,rgba(34,197,94,.04),var(--surface-2))}
.command-feed-item.info{border-color:rgba(46,107,176,.22);background:linear-gradient(180deg,rgba(46,107,176,.04),var(--surface-2))}
.command-feed-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink);font-size:11px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(32,38,46,.06)}
.command-feed-item.warn .command-feed-icon{background:var(--warn-bg);color:var(--warn)}
.command-feed-item.danger .command-feed-icon{background:var(--negative-bg);color:var(--negative)}
.command-feed-item.good .command-feed-icon{background:var(--positive-bg);color:var(--positive)}
.command-feed-item.info .command-feed-icon{background:var(--info-bg);color:var(--info)}
.command-feed-kicker{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.command-feed-kicker span{font-size:10px;color:var(--ink-4);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.command-feed-content h3{margin:0;font-size:14px;line-height:1.25;color:var(--ink);letter-spacing:-.015em}
.command-feed-content p{margin:4px 0 0;font-size:12px;line-height:1.45;color:var(--ink-3)}
.command-feed-details{margin-top:7px}
.command-feed-details summary{width:max-content;max-width:100%;cursor:pointer;font-size:11px;font-weight:800;color:var(--ink-4)}
.command-feed-details summary:hover{color:var(--copper)}
.command-feed-explain{display:grid;gap:3px;margin-top:7px;padding:8px 10px;border-radius:8px;background:rgba(15,23,42,.028);border:1px solid rgba(32,38,46,.06)}
.command-feed-explain strong{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4)}
.command-feed-explain span{font-size:11px;line-height:1.45;color:var(--ink-3)}
.command-feed-explain small{font-size:10px;line-height:1.35;color:var(--ink-4)}
.command-feed-data{margin-top:7px;font-size:10px;line-height:1.35;color:var(--ink-4)}
.command-feed-actions{display:flex;gap:7px;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;min-width:190px}
.command-feed-btn{height:30px;padding:0 11px;border-radius:7px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:11px;font-weight:850;cursor:pointer;white-space:nowrap;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.command-feed-btn:hover{border-color:var(--copper-border);color:var(--copper)}
.command-feed-btn.primary{background:var(--copper);border-color:var(--copper);color:#fff;box-shadow:0 6px 14px rgba(196,115,59,.2)}
.command-feed-btn.primary:hover{background:var(--copper-dark);color:#fff}

/* === Reports === */
.reports-shell{display:grid;gap:16px}
.reports-header{margin-bottom:0}
.reports-kicker{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--copper);margin-bottom:4px}
.reports-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.reports-kpi{min-width:0;min-height:92px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:14px;display:grid;align-content:start;gap:5px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.reports-kpi.copper{border-color:var(--copper-border);background:var(--copper-bg)}
.reports-kpi.good{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.04)}
.reports-kpi.warn{border-color:rgba(245,158,11,.24);background:rgba(245,158,11,.045)}
.reports-kpi.danger{border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.035)}
.reports-kpi span{display:block;font-size:10px;font-weight:780;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
.reports-kpi strong{display:block;font-size:21px;font-weight:820;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.reports-kpi small{display:block;font-size:11px;line-height:1.35;color:var(--ink-4)}
.reports-readiness-empty{grid-column:1/-1}
.reports-kpi.loading{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff,#fbfaf7)}
.reports-kpi.loading span,.reports-kpi.loading strong,.reports-kpi.loading small{display:block;border-radius:999px;background:rgba(32,38,46,.08);color:transparent}
.reports-kpi.loading span{width:58%;height:10px}
.reports-kpi.loading strong{width:76%;height:22px}
.reports-kpi.loading small{width:68%;height:11px}
.reports-kpi.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);transform:translateX(-100%);animation:reports-skeleton 1.3s ease-in-out infinite}
@keyframes reports-skeleton{to{transform:translateX(100%)}}
.reports-top-workspace{display:grid;grid-template-columns:minmax(330px,.9fr) minmax(500px,1.1fr);gap:16px;align-items:start}
.reports-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}
.reports-evidence-panel,.reports-library-panel,.reports-generated-panel{min-width:0}
.reports-generated-panel[hidden]{display:none}
.reports-main-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);gap:14px;align-items:start}
.reports-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.reports-lower{align-items:stretch}
.reports-command-panel .panel-body,.reports-generator-panel .panel-body{padding:14px}
.reports-feed-list,.reports-match-list,.reports-library-list,.reports-library-group-grid{display:grid;gap:10px}
.reports-feed-item,.reports-match-item,.reports-library-item,.reports-ocr-card{display:grid;gap:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px;min-width:0}
.reports-feed-item{position:relative;padding-right:40px}
.reports-feed-dismiss{position:absolute;top:8px;right:8px;width:24px;height:24px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-4);font-size:13px;line-height:1;cursor:pointer}
.reports-feed-dismiss:hover{border-color:var(--border);background:var(--surface);color:var(--ink)}
.reports-feed-item.warn,.reports-match-item.warn,.reports-action-card.warn{border-color:rgba(245,158,11,.26);background:rgba(245,158,11,.04)}
.reports-feed-item.danger,.reports-match-item.danger,.reports-action-card.danger{border-color:rgba(239,68,68,.2);background:rgba(239,68,68,.03)}
.reports-feed-item.good,.reports-match-item.good,.reports-action-card.good{border-color:rgba(34,197,94,.2);background:rgba(34,197,94,.035)}
.reports-feed-item.info,.reports-match-item.info,.reports-action-card.info{border-color:rgba(46,107,176,.18);background:rgba(46,107,176,.035)}
.reports-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.reports-item-top span,.reports-match-meta,.reports-library-meta,.reports-report-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
.reports-item-top strong,.reports-match-main strong,.reports-library-item strong{display:block;font-size:13px;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.reports-feed-item p,.reports-match-main p,.reports-library-item p,.reports-ocr-card p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-3)}
.reports-action-row{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:3px}
.reports-action-row .btn{height:30px}
.reports-generator-controls{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:10px}
.reports-generator-controls label{display:grid;gap:6px;min-width:0}
.reports-generator-controls label span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--ink-4)}
.reports-generator-controls select,.reports-generator-controls textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:10px 11px;font-size:12px;color:var(--ink)}
.reports-generator-controls textarea{resize:vertical;min-height:78px}
.reports-generator-footer{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.reports-evidence-badge{font-size:11px;color:var(--ink-3);background:rgba(46,107,176,.07);border:1px solid rgba(46,107,176,.14);border-radius:999px;padding:6px 9px}
.reports-prompt-chips{display:flex;gap:7px;flex-wrap:wrap;margin:2px 0 12px}
.reports-prompt-chips button,.reports-empty-chips span{border:1px solid var(--border);background:var(--surface);border-radius:999px;color:var(--ink-3);font-size:11px;padding:6px 9px;cursor:pointer}
.reports-prompt-chips button:hover{border-color:var(--copper-border);color:var(--copper)}
.reports-output{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:14px;min-height:116px;font-size:12px;line-height:1.55;color:var(--ink-2);box-shadow:inset 0 1px 0 rgba(255,255,255,.65)}
.reports-match-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.reports-match-main{min-width:0}
.reports-match-score{font-size:11px;font-weight:800;color:var(--copper);white-space:nowrap}
.reports-ocr-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;margin-bottom:10px}
.reports-upload-zone{display:grid;gap:5px;border:1px dashed rgba(32,38,46,.22);border-radius:var(--radius);background:linear-gradient(180deg,#fff,#fbfaf7);padding:12px;cursor:pointer;min-width:0}
.reports-upload-zone:hover{border-color:var(--copper-border);background:var(--copper-bg)}
.reports-upload-zone input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.reports-upload-icon{width:max-content;border:1px solid rgba(46,107,176,.16);background:rgba(46,107,176,.07);color:var(--ink-3);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800;text-transform:uppercase}
.reports-upload-zone strong{font-size:13px;color:var(--ink)}
.reports-upload-zone small,.reports-upload-zone em{font-size:11px;line-height:1.4;color:var(--ink-4);font-style:normal}
.reports-ocr-output{display:grid;gap:9px}
.reports-library-list{grid-template-columns:1fr}
.reports-library-group{display:grid;gap:9px}
.reports-library-group h4{font-size:12px;color:var(--ink);margin:2px 0 0}
.reports-library-group-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.reports-library-group-grid.single{grid-template-columns:1fr}
.reports-library-item{align-content:start;min-height:134px}
.reports-empty{border:1px solid rgba(32,38,46,.1);border-radius:var(--radius);padding:16px;color:var(--ink-4);font-size:12px;line-height:1.45;background:linear-gradient(180deg,#fff,#fbfaf7);display:grid;gap:5px}
.reports-empty strong{color:var(--ink);font-size:13px}
.reports-empty-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.reports-loading-card{display:flex;align-items:flex-start;gap:12px;border:1px solid rgba(46,107,176,.16);border-radius:var(--radius);background:rgba(46,107,176,.045);padding:14px}
.reports-loading-card.compact{padding:12px}
.reports-loading-card strong{display:block;font-size:13px;color:var(--ink);margin-bottom:3px}
.reports-loading-card p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-3)}
.reports-spinner{width:18px;height:18px;border-radius:999px;border:2px solid rgba(46,107,176,.18);border-top-color:var(--copper);animation:reports-spin .9s linear infinite;flex:0 0 auto;margin-top:1px}
@keyframes reports-spin{to{transform:rotate(360deg)}}
.reports-report-artifact{display:grid;gap:13px}
.reports-report-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:12px}
.reports-report-header h4{margin:3px 0 4px;font-size:18px;line-height:1.2;color:var(--ink)}
.reports-report-header p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-3)}
.reports-report-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:9px}
.reports-report-meta span{font-size:10px;color:var(--ink-4);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:5px 8px}
.reports-report-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;min-width:210px}
.reports-summary-card,.reports-report-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:13px}
.reports-summary-card span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px}
.reports-summary-card ul,.reports-report-section ul,.reports-report-section ol{margin:0;padding-left:18px;display:grid;gap:6px}
.reports-summary-card li,.reports-report-section li{font-size:12px;line-height:1.45;color:var(--ink-2)}
.reports-report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.reports-report-metric{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:11px;display:grid;gap:3px;min-width:0}
.reports-report-metric span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--ink-4)}
.reports-report-metric strong{font-size:16px;font-weight:820;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.reports-report-metric small{font-size:10px;color:var(--ink-4)}
.reports-report-section h5{margin:0 0 7px;font-size:13px;color:var(--ink)}
.reports-action-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.reports-action-card{display:grid;gap:7px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:11px}
.reports-action-card span{font-size:10px;font-weight:800;text-transform:uppercase;color:var(--ink-4)}
.reports-action-card strong{font-size:12px;color:var(--ink);line-height:1.3}
.reports-action-card p{margin:0;font-size:11px;line-height:1.45;color:var(--ink-3)}
.reports-action-card .btn{justify-self:start}
.reports-evidence-note{margin:0;font-size:11px;line-height:1.45;color:var(--ink-4)}
@media(max-width:1180px){
  .reports-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .reports-top-workspace,.reports-evidence-grid,.reports-main-grid,.reports-two-col{grid-template-columns:1fr}
}
@media(max-width:720px){
  .reports-kpi-grid,.reports-library-list,.reports-library-group-grid,.reports-generator-controls,.reports-ocr-form,.reports-report-metrics,.reports-action-card-grid{grid-template-columns:1fr}
  .reports-item-top,.reports-match-head,.reports-report-header{display:grid}
  .reports-report-actions{justify-content:flex-start;min-width:0}
  .reports-generator-footer{align-items:stretch}
  .reports-generator-footer .btn{width:100%}
}

/* === Command Center === */
.command-center-panel{margin-bottom:14px}
.command-center{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:12px;align-items:stretch}
.command-center.command-center-metrics-only{grid-template-columns:repeat(3,minmax(0,1fr))}
.command-primary{position:relative;padding:16px;border:1px solid var(--copper-border);background:linear-gradient(180deg,var(--copper-bg),var(--surface-2));border-radius:var(--radius);display:flex;flex-direction:column;justify-content:space-between;min-height:140px}
.command-primary.promoted{display:none}
.command-primary-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--copper);margin-bottom:6px}
.command-primary-title{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-0.03em;margin-bottom:6px}
.command-primary-desc{font-size:12px;color:var(--ink-3);line-height:1.45}
.command-primary-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.command-card{padding:14px;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);display:flex;flex-direction:column;gap:8px;min-width:0}
.command-card.warn{border-color:rgba(245,158,11,0.35);background:rgba(245,158,11,0.06)}
.command-card.danger{border-color:rgba(220,53,69,0.28);background:rgba(220,53,69,0.05)}
.command-card.good{border-color:rgba(34,197,94,0.28);background:rgba(34,197,94,0.05)}
.command-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.command-card-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.07em;color:var(--ink-4)}
.command-card-value{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-0.03em;font-variant-numeric:tabular-nums}
.command-card-desc{font-size:11px;color:var(--ink-3);line-height:1.4}
.today-command-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.34fr);gap:16px;margin-bottom:14px;padding:18px;border:1px solid var(--copper-border);border-radius:var(--radius);background:linear-gradient(135deg,var(--copper-bg),var(--surface-2));box-shadow:0 12px 36px rgba(15,23,42,.06),inset 0 1px 0 rgba(255,255,255,.82)}
.today-command-card.danger{border-color:rgba(220,53,69,.32);background:linear-gradient(135deg,rgba(220,53,69,.06),var(--surface-2))}
.today-command-card.warn{border-color:rgba(196,115,59,.36);background:linear-gradient(135deg,rgba(196,115,59,.09),var(--surface-2))}
.today-command-card.good{border-color:rgba(34,197,94,.28);background:linear-gradient(135deg,rgba(34,197,94,.055),var(--surface-2))}
.today-command-main{min-width:0}
.today-command-kicker{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.today-command-kicker span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--copper)}
.today-command-status{display:inline-flex;align-items:center;justify-content:center;min-height:22px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:10px;font-weight:900;color:var(--ink-3)}
.today-command-status.danger{border-color:rgba(220,53,69,.24);background:var(--negative-bg);color:var(--negative)}
.today-command-status.warn{border-color:rgba(196,115,59,.28);background:var(--copper-bg);color:var(--copper)}
.today-command-status.good{border-color:rgba(34,197,94,.24);background:var(--positive-bg);color:var(--positive)}
.today-command-card h2{margin:0;font-size:26px;line-height:1.08;color:var(--ink);letter-spacing:-.035em}
.today-command-card p{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--ink-3);max-width:820px}
.today-command-reason{display:grid;gap:3px;margin-top:12px;padding:10px 11px;border:1px solid rgba(32,38,46,.08);border-radius:8px;background:rgba(255,255,255,.56)}
.today-command-reason strong,.today-command-metrics span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:900;color:var(--ink-4)}
.today-command-reason span{font-size:12px;line-height:1.45;color:var(--ink-3)}
.today-command-side{display:grid;gap:12px;align-content:space-between}
.today-command-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.today-command-metrics div{border:1px solid rgba(32,38,46,.1);border-radius:8px;background:rgba(255,255,255,.74);padding:10px;min-width:0}
.today-command-metrics strong{display:block;margin-top:4px;font-size:18px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.today-command-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.audit-click{cursor:pointer}
.audit-click:hover{border-color:var(--copper-border)!important;background:rgba(196,115,59,0.06)!important}
.audit-click:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.command-pill{font-size:10px;font-weight:700;border-radius:999px;padding:3px 7px;background:var(--surface-3);color:var(--ink-3);white-space:nowrap}
.command-pill.good{background:var(--positive-bg);color:var(--positive)}
.command-pill.warn{background:var(--warn-bg);color:var(--warn)}
.command-pill.danger{background:var(--negative-bg);color:var(--negative)}
.command-dismiss-btn{position:absolute;top:10px;right:10px;height:24px;padding:0 9px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,0.78);color:var(--ink-4);font-size:10px;font-weight:800;cursor:pointer}
.command-dismiss-btn:hover{border-color:var(--copper-border);color:var(--copper);background:var(--surface-2)}

/* === Cash Flow Stats Bar === */
.cf-date-control{height:24px;display:inline-flex;align-items:center;gap:5px;padding:0 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--ink-4);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.05em}
.cf-date-control input{width:112px;border:0;background:transparent;color:var(--ink-2);font-size:10px;font-weight:700;outline:none;font-family:'Inter',sans-serif}
.cf-date-clear{height:24px;padding:0 8px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2);color:var(--ink-4);font-size:10px;font-weight:750;cursor:pointer}
.cf-date-clear:hover:not(:disabled){border-color:var(--copper-border);color:var(--copper);background:var(--copper-bg)}
.cf-date-clear:disabled{opacity:0.45;cursor:default}
.cf-stats-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}
.cf-stat{text-align:center;padding:8px 6px;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}
.cf-stat-label{display:block;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-4);margin-bottom:4px}
.cf-stat-value{display:block;font-size:16px;font-weight:800;font-family:'Inter',sans-serif;letter-spacing:-0.02em}
.cf-stat-note{display:block;margin-top:3px;font-size:10px;color:var(--ink-4);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-stat-value.positive{color:#16a34a}
.cf-stat-value.negative{color:#dc2626}

/* === Cash Flow Intelligence View === */
.cfi-shell{display:grid;grid-template-columns:minmax(310px,0.82fr) minmax(0,1.65fr);gap:12px;align-items:stretch}
.cfi-panel{min-width:0;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface-2),var(--surface-1));padding:14px;display:flex;flex-direction:column;gap:14px}
.cfi-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.cfi-panel-head h3{margin:2px 0 0;font-size:14px;font-weight:850;color:var(--ink);letter-spacing:-0.02em;line-height:1.2}
.cfi-panel-head strong{font-size:18px;font-weight:850;color:var(--ink);letter-spacing:-0.03em;font-variant-numeric:tabular-nums;white-space:nowrap}
.cfi-panel-head strong.positive{color:var(--positive)}
.cfi-panel-head strong.negative{color:var(--negative)}
.cfi-eyebrow{display:block;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-4)}
.cfi-donut-wrap{display:grid;grid-template-columns:190px minmax(0,1fr);gap:14px;align-items:center;flex:1}
.cfi-donut{width:180px;height:180px;display:block;margin:0 auto}
.cfi-cat-list{display:flex;flex-direction:column;gap:7px;min-width:0}
.cfi-cat-row{display:grid;grid-template-columns:10px 18px minmax(0,1fr) 58px 38px;align-items:center;gap:7px;font-size:11px;min-width:0}
.cfi-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.cfi-cat-emoji{font-size:12px;text-align:center;line-height:1}
.cfi-cat-name{font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfi-cat-bar-wrap{display:none}
.cfi-cat-bar{height:100%;border-radius:3px;transition:width 0.6s ease}
.cfi-cat-amt{text-align:right;font-weight:800;color:var(--ink);font-size:10px;font-variant-numeric:tabular-nums}
.cfi-cat-pct{text-align:right;color:var(--ink-4);font-size:10px;font-weight:650;font-variant-numeric:tabular-nums}
.cfi-posture{gap:12px}
.cfi-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cfi-metric-card{min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.cfi-metric-card.good{border-color:rgba(34,197,94,0.24);background:var(--positive-bg)}
.cfi-metric-card span{display:block;font-size:9px;font-weight:850;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.07em;margin-bottom:4px}
.cfi-metric-card strong{display:block;font-size:13px;font-weight:850;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfi-metric-card em{display:block;margin-top:3px;font-style:normal;font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfi-trend-card{min-height:184px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px 12px 10px;display:flex;flex-direction:column;gap:8px}
.cfi-trend-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.cfi-trend-head strong{display:block;margin-top:2px;font-size:13px;color:var(--ink);font-weight:850;letter-spacing:-0.01em}
.cfi-trend-head em{font-style:normal;font-size:10px;color:var(--ink-4);font-weight:700;white-space:nowrap}
.cfi-trend-svg{width:100%;height:160px;display:block}
.cfi-single-month{display:grid;gap:10px;justify-content:center;padding:10px 0 4px}
.cfi-flow-row{display:grid;grid-template-columns:78px minmax(170px,1fr) 92px;align-items:center;gap:12px}
.cfi-flow-row span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:0.07em;color:var(--ink-4)}
.cfi-flow-row strong{text-align:right;font-size:12px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums}
.cfi-flow-row em{height:14px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);overflow:hidden}
.cfi-flow-row i{display:block;height:100%;border-radius:999px;min-width:4px}
.cfi-flow-row.income i{background:linear-gradient(90deg,#16a34a,#52c987)}
.cfi-flow-row.spending i{background:linear-gradient(90deg,#c04862,#dc8a72)}
.cfi-insights,.cfi-insight-card,.cfi-insight-icon,.cfi-insight-body,.cfi-insight-title,.cfi-insight-desc{display:none}
@media(max-width:1100px){
  .cfi-shell{grid-template-columns:1fr}
  .cfi-donut-wrap{grid-template-columns:220px minmax(0,1fr)}
}
@media(max-width:720px){
  .cfi-donut-wrap,.cfi-metric-grid{grid-template-columns:1fr}
  .cfi-flow-row{grid-template-columns:1fr}
  .cfi-flow-row strong{text-align:left}
}

/* === Cash River View === */
.cf-river{position:relative;min-height:530px;border:1px solid rgba(196,115,59,0.22);border-radius:10px;overflow:hidden;background:
  radial-gradient(circle at 50% 48%,rgba(52,211,153,0.2),rgba(13,148,136,0.08) 24%,transparent 43%),
  radial-gradient(circle at 78% 34%,rgba(196,115,59,0.2),transparent 28%),
  linear-gradient(135deg,#06111d 0%,#0c1722 42%,#101114 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,0.06),0 16px 36px rgba(7,14,23,0.14);color:#eef7f4}
.cf-river:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,0.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,0.025) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(circle at 50% 48%,#000 0%,transparent 70%);pointer-events:none}
.cf-river:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,212,191,0.13),transparent 31%,transparent 68%,rgba(196,115,59,0.13));pointer-events:none}
.cf-river-kicker{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:8px;color:rgba(238,247,244,0.62);font-size:12px;font-weight:650;white-space:nowrap}
.cf-river-kicker span{width:7px;height:7px;border-radius:999px;background:#2dd4bf;box-shadow:0 0 16px #2dd4bf}
.cf-river-label{position:absolute;z-index:3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:0.14em}
.cf-river-label.left{top:70px;left:62px;color:#34d399}
.cf-river-label.right{top:50px;right:286px;color:#f3c56d}
.cf-river-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.cf-river-bg{fill:transparent}
.cf-river-bed{fill:none;stroke:rgba(255,255,255,0.08);stroke-linecap:round}
.cf-river-glow,.cf-river-core,.cf-river-line,.cf-river-forecast{fill:none;stroke-linecap:round;stroke-linejoin:round}
.cf-river-glow{opacity:0.26;filter:url(#riverGlow)}
.cf-river-glow.in{stroke:#2dd4bf}
.cf-river-glow.out{stroke:#f3c56d}
.cf-river-core{opacity:0.58;stroke-dasharray:18 18;animation:riverDrift 7s linear infinite}
.cf-river-core.in{stroke:url(#riverIn)}
.cf-river-core.out{stroke:url(#riverOut)}
.cf-river-line{stroke-width:1.2;opacity:0.42;stroke-dasharray:2 12;animation:riverDrift 4.5s linear infinite reverse}
.cf-river-line.in{stroke:#b8fff0}
.cf-river-line.out{stroke:#ffe2a3}
.cf-river-forecast{stroke:#38bdf8;stroke-width:2;stroke-dasharray:2 10;opacity:0.68;filter:url(#riverGlow);animation:riverDrift 5s linear infinite}
.cf-river-particle{opacity:0.72;filter:url(#riverGlow);animation:riverPulse 3.2s ease-in-out infinite}
.cf-river-particle.in{fill:#2dd4bf}
.cf-river-particle.out{fill:#f3c56d}
.cf-river-axis{stroke:rgba(255,255,255,0.2);stroke-width:1;stroke-dasharray:3 6}
.cf-river-center{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);width:210px;height:128px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:999px;background:radial-gradient(circle,rgba(12,23,34,0.72),rgba(12,23,34,0.22) 68%,transparent);text-shadow:0 2px 16px rgba(0,0,0,0.45)}
.cf-river-center span,.cf-river-mini span{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:0.13em;color:rgba(238,247,244,0.68)}
.cf-river-center strong{font-size:30px;font-weight:900;letter-spacing:-0.04em;font-variant-numeric:tabular-nums}
.cf-river-center.positive strong{color:#d8fff0}
.cf-river-center.negative strong{color:#ffd5c7}
.cf-river-center em,.cf-river-mini em{font-style:normal;font-size:11px;color:rgba(238,247,244,0.72)}
.cf-river-mini{position:absolute;z-index:4;left:50%;transform:translateX(-50%);width:118px;padding:14px 12px;border:1px solid rgba(255,255,255,0.16);border-radius:9px;background:rgba(12,23,34,0.66);backdrop-filter:blur(9px);text-align:center;box-shadow:0 10px 22px rgba(0,0,0,0.22)}
.cf-river-mini.runway{top:62px}
.cf-river-mini.burn{bottom:56px}
.cf-river-mini strong{display:block;margin:4px 0 1px;font-size:24px;font-weight:850;font-variant-numeric:tabular-nums;color:#fff}
.cf-river-card{position:absolute;z-index:4;width:258px;min-height:64px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(255,255,255,0.13);border-radius:9px;background:linear-gradient(180deg,rgba(255,255,255,0.08),rgba(255,255,255,0.035));backdrop-filter:blur(8px);box-shadow:0 12px 28px rgba(0,0,0,0.22);transform:translateY(-50%)}
.cf-river-card.left{left:18px}
.cf-river-card.right{right:132px}
.cf-river-card:hover{border-color:rgba(255,255,255,0.28)!important;background:rgba(255,255,255,0.1)!important}
.cf-river-card-icon{width:38px;height:38px;border-radius:999px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:900;border:1px solid currentColor}
.cf-river-card.left .cf-river-card-icon{color:#7ef4d8;background:rgba(45,212,191,0.12);box-shadow:0 0 18px rgba(45,212,191,0.32)}
.cf-river-card.right .cf-river-card-icon{color:#f3c56d;background:rgba(196,115,59,0.16);box-shadow:0 0 18px rgba(243,197,109,0.24)}
.cf-river-card-copy{min-width:0}
.cf-river-card-copy strong{display:block;font-size:12px;font-weight:850;color:#f8fbfb;white-space:normal;overflow-wrap:anywhere;line-height:1.2}
.cf-river-card-copy em{display:block;margin-top:2px;font-style:normal;font-size:10px;color:rgba(238,247,244,0.62);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-river-card b{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;color:#f3c56d}
.cf-river-card.left b{color:#60f0d0}
@keyframes riverDrift{to{stroke-dashoffset:-72}}
@keyframes riverPulse{0%,100%{opacity:0.34;transform:scale(0.88)}50%{opacity:0.95;transform:scale(1.12)}}
@media(max-width:1200px){
  .cf-river{min-height:680px}
  .cf-river-svg{opacity:0.82}
  .cf-river-card{width:230px}
  .cf-river-card.right{right:18px}
  .cf-river-label.right{right:178px}
}
@media(max-width:820px){
  .cf-stats-bar{grid-template-columns:1fr 1fr}
  .cf-river{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:78px 12px 14px}
  .cf-river-svg{opacity:0.36}
  .cf-river-kicker{left:18px;right:18px;transform:none;white-space:normal;line-height:1.35}
  .cf-river-label.left{top:48px;left:18px}
  .cf-river-label.right{top:48px;right:18px}
  .cf-river-center{position:relative;grid-column:1/-1;left:auto;top:auto;transform:none;justify-self:center;width:min(230px,100%);height:104px;margin:2px 0;z-index:5}
  .cf-river-mini{position:relative;left:auto;right:auto;top:auto!important;bottom:auto!important;transform:none;width:auto;z-index:5}
  .cf-river-card{position:relative;top:auto!important;left:auto!important;right:auto!important;transform:none;width:auto;grid-template-columns:34px minmax(0,1fr);min-height:62px;z-index:5}
  .cf-river-card.left,.cf-river-card.right{left:auto;right:auto}
  .cf-river-card b{grid-column:2;font-size:12px}
  .cf-river-card-icon{width:31px;height:31px}
}

/* === Sankey Diagram === */
.sankey-tooltip{position:absolute;pointer-events:none;background:var(--surface-2);border:1px solid var(--copper-border);border-radius:var(--radius);padding:8px 12px;font-size:11px;color:var(--ink);box-shadow:0 4px 16px rgba(0,0,0,0.15);z-index:100;opacity:0;transition:opacity 0.15s;white-space:nowrap}
.sankey-tooltip.visible{opacity:1}
.sankey-tooltip-label{font-weight:700;font-size:12px;margin-bottom:2px}
.sankey-tooltip-value{color:var(--copper);font-weight:600}
.sankey-tooltip-pct{color:var(--ink-4);font-size:10px;margin-left:6px}
.sankey-flow{transition:opacity 0.2s}
.sankey-flow:hover{opacity:1 !important}
.sankey-node-rect{transition:opacity 0.2s,filter 0.2s}
.sankey-node-rect:hover{filter:brightness(1.15)}
.sankey-label{font-family:'Inter',sans-serif;fill:var(--ink);font-weight:600;pointer-events:none}
.sankey-value{font-family:'Inter',sans-serif;fill:var(--ink-4);font-weight:500;pointer-events:none}

/* === Cash Bridge Flow View === */
.cf-bridge{min-height:360px;display:flex;flex-direction:column;gap:12px}
.cfb-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface-2),var(--surface-1))}
.cfb-eyebrow,.cfb-panel-title{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-4)}
.cfb-header h3{margin:3px 0 2px;font-size:18px;font-weight:850;color:var(--ink);letter-spacing:-0.03em}
.cfb-header p{margin:0;font-size:11px;color:var(--ink-4)}
.cfb-verdict{min-width:152px;text-align:right;border-radius:var(--radius);padding:8px 10px;border:1px solid var(--border);background:var(--surface-1)}
.cfb-verdict span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-4);margin-bottom:2px}
.cfb-verdict strong{display:block;font-size:20px;font-weight:850;letter-spacing:-0.03em;font-variant-numeric:tabular-nums}
.cfb-verdict.positive{border-color:rgba(34,197,94,0.28);background:var(--positive-bg)}
.cfb-verdict.positive strong{color:var(--positive)}
.cfb-verdict.negative{border-color:rgba(220,38,38,0.25);background:var(--negative-bg)}
.cfb-verdict.negative strong{color:var(--negative)}
.cfb-rails{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.cfb-rail-row{display:grid;grid-template-columns:78px 1fr 116px;align-items:center;gap:12px}
.cfb-rail-row>span{font-size:10px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.07em}
.cfb-rail-row>strong{text-align:right;font-size:13px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums}
.cfb-rail{height:18px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);overflow:hidden}
.cfb-rail em{display:block;height:100%;border-radius:999px;transition:width 0.45s ease}
.cfb-rail-row.income .cfb-rail em{background:linear-gradient(90deg,#16a34a,#86efac)}
.cfb-rail-row.spending .cfb-rail em{background:linear-gradient(90deg,#c4733b,#dc2626)}
.cfb-gap-line{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding-top:9px;border-top:1px solid var(--border);font-size:11px;color:var(--ink-4)}
.cfb-gap-line strong{font-size:13px;font-weight:850;font-variant-numeric:tabular-nums}
.cfb-gap-line.positive strong{color:var(--positive)}
.cfb-gap-line.negative strong{color:var(--negative)}
.cfb-body{display:grid;grid-template-columns:1fr 1.1fr 1.2fr;gap:10px}
.cfb-panel,.cfb-drivers{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:12px;min-width:0}
.cfb-action-panel{background:linear-gradient(180deg,rgba(196,115,59,0.07),var(--surface-1))}
.cfb-action-number{margin-top:8px;font-size:28px;font-weight:900;letter-spacing:-0.05em;color:var(--ink);font-variant-numeric:tabular-nums}
.cfb-action-panel p{margin:6px 0 12px;font-size:12px;line-height:1.4;color:var(--ink-3)}
.cfb-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cfb-action-grid span{min-width:0;padding:7px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);font-size:9px;color:var(--ink-4);text-align:center;line-height:1.25}
.cfb-action-grid strong{display:block;font-size:11px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfb-source-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--border);overflow:hidden}
.cfb-source-row:last-child{border-bottom:none}
.cfb-source-row span{position:relative;z-index:1;font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfb-source-row strong{position:relative;z-index:1;font-size:12px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums}
.cfb-source-row em{position:absolute;left:0;bottom:2px;height:3px;border-radius:999px;background:linear-gradient(90deg,#16a34a,#86efac)}
.cfb-cat-row{padding:7px 0;border-bottom:1px solid var(--border)}
.cfb-cat-row:last-child{border-bottom:none}
.cfb-cat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.cfb-cat-head span{font-size:12px;font-weight:750;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfb-cat-head i{font-style:normal;margin-right:6px}
.cfb-cat-head strong{font-size:12px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums}
.cfb-cat-track{height:6px;background:var(--surface-3);border-radius:999px;overflow:hidden}
.cfb-cat-track em{display:block;height:100%;border-radius:999px}
.cfb-cat-row small{display:block;margin-top:4px;font-size:9px;color:var(--ink-4)}
.cfb-drivers{padding:10px 12px}
.cfb-driver-list{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
.cfb-driver-row{min-width:0;border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:var(--surface-2)}
.cfb-driver-name{display:block;font-size:11px;font-weight:800;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfb-driver-cat{display:block;margin-top:2px;font-size:9px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cfb-driver-row strong{display:block;margin-top:6px;font-size:13px;font-weight:900;color:var(--negative);font-variant-numeric:tabular-nums}
.cfb-empty-note{font-size:12px;color:var(--ink-4);padding:12px 0;line-height:1.4}
@media(max-width:1100px){
  .cfb-body{grid-template-columns:1fr}
  .cfb-driver-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .cfb-header,.cfb-gap-line{flex-direction:column;align-items:stretch;text-align:left}
  .cfb-verdict{text-align:left;min-width:0}
  .cfb-rail-row{grid-template-columns:1fr;gap:5px}
  .cfb-rail-row>strong{text-align:left}
  .cfb-action-grid,.cfb-driver-list{grid-template-columns:1fr}
}


/* --- Grid layouts --- */
.grid-21{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:14px}
.grid-12{display:grid;grid-template-columns:1fr 2fr;gap:10px;margin-bottom:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:14px}
.sub-review-grid{align-items:start}
.overview-health-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:14px}
.overview-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;align-items:start}
.smart-insights-panel{margin-bottom:14px}

/* --- Transaction rows --- */
.tx-table{width:100%}
.tx-ledger-head{display:grid;grid-template-columns:22px 34px minmax(220px,1.55fr) minmax(150px,.8fr) minmax(230px,1.15fr) minmax(96px,.55fr);align-items:center;gap:10px;padding:9px 14px;background:var(--surface-3)}
.tx-ledger-head span{font-size:9px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em}
.tx-ledger-head span:last-child{text-align:right}
.tx-row{display:grid;grid-template-columns:22px 34px minmax(220px,1.55fr) minmax(150px,.8fr) minmax(230px,1.15fr) minmax(96px,.55fr);align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);transition:background 0.1s}
.tx-row:hover{background:rgba(0,0,0,0.018)}
.tx-row:last-child{border:none}
.tx-empty-state{padding:40px;text-align:center;color:var(--ink-4);font-size:13px;display:flex;flex-direction:column;gap:6px}
.tx-empty-state strong{font-size:14px;color:var(--ink);letter-spacing:-0.01em}
.tx-empty-state span{font-size:12px;color:var(--ink-4)}
.tx-empty-action{align-self:center;margin-top:6px}
.tx-manual-mark{font-size:9px;color:var(--ink-5);font-weight:700;text-transform:uppercase;letter-spacing:0.04em;margin-left:5px}
/* 4-column variant for overview/debt rows without checkbox */
.tx-row-simple{grid-template-columns:32px minmax(0,1fr) minmax(118px,150px) minmax(86px,98px)}
.tx-row-overview{grid-template-columns:32px minmax(0,1fr) minmax(118px,150px) minmax(86px,98px)}
#overview-tx .tx-row-overview{grid-template-columns:32px minmax(0,1fr) minmax(104px,144px) minmax(76px,86px);min-height:58px;padding:10px 14px;gap:10px}
#overview-tx .tx-row-overview:hover{background:rgba(196,115,59,.035)}
#overview-tx .tx-date{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
#overview-tx .cat-edit-wrap{justify-content:flex-end;flex-wrap:nowrap;overflow:visible}
#overview-tx .cat-badge{max-width:144px;padding:4px 9px;font-size:10px}
#overview-tx .tx-row-advanced,#overview-tx .tx-intel-badges{display:none}
.tx-ico{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);color:var(--ink-3);flex-shrink:0}
.tx-ico svg{width:15px;height:15px}
.tx-details{display:flex;flex-direction:column;gap:1px;min-width:0}
.tx-row-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.tx-name{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:-0.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-date{font-size:9px;color:var(--ink-4);letter-spacing:0.01em}
.tx-row-meta{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--ink-4);letter-spacing:0}
.tx-amt{font-size:12px;font-weight:700;text-align:right;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0;white-space:nowrap;min-width:0;position:relative;z-index:1}
.tx-amt.out{color:var(--ink)}
.tx-amt.in{color:var(--positive)}
.tx-amt.neutral{color:var(--ink-4)}
.tx-amt-block{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}
.tx-amt-block span{font-size:9px;font-weight:750;color:var(--ink-5);text-align:right;white-space:nowrap}
.tx-classification{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.tx-classification .cat-edit-wrap{justify-content:flex-start;flex-wrap:nowrap;overflow:visible}
.tx-classification .cat-badge{max-width:100%}
.tx-status-stack{display:flex;flex-direction:column;gap:5px;min-width:0}
.tx-status-line,.tx-evidence-line,.tx-relation-indicators{display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-width:0}
.tx-entity-pill,.tx-review-pill,.tx-confidence-pill,.tx-action-pill,.tx-receipt-pill,.tx-relation-chip{display:inline-flex;align-items:center;min-height:19px;max-width:100%;padding:2px 7px;border-radius:999px;font-size:9px;font-weight:800;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}
.tx-entity-pill.personal{background:var(--surface-3);color:var(--ink-4)}
.tx-entity-pill.business{background:var(--info-bg);color:var(--info)}
.tx-entity-pill.mixed{background:var(--copper-bg);color:var(--copper)}
.tx-review-pill.good,.tx-receipt-pill.good{background:var(--positive-bg);color:var(--positive)}
.tx-review-pill.warn,.tx-receipt-pill.warn,.tx-action-pill{background:var(--warn-bg);color:var(--warn)}
.tx-review-pill.muted,.tx-receipt-pill.muted,.tx-action-pill.muted{background:var(--surface-3);color:var(--ink-4)}
.tx-confidence-pill.high{background:var(--positive-bg);color:var(--positive)}
.tx-confidence-pill.medium{background:var(--copper-bg);color:var(--copper)}
.tx-confidence-pill.low{background:rgba(220,53,69,.08);color:var(--negative)}
.tx-relation-chip{background:var(--surface-3);color:var(--ink-4);border-color:var(--border)}
.tx-relation-chip.transfer{background:rgba(100,116,139,.08);color:#64748b}
.tx-relation-chip.refund{background:rgba(20,184,166,.10);color:#0f766e}
.tx-relation-chip.subscription{background:rgba(139,92,246,.10);color:#7c3aed}
.tx-relation-chip.split{background:var(--copper-bg);color:var(--copper);border-color:var(--copper-border)}
.tx-relation-chip.debt{background:rgba(196,115,59,.10);color:var(--copper);border-color:var(--copper-border)}
.tx-relation-chip.interest{background:rgba(217,119,6,.12);color:var(--warn)}
.tx-relation-chip.card-purchase{background:rgba(100,116,139,.08);color:#64748b}
.tx-row-advanced{grid-column:3 / -1;display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.tx-row-advanced span{display:inline-flex;align-items:center;min-height:18px;padding:2px 7px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--ink-4);font-size:9px;font-weight:700;text-transform:capitalize}
.tx-intel-badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:3px;justify-content:flex-end;min-width:0;max-width:100%;overflow:hidden}
.tx-intel-badge{display:inline-flex;align-items:center;height:17px;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;padding:0 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:0;line-height:1;white-space:nowrap}
.tx-intel-badge.entity-business{background:var(--info-bg);color:var(--info)}
.tx-intel-badge.entity-shared{background:var(--copper-bg);color:var(--copper)}
.tx-intel-badge.tax-deductible{background:var(--positive-bg);color:var(--positive)}
.tx-intel-badge.tax-review,.tx-intel-badge.receipt-missing{background:var(--warn-bg);color:var(--warn)}
.tx-intel-badge.reimbursable{background:rgba(139,92,246,0.1);color:#7c3aed}
.tx-intel-badge.split{background:var(--surface-3);color:var(--ink-3)}

/* --- Budget bars --- */
.budget-list{display:flex;flex-direction:column;gap:12px}
.budget-row{display:flex;flex-direction:column;gap:5px}
.budget-meta{display:flex;justify-content:space-between;align-items:center}
.budget-name{font-size:12px;font-weight:600;color:var(--ink);letter-spacing:-0.01em}
.budget-nums{font-size:11px;color:var(--ink-4);font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums}
.budget-bar{height:5px;background:var(--surface-3);border-radius:20px;overflow:hidden}
.budget-fill{height:100%;border-radius:20px;transition:width 0.8s cubic-bezier(.2,.9,.3,1)}
.budget-fill.ok{background:var(--positive)}
.budget-fill.warn{background:var(--warn)}
.budget-fill.over{background:var(--negative)}
.budget-note{font-size:10px;color:var(--copper);font-weight:600}
.budget-mode-toggle{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:7px;background:var(--surface-3)}
.budget-mode-toggle button{height:26px;padding:0 10px;border-radius:5px;font-size:11px;font-weight:700;color:var(--ink-4);cursor:pointer}
.budget-mode-toggle button.active{background:var(--surface-2);color:var(--copper);box-shadow:var(--shadow-sm)}
.budget-grid-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,0.65fr);gap:10px;margin-bottom:14px;align-items:start}
.budget-map-panel{align-self:start;height:max-content;position:sticky;top:88px;max-height:calc(100vh - 104px);overflow:visible}
.budget-map-panel .panel-body{padding-bottom:14px}
.budget-grid-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.budget-grid-tertiary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:14px;align-items:start}
.budget-closeout-panel{margin-bottom:14px}
.budget-command{display:grid;grid-template-columns:1.2fr 1fr;gap:12px;padding:14px 16px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.budget-command.good{border-color:rgba(34,197,94,0.25);background:linear-gradient(180deg,rgba(34,197,94,0.06),var(--surface-2))}
.budget-command.warn{border-color:rgba(245,158,11,0.32);background:linear-gradient(180deg,rgba(245,158,11,0.06),var(--surface-2))}
.budget-command.danger{border-color:rgba(220,53,69,0.28);background:linear-gradient(180deg,rgba(220,53,69,0.05),var(--surface-2))}
.budget-command-main{min-width:0}
.budget-advisor{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 16px;margin-bottom:14px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(180deg,var(--surface-2),var(--surface-3))}
.budget-advisor-main{min-width:0}
.budget-advisor-main strong,.budget-advisor-main span{display:block;overflow:hidden;text-overflow:ellipsis}
.budget-advisor-main strong{font-size:14px;color:var(--ink);letter-spacing:-0.02em}
.budget-advisor-main span{font-size:11px;color:var(--ink-4);margin-top:3px;white-space:normal;line-height:1.4}
.budget-advisor-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.budget-recommendation-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:10px;border-top:1px solid var(--border)}
.budget-rec-row{display:grid;grid-template-columns:130px minmax(0,1fr) 150px;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);min-width:0}
.budget-rec-row.raise{border-color:rgba(245,158,11,0.28);background:rgba(245,158,11,0.04)}
.budget-rec-row.lower{border-color:rgba(46,107,176,0.24);background:rgba(46,107,176,0.04)}
.budget-rec-row.match{border-color:rgba(34,197,94,0.22);background:rgba(34,197,94,0.04)}
.budget-rec-row strong,.budget-rec-row span,.budget-rec-row em{overflow:hidden;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere}
.budget-rec-row strong{font-size:11px;color:var(--copper)}
.budget-rec-row span{font-size:11px;color:var(--ink-3)}
.budget-rec-row em{font-style:normal;font-size:10px;color:var(--ink-4);text-align:right}
.budget-kicker{font-size:10px;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;color:var(--copper);margin-bottom:4px}
.budget-title{font-size:22px;font-weight:850;letter-spacing:-0.04em;color:var(--ink);font-variant-numeric:tabular-nums}
.budget-copy{font-size:12px;line-height:1.45;color:var(--ink-3);margin-top:4px;max-width:720px;overflow-wrap:anywhere}
.budget-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.budget-kpi{min-width:0;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:rgba(255,255,255,0.58)}
.budget-kpi span,.budget-kpi small{display:block;font-size:10px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-kpi strong{display:block;font-size:18px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums;margin:4px 0}
.budget-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.budget-category-card{padding:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0}
.budget-category-card.warn{border-color:rgba(245,158,11,0.32);background:rgba(245,158,11,0.04)}
.budget-category-card.over{border-color:rgba(220,53,69,0.28);background:rgba(220,53,69,0.035)}
.budget-card-top,.budget-card-foot,.budget-card-numbers{display:flex;align-items:center;justify-content:space-between;gap:8px}
.budget-card-top{align-items:flex-start}
.budget-card-name{display:flex;align-items:flex-start;gap:7px;min-width:0;font-size:12px;font-weight:800;color:var(--ink);line-height:1.25}
.budget-card-name span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.budget-card-actions{display:flex;align-items:center;gap:6px;flex-shrink:0;padding-top:1px}
.budget-card-icon{width:22px;height:22px;border-radius:7px;display:flex;align-items:center;justify-content:center;background:var(--surface-3);flex-shrink:0}
.budget-pill{font-size:10px;font-weight:800;border-radius:999px;padding:3px 7px;background:var(--positive-bg);color:var(--positive);white-space:nowrap}
.budget-pill.warn{background:var(--warn-bg);color:var(--warn)}
.budget-pill.over{background:var(--negative-bg);color:var(--negative)}
.budget-delete-category{width:24px;height:24px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--ink-4);font-size:15px;font-weight:800;line-height:1;cursor:pointer}
.budget-delete-category:hover{border-color:rgba(220,53,69,0.35);color:var(--negative);background:rgba(220,53,69,0.06)}
.budget-card-numbers{margin-top:9px;align-items:flex-end}
.budget-spent,.budget-plan-field{display:flex;flex-direction:column;gap:2px;min-width:0}
.budget-plan-field{align-items:flex-end;flex-shrink:0}
.budget-card-numbers strong{font-size:16px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums}
.budget-card-numbers span,.budget-card-foot span{font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-money-input{display:inline-flex!important;align-items:center;gap:2px;height:26px;padding:0 6px;border:1px solid var(--border);border-radius:7px;background:var(--surface-3);color:var(--ink-4);font-weight:850}
.budget-money-input .budget-limit-input{width:72px;height:24px;margin:0;padding:2px 0;border:0;background:transparent;color:var(--ink);font-size:12px;font-weight:850;font-variant-numeric:tabular-nums;text-align:right}
.budget-limit-input{width:72px;height:24px;margin:0 3px;padding:2px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--ink);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.budget-money-input:focus-within{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg);background:var(--surface-2)}
.budget-limit-input:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg);background:var(--surface-2)}
.budget-money-input .budget-limit-input:focus{border:0;box-shadow:none;background:transparent}
.budget-card-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-top:8px}
.budget-card-controls span{font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-reserve-note{max-width:132px;text-align:right;white-space:normal!important;line-height:1.25}
.budget-rule-select{height:26px;flex:1 1 150px;max-width:168px;padding:2px 20px 2px 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--ink-3);font-size:10px;font-weight:700}
.budget-rule-select:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.budget-custom-form{display:grid;grid-template-columns:1fr 90px;gap:10px;text-align:left;margin-top:6px}
.budget-custom-form label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em}
.budget-custom-form label span{font-size:10px;font-weight:600;color:var(--ink-4);text-transform:none;letter-spacing:0;line-height:1.3}
.budget-custom-form input,.budget-custom-form select{height:34px;padding:7px 9px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);font-size:12px;font-family:inherit;text-transform:none;letter-spacing:0}
.budget-custom-form label:first-child,.budget-custom-form label:last-child{grid-column:1/-1}
.budget-wizard-intro{margin:4px 0 10px;padding:10px 12px;border:1px solid rgba(45,138,86,0.18);border-radius:8px;background:rgba(45,138,86,0.05);text-align:left}
.budget-wizard-intro strong,.budget-wizard-intro span{display:block}
.budget-wizard-intro strong{font-size:13px;color:var(--ink)}
.budget-wizard-intro span{font-size:11px;color:var(--ink-4);margin-top:3px;line-height:1.4}
.budget-wizard-form{grid-template-columns:1fr 1fr}
.budget-wizard-form label:first-child,.budget-wizard-form label:last-child{grid-column:auto}
.budget-wizard-preview{display:grid;gap:8px;margin-top:10px;text-align:left}
.budget-wizard-preview-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.budget-wizard-preview-row.good{border-color:rgba(34,197,94,0.24);background:rgba(34,197,94,0.04)}
.budget-wizard-preview-row.danger{border-color:rgba(220,53,69,0.26);background:rgba(220,53,69,0.035)}
.budget-wizard-preview-row strong{font-size:12px;color:var(--ink);white-space:nowrap}
.budget-wizard-preview-row span{font-size:10px;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-custom-form .budget-icon-field input{font-size:18px;text-align:center;padding:4px 8px}
.icon-picker-panel{grid-column:1/-1;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:9px}
.icon-picker-hint{font-size:10px;font-weight:700;color:var(--ink-4);margin-bottom:7px}
.icon-picker-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;max-height:196px;overflow:auto}
.icon-picker-btn{height:30px;border:1px solid var(--border);border-radius:7px;background:var(--surface-3);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.icon-picker-btn:hover,.icon-picker-btn.active{border-color:var(--copper);background:var(--copper-bg);box-shadow:0 0 0 2px var(--copper-bg)}
.budget-progress{position:relative;height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin:8px 0}
.budget-progress span{display:block;height:100%;border-radius:999px;background:var(--positive)}
.budget-progress span.warn{background:var(--warn)}
.budget-progress span.over{background:var(--negative)}
.budget-progress em{position:absolute;top:-3px;width:2px;height:14px;background:var(--ink-4);opacity:0.45;border-radius:2px}
.budget-overview-list{display:flex;flex-direction:column;gap:10px}
.budget-overview-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;align-items:center;gap:10px}
.budget-overview-row strong,.budget-overview-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-overview-row strong{font-size:12px;color:var(--ink)}
.budget-overview-row span{font-size:10px;color:var(--ink-4);margin-top:2px}
.budget-mini-bar{height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.budget-mini-bar span{display:block;height:100%;border-radius:999px;background:var(--positive)}
.budget-mini-bar span.warn{background:var(--warn)}
.budget-mini-bar span.over{background:var(--negative)}
.budget-map{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:start;min-height:0}
.budget-donut{width:160px;height:160px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;margin:auto}
.budget-donut:after{content:"";position:absolute;inset:24px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}
.budget-donut div{position:relative;z-index:1;text-align:center;padding:0 12px;min-width:0}
.budget-donut strong{display:block;font-size:19px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:104px}
.budget-donut span{display:block;font-size:10px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em}
.budget-map-list{display:flex;flex-direction:column;gap:8px;min-width:0}
.budget-map-list div{display:grid;grid-template-columns:10px minmax(0,1fr) 36px;align-items:center;gap:8px}
.budget-map-list div.is-other strong{color:var(--ink-4)}
.budget-map-list span{width:9px;height:9px;border-radius:50%}
.budget-map-list strong{font-size:11px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-map-list em{font-style:normal;font-size:10px;font-weight:800;color:var(--ink-4);text-align:right}
.budget-rhythm-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.budget-rhythm-head strong{font-size:13px;color:var(--ink)}
.budget-rhythm-head span{font-size:11px;color:var(--ink-4);font-weight:700}
.budget-rhythm-meter{position:relative;height:9px;background:var(--surface-3);border-radius:999px;margin-bottom:14px;overflow:hidden}
.budget-rhythm-meter span{display:block;height:100%;background:var(--copper);border-radius:999px}
.budget-rhythm-meter em{position:absolute;top:-3px;width:2px;height:15px;background:var(--ink);opacity:0.5;border-radius:2px}
.budget-week-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;align-items:end}
.budget-week{text-align:center;min-width:0}
.budget-week span{font-size:10px;font-weight:800;color:var(--ink-4)}
.budget-week div{height:82px;background:var(--surface-3);border:1px solid var(--border);border-radius:7px;display:flex;align-items:flex-end;justify-content:center;margin:5px 0;overflow:hidden}
.budget-week b{display:block;width:100%;background:linear-gradient(180deg,var(--copper),#2d8a56)}
.budget-week strong{display:block;font-size:10px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.budget-move-list{display:flex;flex-direction:column;gap:8px}
.budget-move{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.budget-move.warn{border-color:rgba(245,158,11,0.3);background:rgba(245,158,11,0.04)}
.budget-move.danger{border-color:rgba(220,53,69,0.26);background:rgba(220,53,69,0.035)}
.budget-move.good{border-color:rgba(34,197,94,0.25);background:rgba(34,197,94,0.04)}
.budget-move div{min-width:0}
.budget-move strong,.budget-move span{display:block;overflow:hidden;text-overflow:ellipsis}
.budget-move strong{font-size:12px;color:var(--ink);white-space:nowrap}
.budget-move span{font-size:11px;line-height:1.35;color:var(--ink-4);margin-top:2px}
.budget-move button{flex-shrink:0}
.budget-empty{padding:26px;text-align:center;color:var(--ink-4);font-size:13px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-3)}
.budget-mini-stack{display:flex;flex-direction:column;gap:8px}
.budget-metric-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0}
.budget-metric-row strong,.budget-metric-row span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.budget-metric-row strong{font-size:12px;color:var(--ink)}
.budget-metric-row span{font-size:10px;color:var(--ink-4);margin-top:2px}
.budget-metric-row b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.budget-metric-row.good{border-color:rgba(34,197,94,0.24);background:rgba(34,197,94,0.04)}
.budget-metric-row.warn{border-color:rgba(245,158,11,0.3);background:rgba(245,158,11,0.04)}
.budget-metric-row.danger{border-color:rgba(220,53,69,0.26);background:rgba(220,53,69,0.035)}
.budget-safety-action{justify-self:end;min-width:54px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:850;line-height:1;cursor:pointer}
.budget-safety-action.danger{border-color:rgba(220,53,69,0.34);background:rgba(220,53,69,0.08);color:var(--negative)}
.budget-safety-action.warn{border-color:rgba(245,158,11,0.38);background:rgba(245,158,11,0.1);color:var(--warn)}
.budget-safety-action.good,.budget-safety-action:disabled{background:rgba(34,197,94,0.06);border-color:rgba(34,197,94,0.2);color:var(--positive);cursor:default;opacity:.78}
.budget-safety-action:not(:disabled):hover{filter:brightness(.98);box-shadow:var(--shadow-sm)}
.budget-safety-action:focus-visible{outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.budget-score{display:grid;grid-template-columns:86px minmax(0,1fr);gap:12px;align-items:center}
.budget-score-ring{width:82px;height:82px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}
.budget-score-ring:after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border)}
.budget-score-ring strong{position:relative;z-index:1;font-size:22px;font-weight:850;color:var(--ink)}
.budget-info-icon{display:inline-flex!important;align-items:center;justify-content:center;width:15px;height:15px;margin:0 5px 0 0;border-radius:50%;background:var(--surface-3);border:1px solid var(--border);color:var(--ink-4);font-size:10px;font-weight:900;vertical-align:middle;cursor:help;overflow:visible!important}
.budget-whatif-form{display:grid;grid-template-columns:minmax(110px,1fr) minmax(82px,.62fr) minmax(110px,1fr);gap:9px 10px;margin-bottom:8px;align-items:end}
.budget-whatif-form label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em}
.budget-whatif-label{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:16px}
.budget-help-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--surface-3);border:1px solid var(--border);color:var(--ink-4);font-size:9px;font-style:normal;cursor:help;flex-shrink:0}
.budget-whatif-form select,.budget-whatif-form input{width:100%;min-width:0;height:34px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-3);color:var(--ink);font-size:12px;font-family:inherit;text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}
.budget-whatif-wide{grid-column:1/-1}
.budget-reset-whatif{width:100%;margin:-2px 0 8px}
.budget-closeout-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.budget-closeout-item{padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);min-width:0}
.budget-closeout-item strong,.budget-closeout-item span{display:block;overflow:hidden;text-overflow:ellipsis}
.budget-closeout-item strong{font-size:12px;color:var(--ink);white-space:nowrap}
.budget-closeout-item span{font-size:11px;color:var(--ink-4);line-height:1.35;margin-top:3px}

/* --- Health Gauge --- */
.health-wrap{display:flex;flex-direction:column;align-items:center;padding:20px}
.health-ring{position:relative;width:130px;height:130px;margin-bottom:14px}
.health-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.health-ring-bg{fill:none;stroke:var(--border);stroke-width:7}
.health-ring-fill{fill:none;stroke:var(--copper);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease}
.health-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:32px;font-weight:800;color:var(--ink);letter-spacing:-0.03em}
.health-label{font-size:11px;font-weight:600;color:var(--copper);margin-bottom:16px}
.health-tips{width:100%;display:flex;flex-direction:column;gap:8px}
.health-tip{display:flex;gap:8px;align-items:flex-start;font-size:11px;color:var(--ink-3);line-height:1.5}
.health-tip-dot{width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:9px;font-weight:700}
.health-tip-dot.good{background:var(--positive-bg);color:var(--positive)}
.health-tip-dot.caution{background:var(--warn-bg);color:var(--warn)}

.health-factor-list{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:4px}
.health-factor{border:1px solid var(--border);border-radius:var(--radius);padding:9px 10px;background:var(--surface-2);min-width:0}
.health-factor.good{border-color:rgba(34,197,94,0.28);background:rgba(34,197,94,0.04)}
.health-factor.warn{border-color:rgba(245,158,11,0.35);background:rgba(245,158,11,0.05)}
.health-factor.bad{border-color:rgba(220,53,69,0.28);background:rgba(220,53,69,0.04)}
.health-factor-main{display:flex;align-items:center;gap:6px;min-width:0}
.health-factor-dot{width:7px;height:7px;border-radius:50%;background:var(--border-2);flex-shrink:0}
.health-factor.good .health-factor-dot{background:var(--positive)}
.health-factor.warn .health-factor-dot{background:var(--warn)}
.health-factor.bad .health-factor-dot{background:var(--negative)}
.health-factor-label{font-size:10px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.health-factor-score{margin-left:auto;font-size:11px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.health-factor-bar{height:4px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin:7px 0 5px}
.health-factor-bar span{display:block;height:100%;background:var(--copper);border-radius:999px}
.health-factor.good .health-factor-bar span{background:var(--positive)}
.health-factor.warn .health-factor-bar span{background:var(--warn)}
.health-factor.bad .health-factor-bar span{background:var(--negative)}
.health-factor-detail{font-size:10px;color:var(--ink-4);line-height:1.35}

/* --- Investment table --- */
.inv-row{display:grid;grid-template-columns:42px 1fr 100px 80px;align-items:center;gap:10px;padding:10px 20px;border-bottom:1px solid var(--border);transition:background 0.1s}
.inv-row:hover{background:rgba(0,0,0,0.015)}
.inv-row:last-child{border:none}
.inv-sym{width:36px;height:36px;border-radius:var(--radius);background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--ink);letter-spacing:-0.02em}
.inv-info{display:flex;flex-direction:column;gap:1px}
.inv-name{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-0.01em}
.inv-shares{font-size:10px;color:var(--ink-4)}
.inv-val{font-size:13px;font-weight:700;color:var(--ink);text-align:right;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums}
.inv-pct{font-size:11px;font-weight:600;text-align:right}

.inv-trust-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:13px 15px;border:1px solid rgba(32,38,46,.1);border-left:3px solid var(--copper);border-radius:var(--radius);background:linear-gradient(180deg,#fff,var(--surface-2));box-shadow:0 8px 24px rgba(15,23,42,.035)}
.inv-trust-banner[hidden]{display:none}
.inv-trust-banner.is-empty{margin-bottom:10px}
.inv-trust-banner.is-empty .inv-trust-pills{display:none}
.inv-trust-copy{min-width:0}
.inv-trust-kicker{display:block;margin-bottom:3px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--copper)}
.inv-trust-copy strong{display:block;font-size:13px;color:var(--ink);line-height:1.25}
.inv-trust-copy p{margin:3px 0 0;max-width:780px;font-size:11px;line-height:1.45;color:var(--ink-4)}
.inv-trust-pills{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:430px}
.inv-trust-pills span,.inv-trust-mini{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(32,38,46,.09);border-radius:999px;background:#fff;color:var(--ink-4);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;white-space:nowrap}
.inv-trust-pills span{padding:5px 8px}
.inv-trust-mini{margin-top:4px;padding:2px 6px}
.inv-command-panel{margin-bottom:14px}
.inv-command{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:12px;padding:14px}
.inv-command-primary{padding:16px;border:1px solid var(--copper-border);background:linear-gradient(180deg,var(--copper-bg),var(--surface-2));border-radius:var(--radius);min-height:132px;display:flex;flex-direction:column;justify-content:space-between}
.inv-command.danger .inv-command-primary{border-color:rgba(220,53,69,0.28);background:linear-gradient(180deg,rgba(220,53,69,0.06),var(--surface-2))}
.inv-command.warn .inv-command-primary{border-color:rgba(245,158,11,0.35);background:linear-gradient(180deg,rgba(245,158,11,0.07),var(--surface-2))}
.inv-command.good .inv-command-primary{border-color:rgba(34,197,94,0.28);background:linear-gradient(180deg,rgba(34,197,94,0.06),var(--surface-2))}
.inv-command-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:14px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.inv-command-card span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.07em;color:var(--ink-4)}
.inv-command-card strong{font-size:22px;font-weight:850;color:var(--ink);letter-spacing:-0.03em;font-variant-numeric:tabular-nums}
.inv-command-card small{font-size:11px;color:var(--ink-4);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inv-intel-grid{display:grid;grid-template-columns:1.05fr 1.15fr 1.25fr;gap:10px;margin-bottom:14px}
.inv-quality{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;padding:14px}
.inv-quality-ring{width:106px;height:106px;border-radius:50%;background:conic-gradient(var(--copper) var(--score),var(--surface-3) 0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.inv-quality-ring::before{content:"";position:absolute;inset:9px;background:var(--surface-2);border-radius:50%}
.inv-quality-ring.good{background:conic-gradient(var(--positive) var(--score),var(--surface-3) 0)}
.inv-quality-ring.danger{background:conic-gradient(var(--negative) var(--score),var(--surface-3) 0)}
.inv-quality-ring strong,.inv-quality-ring span{position:relative;z-index:1}
.inv-quality-ring strong{font-size:30px;font-weight:900;color:var(--ink);letter-spacing:-0.04em}
.inv-quality-ring span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.08em;color:var(--ink-4)}
.inv-quality-factors{display:flex;flex-direction:column;gap:7px;min-width:0}
.inv-quality-factor{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;background:var(--surface-2)}
.inv-quality-factor.good{border-color:rgba(34,197,94,0.22);background:rgba(34,197,94,0.04)}
.inv-quality-factor.warn{border-color:rgba(245,158,11,0.3);background:rgba(245,158,11,0.05)}
.inv-quality-factor.danger{border-color:rgba(220,53,69,0.24);background:rgba(220,53,69,0.04)}
.inv-quality-factor strong{display:block;font-size:11px;color:var(--ink)}
.inv-quality-factor span{display:block;font-size:10px;color:var(--ink-4);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
.inv-quality-factor b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.inv-review-list{display:flex;flex-direction:column;gap:8px;padding:14px}
.inv-review-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface-2)}
.inv-review-item.warn{border-color:rgba(245,158,11,0.32);background:rgba(245,158,11,0.05)}
.inv-review-item.danger{border-color:rgba(220,53,69,0.28);background:rgba(220,53,69,0.05)}
.inv-review-item.good{border-color:rgba(34,197,94,0.24);background:rgba(34,197,94,0.05)}
.inv-review-item strong{display:block;font-size:12px;color:var(--ink)}
.inv-review-item span{display:block;font-size:11px;color:var(--ink-4);line-height:1.35;margin-top:2px}
.inv-review-item em{font-size:10px;font-style:normal;font-weight:800;color:var(--copper);background:var(--surface-3);border-radius:999px;padding:4px 8px;white-space:nowrap}
.inv-target-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px;border-bottom:1px solid var(--border)}
.inv-target-head strong{display:block;font-size:13px;color:var(--ink)}
.inv-target-head span{display:block;font-size:11px;color:var(--ink-4);margin-top:2px}
.inv-target-list{padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.inv-target-row{display:grid;grid-template-columns:120px minmax(120px,1fr) 96px 42px;gap:10px;align-items:center}
.inv-target-name{display:flex;align-items:center;gap:7px;min-width:0;font-size:12px;font-weight:700;color:var(--ink)}
.inv-target-name i{width:7px;height:7px;border-radius:999px;flex-shrink:0}
.inv-target-bars{display:grid;grid-template-columns:1fr 50px;gap:8px;align-items:center}
.inv-target-bar{height:7px;background:var(--surface-3);border-radius:999px;overflow:hidden}
.inv-target-bar span{display:block;height:100%;border-radius:999px}
.inv-target-bars small{font-size:10px;color:var(--ink-4);text-align:right}
.inv-target-row label{display:flex;align-items:center;gap:4px}
.inv-target-row input{width:54px;height:28px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:0 6px;font-size:12px;font-weight:700;color:var(--ink);text-align:right}
.inv-target-row label span{font-size:10px;color:var(--ink-4)}
.inv-target-row b{font-size:12px;text-align:right;font-variant-numeric:tabular-nums}
.inv-target-row b.good{color:var(--positive)}
.inv-target-row b.warn{color:var(--warn)}
.inv-target-row b.danger{color:var(--negative)}
.inv-activity-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;border-bottom:1px solid var(--border)}
.inv-activity-summary div{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);padding:10px 12px}
.inv-activity-summary span{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.07em;color:var(--ink-4)}
.inv-activity-summary strong{display:block;font-size:18px;font-weight:850;color:var(--ink);margin-top:4px;font-variant-numeric:tabular-nums}
.inv-activity-list{display:flex;flex-direction:column;padding:0 14px 12px}
.inv-activity-row{display:flex;width:100%;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border:0;border-bottom:1px solid var(--border);background:transparent;text-align:left;cursor:pointer}
.inv-activity-row:hover{background:rgba(196,115,59,0.05);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:8px}
.inv-activity-row:focus-visible{outline:2px solid var(--copper);outline-offset:2px;border-radius:8px}
.inv-activity-row:last-child{border-bottom:none}
.inv-activity-row strong{display:block;font-size:12px;color:var(--ink)}
.inv-activity-row span{display:block;font-size:10px;color:var(--ink-4);margin-top:2px}
.inv-activity-row b{font-size:13px;font-variant-numeric:tabular-nums}
.inv-activity-row b.good{color:var(--positive)}
.inv-activity-row b.danger{color:var(--negative)}
.inv-activity-logo{width:30px;height:30px;border-radius:8px}
.inv-activity-main{flex:1;min-width:0}
.inv-activity-main em{display:inline-block;margin-top:3px;font-style:normal;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--copper)}
.inv-class-select{display:block;width:92px;margin:4px auto 0;height:24px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);color:var(--ink);font-size:10px;font-weight:700;padding:2px 5px}
.inv-class-select:focus{outline:none;border-color:var(--copper);box-shadow:0 0 0 2px var(--copper-bg)}
.inv-explain-empty{min-height:132px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.inv-explain-empty strong{font-size:14px;color:var(--ink)}
.inv-explain-empty span{font-size:12px;color:var(--ink-4);line-height:1.45;max-width:430px}
.inv-onboarding{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:16px;margin-top:14px;padding:18px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:0 6px 20px rgba(15,23,42,.04)}
.inv-onboarding-hero{display:grid;align-content:center;gap:10px;min-height:0}
.inv-onboarding-kicker{font-size:10px;font-weight:900;letter-spacing:0;text-transform:uppercase;color:var(--copper)}
.inv-onboarding h3{max-width:680px;margin:0;font-size:22px;line-height:1.16;color:var(--ink);letter-spacing:0}
.inv-onboarding p{max-width:700px;margin:0;font-size:13px;line-height:1.5;color:var(--ink-3)}
.inv-onboarding-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.inv-onboarding-steps{display:grid;gap:8px;align-content:center}
.inv-onboarding-step{display:grid;gap:4px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.inv-onboarding-step strong{font-size:12px;color:var(--ink)}
.inv-onboarding-step span{font-size:11px;line-height:1.4;color:var(--ink-4)}
.inv-onboarding-note{grid-column:1/-1;padding:10px 12px;border:1px solid rgba(217,119,6,.25);border-radius:var(--radius);background:rgba(217,119,6,.055);font-size:11px;line-height:1.4;color:var(--ink-3)}
[data-inv-advanced][hidden],#inv-refresh-prices-btn[hidden],#inv-add-holding-btn[hidden]{display:none!important}

/* --- Subscription rows --- */
.sub-row{display:grid;grid-template-columns:36px 1fr auto 80px;align-items:center;gap:10px;padding:12px 20px;border-bottom:1px solid var(--border)}
.sub-row:last-child{border:none}
.sub-ico{width:32px;height:32px;border-radius:var(--radius);background:var(--surface-3);display:flex;align-items:center;justify-content:center}
.sub-ico svg{width:16px;height:16px;color:var(--ink-3)}
.sub-name{font-size:13px;font-weight:500;color:var(--ink)}
.sub-next{font-size:11px;color:var(--ink-4)}
.sub-price{font-size:13px;font-weight:700;color:var(--ink);font-family:var(--mono);text-align:right}
.sub-command-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(120px,1fr));gap:12px;padding:16px}
.sub-command-primary,.sub-command-metric{border:1px solid var(--border);border-radius:8px;padding:14px;background:var(--surface)}
.sub-command-click{cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
.sub-command-click:hover{border-color:rgba(200,117,51,.45);box-shadow:0 0 0 3px rgba(200,117,51,.08);background:rgba(200,117,51,.04)}
.sub-command-click:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.sub-command-primary.good{border-color:rgba(46,160,67,.3);background:rgba(46,160,67,.04)}
.sub-command-primary.warn{border-color:rgba(200,117,51,.35);background:rgba(200,117,51,.05)}
.sub-command-primary strong{display:block;font-size:16px;color:var(--ink);margin:4px 0;overflow-wrap:anywhere}
.sub-command-primary span,.sub-command-metric small{display:block;font-size:11px;color:var(--ink-4);line-height:1.35}
.sub-command-metric span{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:var(--ink-4);font-weight:700}
.sub-command-metric strong{display:block;font-size:18px;color:var(--ink);margin:6px 0 2px}
.sub-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;margin-left:8px;padding:0 7px;border-radius:999px;background:var(--surface-3);color:var(--ink-3);font-size:11px;font-weight:800;font-family:var(--mono);line-height:1;text-transform:none;vertical-align:middle}
#sub-tab-subs.active .sub-tab-count,#sub-tab-recurring.active .sub-tab-count{background:var(--copper-bg);color:var(--copper)}
.sub-premium-row{display:grid;grid-template-columns:42px minmax(180px,1fr) 120px auto auto;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);min-width:0}
.sub-clickable{cursor:pointer;transition:background .15s ease}
.sub-clickable:hover{background:rgba(200,117,51,.04)}
.sub-premium-row:last-child{border-bottom:none}
.sub-premium-icon{width:34px;height:34px;border-radius:8px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:18px}
.sub-premium-main{min-width:0}
.sub-premium-title{font-size:13px;font-weight:700;color:var(--ink);display:flex;align-items:center;gap:5px;flex-wrap:wrap;overflow-wrap:anywhere}
.sub-premium-meta,.sub-premium-note{font-size:11px;color:var(--ink-4);line-height:1.35;overflow-wrap:anywhere}
.sub-premium-money{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sub-premium-money strong{display:flex;justify-content:flex-end;align-items:baseline;font-size:13px;color:var(--ink);font-family:'Inter',sans-serif;letter-spacing:0;line-height:1.1}
.sub-money-value{font-weight:850}
.sub-money-unit{margin-left:2px;font-size:10px;font-weight:750;color:var(--ink-4)}
.sub-premium-money>span{display:flex;justify-content:flex-end;gap:4px;margin-top:3px;font-size:10px;color:var(--ink-4);line-height:1.1}
.sub-premium-money>span b{font:inherit;font-weight:750;color:var(--ink-3)}
.sub-premium-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.sub-mini-badge{font-size:9px;font-weight:800;border-radius:999px;padding:1px 6px}
.sub-mini-badge.good{color:var(--positive);background:rgba(46,160,67,.1)}
.sub-mini-badge.copper{color:var(--copper);background:rgba(200,117,51,.1)}
.sub-mini-badge.warn{color:var(--warn);background:rgba(245,158,11,.12)}
.sub-mini-badge.muted{color:var(--ink-4);background:var(--surface-3)}
.sub-confidence{width:42px;height:22px;border-radius:999px;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center}
.sub-action-card{display:grid;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,var(--surface-2));min-width:0}
.sub-action-card:last-child{border-bottom:none}
.sub-action-card:hover{background:linear-gradient(180deg,#fff,rgba(200,117,51,.035))}
.sub-action-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:14px;align-items:start}
.sub-action-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.sub-action-title strong{width:100%;font-size:14px;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}
.sub-action-title small,.sub-action-impact span,.sub-action-impact small{font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-action-impact{display:grid;justify-items:end;gap:3px;text-align:right;min-width:0}
.sub-action-impact strong{font-size:20px;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.sub-action-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);gap:12px}
.sub-action-why,.sub-action-charges,.sub-action-controls{border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.72);padding:10px;min-width:0}
.sub-action-why strong,.sub-action-charges strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-4);margin-bottom:5px}
.sub-action-why span,.sub-action-charges span{display:block;font-size:11px;line-height:1.4;color:var(--ink-3);overflow-wrap:anywhere}
.sub-action-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:end}
.sub-action-controls label{display:grid;gap:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);min-width:0}
.sub-action-controls input,.sub-action-controls select{width:100%;height:32px;border:1px solid var(--border);border-radius:7px;background:var(--surface);padding:0 9px;color:var(--ink);font-size:12px;box-sizing:border-box}
.sub-action-check{display:flex!important;align-items:center;gap:7px;text-transform:none!important;letter-spacing:0!important;font-size:11px!important;color:var(--ink-3)!important}
.sub-action-check input{width:15px;height:15px;padding:0}
.sub-action-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.sub-review-item,.sub-budget-row,.sub-calendar-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);min-width:0}
.sub-review-item:last-child,.sub-budget-row:last-child,.sub-calendar-row:last-child{border-bottom:none}
.sub-review-item strong,.sub-budget-row strong,.sub-calendar-row strong{display:block;font-size:12px;color:var(--ink)}
.sub-review-item span,.sub-budget-row span,.sub-calendar-row span{display:block;font-size:11px;color:var(--ink-4);line-height:1.35;overflow-wrap:anywhere}
.sub-calendar-model{display:flex;flex-direction:column;gap:10px;padding:10px}
.sub-calendar-month{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.sub-calendar-month-head{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;background:var(--surface-2);border-bottom:1px solid var(--border)}
.sub-calendar-month-head strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
.sub-calendar-month-head span{font-size:11px;color:var(--ink-4)}
.sub-calendar-row.intelligent{display:grid;grid-template-columns:44px minmax(0,1fr) 136px auto;align-items:center;padding:10px 12px}
.sub-calendar-date{width:36px;height:36px;border-radius:8px;background:var(--copper-bg);border:1px solid var(--copper-border);display:flex;flex-direction:column;align-items:center;justify-content:center}
.sub-calendar-date strong{font-size:14px;line-height:1}
.sub-calendar-date span{font-size:9px;line-height:1;margin-top:2px}
.sub-calendar-main{min-width:0}
.sub-calendar-input{height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:11px;padding:0 8px;font-family:inherit}
.sub-review-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.sub-budget-row.good{background:rgba(46,160,67,.04)}
.sub-budget-row.warn{background:rgba(245,158,11,.06)}
.sub-budget-list .btn{margin:12px 16px}
.sub-empty-tight{padding:24px;text-align:center}
.sub-empty-tight strong{display:block;font-size:13px;color:var(--ink);margin-bottom:4px}
.sub-empty-tight span{font-size:12px;color:var(--ink-4);line-height:1.4}
.sub-break-row{display:grid;grid-template-columns:140px 1fr 90px 42px;gap:12px;align-items:center;padding:9px 16px;width:100%;border:0;background:transparent;font:inherit;color:inherit;text-align:left}
.sub-break-row>div:first-child{font-size:12px;font-weight:700;color:var(--ink)}
.sub-break-row>div:nth-child(2){height:10px;background:rgba(196,115,59,.08);border:1px solid rgba(196,115,59,.12);border-radius:999px;overflow:hidden}
.sub-break-row>div:nth-child(2)>span{display:block;height:100%;background:linear-gradient(90deg,var(--copper),#16a34a);border-radius:999px}
.sub-break-row b{font-size:12px;text-align:right;color:var(--ink)}
.sub-break-row small{font-size:10px;text-align:right;color:var(--ink-4)}
@media (max-width:900px){
  .sub-command-grid{grid-template-columns:1fr}
  .sub-premium-row{grid-template-columns:36px 1fr;align-items:start}
  .sub-premium-money,.sub-confidence,.sub-premium-actions{grid-column:2;text-align:left;justify-content:flex-start}
  .sub-premium-money strong,.sub-premium-money>span{justify-content:flex-start}
  .sub-break-row{grid-template-columns:100px 1fr 76px 34px}
}

/* --- Subscription polish pass --- */
#panel-subscriptions{gap:16px}
#panel-subscriptions.active{display:flex;flex-direction:column}
.sub-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.sub-page-header h2{margin:0 0 5px;font-size:22px;line-height:1.2;color:var(--ink)}
.sub-page-header p{margin:0;max-width:620px;font-size:13px;line-height:1.45;color:var(--ink-4)}
.sub-command-panel,.sub-primary-panel,.sub-secondary-panel{margin:0}
.sub-command-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px}
.sub-command-primary,.sub-command-metric{min-height:92px;padding:12px;border-color:rgba(15,23,42,.08);background:var(--surface);box-shadow:none}
.sub-command-primary.warn{border-color:rgba(200,117,51,.2);background:rgba(200,117,51,.035)}
.sub-command-primary.good{border-color:rgba(46,160,67,.18);background:rgba(46,160,67,.035)}
.sub-command-primary strong{font-size:24px;margin:2px 0 4px;line-height:1}
.sub-command-metric span,.sub-command-primary .budget-kicker{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
.sub-command-metric strong{font-size:20px;margin:8px 0 4px;line-height:1.05}
.sub-command-metric small,.sub-command-primary span{font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-tabs{display:flex;gap:6px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.sub-tabs button{flex:1;min-height:38px;border:0;border-radius:6px;background:transparent;color:var(--ink-4);font-size:12px;font-weight:700;cursor:pointer}
.sub-tabs button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.sub-tab-count{height:18px;min-width:20px;margin-left:6px;font-size:10px;background:var(--surface-3);color:var(--ink-4)}
.sub-tabs button.active .sub-tab-count{background:var(--copper-bg);color:var(--copper)}
.sub-tab-panel{min-width:0}
.sub-list-head{align-items:flex-start;gap:12px}
.sub-list-head>div:first-child{min-width:0}
.panel-subtitle{margin:4px 0 0;font-size:12px;line-height:1.4;color:var(--ink-4)}
.sub-review-bulk-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.sub-review-bulk-actions .btn:disabled{opacity:.45;cursor:not-allowed}
.sub-secondary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
.sub-budget-panel .panel-body{display:block}
.sub-action-card{display:block;padding:14px 16px;background:var(--surface);border-bottom:1px solid var(--border)}
.sub-action-card:hover{background:var(--surface)}
.sub-action-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px) auto;gap:14px;align-items:center}
.sub-action-head.review{grid-template-columns:30px minmax(0,1fr) minmax(160px,210px) auto}
.sub-review-select{display:flex;align-items:center;justify-content:center;margin-top:2px}
.sub-review-select input{width:16px;height:16px;accent-color:var(--copper)}
.sub-action-service{display:flex;align-items:center;gap:11px;min-width:0}
.sub-action-title{display:grid;gap:4px;min-width:0}
.sub-action-title strong{width:auto;font-size:14px;line-height:1.2;color:var(--ink);overflow-wrap:anywhere}
.sub-action-title small{font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-action-badges{display:flex;gap:5px;flex-wrap:wrap}
.sub-action-impact{display:grid;justify-items:end;text-align:right;gap:3px;min-width:0}
.sub-action-impact strong{font-size:18px;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}
.sub-action-impact span,.sub-action-impact small{font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-action-primary{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}
.sub-candidate-details{margin-top:10px;border-top:1px solid var(--border)}
.sub-candidate-details>summary{display:inline-flex;align-items:center;margin-top:10px;color:var(--ink-4);font-size:12px;font-weight:700;cursor:pointer}
.sub-candidate-details[open]>summary{color:var(--ink)}
.sub-candidate-details .sub-action-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr);gap:10px;margin-top:10px}
.sub-action-why,.sub-action-charges,.sub-action-controls,.sub-action-guidance{border:1px solid rgba(15,23,42,.08);border-radius:8px;background:var(--surface-2);padding:10px;min-width:0}
.sub-action-controls{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:start}
.sub-action-guidance{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.sub-action-guidance strong{font-size:12px;color:var(--ink)}
.sub-action-guidance span{font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-action-actions{display:flex;gap:7px;justify-content:flex-end;align-items:center;flex-wrap:wrap;margin-top:10px}
.sub-more-actions{position:relative}
.sub-more-actions>summary{height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:12px;font-weight:700;color:var(--ink-3);cursor:pointer;list-style:none}
.sub-more-actions>summary::-webkit-details-marker{display:none}
.sub-more-actions>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.sub-action-error,.sub-form-error{margin-top:10px;padding:9px 10px;border:1px solid rgba(185,28,28,.18);border-radius:8px;background:rgba(185,28,28,.045);color:var(--negative);font-size:12px;font-weight:700;line-height:1.35}
.sub-action-error[hidden],.sub-form-error[hidden]{display:none}
.sub-field-error{display:block;min-height:0;margin-top:3px;color:var(--negative);font-size:10px;font-weight:700;line-height:1.25;text-transform:none;letter-spacing:0}
.sub-field-error:empty{display:none}
.sub-field-invalid{border-color:rgba(185,28,28,.45)!important;box-shadow:0 0 0 2px rgba(185,28,28,.08)}
.sub-action-card-error{box-shadow:inset 3px 0 0 rgba(185,28,28,.45)}
.sub-empty-action{display:grid;gap:9px;justify-items:center}
.sub-empty-action .btn{margin-top:4px}
.sub-budget-list .btn{margin:12px 16px}

@media (max-width:900px){
  #panel-subscriptions{gap:14px}
  .sub-page-header{flex-direction:column}
  .sub-page-header .btn{width:100%}
  .sub-command-grid{grid-template-columns:1fr 1fr}
  .sub-command-primary{grid-column:1/-1}
  .sub-secondary-grid{grid-template-columns:1fr}
  .sub-review-bulk-actions{width:100%;justify-content:flex-start}
  .sub-action-head,.sub-action-head.review{grid-template-columns:1fr;align-items:start}
  .sub-review-select{justify-content:flex-start}
  .sub-action-impact{justify-items:start;text-align:left}
  .sub-action-primary{justify-content:flex-start}
  .sub-candidate-details .sub-action-body,.sub-action-controls{grid-template-columns:1fr}
  .sub-action-guidance{display:grid}
  .sub-action-actions{justify-content:flex-start}
}

@media (max-width:520px){
  .sub-command-grid{grid-template-columns:1fr}
  .sub-tabs{flex-direction:column}
  .sub-action-card{padding:13px}
  .sub-action-service{align-items:flex-start}
  .sub-action-primary .btn,.sub-action-actions .btn,.sub-more-actions{width:100%}
  .sub-more-actions>summary{justify-content:center;width:100%;box-sizing:border-box}
  .sub-more-actions>div{display:grid}
}

/* --- Subscription responsive refinement --- */
#panel-subscriptions{width:100%;max-width:1280px;margin:0 auto;box-sizing:border-box;overflow-x:hidden}
#panel-subscriptions .panel{min-width:0}
.sub-page-header{align-items:flex-end;margin-bottom:2px}
.sub-command-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;padding:12px}
.sub-command-primary,.sub-command-metric{appearance:none;width:100%;min-height:96px;display:grid;align-content:start;gap:5px;text-align:left;border:1px solid rgba(32,38,46,.09);border-radius:8px;background:var(--surface);padding:14px 15px;color:var(--ink);font:inherit;box-shadow:0 1px 0 rgba(15,23,42,.02)}
.sub-command-primary.good{border-color:rgba(34,197,94,.22);background:linear-gradient(180deg,#fff,rgba(34,197,94,.035))}
.sub-command-attention{border-color:rgba(196,115,59,.26);background:linear-gradient(180deg,#fff,rgba(196,115,59,.055))}
.sub-command-click:hover{border-color:var(--copper-border);box-shadow:0 0 0 3px rgba(196,115,59,.08);background:#fff}
.sub-command-metric span,.sub-command-primary .budget-kicker{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}
.sub-command-metric strong,.sub-command-primary strong{font-size:25px;line-height:1.05;color:var(--ink);font-weight:850;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sub-command-metric small,.sub-command-primary span{font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:5px;border:1px solid rgba(32,38,46,.1);border-radius:9px;background:var(--surface-2)}
.sub-tabs button{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:var(--ink-4);font-size:12px;font-weight:760;cursor:pointer;white-space:nowrap}
.sub-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 1px 2px rgba(15,23,42,.06)}
.sub-tabs button:focus-visible,.sub-command-click:focus-visible,.sub-row-details summary:focus-visible,.sub-row-more summary:focus-visible,.sub-calendar-input:focus{outline:2px solid var(--copper);outline-offset:2px}
.sub-tab-count{margin-left:0}
.sub-premium-row{grid-template-columns:42px minmax(0,1fr) minmax(104px,auto) minmax(220px,auto);gap:12px;padding:13px 15px;background:var(--surface);align-items:center}
.sub-premium-row:hover{background:linear-gradient(180deg,#fff,rgba(196,115,59,.025))}
.sub-premium-icon{width:36px;height:36px;border-radius:9px;box-shadow:inset 0 0 0 1px rgba(32,38,46,.06);overflow:hidden}
.sub-premium-title{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:5px;line-height:1.25}
.sub-service-name{font-size:13px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.sub-title-context{font-size:11px;font-weight:760;color:var(--ink-3);background:var(--surface-3);border-radius:999px;padding:3px 8px;white-space:normal;line-height:1.25}
.sub-action-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:5px}
.sub-mini-badge{font-size:9px;font-weight:820;padding:2px 7px;line-height:1.25}
.sub-premium-meta{font-size:11px;color:var(--ink-4);line-height:1.35;overflow-wrap:anywhere}
.sub-premium-note{display:none}
.sub-row-details{margin-top:6px}
.sub-row-details summary{width:max-content;max-width:100%;font-size:11px;font-weight:760;color:var(--ink-4);cursor:pointer}
.sub-row-details summary:hover{color:var(--copper)}
.sub-detail-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px;max-width:760px;padding:10px;border:1px solid rgba(32,38,46,.08);border-radius:8px;background:var(--surface-2)}
.sub-detail-item{min-width:0}
.sub-detail-item span{display:block;margin:0 0 2px;font-size:9px;line-height:1.25;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}
.sub-detail-item strong{display:block;font-size:11px;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.sub-premium-money{align-self:center}
.sub-premium-money strong{font-size:16px}
.sub-premium-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.sub-premium-actions .btn{min-height:32px}
.sub-danger-action{color:var(--negative);background:transparent;border-color:rgba(185,28,28,.16)}
.sub-danger-action:hover{background:rgba(185,28,28,.055);border-color:rgba(185,28,28,.26)}
.sub-row-more{position:relative}
.sub-row-more>summary{height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--border);border-radius:7px;background:var(--surface);font-size:11px;font-weight:760;color:var(--ink-4);cursor:pointer;list-style:none}
.sub-row-more>summary::-webkit-details-marker{display:none}
.sub-row-more>div{display:flex;gap:7px;margin-top:6px}
.sub-secondary-grid{grid-template-columns:minmax(280px,.78fr) minmax(420px,1.35fr);gap:12px;align-items:start}
.sub-secondary-panel{align-self:start}
.sub-secondary-grid .sub-secondary-panel:nth-child(1){grid-column:1;grid-row:1}
.sub-secondary-grid .sub-secondary-panel:nth-child(2){grid-column:2;grid-row:1 / span 2}
.sub-secondary-grid .sub-budget-panel{grid-column:1;grid-row:2}
.sub-break-row{grid-template-columns:minmax(120px,1fr) minmax(96px,1.6fr) minmax(78px,auto) minmax(40px,auto);gap:10px;padding:10px 16px}
.sub-break-row>div:first-child{min-width:0;overflow-wrap:anywhere}
.sub-break-row>div:nth-child(2){min-width:72px;height:9px}
.sub-calendar-model{gap:9px;padding:10px;max-height:520px;overflow:auto}
.sub-calendar-context{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 4px}
.sub-calendar-context strong{font-size:12px;color:var(--ink)}
.sub-calendar-context span{max-width:360px;text-align:right;font-size:11px;line-height:1.35;color:var(--ink-4)}
.sub-calendar-row.intelligent{grid-template-columns:42px minmax(0,1fr) minmax(72px,auto);gap:8px 10px;padding:10px 12px;align-items:center}
.sub-calendar-date{width:36px;height:36px;flex:0 0 auto}
.sub-calendar-date.warn{background:rgba(196,115,59,.08);border-color:rgba(196,115,59,.22)}
.sub-calendar-main strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.sub-calendar-main span{font-size:11px;color:var(--ink-4)}
.sub-calendar-amount{text-align:right;font-variant-numeric:tabular-nums}
.sub-calendar-amount strong{font-size:12px;color:var(--ink)}
.sub-calendar-amount span{font-size:10px;color:var(--ink-4)}
.sub-calendar-controls{grid-column:2/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px}
.sub-calendar-input{width:100%;min-width:0;box-sizing:border-box}
.sub-calendar-attention{border:1px solid rgba(196,115,59,.16);border-radius:8px;overflow:hidden;background:rgba(196,115,59,.035)}
.sub-calendar-month-head.attention{background:rgba(196,115,59,.07)}
.sub-calendar-row.stale{background:#fff}
.sub-budget-list{display:grid;gap:8px;padding:12px 16px}
.sub-budget-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(32,38,46,.08);border-radius:8px;background:#fff;padding:12px;border-bottom:1px solid rgba(32,38,46,.08)}
.sub-budget-row.warn{border-color:rgba(196,115,59,.16);background:#fff}
.sub-budget-row.good{border-color:rgba(34,197,94,.16);background:rgba(34,197,94,.035)}
.sub-budget-row b{font-size:15px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.sub-budget-chip{display:inline-flex;align-items:center;margin-right:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:800}
.sub-budget-row .sub-budget-chip{display:inline-flex}
.sub-budget-chip.warn{background:rgba(196,115,59,.11);color:var(--copper)}
.sub-budget-chip.good{background:rgba(34,197,94,.11);color:var(--positive)}
.sub-budget-list .btn{justify-self:start;margin:2px 0 0}

@media (max-width:1180px){
  .sub-secondary-grid{grid-template-columns:1fr}
  .sub-secondary-grid .sub-secondary-panel:nth-child(1),.sub-secondary-grid .sub-secondary-panel:nth-child(2),.sub-secondary-grid .sub-budget-panel{grid-column:auto;grid-row:auto}
  .sub-calendar-model{max-height:none}
}

@media (max-width:900px){
  .sub-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sub-command-primary{grid-column:auto}
  .sub-premium-row{grid-template-columns:38px minmax(0,1fr);align-items:start}
  .sub-premium-money,.sub-confidence,.sub-premium-actions{grid-column:2;justify-content:flex-start;text-align:left}
  .sub-premium-money strong,.sub-premium-money>span{justify-content:flex-start}
  .sub-secondary-grid{grid-template-columns:1fr}
  .sub-detail-panel{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:600px){
  .sub-page-header{align-items:flex-start}
  .sub-page-header .btn{width:100%}
  .sub-command-grid{grid-template-columns:1fr}
  .sub-tabs{grid-template-columns:1fr}
  .sub-list-head{display:grid}
  .sub-premium-row{grid-template-columns:34px minmax(0,1fr);padding:14px 13px}
  .sub-premium-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:7px}
  .sub-row-more>summary{justify-content:center;width:100%;box-sizing:border-box}
  .sub-row-more>div{display:grid}
  .sub-break-row{grid-template-columns:1fr auto;padding:12px 16px}
  .sub-break-row>div:nth-child(2){grid-column:1/-1;grid-row:2;width:100%}
  .sub-break-row small{grid-column:1/-1;text-align:left}
  .sub-calendar-row.intelligent{grid-template-columns:42px minmax(0,1fr);align-items:start}
  .sub-calendar-amount{grid-column:2;text-align:left}
  .sub-calendar-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:8px}
  .sub-calendar-row.intelligent .btn{width:100%}
  .sub-calendar-context{display:grid}
  .sub-calendar-context span{text-align:left;max-width:none}
  .sub-detail-panel{grid-template-columns:1fr}
  .sub-budget-row{grid-template-columns:1fr}
  .sub-budget-row b{text-align:left}
}

/* --- Account rows --- */
.acct-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.acct-row:last-child{border:none}
.acct-left{display:flex;align-items:center;gap:12px}
.acct-ico{width:36px;height:36px;border-radius:var(--radius);background:var(--surface-3);display:flex;align-items:center;justify-content:center}
.acct-ico svg{width:16px;height:16px;color:var(--ink-3)}
.acct-name{font-size:13px;font-weight:500;color:var(--ink)}
.acct-updated{font-size:10px;color:var(--ink-4)}
.acct-bal{font-size:14px;font-weight:700;color:var(--ink);font-family:var(--mono)}
.acct-bal.neg{color:var(--negative)}

/* --- Plaid Connect --- */
.plaid-card{background:var(--surface-2);border:2px dashed var(--border-2);border-radius:var(--radius-xl);padding:40px;text-align:center;transition:border-color 0.2s}
.plaid-card:hover{border-color:var(--copper)}
.plaid-card h3{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px}
.plaid-card p{font-size:13px;color:var(--ink-3);margin-bottom:20px;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.6}
.plaid-card .btn{margin:0 auto}
.plaid-logos{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;flex-wrap:wrap}
.plaid-logo{padding:8px 16px;background:var(--surface-3);border-radius:var(--radius);font-size:12px;font-weight:600;color:var(--ink-3)}
.plaid-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:200;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}
.plaid-modal-bg.open{display:flex}
.plaid-modal{background:var(--surface-2);border-radius:var(--radius-xl);width:440px;max-width:90vw;box-shadow:var(--shadow-lg);overflow:hidden}
.plaid-modal-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.plaid-modal-head h3{font-size:16px;font-weight:700;color:var(--ink)}
.plaid-modal-body{padding:24px}
.plaid-bank-list{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.plaid-bank{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all 0.15s}
.plaid-bank:hover{border-color:var(--copper);background:var(--copper-bg)}
.plaid-bank.selected{border-color:var(--copper);background:var(--copper-bg)}
.plaid-bank-icon{width:36px;height:36px;border-radius:var(--radius);background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:18px}
.plaid-bank-name{font-size:14px;font-weight:500;color:var(--ink)}
.plaid-status{text-align:center;padding:24px}
.plaid-status .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--copper);border-radius:50%;margin:0 auto 12px;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* --- Empty state --- */
.empty-state{text-align:center;padding:48px 20px;color:var(--ink-4)}
.empty-state svg{width:40px;height:40px;margin:0 auto 14px;color:var(--ink-5)}
.empty-state h3{font-size:15px;font-weight:700;color:var(--ink-2);margin-bottom:6px;letter-spacing:-0.01em}
.empty-state p{font-size:12px;max-width:280px;margin:0 auto 18px;line-height:1.6}
.business-setup-panel{border:1px solid var(--copper-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--surface-2),var(--surface-1));padding:20px;display:grid;gap:16px}
.command-center.business-empty{display:block}
.business-setup-head{display:grid;gap:5px;max-width:760px}
.business-setup-kicker{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--copper)}
.business-setup-head h3{margin:0;font-size:18px;line-height:1.15;color:var(--ink);letter-spacing:-.02em}
.business-setup-head p{margin:0;font-size:13px;line-height:1.5;color:var(--ink-3)}
.business-setup-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.business-setup-stats div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}
.business-setup-stats span{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}
.business-setup-stats strong{display:block;margin-top:4px;font-size:20px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.business-setup-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.business-setup-action{position:relative;text-align:left;min-height:132px;padding:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);cursor:pointer;display:flex;flex-direction:column;gap:6px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.business-setup-action:hover{border-color:var(--copper-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}
.business-setup-action strong{font-size:13px;line-height:1.25;color:var(--ink)}
.business-setup-action span{font-size:11px;line-height:1.4;color:var(--ink-4);padding-right:4px}
.business-setup-action b{margin-top:auto;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--copper)}
@media(max-width:1020px){.business-setup-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.business-setup-panel{padding:16px}.business-setup-stats,.business-setup-actions{grid-template-columns:1fr}.business-setup-action{min-height:unset}}

/* --- Account Page Header --- */
.acct-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.acct-page-header-left{display:flex;align-items:center;gap:12px}
.acct-page-header-left h2{font-size:18px;font-weight:700;color:var(--ink)}
.acct-page-count{font-size:12px;font-weight:600;color:var(--copper);background:var(--copper-bg);padding:3px 10px;border-radius:20px}
.acct-page-actions{display:flex;gap:8px}
.acct-page-actions .btn{display:flex;align-items:center;gap:6px}

/* --- Account Summary Bar --- */
.acct-summary-bar{display:flex;align-items:center;padding:16px 24px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:20px;gap:24px}
.acct-summary-item{display:flex;flex-direction:column;gap:2px;flex:1}
.acct-summary-label{font-size:11px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em}
.acct-summary-value{font-size:20px;font-weight:800;color:var(--ink);letter-spacing:-0.02em;font-family:'Inter',sans-serif}
.acct-summary-value.positive{color:var(--positive)}
.acct-summary-value.negative{color:var(--negative)}
.acct-summary-divider{width:1px;height:36px;background:var(--border)}

/* --- Account Groups --- */
.acct-group{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden;transition:box-shadow 0.2s}
.acct-group:hover{box-shadow:var(--shadow-sm)}
.acct-group-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--surface-3);border-bottom:1px solid var(--border)}
.acct-group-left{display:flex;align-items:center;gap:12px}
.acct-group-name{font-size:15px;font-weight:700;color:var(--ink)}
.acct-group-meta{font-size:11px;color:var(--ink-4);margin-top:1px}
.acct-group-items{padding:4px 0}
.acct-group .acct-row{padding:12px 20px;border-bottom:1px solid var(--border-light,var(--border))}
.acct-group .acct-row:last-child{border-bottom:none}
.acct-type-badge{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:16px;background:var(--surface-3);border-radius:var(--radius);flex-shrink:0}
.acct-classify{display:flex;align-items:center;gap:6px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-1);color:var(--ink-4);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap}
.acct-classify select{height:24px;border:0;background:transparent;color:var(--ink);font-size:11px;font-weight:750;outline:none;font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0}
.acct-classify:focus-within{border-color:var(--copper-border);box-shadow:0 0 0 2px rgba(196,115,59,0.12)}
.acct-usage-select{border-color:var(--copper-border);background:var(--copper-bg)}
.acct-usage-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:5px}
.acct-usage-meta span{font-size:9px;font-weight:800;color:var(--ink-4);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:2px 7px;text-transform:uppercase;letter-spacing:.04em}
.acct-usage-pill.personal{color:var(--info);background:var(--info-bg);border-color:rgba(59,130,246,.18)}
.acct-usage-pill.business{color:var(--positive);background:var(--positive-bg);border-color:rgba(22,163,74,.18)}
.acct-usage-pill.mixed{color:var(--copper);background:var(--copper-bg);border-color:var(--copper-border)}
.acct-usage-pill.needs{color:var(--warn);background:var(--warn-bg);border-color:rgba(245,158,11,.2)}
.vmodal.vmodal-account-usage{width:720px;max-width:min(94vw,720px)}
.vmodal.vmodal-account-usage .vmodal-body{text-align:left;padding:28px}
.vmodal.vmodal-account-usage .vmodal-title{text-align:center}
.acct-usage-flow{display:grid;gap:10px;max-height:58vh;overflow:auto;padding-right:3px}
.acct-usage-flow-note{font-size:12px;font-weight:700;color:var(--ink);background:var(--copper-bg);border:1px solid var(--copper-border);border-radius:var(--radius);padding:10px 12px;text-align:center}
.acct-usage-card{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:10px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}
.acct-usage-card-main strong{display:block;font-size:13px;color:var(--ink);line-height:1.25}
.acct-usage-card-main span{display:block;font-size:11px;color:var(--ink-4);margin-top:3px;line-height:1.35}
.acct-usage-card label{display:grid;gap:4px;font-size:10px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em}
.acct-usage-card select{height:34px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--ink);padding:0 9px;font-size:12px;font-weight:750}
.acct-usage-flags{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}
.acct-usage-flags label{display:inline-flex;grid-auto-flow:column;align-items:center;gap:6px;background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:5px 8px;text-transform:none;letter-spacing:0;font-size:11px;color:var(--ink-3)}
.acct-usage-flags input{accent-color:var(--copper)}
@media(max-width:720px){.acct-usage-card{grid-template-columns:1fr}.acct-usage-flags{display:grid}}

/* Manual account badge */
.acct-manual-badge{font-size:9px;font-weight:600;color:var(--info);background:var(--info-bg);padding:2px 7px;border-radius:3px;margin-left:6px;letter-spacing:0.03em}
.acct-linked-badge{font-size:9px;font-weight:600;color:var(--positive);background:var(--positive-bg);padding:2px 7px;border-radius:3px;margin-left:6px;letter-spacing:0.03em}
.acct-group-note{font-size:11px;font-weight:650;color:var(--ink-4);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:5px 9px}
.manual-acct-error{margin-top:10px;padding:9px 11px;border:1px solid rgba(185,28,28,.22);background:rgba(185,28,28,.06);color:var(--negative);border-radius:var(--radius);font-size:12px;font-weight:650;text-align:left}

/* --- Account Empty State Hero --- */
.acct-empty-hero{text-align:center;padding:60px 20px}
.acct-empty-icon{width:80px;height:80px;border-radius:50%;background:var(--copper-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--copper)}
.acct-empty-hero h3{font-size:20px;font-weight:700;color:var(--ink);margin-bottom:8px}
.acct-empty-hero>p{font-size:14px;color:var(--ink-3);max-width:480px;margin:0 auto 32px;line-height:1.6}
.acct-empty-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:900px;margin:0 auto}
.acct-empty-option{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px 24px;text-align:center;cursor:pointer;transition:all 0.2s ease}
.acct-empty-option:hover{border-color:var(--copper);box-shadow:0 4px 16px rgba(0,0,0,0.06);transform:translateY(-2px)}
.acct-empty-option.is-loading{opacity:.72;transform:none;cursor:progress}
.acct-empty-option-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.acct-empty-option-icon.plaid{background:var(--copper-bg);color:var(--copper)}
.acct-empty-option-icon.manual{background:var(--info-bg);color:var(--info)}
.acct-empty-option-icon.csv{background:var(--success-bg);color:var(--success)}
.acct-empty-option h4{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px}
.acct-empty-option p{font-size:12px;color:var(--ink-3);line-height:1.5;margin-bottom:16px}
@media(max-width:820px){.acct-empty-options{grid-template-columns:1fr;max-width:420px}.acct-page-actions{flex-wrap:wrap}}
.acct-group-actions{display:flex;gap:6px;align-items:center}

/* Danger button */
.btn-danger{background:transparent;color:var(--negative);border:1px solid var(--negative);font-size:12px;font-weight:600;padding:5px 14px;border-radius:var(--radius);cursor:pointer;transition:all 0.15s}
.btn-danger:hover{background:var(--negative);color:#fff}
.btn-remove{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--ink-4);border-radius:var(--radius);cursor:pointer;font-size:12px;transition:all 0.15s;flex-shrink:0}
.btn-remove:hover{border-color:var(--negative);color:var(--negative);background:rgba(220,53,69,0.06)}
button.is-loading,button:disabled{cursor:progress;opacity:.72}

/* --- Custom In-App Modal --- */
.vmodal-bg{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:300;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity 0.25s ease}
.vmodal-bg.open{opacity:1;pointer-events:all}
.vmodal{background:var(--surface-2);border-radius:var(--radius-xl);width:420px;max-width:90vw;box-shadow:0 16px 48px rgba(0,0,0,0.18);transform:scale(0.92) translateY(12px);transition:transform 0.3s cubic-bezier(.2,.9,.3,1);overflow:hidden}
.vmodal-bg.open .vmodal{transform:scale(1) translateY(0)}
.vmodal-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:22px}
.vmodal-audit{width:460px;max-width:min(92vw,460px)}
.vmodal-audit .vmodal-body{padding:30px 28px 24px}
.vmodal-audit .vmodal-icon{width:42px;height:42px;margin-bottom:12px;font-size:13px;font-weight:900;letter-spacing:0;border-radius:12px}
.vmodal-audit .vmodal-title{margin-bottom:12px}
.vmodal-icon.warn{background:var(--warn-bg);color:var(--warn)}
.vmodal-icon.danger{background:var(--negative-bg);color:var(--negative)}
.vmodal-icon.success{background:var(--positive-bg);color:var(--positive)}
.vmodal-icon.info{background:var(--info-bg);color:var(--info)}
.vmodal-body{padding:32px 28px 24px;text-align:center}
.vmodal-title{font-size:17px;font-weight:700;color:var(--ink);margin-bottom:8px}
.vmodal-msg{font-size:13px;color:var(--ink-3);line-height:1.6;margin-bottom:24px}
.vmodal-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;justify-content:center}
.vmodal-actions .btn{min-width:0;width:100%;white-space:normal;line-height:1.2;text-align:center}
.plaid-issue{text-align:left;color:var(--ink-3);line-height:1.45}
.plaid-issue p{margin:0 0 12px;color:var(--ink);font-size:13px;font-weight:600}
.plaid-issue-grid{display:grid;gap:8px;margin:10px 0}
.plaid-issue-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;background:var(--surface-3);border:1px solid var(--border);border-radius:8px}
.plaid-issue-row span,.plaid-issue-action span{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}
.plaid-issue-row strong{font-size:12px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:right}
.plaid-issue-action{margin-top:12px;padding:10px 12px;background:var(--warn-bg);border:1px solid rgba(201,138,26,0.28);border-radius:8px;color:var(--ink);font-size:12px}
.plaid-issue-action span{display:block;margin-bottom:4px;color:var(--warn)}
.vmodal.vmodal-subscription{width:560px;max-width:min(94vw,560px)}
.vmodal.vmodal-subscription .vmodal-body{padding:28px 30px 22px}
.vmodal.vmodal-subscription .vmodal-icon{width:42px;height:42px;margin-bottom:12px}
.vmodal.vmodal-subscription .vmodal-msg{margin-bottom:16px}
.sub-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:10px}
.sub-form-grid .debt-form-field{min-width:0}
.sub-form-grid input,.sub-form-grid select{width:100%;min-width:0;box-sizing:border-box}
.sub-form-note{font-size:11px;color:var(--ink-4);line-height:1.35;margin-top:4px}
.vmodal.vmodal-sub-evidence{width:640px;max-width:min(94vw,640px)}
.vmodal.vmodal-sub-evidence .vmodal-body{padding:26px 26px 22px;text-align:left}
.vmodal.vmodal-sub-evidence .vmodal-title{text-align:center}
.sub-evidence-modal{display:grid;gap:12px}
.sub-evidence-summary{font-size:12px;color:var(--ink-4);line-height:1.45;text-align:center}
.sub-evidence-subjects{display:grid;gap:8px}
.sub-evidence-subject{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.sub-evidence-subject strong{display:block;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub-evidence-subject span{display:block;margin-top:2px;font-size:11px;color:var(--ink-4)}
.sub-evidence-subject b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.sub-evidence-list{display:grid;gap:8px;max-height:360px;overflow:auto;padding-right:2px}
.sub-evidence-tx{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);text-align:left;color:inherit;font:inherit;cursor:pointer}
.sub-evidence-tx:hover{border-color:rgba(200,117,51,.45);background:rgba(200,117,51,.04)}
.sub-evidence-tx strong{display:block;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub-evidence-tx span{display:block;margin-top:2px;font-size:11px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sub-evidence-tx b{font-size:13px;font-variant-numeric:tabular-nums;color:var(--ink)}
.sub-evidence-empty{padding:16px;border:1px dashed var(--border);border-radius:8px;text-align:center;font-size:12px;color:var(--ink-4);background:var(--surface-2)}
@media(max-width:640px){
  .vmodal.vmodal-subscription{width:94vw}
  .sub-form-grid{grid-template-columns:1fr}
  .sub-action-head,.sub-action-body,.sub-action-controls{grid-template-columns:1fr}
  .sub-action-impact{justify-items:start;text-align:left}
  .sub-action-actions{justify-content:flex-start}
  .sub-review-item,.sub-budget-row,.sub-calendar-row{align-items:flex-start;flex-direction:column}
  .sub-review-actions{justify-content:flex-start}
  .sub-calendar-row.intelligent{grid-template-columns:44px minmax(0,1fr)}
  .sub-calendar-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:8px;width:100%}
  .sub-calendar-input,.sub-calendar-row.intelligent .btn{width:100%;box-sizing:border-box}
  .sub-break-row{grid-template-columns:1fr auto;gap:6px}
  .sub-break-row>div:nth-child(2){grid-column:1/-1;grid-row:2;width:100%}
  .sub-break-row b,.sub-break-row small{text-align:left}
}

/* --- Transaction Filters --- */
.tx-filters{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;padding:7px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg)}
.tx-filter-group{display:flex;align-items:center;gap:4px}
.tx-filter-group label{font-size:9px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em;white-space:nowrap}
.tx-filter-input{padding:4px 8px;font-size:11px;background:var(--surface-3);border:1px solid var(--border);border-radius:5px;color:var(--ink);transition:border-color 0.2s}
.tx-filter-input:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 2px var(--copper-bg)}
.tx-filter-sep{width:1px;height:16px;background:var(--border);margin:0 1px}
.tx-filter-btn{padding:4px 10px;font-size:10px;font-weight:600;border-radius:5px;cursor:pointer;transition:all 0.15s;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-4)}
.tx-filter-btn:hover{border-color:var(--copper);color:var(--copper)}
.tx-filter-btn.active{background:var(--copper-bg);border-color:var(--copper-border);color:var(--copper)}

/* Transaction search bar */
.tx-search-bar{display:flex;align-items:center;gap:6px;margin-bottom:6px;padding:7px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color 0.2s}
.tx-search-bar:focus-within{border-color:var(--copper);box-shadow:0 0 0 2px var(--copper-bg)}
.tx-search-bar svg{color:var(--ink-5);flex-shrink:0}
.tx-search-bar input{flex:1;border:none;background:none;color:var(--ink);font-size:12px;outline:none;font-family:inherit}
.tx-search-bar input::placeholder{color:var(--ink-5)}
.tx-search-count{font-size:9px;color:var(--ink-4);white-space:nowrap;font-weight:600}
.tx-review-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;padding:8px 12px;border:1px solid var(--copper-border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--copper-bg),var(--surface-2))}
.tx-review-entry span{font-size:11px;font-weight:800;color:var(--ink-3)}
.tx-view-tabs{display:flex;align-items:center;gap:4px;margin-bottom:8px;overflow-x:auto;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg)}
.tx-view-tab{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink-3);font-size:11px;font-weight:800;white-space:nowrap;cursor:pointer;transition:border-color 0.15s,background 0.15s,color 0.15s,box-shadow 0.15s}
.tx-view-tab:hover{border-color:var(--border);background:var(--surface);color:var(--ink)}
.tx-view-tab.active{background:var(--surface);border-color:var(--copper-border);color:var(--copper);box-shadow:0 1px 3px rgba(15,23,42,.06)}
.tx-view-tab span{min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:var(--surface-3);color:var(--ink-4);font-size:10px;line-height:18px;text-align:center;font-variant-numeric:tabular-nums}
.tx-view-tab.active span{background:var(--copper-bg);color:var(--copper)}
.tx-review-queue{margin:10px 0 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-sm);overflow:hidden}
.tx-review-queue[hidden]{display:none}
.tx-review-shell{display:grid;gap:0}
.tx-review-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,var(--surface-2))}
.tx-review-title{display:grid;gap:3px;min-width:0}
.tx-review-title strong{font-size:15px;color:var(--ink);letter-spacing:-.01em}
.tx-review-title span{font-size:11px;color:var(--ink-4);line-height:1.35}
.tx-review-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tx-review-body{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:0;min-height:360px}
.tx-review-card{padding:16px;display:grid;gap:12px;align-content:start}
.tx-review-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.tx-review-merchant{display:grid;gap:4px;min-width:0}
.tx-review-merchant strong{font-size:20px;line-height:1.15;color:var(--ink);letter-spacing:-.025em;overflow:hidden;text-overflow:ellipsis}
.tx-review-merchant span{font-size:11px;color:var(--ink-4)}
.tx-review-amount{font-size:22px;font-weight:900;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.tx-review-amount.in{color:var(--positive)}
.tx-review-issue-row,.tx-review-shortcuts{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tx-review-chip{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border-radius:999px;background:var(--surface-3);color:var(--ink-3);font-size:10px;font-weight:850}
.tx-review-chip.warn{background:rgba(245,158,11,.12);color:var(--warn)}
.tx-review-chip.danger{background:rgba(220,53,69,.1);color:var(--negative)}
.tx-review-confidence{display:grid;gap:6px;padding:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}
.tx-review-confidence strong{font-size:12px;color:var(--ink)}
.tx-review-confidence span{font-size:11px;line-height:1.45;color:var(--ink-4)}
.tx-review-confidence-bar{height:7px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.tx-review-confidence-bar span{display:block;height:100%;background:var(--copper)}
.tx-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tx-review-field{display:grid;gap:5px;min-width:0}
.tx-review-field label{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}
.tx-review-field select{min-width:0;width:100%;height:34px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--ink);font-size:12px;padding:0 8px}
.tx-review-entity{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.tx-review-entity button,.tx-review-mini-btn{height:32px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);color:var(--ink-3);font-size:11px;font-weight:850;cursor:pointer}
.tx-review-entity button.active,.tx-review-mini-btn:hover{border-color:var(--copper-border);background:var(--copper-bg);color:var(--copper)}
.tx-review-primary-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tx-review-receipt-input{display:none}
.tx-review-list{border-left:1px solid var(--border);background:var(--surface-1);padding:10px;display:grid;align-content:start;gap:7px;max-height:520px;overflow:auto}
.tx-review-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:9px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);text-align:left;cursor:pointer}
.tx-review-list button.active{border-color:var(--copper-border);background:var(--copper-bg)}
.tx-review-list button>span{display:grid;gap:2px;min-width:0}
.tx-review-list strong{font-size:11px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-review-list button>span>span{display:block;font-size:10px;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx-review-list b{font-size:11px;color:var(--ink);font-variant-numeric:tabular-nums}
.tx-review-shortcuts{padding:10px 16px;border-top:1px solid var(--border);background:var(--surface-1);font-size:10px;color:var(--ink-4)}
.tx-review-shortcuts kbd{height:19px;min-width:19px;padding:0 5px;border:1px solid var(--border);border-bottom-color:var(--border-2);border-radius:5px;background:#fff;color:var(--ink);font-size:10px;font-weight:850;line-height:17px;text-align:center}
.tx-review-clean{padding:28px 18px;text-align:center;display:grid;gap:10px;justify-items:center}
.tx-review-clean strong{font-size:22px;color:var(--ink);letter-spacing:-.02em}
.tx-review-clean span{max-width:460px;font-size:12px;line-height:1.5;color:var(--ink-4)}
@media(max-width:920px){
  .tx-review-body{grid-template-columns:1fr}
  .tx-review-list{border-left:0;border-top:1px solid var(--border);max-height:260px}
  .tx-review-grid{grid-template-columns:1fr}
}

/* Transaction sort dropdown */
.tx-sort-select{padding:5px 26px 5px 10px;font-size:11px;font-weight:600;background:var(--surface-3);border:1px solid var(--border);border-radius:6px;color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none' stroke='%23999' stroke-width='1.5'%3E%3Cpath d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color 0.15s}
.tx-sort-select:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.tx-sort-select:hover{border-color:var(--copper-border)}

/* --- Category Editor Dropdown --- */
.cat-edit-wrap{position:relative;display:flex;align-items:center;justify-content:flex-end;align-content:center;gap:4px;min-width:0;max-width:100%;overflow:hidden;flex-wrap:wrap}
.cat-edit-trigger{cursor:pointer;transition:all 0.15s;font-size:10px}
.cat-edit-trigger:hover{box-shadow:0 0 0 3px var(--copper-bg)}
.cat-dropdown{position:fixed;z-index:1000;overflow-y:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 14px 40px rgba(15,23,42,0.18);padding:6px;display:none}
.cat-dropdown.open{display:block}
.cat-dropdown-item{display:flex;align-items:center;gap:9px;min-height:32px;padding:7px 9px;font-size:12px;color:var(--ink);cursor:pointer;transition:background 0.1s,border-color 0.1s;border-radius:7px;white-space:nowrap}
.cat-dropdown-item:hover{background:var(--surface-3)}
.cat-dropdown-item.active{background:var(--copper-bg);color:var(--copper);font-weight:700}
.cat-dropdown-icon{width:18px;display:inline-flex;justify-content:center;flex-shrink:0}
.cat-dropdown-label{overflow:hidden;text-overflow:ellipsis}
.cat-dropdown-delete{margin-left:auto;width:22px;height:22px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--ink-4);font-size:11px;font-weight:800;line-height:1;cursor:pointer}
.cat-dropdown-delete:hover{border-color:var(--negative);background:rgba(220,38,38,0.08);color:var(--negative)}
.cat-custom-editor{padding:8px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:6px;border-top:1px solid var(--border)}
.cat-custom-input,.cat-custom-icon-input{padding:5px 10px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);outline:none;min-width:0}
.cat-custom-icon-input{height:32px;text-align:center;font-size:18px;padding:3px 6px;background:var(--copper-bg);border-color:var(--copper-border);cursor:default;display:flex;align-items:center;justify-content:center;font-family:inherit}
.cat-custom-save{padding:5px 12px;font-size:11px;font-weight:700;background:var(--copper);color:#fff;border:none;border-radius:var(--radius);cursor:pointer}
.cat-custom-icon-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(8,1fr);gap:5px;max-height:168px;overflow:auto;padding-top:2px}
.cat-custom-icon-btn{height:28px;border:1px solid var(--border);border-radius:7px;background:var(--surface-3);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.cat-custom-icon-btn:hover,.cat-custom-icon-btn.active{border-color:var(--copper);background:var(--copper-bg);box-shadow:0 0 0 2px var(--copper-bg)}
.cat-edit-trigger.low-conf{border:1px dashed rgba(217,119,6,0.4);color:rgba(217,119,6,0.85);background:rgba(217,119,6,0.05)}

/* --- Debt Payoff Cards --- */
.debt-command{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:12px;margin-bottom:14px}
.debt-command-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px}
.debt-command-card.primary{border-color:rgba(196,115,59,0.38);background:linear-gradient(180deg,rgba(196,115,59,0.06),var(--surface-2))}
.debt-command-card.good{border-color:rgba(46,160,67,0.26);background:rgba(46,160,67,0.04)}
.debt-command-card.warn{border-color:rgba(217,119,6,0.28);background:rgba(217,119,6,0.05)}
.debt-command-label{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-4);margin-bottom:6px}
.debt-command-title{font-size:18px;font-weight:800;color:var(--ink);line-height:1.2;margin-bottom:5px}
.debt-command-copy{font-size:12px;color:var(--ink-3);line-height:1.45}
.debt-command-value{font-size:22px;font-weight:800;color:var(--ink);margin:2px 0}
.debt-command-badge{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;background:var(--surface-3);color:var(--ink-3)}
.debt-command-badge.good{background:rgba(46,160,67,0.1);color:var(--positive)}
.debt-command-badge.warn{background:rgba(217,119,6,0.12);color:var(--warn)}
.debt-detection-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:-2px 0 16px}
.debt-detection-card{display:grid;gap:5px;align-content:start;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px;min-width:0}
.debt-detection-card.good{border-color:rgba(46,160,67,.22);background:rgba(46,160,67,.045)}
.debt-detection-card.warn{border-color:rgba(217,119,6,.3);background:rgba(217,119,6,.055)}
.debt-detection-card span{font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.debt-detection-card strong{font-size:22px;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.debt-detection-card p{min-height:44px;margin:0;font-size:11px;line-height:1.35;color:var(--ink-3)}
.debt-detection-card button{justify-self:start;height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--ink-3);font-size:10px;font-weight:850;cursor:pointer}
.debt-detection-card button:hover{border-color:var(--copper-border);background:var(--copper-bg);color:var(--copper)}
.debt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,390px));gap:16px;margin-bottom:20px;align-items:start;justify-content:start}
.debt-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;transition:box-shadow 0.2s,border-color 0.2s;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:0}
.debt-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-2)}
.debt-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px;min-height:58px}
.debt-card-title{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:12px;min-width:0;flex:1}
.debt-card-icon{width:40px;height:40px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.debt-card-icon.credit{background:rgba(196,115,59,0.1);color:var(--copper)}
.debt-card-icon.loan{background:var(--info-bg);color:var(--info)}
.debt-card-icon.other{background:var(--surface-3);color:var(--ink-3)}
.debt-card-info{min-width:0}
.debt-card-name{font-size:15px;font-weight:700;color:var(--ink);line-height:1.25;min-height:38px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.debt-card-subline{display:flex;align-items:center;gap:6px;min-height:18px;margin-top:3px;flex-wrap:wrap}
.debt-card-type{font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap}
.debt-card-status{display:inline-flex;align-items:center;border-radius:4px;padding:1px 6px;font-size:9px;font-weight:800;line-height:1.4;white-space:nowrap}
.debt-card-status.linked{color:var(--positive);background:rgba(46,160,67,0.1)}
.debt-card-status.synced{color:var(--positive);background:rgba(46,160,67,0.1)}
.debt-card-status.manual{color:var(--ink-4);background:var(--surface-3)}
.debt-card-status.review{color:var(--warn);background:rgba(217,119,6,0.12)}
.debt-card-actions{display:flex;gap:4px}
.debt-card-balance{font-size:28px;font-weight:800;color:var(--ink);letter-spacing:0;margin-bottom:5px;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;line-height:1.05;white-space:nowrap}
.debt-balance-source{font-size:10px;line-height:1.3;color:var(--ink-4);margin-bottom:12px;min-height:14px}
.debt-balance-source.synced{color:var(--positive)}
.debt-balance-source.review{color:var(--warn);font-weight:700}
.debt-card-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px;min-height:44px}
.debt-card-meta-item{font-size:11px;color:var(--ink-4);min-width:0;line-height:1.25}
.debt-apr-edit,.debt-min-edit{cursor:pointer}
.debt-apr-edit:hover .debt-meta-label,.debt-min-edit:hover .debt-meta-label{color:var(--copper)}
.debt-card-meta-item strong{color:var(--ink-2);font-weight:700;font-variant-numeric:tabular-nums}
.debt-meta-label{display:block;font-size:10px;color:var(--ink-4);white-space:nowrap;margin-bottom:3px}
.debt-meta-value{display:flex;align-items:center;gap:4px;min-width:0;color:var(--ink-2);font-weight:700}
.debt-meta-value strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.debt-edit-mark{font-size:10px;opacity:.5;flex-shrink:0}
.debt-apr-intel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;margin:-2px 0 14px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:11px;line-height:1.35;color:var(--ink-3)}
.debt-apr-intel strong{display:block;font-size:11px;color:var(--ink);font-weight:800;margin-bottom:2px}
.debt-apr-intel span,.debt-apr-intel em{display:block;overflow:hidden;text-overflow:ellipsis}
.debt-apr-intel em{margin-top:2px;font-style:normal;color:var(--ink-4)}
.debt-apr-intel.good{border-color:rgba(46,160,67,0.22);background:rgba(46,160,67,0.045)}
.debt-apr-intel.warn{border-color:rgba(217,119,6,0.34);background:rgba(217,119,6,0.055)}
.debt-apr-intel.waiting{grid-template-columns:1fr;border-color:rgba(96,165,250,0.18);background:rgba(96,165,250,0.045)}
.debt-apr-intel button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:800;padding:6px 9px;white-space:nowrap;cursor:pointer}
.debt-apr-intel button:hover{border-color:var(--copper);color:var(--copper);background:var(--copper-bg)}
.debt-progress{margin-bottom:16px}
.debt-progress-bar{height:10px;background:var(--surface-3);border-radius:6px;overflow:hidden;margin-bottom:6px}
.debt-progress-fill{height:100%;border-radius:6px;transition:width 0.8s cubic-bezier(.2,.9,.3,1)}
.debt-progress-labels{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--ink-4);font-variant-numeric:tabular-nums}
.debt-progress-labels span:last-child{text-align:right}
.debt-payoff-est{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-3);border-radius:var(--radius);font-size:12px;color:var(--ink-2);line-height:1.35;min-height:58px}
.debt-payoff-est svg{width:14px;height:14px;color:var(--copper);flex-shrink:0}
.debt-card-audit{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);font-size:11px;color:var(--ink-3);background:var(--surface);line-height:1.3}
.debt-card-audit.warn{border-color:rgba(217,119,6,0.34);background:rgba(217,119,6,0.05)}
.debt-evidence-badge{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:800;background:rgba(46,160,67,0.1);color:var(--positive);white-space:nowrap}
.debt-evidence-badge.warn{background:rgba(217,119,6,0.12);color:var(--warn)}
.debt-record-payment{width:100%;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-2);font-size:11px;font-weight:800;cursor:pointer}
.debt-record-payment:hover{border-color:var(--copper);color:var(--copper);background:var(--copper-bg)}
.debt-payment-reason{display:block;font-size:10px;color:var(--ink-4);margin-top:2px}
.debt-sim-card{padding:0 0 14px;border-bottom:1px solid var(--border);display:grid;gap:10px}
.debt-strategy-smart{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,150px);gap:10px;align-items:stretch;padding:12px;border:1px solid rgba(196,115,59,0.26);border-radius:var(--radius);background:linear-gradient(135deg,rgba(196,115,59,0.08),rgba(46,160,67,0.04))}
.debt-strategy-smart span,.debt-strategy-smart small{display:block;font-size:10px;color:var(--ink-4);font-weight:800;text-transform:uppercase;letter-spacing:0}
.debt-strategy-smart strong{display:block;margin:4px 0 3px;font-size:14px;line-height:1.25;color:var(--ink);overflow-wrap:anywhere}
.debt-strategy-smart small{text-transform:none;font-weight:600;line-height:1.35}
.debt-strategy-smart-result{display:grid;align-content:center;justify-items:end;text-align:right;border-left:1px solid rgba(196,115,59,0.18);padding-left:10px}
.debt-strategy-smart-result strong{font-size:17px;color:var(--positive);font-variant-numeric:tabular-nums}
.debt-rec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.debt-rec-card{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.debt-rec-card.risk{border-color:rgba(217,119,6,.32);background:rgba(217,119,6,.045)}
.debt-rec-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.debt-rec-head span,.debt-rec-target span,.debt-rec-assumptions span{display:block;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.debt-rec-head strong{display:block;margin-top:2px;font-size:15px;color:var(--ink)}
.debt-rec-head b{border-radius:999px;padding:3px 7px;background:var(--surface-3);color:var(--ink-3);font-size:9px;font-weight:850;white-space:nowrap}
.debt-rec-target strong{display:block;margin:3px 0 2px;font-size:13px;color:var(--ink);line-height:1.25}
.debt-rec-target .debt-rec-why-label{margin-top:7px}
.debt-rec-target small{display:block;font-size:11px;line-height:1.35;color:var(--ink-3)}
.debt-rec-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.debt-rec-metrics div{padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}
.debt-rec-metrics span{display:block;font-size:9px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4);white-space:nowrap}
.debt-rec-metrics strong{display:block;margin-top:2px;font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.debt-rec-risk{display:grid;gap:2px;padding:9px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:11px;color:var(--ink-3);line-height:1.35}
.debt-rec-risk span{font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-4)}
.debt-rec-risk strong{font-size:12px;color:var(--ink)}
.debt-rec-risk.low{border-color:rgba(46,160,67,.22);background:rgba(46,160,67,.045)}
.debt-rec-risk.low strong{color:var(--positive)}
.debt-rec-risk.review{border-color:rgba(217,119,6,.3);background:rgba(217,119,6,.055)}
.debt-rec-risk.review strong{color:var(--warn)}
.debt-rec-risk.high{border-color:rgba(220,38,38,.22);background:rgba(220,38,38,.045)}
.debt-rec-risk.high strong{color:var(--negative)}
.debt-rec-risk small,.debt-rec-assumptions p{font-size:11px;line-height:1.4;color:var(--ink-3);margin:0}
.debt-rec-assumptions{display:grid;gap:3px}
.debt-sim-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
.debt-sim-form label{display:flex;flex-direction:column;gap:4px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-4)}
.debt-sim-form input{width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);font-size:13px;font-weight:700}
.debt-sim-form input:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.debt-sim-result{padding:8px 10px;border-radius:var(--radius);background:rgba(46,160,67,0.08);color:var(--positive);font-size:12px;font-weight:800;white-space:nowrap}
.debt-extra-presets{display:flex;flex-wrap:wrap;gap:6px}
.debt-extra-presets button{height:28px;padding:0 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--ink-3);font-size:11px;font-weight:850;cursor:pointer}
.debt-extra-presets button:hover{border-color:var(--copper-border);color:var(--copper);background:var(--copper-bg)}
.debt-extra-presets button.active{border-color:var(--copper);background:var(--copper-bg);color:var(--copper)}
.debt-extra-presets button.recommended{border-color:rgba(46,160,67,0.24);background:rgba(46,160,67,0.07);color:var(--positive)}
.debt-sim-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.debt-sim-compare div{border:1px solid var(--border);border-radius:var(--radius);padding:9px 10px;background:var(--surface-2);min-width:0}
.debt-sim-compare span{display:block;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}
.debt-sim-compare strong{display:block;margin-top:3px;font-size:14px;font-weight:850;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.debt-sim-compare small{display:block;margin-top:2px;font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.debt-sim-note{margin:0;padding:9px 10px;border:1px solid rgba(217,119,6,0.24);border-radius:var(--radius);background:rgba(217,119,6,0.05);font-size:11px;line-height:1.45;color:var(--ink-3)}
.debt-strategy-item{padding:16px 0;border-bottom:1px solid var(--border);display:flex;gap:14px;align-items:flex-start}
.debt-strategy-item:last-child{border:none}
.debt-strategy-num{width:28px;height:28px;border-radius:50%;background:var(--copper-bg);color:var(--copper);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.debt-strategy-text{flex:1}
.debt-strategy-text h4{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.debt-strategy-text p{font-size:12px;color:var(--ink-3);line-height:1.5}

/* Debt Add Modal Form */
.debt-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin-bottom:20px}
.debt-form-grid.full{grid-template-columns:1fr}
.debt-form-field{display:flex;flex-direction:column;gap:4px}
.debt-form-field label{font-size:11px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em}
.debt-form-field input,.debt-form-field select{padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);transition:border-color 0.2s}
.debt-form-field input:focus,.debt-form-field select:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}

/* --- Debt Payoff polish pass --- */
#panel-debt.active{display:flex;flex-direction:column;gap:16px}
.debt-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.debt-page-header h2{margin:0 0 5px;font-size:22px;line-height:1.2;color:var(--ink)}
.debt-page-header p{margin:0;color:var(--ink-4);font-size:13px;line-height:1.45}
.debt-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.debt-summary-card{min-height:92px;padding:13px;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:var(--surface);box-shadow:0 5px 16px rgba(15,23,42,.025);display:grid;align-content:start;gap:5px}
.debt-summary-card.primary{border-color:rgba(196,115,59,.2);background:linear-gradient(180deg,rgba(196,115,59,.045),var(--surface))}
.debt-summary-card.good{border-color:rgba(46,160,67,.18);background:rgba(46,160,67,.035)}
.debt-summary-card.warn{border-color:rgba(217,119,6,.24);background:rgba(217,119,6,.045)}
.debt-summary-card.secondary{min-height:76px;background:var(--surface-2);box-shadow:none}
.debt-summary-card span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
.debt-summary-card strong{font-size:22px;line-height:1.05;color:var(--ink);font-variant-numeric:tabular-nums}
.debt-summary-card small{font-size:11px;line-height:1.35;color:var(--ink-4)}
.debt-next-action{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid rgba(196,115,59,.18);border-radius:10px;background:var(--surface);box-shadow:0 6px 18px rgba(15,23,42,.03)}
.debt-next-action.warn{border-color:rgba(217,119,6,.24);background:linear-gradient(180deg,var(--surface),rgba(217,119,6,.035))}
.debt-next-action.good{border-color:rgba(46,160,67,.18);background:linear-gradient(180deg,var(--surface),rgba(46,160,67,.03))}
.debt-next-action-copy{display:grid;gap:4px;min-width:0}
.debt-next-action-copy span,.debt-next-action-meta span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
.debt-next-action-copy strong{font-size:16px;line-height:1.25;color:var(--ink);font-weight:780}
.debt-next-action-copy p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-3)}
.debt-next-action-meta{display:grid;gap:5px;min-width:170px}
.debt-next-action-buttons{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
.debt-workspace-grid{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(430px,1.08fr);gap:16px;align-items:start}
.debt-left-column{display:grid;gap:16px;align-content:start;min-width:0}
.debt-accounts-panel,.debt-strategy-panel,.debt-payments-panel{margin:0}
.debt-strategy-panel{align-self:start}
.debt-accounts-panel .panel-body,.debt-strategy-panel .panel-body,.debt-payments-panel .panel-body{padding:14px}
.debt-strategy-panel .panel-body{display:grid;gap:12px}
.debt-accounts-panel .debt-grid{grid-template-columns:1fr;margin:0;gap:12px}
.debt-accounts-panel .debt-card{padding:18px;border-radius:10px;background:var(--surface);box-shadow:none}
.debt-card-header{margin-bottom:12px}
.debt-card-name{min-height:0;font-size:15px;font-weight:760}
.debt-card-balance{font-size:26px;margin-bottom:10px}
.debt-card-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.debt-card-meta-item{padding:8px;border:1px solid rgba(15,23,42,.07);border-radius:8px;background:var(--surface-2)}
.debt-payoff-est{min-height:0;background:var(--surface-2);border:1px solid rgba(15,23,42,.06)}
.debt-record-payment{height:34px;border-color:rgba(196,115,59,.26);background:var(--copper-bg);color:var(--copper);font-size:12px}
.debt-record-payment:hover{border-color:var(--copper);background:rgba(196,115,59,.12)}
.debt-strategy-intro{display:grid;gap:4px;margin-bottom:12px}
.debt-strategy-intro span{font-size:15px;font-weight:780;color:var(--ink)}
.debt-strategy-intro p{margin:0;font-size:12px;line-height:1.45;color:var(--ink-4)}
.debt-sim-card{padding:0;border:0;gap:12px}
.debt-strategy-smart{border-radius:10px;box-shadow:none;background:linear-gradient(135deg,rgba(196,115,59,.065),rgba(46,160,67,.035))}
.debt-rec-grid{gap:12px}
.debt-rec-grid.single{grid-template-columns:1fr}
.debt-rec-card{border-radius:10px;background:var(--surface);box-shadow:none}
.debt-rec-grid.single .debt-rec-card{gap:9px}
.debt-rec-grid.single .debt-rec-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
.debt-rec-grid.single .debt-rec-metrics div:first-child{grid-column:1/-1}
.debt-rec-grid.single .debt-rec-metrics div{grid-template-columns:112px minmax(0,1fr)}
.debt-single-strategy-note{padding:9px 10px;border:1px solid rgba(196,115,59,.18);border-radius:8px;background:var(--copper-bg);color:var(--ink-3);font-size:11px;line-height:1.4}
.debt-rec-target .debt-rec-why-label{margin-top:6px}
.debt-rec-metrics{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0;border:1px solid rgba(15,23,42,.07);border-radius:8px;background:var(--surface-2);overflow:hidden}
.debt-rec-metrics div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:center;padding:7px 9px;border:0;border-bottom:1px solid rgba(15,23,42,.06);border-radius:0;background:transparent}
.debt-rec-metrics div:last-child{border-bottom:0}
.debt-rec-metrics span{font-size:10px;font-weight:760;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
.debt-rec-metrics strong{min-width:0;font-size:12px;font-weight:760;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.debt-extra-control-card{display:grid;gap:10px;padding:12px;border:1px solid rgba(15,23,42,.08);border-radius:10px;background:var(--surface)}
.debt-extra-control-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.debt-extra-control-head strong{display:block;font-size:13px;color:var(--ink);margin-bottom:2px}
.debt-extra-control-head span{display:block;font-size:11px;line-height:1.35;color:var(--ink-4)}
.debt-sim-form{grid-template-columns:minmax(160px,.45fr) minmax(0,1fr);align-items:end}
.debt-extra-presets{align-items:end}
.debt-extra-presets button{height:32px;background:var(--surface);border-radius:8px}
.debt-sim-result{align-self:start;background:rgba(46,160,67,.07);border:1px solid rgba(46,160,67,.14);border-radius:8px}
.debt-sim-compare div{background:var(--surface-2)}
.debt-sim-note{background:var(--surface-2);border-color:rgba(15,23,42,.08);color:var(--ink-4)}
.debt-method-notes{display:grid;gap:8px}
.debt-method-notes div{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:10px;padding:9px 10px;border:1px solid rgba(15,23,42,.07);border-radius:8px;background:var(--surface-2)}
.debt-method-notes strong{font-size:12px;color:var(--ink)}
.debt-method-notes span{font-size:11px;line-height:1.4;color:var(--ink-3)}
.debt-empty-action{display:grid;gap:10px;justify-items:center}
.debt-payments-panel .debt-payment-row{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:flex-start;padding:13px 12px}
.debt-payments-panel .debt-payment-row .tx-merchant-avatar{grid-row:1 / span 2;align-self:center}
.debt-payments-panel .debt-payment-row .tx-details{grid-column:2 / -1}
.debt-payments-panel .debt-payment-row .cat-edit-wrap{grid-column:2;justify-content:flex-start;overflow:visible}
.debt-payments-panel .debt-payment-row .cat-badge{max-width:100%}
.debt-payments-panel .debt-payment-row .tx-amt{grid-column:3;grid-row:2;text-align:right;align-self:center}
.debt-payments-panel .debt-payment-row .tx-name{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25}
.debt-payments-panel .debt-payment-reason{white-space:normal;line-height:1.35}

@media(max-width:1100px){
  .debt-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .debt-workspace-grid{grid-template-columns:1fr}
  .debt-left-column{display:contents}
  .debt-accounts-panel{order:1}
  .debt-strategy-panel{order:2}
  .debt-payments-panel{order:3}
  .debt-next-action{grid-template-columns:1fr}
  .debt-next-action-meta{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
  .debt-next-action-buttons{justify-content:flex-start}
}

@media(max-width:560px){
  #panel-debt.active{gap:14px}
  .debt-page-header{flex-direction:column}
  .debt-page-header .btn{width:100%}
  .debt-summary-grid{grid-template-columns:1fr}
  .debt-summary-card{min-height:0}
  .debt-next-action-meta{grid-template-columns:1fr}
  .debt-next-action-buttons .btn{width:100%}
  .debt-accounts-panel .panel-body,.debt-strategy-panel .panel-body,.debt-payments-panel .panel-body{padding:12px}
  .debt-card-meta,.debt-rec-grid,.debt-sim-form,.debt-sim-compare,.debt-method-notes div{grid-template-columns:1fr}
  .debt-rec-metrics div{grid-template-columns:1fr;gap:2px}
  .debt-extra-control-head{display:grid}
  .debt-extra-presets button{flex:1 1 84px}
}

/* --- Responsive --- */
@media(max-width:1200px){
  .stats-row{grid-template-columns:repeat(2,1fr)}
  .grid-21,.grid-12,.overview-health-grid,.overview-action-grid{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .command-center{grid-template-columns:1fr 1fr}
  .command-center.command-center-metrics-only{grid-template-columns:1fr 1fr}
  .today-command-card{grid-template-columns:1fr}
  .today-command-actions{justify-content:flex-start}
  .command-feed-item{grid-template-columns:34px minmax(0,1fr)}
  .command-feed-actions{grid-column:2;justify-content:flex-start;min-width:0}
  .tax-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tax-summary-grid,.tax-workspace-grid,.tax-rule-grid,.tax-source-grid{grid-template-columns:1fr}
  .inv-trust-banner{align-items:flex-start;flex-direction:column}
  .inv-trust-pills{justify-content:flex-start;max-width:none}
  .inv-command,.inv-intel-grid{grid-template-columns:1fr}
  .inv-onboarding{grid-template-columns:1fr}
  .inv-target-row{grid-template-columns:1fr;gap:6px}
  .inv-target-bars{grid-template-columns:1fr 48px}
  .insight-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .health-factor-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .budget-grid-main,.budget-grid-secondary,.budget-grid-tertiary,.budget-command,.budget-advisor{grid-template-columns:1fr}
  .budget-map-panel{position:static;max-height:none}
  .debt-command{grid-template-columns:1fr 1fr}
  .debt-detection-flow{grid-template-columns:1fr 1fr}
  .budget-category-list{grid-template-columns:1fr}
}
@media(max-width:1024px){
  .sidebar{width:min(256px,86vw);transform:translateX(-100%);transition:transform 0.3s ease}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0}
  .mobile-toggle{display:flex!important}
  .sidebar-backdrop{position:fixed;inset:0;background:rgba(15,23,42,0.42);z-index:40;opacity:0;pointer-events:none;transition:opacity 0.2s ease}
  .sidebar-backdrop.open{opacity:1;pointer-events:auto}
}
@media(max-width:768px){
  .content{padding:14px 16px}
  .overview-control-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v-page-header{align-items:flex-start;gap:10px;flex-wrap:wrap}
  .v-page-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .v-page-actions .tx-sort-select{flex:1 1 145px;min-width:0}
  .budget-mode-toggle{flex:1 1 100%;justify-content:space-between}
  .budget-mode-toggle button{flex:1;min-width:0}
  .budget-advisor-actions{justify-content:flex-start}
  .budget-recommendation-list{grid-template-columns:1fr}
  .budget-rec-row{grid-template-columns:1fr;align-items:start}
  .budget-rec-row em{text-align:left}
  .budget-kpis{grid-template-columns:1fr}
  .stats-row{grid-template-columns:1fr}
  .topbar{flex-direction:column;align-items:flex-start;gap:12px}
  .mobile-toggle{position:absolute;top:14px;right:16px}
  .topbar-right{width:100%;flex-wrap:wrap}
  .command-center{grid-template-columns:1fr}
  .command-center.command-center-metrics-only{grid-template-columns:1fr}
  .today-command-card h2{font-size:22px}
  .today-command-metrics{grid-template-columns:1fr}
  .command-feed-summary{align-items:flex-start;flex-direction:column}
  .command-feed-summary-metric{width:100%;min-width:0}
  .command-feed-item{grid-template-columns:1fr}
  .command-feed-icon{width:34px;height:34px}
  .command-feed-actions{grid-column:1;justify-content:flex-start}
  .tax-hero-panel{flex-direction:column}
  .tax-hero-actions{justify-content:flex-start}
  .tax-profile-grid{grid-template-columns:1fr}
  .tax-deduction-card{grid-template-columns:1fr}
  .tax-deduction-side{text-align:left}
  .debt-command{grid-template-columns:1fr}
  .debt-detection-flow{grid-template-columns:1fr}
  .debt-grid{grid-template-columns:1fr}
  .debt-card{min-height:0;padding:18px}
  .debt-card-meta{grid-template-columns:1fr 1fr}
  .debt-sim-form,.debt-sim-compare,.debt-strategy-smart,.debt-rec-grid{grid-template-columns:1fr}
  .debt-strategy-smart-result{justify-items:start;text-align:left;border-left:0;border-top:1px solid rgba(196,115,59,0.18);padding:10px 0 0}
  .inv-quality{grid-template-columns:1fr;justify-items:center}
  .inv-activity-summary{grid-template-columns:1fr}
  .insight-list{grid-template-columns:1fr}
  .change-list,.health-factor-list{grid-template-columns:1fr}
  .budget-kpis,.budget-map,.budget-week-grid,.budget-closeout-list,.budget-score,.budget-whatif-form{grid-template-columns:1fr}
  .budget-map{justify-items:center}
  .budget-mode-toggle{width:100%;justify-content:space-between}
  .budget-mode-toggle button{flex:1}
  .budget-advisor-actions{justify-content:flex-start}
  .budget-recommendation-list,.budget-rec-row{grid-template-columns:1fr}
  .budget-rec-row em{text-align:left}
  .budget-overview-row{grid-template-columns:1fr}
  .budget-move{align-items:flex-start;flex-direction:column}
  .budget-move button{width:100%}
  .content{padding:16px}
  .tx-ledger-head{display:none}
  #all-tx .tx-row:not(.tx-row-overview){grid-template-columns:20px 34px minmax(0,1fr);align-items:start}
  #all-tx .tx-row:not(.tx-row-overview) .tx-row-main{grid-column:3}
  #all-tx .tx-row:not(.tx-row-overview) .tx-classification,
  #all-tx .tx-row:not(.tx-row-overview) .tx-status-stack,
  #all-tx .tx-row:not(.tx-row-overview) .tx-amt-block,
  #all-tx .tx-row:not(.tx-row-overview) .tx-row-advanced{grid-column:3 / -1;align-items:flex-start}
  #all-tx .tx-row:not(.tx-row-overview) .tx-amt-block{align-items:flex-start}
  #all-tx .tx-row:not(.tx-row-overview) .tx-amt{text-align:left}
  .tx-row-overview{grid-template-columns:32px 1fr 80px;font-size:12px}
  .tx-row-overview .cat-edit-wrap{display:none}
  .tx-bulk-bar{align-items:flex-start;flex-direction:column}
  .tx-bulk-actions{width:100%}
  .tx-bulk-deselect{margin-left:0}
}

@media(max-width:560px){
  .overview-control-strip{grid-template-columns:1fr}
}

/* --- Asset Allocation Drill-Down Drawer --- */
.alloc-drawer-bg{position:fixed;inset:0;background:rgba(0,0,0,0.35);z-index:250;opacity:0;pointer-events:none;transition:opacity 0.3s ease;backdrop-filter:blur(4px);overflow:hidden;contain:paint}
.alloc-drawer-bg.open{opacity:1;pointer-events:all}
.alloc-drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:92vw;background:var(--surface-2);box-shadow:-12px 0 48px rgba(0,0,0,0.15);transform:translateX(100%);transition:transform 0.35s cubic-bezier(.2,.9,.3,1);display:flex;flex-direction:column;z-index:251;overflow:hidden}
.alloc-drawer-bg.open .alloc-drawer{transform:translateX(0)}
.alloc-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:24px 28px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.alloc-drawer-head-left{display:flex;align-items:center;gap:14px}
.alloc-drawer-icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.alloc-drawer-title{font-size:17px;font-weight:700;color:var(--ink);letter-spacing:-0.02em}
.alloc-drawer-subtitle{font-size:12px;color:var(--ink-4);font-weight:500;margin-top:2px}
.alloc-drawer-close{width:36px;height:36px;border-radius:8px;border:1px solid var(--border);background:var(--surface-3);color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.15s}
.alloc-drawer-close:hover{border-color:var(--negative);color:var(--negative);background:rgba(220,53,69,0.06)}
.alloc-drawer-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 28px;border-bottom:1px solid var(--border);flex-shrink:0}
.alloc-drawer-stat{text-align:center;padding:12px 8px;background:var(--surface-3);border-radius:var(--radius);border:1px solid var(--border)}
.alloc-drawer-stat-val{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-0.03em;font-family:'Inter',sans-serif}
.alloc-drawer-stat-label{font-size:10px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em;margin-top:2px}
.alloc-drawer-body{flex:1;overflow-y:auto;padding:0}
.alloc-drawer-item{display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;padding:16px 28px;border-bottom:1px solid var(--border);transition:background 0.12s ease}
.alloc-drawer-item:hover{background:var(--surface-3)}
.alloc-drawer-item:last-child{border-bottom:none}
.alloc-drawer-item-icon{width:40px;height:40px;border-radius:var(--radius);background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.alloc-drawer-item-info{min-width:0}
.alloc-drawer-item-name{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alloc-drawer-item-meta{font-size:11px;color:var(--ink-4);margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.alloc-drawer-item-value{text-align:right;flex-shrink:0}
.alloc-drawer-item-amount{font-size:15px;font-weight:700;color:var(--ink);font-family:'Inter',sans-serif}
.alloc-drawer-item-pct{font-size:11px;color:var(--ink-4);margin-top:2px}
.alloc-drawer-empty{text-align:center;padding:48px 28px;color:var(--ink-4);font-size:13px}

/* === Transaction Detail Drawer === */
.txd-bg{position:fixed;inset:0;background:rgba(15,23,41,0.45);backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity 0.25s}
.txd-bg.open{opacity:1;pointer-events:auto}
.txd-drawer{position:absolute;right:0;top:0;bottom:0;width:480px;max-width:90vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 32px rgba(0,0,0,0.12);transform:translateX(100%);transition:transform 0.3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}
.txd-bg.open .txd-drawer{transform:translateX(0)}
.txd-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);background:var(--surface-2);flex-shrink:0}
.txd-head-left{display:flex;align-items:center;gap:14px}
.txd-head-icon{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--copper-bg);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;overflow:hidden;color:#fff;font-weight:800}
.txd-head-icon.has-logo{background:var(--surface-2)!important;border:1px solid var(--border)}
.txd-head-icon.merchant-fallback,.txd-head-icon.logo-failed{background:var(--surface-3)!important;border:1px solid var(--border);color:var(--ink-4)}
.txd-head-icon .tx-merchant-logo{width:28px;height:28px;border-radius:6px}
.txd-head-icon.has-logo .txd-head-fallback{display:none}
.txd-head-icon.logo-failed .txd-head-fallback{display:inline-flex}
.txd-head-title{font-size:16px;font-weight:700;color:var(--ink)}
.txd-head-sub{font-size:12px;color:var(--ink-4);margin-top:1px}
.txd-close-btn{width:36px;height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink-4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s,border-color 0.15s,color 0.15s,box-shadow 0.15s;flex-shrink:0}
.txd-close-btn svg{width:16px;height:16px}
.txd-close-btn:hover{background:rgba(220,53,69,0.06);border-color:rgba(220,53,69,0.35);color:var(--negative)}
.txd-close-btn:focus-visible{outline:none;border-color:var(--copper);box-shadow:0 0 0 3px var(--copper-bg)}
.txd-body{flex:1;overflow-y:auto;padding:24px}
.txd-drawer{width:min(560px,94vw)}
.txd-summary-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--border)}
.txd-summary-meta{font-size:12px;color:var(--ink-4);margin-top:4px}
.txd-section-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:16px;margin-bottom:16px;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.txd-section-card .txd-section-title{margin-bottom:12px}
.txd-why-box{border:1px solid rgba(200,117,51,.24);background:linear-gradient(180deg,rgba(200,117,51,.06),rgba(255,255,255,.86));border-radius:var(--radius-lg);padding:14px 16px;margin-bottom:16px}
.txd-why-title{font-size:12px;font-weight:800;color:var(--ink);letter-spacing:0;margin-bottom:8px}
.txd-why-box ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:5px}
.txd-why-box li{font-size:12px;line-height:1.45;color:var(--ink-3)}
.txd-evidence-block{margin-top:12px}
.txd-automation-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:stretch;margin-bottom:12px}
.txd-automation-card,.txd-connection-card{display:flex;flex-direction:column;gap:3px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px;margin-bottom:10px}
.txd-automation-card strong,.txd-connection-card strong{font-size:12px;color:var(--ink)}
.txd-automation-card span,.txd-connection-card span{font-size:11px;line-height:1.4;color:var(--ink-4)}
.txd-automation-card.active,.txd-connection-card.active{border-color:rgba(22,163,74,.24);background:rgba(22,163,74,.045)}
.txd-automation-card.review,.txd-connection-card.review{border-color:rgba(200,117,51,.28);background:rgba(200,117,51,.055)}
.txd-automation-card.muted,.txd-connection-card.muted{background:var(--surface-2);color:var(--ink-4)}
.txd-wide-btn{width:100%;display:flex;justify-content:center;margin-top:8px}
.txd-inline-split-btn{width:100%;display:flex;justify-content:center;align-items:center}
.txd-save-section{margin-top:4px}
.txd-advanced-details{padding:0;overflow:hidden}
.txd-advanced-details summary{list-style:none;cursor:pointer;padding:15px 16px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:0;color:var(--ink-4);display:flex;align-items:center;justify-content:space-between}
.txd-advanced-details summary::-webkit-details-marker{display:none}
.txd-advanced-details summary:after{content:"+";font-size:16px;line-height:1;color:var(--ink-4)}
.txd-advanced-details[open] summary{border-bottom:1px solid var(--border)}
.txd-advanced-details[open] summary:after{content:"-"}
.txd-advanced-grid{padding:16px}
.txd-advanced-details .txd-merchant-history,.txd-advanced-details .txd-audit-section{padding:0 16px 16px}
.txd-amount{font-size:32px;font-weight:800;letter-spacing:0;font-family:'Inter',sans-serif;margin-bottom:4px}
.txd-amount.out{color:var(--ink)}
.txd-amount.in{color:var(--positive)}
.txd-status{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;padding:3px 10px;border-radius:20px;display:inline-block;margin-bottom:20px}
.txd-status.posted{background:rgba(22,163,74,0.1);color:#16a34a}
.txd-status.pending{background:rgba(217,119,6,0.1);color:#d97706}
.txd-section{margin-bottom:20px}
.txd-section-title{font-size:11px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.txd-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.txd-field{display:flex;flex-direction:column;gap:3px}
.txd-field-label{font-size:10px;font-weight:600;color:var(--ink-5);text-transform:uppercase;letter-spacing:0.04em}
.txd-field-value{font-size:13px;font-weight:500;color:var(--ink)}
.txd-field-value.mono{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-3)}
.txd-notes{width:100%;min-height:72px;padding:10px 14px;font-size:13px;font-family:inherit;color:var(--ink);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;transition:border-color 0.2s;line-height:1.5}
.txd-notes:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.txd-notes::placeholder{color:var(--ink-5)}
.txd-tags-wrap{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.txd-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;background:var(--copper-bg);color:var(--copper);border-radius:20px;border:1px solid var(--copper-border)}
.txd-tag-icon{font-size:9px;line-height:1;background:rgba(255,255,255,.7);border:1px solid var(--copper-border);border-radius:999px;padding:2px 5px;color:var(--ink-3);font-weight:800;text-transform:uppercase}
.txd-tag-remove{cursor:pointer;opacity:0.6;transition:opacity 0.1s;font-size:14px;line-height:1}
.txd-tag-remove:hover{opacity:1}
.txd-tag-input{border:1px dashed var(--border);background:none;padding:4px 10px;font-size:11px;border-radius:20px;color:var(--ink);min-width:80px;max-width:140px;outline:none;font-family:inherit;transition:border-color 0.15s}
.txd-tag-input:focus{border-color:var(--copper);border-style:solid}
.txd-tag-input::placeholder{color:var(--ink-5)}
.txd-tag-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.txd-tag-suggestion{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-3);border-radius:999px;padding:5px 10px;font-size:10px;font-weight:800;cursor:pointer;text-transform:none;line-height:1.1}
.txd-tag-suggestion:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--copper);opacity:.75}
.txd-tag-suggestion:hover{border-color:var(--copper-border);background:var(--copper-bg);color:var(--copper)}
.txd-tag-suggestion span{font-size:10px;text-transform:none}
.txd-category-edit{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);padding:7px 9px;color:var(--ink);font-family:inherit;cursor:pointer}
.txd-category-edit:hover{border-color:var(--copper-border);background:var(--copper-bg)}
.txd-category-edit .cat-badge{cursor:pointer}
.txd-category-caret{font-size:13px;font-weight:800;color:var(--ink-4);line-height:1}
.txd-save-row{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
.txd-audit-list{display:flex;flex-direction:column;gap:6px}
.txd-audit-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.txd-audit-row strong{font-size:11px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.txd-audit-row span{font-size:10px;color:var(--ink-4);white-space:nowrap}
.txd-divider{height:1px;background:var(--border);margin:20px 0}
.txd-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;font-size:11px;font-weight:600;border-radius:20px}
.txd-badge.recurring{background:rgba(139,92,246,0.1);color:#8b5cf6}
.txd-badge.duplicate{background:rgba(231,76,60,0.1);color:#e74c3c}
.txd-badge.transfer{background:rgba(46,107,176,0.1);color:#2e6bb0}
.txd-badge.refund{background:rgba(22,163,74,0.1);color:#16a34a}
.txd-meta-flags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.txd-rel-list{display:flex;flex-direction:column;gap:6px}
.txd-rel-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all 0.15s;border-left:3px solid var(--border)}
.txd-rel-card:hover{border-color:var(--copper-border);box-shadow:var(--shadow-sm)}
.txd-rel-card.recurring{border-left-color:#16a34a}
.txd-rel-card.recurring.cancelled{border-left-color:#94a3b8;background:var(--surface-2)}
.txd-rel-card.danger{border-left-color:#e74c3c}
.txd-rel-card.transfer{border-left-color:#2e6bb0}
.txd-rel-card.refund{border-left-color:#16a34a}
.txd-rel-card.info{border-left-color:var(--copper)}
.txd-rel-card-icon{font-size:16px;flex-shrink:0}
.txd-rel-card-body{flex:1;min-width:0}
.txd-rel-card-title{font-size:12px;font-weight:600;color:var(--ink)}
.txd-rel-card-desc{font-size:11px;color:var(--ink-4);margin-top:1px}
.txd-rel-card-action{font-size:10px;font-weight:600;color:var(--copper);text-transform:uppercase;letter-spacing:0.04em;flex-shrink:0}

/* === Merchant History === */
.txd-merchant-history{padding:0 0 4px}
.txd-merchant-count{font-size:10px;font-weight:500;color:var(--ink-4);background:var(--surface-3);padding:2px 8px;border-radius:10px;margin-left:8px;letter-spacing:0.02em}
.txd-merchant-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 0;margin-bottom:4px}
.txd-merchant-stat{text-align:center;padding:10px 8px;background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--border)}
.txd-merchant-stat-label{display:block;font-size:9px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-bottom:4px}
.txd-merchant-stat-value{display:block;font-size:14px;font-weight:800;color:var(--ink);font-family:'Inter',sans-serif;letter-spacing:-0.02em}
.txd-merchant-list{display:flex;flex-direction:column;gap:2px}
.txd-merchant-bulkbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);margin:4px 0 8px}
.txd-merchant-bulkbar label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;color:var(--ink-3);white-space:nowrap}
.txd-merchant-bulkbar select{height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:11px;padding:0 8px;min-width:0}
.txd-merchant-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:var(--radius);cursor:pointer;transition:all 0.15s;border:1px solid transparent}
.txd-merchant-cb{margin-right:10px;flex-shrink:0}
.txd-merchant-row:hover{background:var(--copper-bg);border-color:var(--copper-border)}
.txd-merchant-row-left{min-width:0;flex:1}
.txd-merchant-row-name{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txd-merchant-row-meta{font-size:10px;color:var(--ink-4);margin-top:1px}
.txd-merchant-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0;margin-left:12px}
.txd-merchant-row-cat{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-4)}
.txd-merchant-row-amt{font-size:13px;font-weight:700;font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums}
.txd-merchant-row-amt.out{color:var(--ink)}
.txd-merchant-row-amt.in{color:var(--positive)}
.txd-merchant-viewall{display:block;width:100%;padding:10px;margin-top:6px;font-size:11px;font-weight:600;color:var(--copper);background:var(--copper-bg);border:1px solid var(--copper-border);border-radius:var(--radius);cursor:pointer;text-align:center;transition:all 0.15s;letter-spacing:0.02em}
.txd-merchant-viewall:hover{background:var(--copper);color:#fff}

/* === Bulk Action Bar === */
.tx-bulk-bar{display:none;align-items:center;gap:12px;padding:10px 16px;background:var(--copper-bg);border:1px solid var(--copper-border);border-radius:var(--radius-lg);margin-bottom:12px;animation:txBulkIn 0.2s ease}
.tx-bulk-bar.visible{display:flex}
@keyframes txBulkIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.tx-bulk-count{font-size:13px;font-weight:700;color:var(--copper);white-space:nowrap;min-width:90px}
.tx-bulk-actions{display:flex;gap:6px;flex:1;flex-wrap:wrap}
.tx-bulk-btn{padding:5px 14px;font-size:11px;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:all 0.15s;border:1px solid var(--copper-border);background:var(--surface);color:var(--copper)}
.tx-bulk-btn:hover{background:var(--copper);color:#fff;border-color:var(--copper)}
.tx-bulk-deselect{padding:5px 14px;font-size:11px;font-weight:600;border-radius:var(--radius);cursor:pointer;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-3);transition:all 0.15s;margin-left:auto}
.tx-bulk-deselect:hover{border-color:var(--ink-3);color:var(--ink)}
.tx-bulk-workflow{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin-top:4px}
.tx-bulk-workflow-note{grid-column:1/-1;font-size:12px;line-height:1.45;color:var(--ink-3);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}
.tx-bulk-workflow-field{display:flex;flex-direction:column;gap:4px}
.tx-bulk-workflow-field label{font-size:10px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em}
.tx-bulk-workflow-field select{padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);font-size:12px;font-family:inherit}
.tx-bulk-workflow-field select:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.tx-bulk-category-panel{display:grid;gap:10px;text-align:left;margin-top:2px}
.tx-bulk-category-select{width:100%;padding:8px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);font-family:inherit}
.tx-bulk-category-select:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.tx-bulk-category-custom-label{font-size:10px;font-weight:800;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.06em;margin-top:2px}
.tx-bulk-category-editor{padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3)}
.tx-bulk-category-editor .cat-custom-input{height:34px;background:var(--surface)}
.tx-bulk-category-editor .cat-custom-save{height:34px}
.tx-cb{width:16px;height:16px;accent-color:var(--copper);cursor:pointer;flex-shrink:0;margin:0;transition:transform 0.1s}
.tx-cb:checked{transform:scale(1.1)}
.tx-row.selected{background:var(--copper-bg);border-left:3px solid var(--copper)}
.tx-head-cb-wrap{display:flex;align-items:center;width:24px;flex-shrink:0}

/* === Rule Suggestion Toast === */
.tx-rule-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(100px);max-width:540px;width:calc(100% - 48px);background:var(--surface-2);border:1px solid var(--copper-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px rgba(0,0,0,0.15);padding:14px 18px;display:flex;align-items:center;gap:14px;z-index:1100;opacity:0;pointer-events:none;transition:transform 0.3s cubic-bezier(.4,0,.2,1),opacity 0.3s}
.tx-rule-toast.visible{transform:translateX(-50%) translateY(0);opacity:1;pointer-events:auto}
.tx-rule-toast-icon{font-size:22px;flex-shrink:0}
.tx-rule-toast-msg{flex:1;font-size:12px;color:var(--ink-3);line-height:1.5}
.tx-rule-toast-msg strong{color:var(--ink);font-weight:700}
.tx-rule-toast-actions{display:flex;gap:8px;flex-shrink:0}
.tx-rule-toast-btn{padding:6px 14px;font-size:11px;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:all 0.15s;border:1px solid var(--border)}
.tx-rule-toast-btn.dismiss{background:var(--surface-3);color:var(--ink-3)}
.tx-rule-toast-btn.dismiss:hover{border-color:var(--ink-3);color:var(--ink)}
.tx-rule-toast-btn.apply{background:var(--copper);color:#fff;border-color:var(--copper)}
.tx-rule-toast-btn.apply:hover{filter:brightness(1.1)}

/* === Exception Inbox === */
.tx-exc{margin-bottom:6px}
.tx-exc-head{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:border-color 0.15s;user-select:none}
.tx-exc-head:hover{border-color:var(--border-2)}
.tx-exc-icon{font-size:14px;flex-shrink:0}
.tx-exc-title{font-size:11px;font-weight:700;color:var(--ink);flex:1;letter-spacing:-0.01em}
.tx-exc-count{font-size:10px;font-weight:700;padding:1px 7px;border-radius:20px;background:rgba(217,119,6,0.08);color:#d97706}
.tx-exc-chevron{color:var(--ink-4);transition:transform 0.2s;font-size:12px}
.tx-exc-head.open .tx-exc-chevron{transform:rotate(180deg)}
.tx-exc-body{display:none;padding:8px 0 0;gap:6px;flex-direction:column}
.tx-exc-body.open{display:flex}
.tx-exc-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all 0.15s;border-left:3px solid transparent}
.tx-exc-card:hover{border-color:var(--copper-border);box-shadow:var(--shadow-sm)}
.tx-exc-card.warn{border-left-color:#d97706}
.tx-exc-card.info{border-left-color:var(--copper)}
.tx-exc-card.danger{border-left-color:#e74c3c}
.tx-exc-card-icon{font-size:16px;flex-shrink:0}
.tx-exc-card-body{flex:1;min-width:0}
.tx-exc-card-title{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tx-exc-card-desc{font-size:11px;color:var(--ink-4);margin-top:1px}
.tx-exc-card-amt{font-size:12px;font-weight:700;font-family:'Inter',sans-serif;color:var(--ink);flex-shrink:0}
.tx-exc-card-action{font-size:10px;font-weight:600;color:var(--copper);text-transform:uppercase;letter-spacing:0.04em;flex-shrink:0}
.tx-ledger-score{min-width:42px;height:22px;padding:0 6px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;flex-shrink:0}
.tx-ledger-score.ready{background:rgba(34,197,94,0.12);color:#15803d}
.tx-ledger-score.watch{background:rgba(217,119,6,0.12);color:#b45309}
.tx-ledger-score.risk{background:rgba(239,68,68,0.12);color:#dc2626}
.tx-ledger-metrics{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 12px 2px}
.tx-ledger-metrics span{font-size:10px;font-weight:700;color:var(--ink-4);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:3px 8px;white-space:nowrap}

/* === Smart Summary === */
.tx-summary{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.tx-sum-chip{display:flex;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);flex:1 1 190px;min-width:0;transition:border-color 0.15s}
.tx-sum-chip:hover{border-color:var(--border-2)}
.tx-sum-chip-icon{font-size:16px;flex-shrink:0;opacity:0.8}
.tx-sum-chip-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}
.tx-sum-chip-label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-4)}
.tx-sum-chip-value{font-size:15px;font-weight:800;color:var(--ink);white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.1;letter-spacing:-0.02em;font-family:'Inter',sans-serif}
.tx-sum-chip-sub{font-size:9px;color:var(--ink-4);white-space:normal;line-height:1.25}
.tx-sum-trend{font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;margin-left:auto;flex-shrink:0}
.tx-sum-trend.up{background:rgba(239,68,68,0.08);color:#ef4444}
.tx-sum-trend.down{background:rgba(22,163,74,0.08);color:#16a34a}
.tx-sum-trend.neutral,.tx-sum-trend.variance{background:var(--surface-3);color:var(--ink-4)}

/* === Progressive Disclosure Toggle === */
.tx-advanced-btn{padding:5px 12px;font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--ink-4);cursor:pointer;transition:all 0.15s;white-space:nowrap}
.tx-advanced-btn:hover{border-color:var(--copper-border);color:var(--ink-3)}
.tx-advanced-btn.active{background:var(--copper-bg);border-color:var(--copper-border);color:var(--copper)}
.txd-advanced{border-top:1px dashed var(--border);padding-top:10px;margin-top:4px}

/* === Category Icon Badges === */
.cat-badge{display:inline-flex;align-items:center;gap:4px;max-width:100%;min-width:0;overflow:hidden;padding:3px 10px;font-size:10px;font-weight:600;border-radius:20px;letter-spacing:0;white-space:nowrap;cursor:pointer;transition:all 0.15s;border:1px solid transparent}
.cat-badge:hover{box-shadow:0 0 0 3px var(--copper-bg)}
.cat-badge-icon{font-size:12px;line-height:1;flex-shrink:0}
.cat-badge-label{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cat-badge.low-conf{border:1px dashed rgba(217,119,6,0.4);color:rgba(217,119,6,0.85)!important;background:rgba(217,119,6,0.05)!important}
.cat-badge.custom-cat{background:rgba(196,115,59,0.12);color:var(--copper);border-color:rgba(196,115,59,0.28)}
/* Per-category colors */
.cat-badge[data-cat="FOOD_AND_DRINK"]{background:rgba(251,146,60,0.10);color:#ea580c}
.cat-badge[data-cat="TRANSPORTATION"]{background:rgba(59,130,246,0.10);color:#2563eb}
.cat-badge[data-cat="ENTERTAINMENT"]{background:rgba(168,85,247,0.10);color:#7c3aed}
.cat-badge[data-cat="GENERAL_MERCHANDISE"]{background:rgba(14,165,233,0.10);color:#0284c7}
.cat-badge[data-cat="GENERAL_SERVICES"]{background:rgba(100,116,139,0.10);color:#475569}
.cat-badge[data-cat="RENT_AND_UTILITIES"]{background:rgba(34,197,94,0.10);color:#16a34a}
.cat-badge[data-cat="TRAVEL"]{background:rgba(6,182,212,0.10);color:#0891b2}
.cat-badge[data-cat="INCOME"]{background:rgba(22,163,74,0.12);color:#15803d}
.cat-badge[data-cat="TRANSFER_IN"]{background:rgba(22,163,74,0.08);color:#16a34a}
.cat-badge[data-cat="TRANSFER_OUT"]{background:rgba(100,116,139,0.08);color:#64748b}
.cat-badge[data-cat="LOAN_PAYMENTS"]{background:rgba(220,38,38,0.08);color:#dc2626}
.cat-badge[data-cat="REFUND"]{background:rgba(20,184,166,0.10);color:#0f766e}
.cat-badge[data-cat="BANK_FEES"]{background:rgba(239,68,68,0.08);color:#ef4444}
.cat-badge[data-cat="PERSONAL_CARE"]{background:rgba(236,72,153,0.10);color:#db2777}
.cat-badge[data-cat="MEDICAL"]{background:rgba(248,113,113,0.10);color:#dc2626}
.cat-badge[data-cat="HOME_IMPROVEMENT"]{background:rgba(245,158,11,0.10);color:#d97706}
.cat-badge[data-cat="GOVERNMENT_AND_NON_PROFIT"]{background:rgba(100,116,139,0.10);color:#475569}
.cat-badge[data-cat="Uncategorized"]{background:var(--surface-3);color:var(--ink-4);border:1px dashed var(--border)}

/* === Merchant Initial Avatar === */
.tx-merchant-avatar{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0;letter-spacing:-0.02em;text-transform:uppercase;position:relative;overflow:hidden}
.tx-merchant-avatar.has-logo{background:var(--surface-2)!important;border:1px solid var(--border)}
.tx-merchant-avatar.merchant-fallback,.tx-merchant-avatar.logo-failed{background:var(--surface-3)!important;border:1px solid var(--border);color:var(--ink-4)}
.tx-merchant-logo{width:22px;height:22px;object-fit:contain;border-radius:5px;display:block}
.tx-merchant-avatar.has-logo .tx-merchant-initial{display:none}
.tx-merchant-avatar.logo-failed .tx-merchant-initial{display:inline}

/* === Date Group Headers === */
.tx-date-header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--surface-3);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}
.tx-date-header-label{font-size:11px;font-weight:700;color:var(--ink-2);display:flex;align-items:center;gap:6px;letter-spacing:-0.01em}
.tx-date-header-label .tx-date-header-day{font-size:9px;font-weight:500;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em}
.tx-date-header-total{font-size:11px;font-weight:700;color:var(--ink-3);font-family:'Inter',sans-serif;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}
.tx-date-header-total .tx-date-header-count{font-size:9px;font-weight:500;color:var(--ink-5);text-transform:uppercase}

/* === Add Transaction Modal === */
.tx-add-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;margin-bottom:20px}
.tx-add-form.full{grid-template-columns:1fr}
.tx-add-field{display:flex;flex-direction:column;gap:4px}
.tx-add-field.span-2{grid-column:1 / -1}
.tx-add-field label{font-size:10px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em}
.tx-add-field input,.tx-add-field select,.tx-add-field textarea{padding:9px 12px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);transition:border-color 0.2s;font-family:inherit}
.tx-add-field input:focus,.tx-add-field select:focus,.tx-add-field textarea:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.tx-add-type-toggle{display:flex;gap:0;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.tx-add-type-btn{flex:1;padding:8px 0;font-size:12px;font-weight:600;text-align:center;cursor:pointer;border:none;background:none;color:var(--ink-4);transition:all 0.15s}
.tx-add-type-btn.active{background:var(--copper);color:#fff}
.tx-add-type-btn:hover:not(.active){background:var(--surface-2)}

/* === Delete Button in Drawer === */
.txd-delete-row{display:flex;justify-content:center;padding:12px 0 4px;margin-top:8px;border-top:1px solid var(--border)}
.txd-delete-btn{display:flex;align-items:center;gap:6px;padding:8px 20px;font-size:12px;font-weight:600;color:var(--negative);background:transparent;border:1px solid var(--negative);border-radius:var(--radius);cursor:pointer;transition:all 0.15s}
.txd-delete-btn:hover{background:var(--negative);color:#fff}
.txd-delete-btn svg{width:14px;height:14px}

/* === Inline Edit Fields in Drawer === */
.txd-edit-field{display:flex;flex-direction:column;gap:3px}
.txd-edit-field label{font-size:10px;font-weight:600;color:var(--ink-5);text-transform:uppercase;letter-spacing:0.04em}
.txd-edit-input{padding:7px 10px;font-size:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);transition:border-color 0.2s;font-family:inherit;width:100%}
.txd-edit-input:focus{border-color:var(--copper);outline:none;box-shadow:0 0 0 3px var(--copper-bg)}
.txd-check-field{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);font-size:12px;font-weight:600;color:var(--ink-2)}
.txd-check-field input{width:14px;height:14px;accent-color:var(--copper);flex-shrink:0}
.txd-subscription-map{border:1px solid rgba(200,117,51,0.22);background:linear-gradient(180deg,rgba(200,117,51,0.05),var(--surface-1));border-radius:var(--radius);padding:12px}
.txd-subscription-map.linked{border-color:rgba(34,197,94,0.22);background:rgba(34,197,94,0.045)}
.txd-subscription-map.cancelled{border-color:rgba(148,163,184,0.32);background:var(--surface-2)}
.txd-goal-map{border:1px solid rgba(59,130,246,0.22);background:linear-gradient(180deg,rgba(59,130,246,0.045),var(--surface-1));border-radius:var(--radius);padding:12px}
.txd-goal-map.linked{border-color:rgba(34,197,94,0.22);background:rgba(34,197,94,0.045)}
.txd-sub-status{margin-left:auto;font-size:9px;font-weight:800;border-radius:999px;padding:2px 7px;color:var(--positive);background:rgba(34,197,94,0.1)}
.txd-sub-status.review{color:var(--copper);background:rgba(200,117,51,0.11)}
.txd-sub-status.cancelled{color:var(--ink-4);background:var(--surface-3)}
.txd-sub-copy{font-size:12px;line-height:1.4;color:var(--ink-4);margin:-2px 0 10px}
.txd-sub-copy.warn{color:var(--warn);background:rgba(217,119,6,0.07);border:1px solid rgba(217,119,6,0.22);border-radius:var(--radius);padding:8px 9px;margin-top:0}
.txd-sub-link-btn{width:100%;margin-top:10px}
.txd-sub-linked-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius);padding:10px}
.txd-sub-linked-card strong{display:block;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.txd-sub-linked-card span{display:block;margin-top:2px;font-size:11px;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.txd-edited-badge{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:600;color:var(--info);background:var(--info-bg);padding:2px 8px;border-radius:20px;margin-left:6px}

/* === Split Transaction UI === */
.txd-split-section{margin-bottom:16px}
.txd-split-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.txd-split-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:#7c3aed;background:rgba(139,92,246,0.1);padding:3px 10px;border-radius:20px}
.txd-split-rows{display:flex;flex-direction:column;gap:6px}
.txd-split-row{display:grid;grid-template-columns:minmax(150px,1.2fr) 92px repeat(3,86px) minmax(150px,1fr) auto;gap:8px;align-items:end;padding:8px 12px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);border-left:3px solid #7c3aed}
.txd-split-row .txd-edit-input{padding:5px 8px;font-size:12px}
.txd-split-row select{padding:5px 8px;font-size:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);cursor:pointer}
.txd-split-add{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px;font-size:11px;font-weight:600;color:var(--copper);background:none;border:1px dashed var(--copper-border);border-radius:var(--radius);cursor:pointer;transition:all 0.15s;width:100%;margin-top:6px}
.txd-split-add:hover{background:var(--copper-bg)}
.txd-split-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink-4);background:none;border:none;cursor:pointer;border-radius:4px;transition:all 0.1s}
.txd-split-remove:hover{color:var(--negative);background:rgba(220,53,69,0.06)}
.txd-split-total{display:flex;justify-content:space-between;font-size:11px;font-weight:600;padding:6px 12px;margin-top:4px}
.txd-split-total.ok{color:var(--positive)}
.txd-split-total.error{color:var(--negative)}
.txd-split-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.txd-split-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:500;border-radius:4px;background:rgba(139,92,246,0.06);color:#7c3aed;border:1px solid rgba(139,92,246,0.15)}
.txd-split-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
.txd-split-summary span{display:flex;flex-direction:column;gap:2px;padding:7px 9px;border:1px solid var(--border);border-radius:6px;background:var(--surface-3);font-size:10px;color:var(--ink-4);line-height:1.25}
.txd-split-summary b{font-size:13px;color:var(--ink)}
@media (max-width:900px){.txd-split-row{grid-template-columns:1fr 1fr}.txd-split-row .split-note-field{grid-column:1/-1}.txd-split-summary{grid-template-columns:1fr}}

/* === Receipt Upload UI === */
.txd-receipt-section{margin-bottom:16px}
.txd-receipt-upload{display:flex;flex-direction:column;gap:8px}
.txd-receipt-dropzone{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:all 0.2s;color:var(--ink-4);font-size:12px}
.txd-receipt-dropzone:hover{border-color:var(--copper);color:var(--copper);background:var(--copper-bg)}
.txd-receipt-dropzone svg{width:20px;height:20px;flex-shrink:0}
.txd-receipt-list{display:flex;flex-direction:column;gap:6px}
.txd-receipt-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);transition:all 0.15s}
.txd-receipt-item:hover{border-color:var(--copper-border)}
.txd-receipt-thumb{width:40px;height:40px;border-radius:6px;object-fit:cover;background:var(--surface-2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;overflow:hidden}
.txd-receipt-thumb img{width:100%;height:100%;object-fit:cover}
.txd-receipt-info{flex:1;min-width:0}
.txd-receipt-name{font-size:12px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.txd-receipt-meta{font-size:10px;color:var(--ink-4);margin-top:1px}
.txd-receipt-actions{display:flex;gap:4px}
.txd-receipt-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:transparent;color:var(--ink-4);border-radius:var(--radius);cursor:pointer;font-size:12px;transition:all 0.15s}
.txd-receipt-btn:hover{border-color:var(--copper);color:var(--copper)}
.txd-receipt-btn.danger:hover{border-color:var(--negative);color:var(--negative)}

/* === Pagination === */
.tx-pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:12px 16px;background:var(--surface-2);border-top:1px solid var(--border)}
.tx-pagination:empty{display:none}
.tx-pg-btn{min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ink-3);background:transparent;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all 0.15s;padding:0 10px}
.tx-pg-btn:hover{border-color:var(--copper);color:var(--copper);background:var(--copper-bg)}
.tx-pg-btn.active{background:var(--copper);color:#fff;border-color:var(--copper)}
.tx-pg-btn.disabled{opacity:0.35;pointer-events:none}
.tx-pg-info{font-size:11px;color:var(--ink-4);padding:0 12px}
.tx-pg-per{font-size:11px;color:var(--ink-4);display:flex;align-items:center;gap:6px;margin-left:auto}
.tx-pg-per select{padding:3px 6px;font-size:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);color:var(--ink);cursor:pointer}

/* === Keyboard Hint Bar === */
.tx-keyboard-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding:6px 16px;font-size:10px;color:var(--ink-5);background:var(--surface-3);border-top:1px solid var(--border);opacity:0.7;transition:opacity 0.2s}
.tx-keyboard-hint:hover{opacity:1}
.tx-keyboard-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:9px;font-weight:700;color:var(--ink-3);background:var(--surface-1);border:1px solid var(--border);border-radius:3px;font-family:inherit;box-shadow:0 1px 0 var(--border)}

/* === Keyboard Navigation Focus === */
.tx-row.kb-focus{outline:2px solid var(--copper);outline-offset:-2px;background:var(--copper-bg);z-index:1;position:relative}

/* === Row entrance animation === */
.tx-row{animation:txRowIn 0.2s ease-out both}
@keyframes txRowIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* === Spending Sparkline === */
.tx-sparkline-wrap{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px}
.tx-sparkline-label{font-size:10px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap;min-width:60px}
.tx-sparkline-svg{flex:1;height:40px}
.tx-sparkline-stat{text-align:right;min-width:80px}
.tx-sparkline-stat-value{font-size:14px;font-weight:700;color:var(--ink)}
.tx-sparkline-stat-label{font-size:9px;color:var(--ink-4);margin-top:1px}

/* === Sync Health System === */
.sync-health-banner{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px}
.sync-health-banner:empty{display:none}
.sync-inst{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);font-size:11px;min-width:0}
.sync-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.sync-dot.ok{background:#22c55e;box-shadow:0 0 4px #22c55e88}
.sync-dot.record{background:var(--ink-4);box-shadow:none}
.sync-dot.warn{background:var(--warn);box-shadow:0 0 4px var(--warn)}
.sync-dot.err{background:var(--negative);box-shadow:0 0 4px var(--negative)}
.sync-dot.manual{background:var(--info);box-shadow:0 0 4px var(--info)}
.sync-dot.syncing{background:var(--copper);box-shadow:0 0 4px rgba(200,117,51,.55);animation:syncPulse 1s ease-in-out infinite}
.sync-dot.off{background:var(--ink-4);box-shadow:none}
.sync-inst-name{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
.sync-inst-meta{color:var(--ink-4);font-size:10px;white-space:nowrap}
.sync-refresh-btn{background:none;border:1px solid var(--border);color:var(--ink-4);border-radius:var(--radius);padding:2px 8px;font-size:10px;cursor:pointer;transition:all 0.15s;display:flex;align-items:center;gap:3px;white-space:nowrap}
.sync-refresh-btn:hover{border-color:var(--copper);color:var(--copper)}
.sync-refresh-btn.refreshing{animation:syncSpin 1s linear infinite;pointer-events:none;opacity:0.5}
@keyframes syncSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes syncPulse{0%,100%{opacity:.45}50%{opacity:1}}
.sync-health-title{font-size:10px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em;width:100%;margin-bottom:2px;display:flex;align-items:center;gap:6px}
.acct-sync-health-panel{margin:0 0 16px}
.acct-sync-health-panel:empty{display:none}
.acct-sync-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--border);border-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:linear-gradient(180deg,#fff,var(--surface-2))}
.acct-sync-kicker{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--copper);margin-bottom:3px}
.acct-sync-head strong{font-size:15px;color:var(--ink)}
.acct-sync-summary{font-size:11px;font-weight:800;color:var(--ink-4);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:5px 9px;white-space:nowrap}
.acct-sync-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px;padding:12px;border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);background:var(--surface-2)}
.acct-sync-card{display:grid;gap:10px;border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);background:#fff;padding:12px;min-width:0}
.acct-sync-card.healthy{border-left-color:var(--positive)}
.acct-sync-card.syncing{border-left-color:var(--copper)}
.acct-sync-card.delayed{border-left-color:var(--warn)}
.acct-sync-card.failed,.acct-sync-card.needs_reconnect{border-left-color:var(--negative)}
.acct-sync-card.disconnected{border-left-color:var(--ink-4);opacity:.78}
.acct-sync-card-top,.acct-sync-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}
.acct-sync-bank{display:flex;align-items:center;gap:10px;min-width:0}
.acct-sync-bank strong{display:block;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:210px}
.acct-sync-bank span{display:block;font-size:10px;color:var(--ink-4);margin-top:2px}
.acct-sync-status{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);padding:4px 8px;font-size:10px;font-weight:900;color:var(--ink-3);white-space:nowrap}
.acct-sync-status.healthy{color:var(--positive);background:var(--positive-bg);border-color:rgba(35,127,93,.18)}
.acct-sync-status.syncing{color:var(--copper);background:var(--copper-bg);border-color:var(--copper-border)}
.acct-sync-status.delayed{color:var(--warn);background:var(--warn-bg);border-color:rgba(201,138,26,.24)}
.acct-sync-status.failed,.acct-sync-status.needs_reconnect{color:var(--negative);background:var(--negative-bg);border-color:rgba(180,35,24,.18)}
.acct-sync-status.disconnected{color:var(--ink-4)}
.acct-sync-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.acct-sync-facts div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:8px 9px;min-width:0}
.acct-sync-facts span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4)}
.acct-sync-facts strong{display:block;margin-top:3px;font-size:12px;color:var(--ink);overflow-wrap:anywhere}
.acct-sync-flags,.acct-sync-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.acct-sync-flag{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);padding:3px 7px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-4)}
.acct-sync-flag.danger{color:var(--negative);background:var(--negative-bg);border-color:rgba(180,35,24,.18)}
.acct-sync-error{border:1px solid rgba(180,35,24,.18);border-radius:var(--radius);background:var(--negative-bg);color:var(--negative);font-size:11px;line-height:1.4;padding:8px 9px}
.dup-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(135deg, rgba(217,119,6,0.08) 0%, rgba(217,119,6,0.03) 100%);border:1px solid var(--warn);border-radius:var(--radius);margin-bottom:10px;font-size:12px;color:var(--ink)}
.dup-banner:empty{display:none}
.dup-banner-icon{font-size:18px;flex-shrink:0}
.dup-banner-text{flex:1}
.dup-banner-text strong{color:var(--warn)}
.dup-banner-btn{padding:4px 12px;font-size:11px;font-weight:600;border:1px solid var(--warn);color:var(--warn);background:transparent;border-radius:var(--radius);cursor:pointer;transition:all 0.15s}
.dup-banner-btn:hover{background:var(--warn);color:#fff}
.acct-sync-badge{display:inline-flex;align-items:center;gap:4px;font-size:9px;color:var(--ink-4);padding:1px 6px;border-radius:10px;background:var(--surface-3);margin-left:6px}
.acct-sync-badge .sync-dot{width:5px;height:5px}

/* === Rules Engine Workspace === */
.settings-tabs{display:flex;gap:2px;background:var(--surface-3);border-radius:var(--radius);padding:2px}
.settings-tab{padding:6px 16px;font-size:12px;font-weight:600;border:none;background:none;color:var(--ink-4);cursor:pointer;border-radius:calc(var(--radius) - 2px);transition:all 0.15s}
.settings-tab.active{background:var(--copper);color:#fff}
.settings-tab:hover:not(.active){color:var(--ink)}
.rules-stats-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.rules-stat{padding:12px 18px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);min-width:120px}
.rules-stat-value{font-size:20px;font-weight:700;color:var(--ink)}
.rules-stat-label{font-size:10px;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em;margin-top:2px}
.rules-section-title{font-size:13px;font-weight:700;color:var(--ink);margin:16px 0 8px;display:flex;align-items:center;gap:6px}
.rules-count-badge{font-size:10px;font-weight:600;background:var(--copper);color:#fff;padding:1px 8px;border-radius:10px}
.rules-add-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}
.rules-add-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.rules-input{padding:7px 12px;font-size:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);color:var(--ink);outline:none;transition:border 0.15s}
.rules-input:focus{border-color:var(--copper)}
.rules-input::placeholder{color:var(--ink-4)}
.rules-select{min-width:160px}
.rules-preview{margin-top:10px;font-size:12px;color:var(--ink-4)}
.rules-preview-matches{background:var(--surface-3);border-radius:var(--radius);padding:8px 12px;margin-top:6px;max-height:200px;overflow-y:auto}
.rules-preview-row{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--border)}
.rules-preview-row:last-child{border:none}
.rules-list{display:flex;flex-direction:column;gap:6px}
.rule-card{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);transition:all 0.15s}
.rule-card:hover{border-color:var(--copper)}
.rule-card.paused{opacity:0.5;border-style:dashed}
.rule-merchant{font-weight:700;font-size:13px;color:var(--ink);min-width:120px;text-transform:capitalize}
.rule-arrow{color:var(--ink-4);font-size:14px}
.rule-category{font-size:11px;font-weight:600;color:#fff;padding:2px 10px;border-radius:10px;background:var(--copper);white-space:nowrap}
.rule-meta{font-size:10px;color:var(--ink-4);flex:1;text-align:right;white-space:nowrap}
.rule-actions{display:flex;gap:4px}
.rule-action-btn{background:none;border:1px solid var(--border);color:var(--ink-4);border-radius:var(--radius);padding:3px 8px;font-size:10px;cursor:pointer;transition:all 0.15s}
.rule-action-btn:hover{border-color:var(--copper);color:var(--copper)}
.rule-action-btn.danger:hover{border-color:var(--negative);color:var(--negative)}
.rules-system-section{margin-top:12px}
.rules-collapsible{cursor:pointer;user-select:none}
.rules-collapsible:hover{color:var(--copper)}
.system-rule-row{display:flex;align-items:center;gap:10px;padding:6px 12px;font-size:11px;color:var(--ink-4);border-bottom:1px solid var(--border)}
.system-rule-row:last-child{border:none}
.system-rule-pattern{font-weight:600;color:var(--ink);min-width:100px;text-transform:capitalize}
.system-rule-cat{font-size:10px;padding:1px 8px;border-radius:8px;background:var(--surface-3);color:var(--ink)}
.system-rule-conf{font-size:10px;color:var(--ink-4)}
.rules-empty{padding:24px;text-align:center;color:var(--ink-4);font-size:13px}

/* === Export Dropdown === */
.export-dropdown{position:relative;display:inline-block}
.export-menu{display:none;position:absolute;right:0;top:100%;margin-top:4px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px rgba(0,0,0,0.15);z-index:100;min-width:200px;padding:4px 0}
.export-dropdown.open .export-menu{display:block}
.export-opt{display:block;width:100%;text-align:left;padding:8px 14px;font-size:12px;border:none;background:none;color:var(--ink);cursor:pointer;transition:background 0.1s}
.export-opt:hover{background:var(--surface-3)}

/* ============================================================
   PHASE 2: Intelligence & Forecasting
   ============================================================ */

/* --- Review Queue Upgrade --- */
.tx-exc-card-actions{display:flex;gap:4px;margin-left:auto;flex-shrink:0}
.tx-exc-action{padding:3px 10px;font-size:10px;font-weight:600;border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);background:none;cursor:pointer;transition:all 0.15s;white-space:nowrap}
.tx-exc-action.approve{color:#22c55e;border-color:#22c55e30}
.tx-exc-action.approve:hover{background:#22c55e;color:#fff}
.tx-exc-action.reject{color:var(--negative);border-color:rgba(239,68,68,0.3)}
.tx-exc-action.reject:hover{background:var(--negative);color:#fff}
.tx-exc-action.skip{color:var(--ink-4);border-color:var(--border)}
.tx-exc-action.skip:hover{color:var(--ink);background:var(--surface-3)}
.tx-exc-bulk{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,rgba(196,115,59,0.06),rgba(196,115,59,0.02));border:1px solid var(--copper);border-radius:var(--radius);margin-bottom:6px;font-size:11px}
.tx-exc-bulk-btn{padding:4px 12px;font-size:10px;font-weight:600;border-radius:calc(var(--radius) - 2px);border:1px solid var(--copper);color:var(--copper);background:none;cursor:pointer;transition:all 0.15s}
.tx-exc-bulk-btn:hover{background:var(--copper);color:#fff}
.tx-exc-progress{display:flex;align-items:center;gap:8px;padding:4px 12px;font-size:10px;color:var(--ink-4)}
.tx-exc-progress-bar{flex:1;height:4px;background:var(--surface-3);border-radius:2px;overflow:hidden}
.tx-exc-progress-fill{height:100%;background:linear-gradient(90deg,var(--copper),#22c55e);border-radius:2px;transition:width 0.5s ease}
.tx-exc-reason{font-size:10px;color:var(--ink-4);margin-top:2px;font-style:italic;display:flex;align-items:center;gap:4px}
.tx-exc-confidence{display:inline-flex;align-items:center;gap:3px;font-size:9px;font-weight:600;padding:1px 6px;border-radius:8px;margin-left:4px}
.tx-exc-confidence.high{background:rgba(34,197,94,0.12);color:#22c55e}
.tx-exc-confidence.med{background:rgba(217,119,6,0.12);color:var(--warn)}
.tx-exc-confidence.low{background:rgba(239,68,68,0.12);color:var(--negative)}

/* --- Cash Flow Forecast --- */
.forecast-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.forecast-metric{padding:9px 8px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);text-align:center;min-width:0;overflow:hidden}
.forecast-metric-val{font-size:clamp(13px,1vw,18px);font-weight:700;color:var(--ink);line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.forecast-metric-val.positive{color:#22c55e}
.forecast-metric-val.negative{color:var(--negative)}
.forecast-metric-val.warn{color:var(--warn)}
.forecast-metric-label{font-size:9px;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-4);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forecast-chart{position:relative}
.forecast-note{font-size:10px;color:var(--ink-4);line-height:1.4;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;margin-top:8px}

/* --- Smart Insights --- */
.insight-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.insight-card{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);transition:all 0.2s;cursor:default;animation:insightSlide 0.4s ease;min-width:0}
.insight-card:hover{transform:translateY(-1px);background:var(--surface-3);box-shadow:var(--shadow-sm)}
.insight-card.critical{border-left-color:var(--negative)}
.insight-card.warning{border-left-color:var(--warn)}
.insight-card.positive{border-left-color:#22c55e}
.insight-card.info{border-left-color:var(--info)}
.insight-card.opportunity{border-left-color:var(--copper)}
.insight-icon{font-size:18px;flex-shrink:0;margin-top:1px}
.insight-body{flex:1;min-width:0}
.insight-title{font-size:12px;font-weight:700;color:var(--ink);line-height:1.35;overflow-wrap:anywhere}
.insight-desc{font-size:11px;color:var(--ink-4);line-height:1.5;margin-top:2px}
.insight-meta{font-size:9px;color:var(--ink-4);margin-top:4px;text-transform:uppercase;letter-spacing:0.03em}
.insight-action{margin-top:8px;border:1px solid var(--border);background:var(--surface-3);color:var(--ink);border-radius:var(--radius);padding:5px 8px;font-size:10px;font-weight:700;cursor:pointer}
.insight-action:hover{border-color:var(--copper-border);color:var(--copper)}
.insight-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:600;padding:1px 6px;border-radius:8px}
.insight-trend.up{background:rgba(239,68,68,0.1);color:var(--negative)}
.insight-trend.down{background:rgba(34,197,94,0.1);color:#22c55e}
@keyframes insightSlide{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}

.change-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.change-item{border:1px solid var(--border);border-left:3px solid var(--border);border-radius:var(--radius);padding:10px 12px;background:var(--surface-2)}
.change-item.good{border-left-color:var(--positive)}
.change-item.info{border-left-color:var(--info)}
.change-item.warn{border-left-color:var(--warn)}
.change-item.bad{border-left-color:var(--negative)}
.change-label{font-size:9px;font-weight:700;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:3px}
.change-value{font-size:13px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.change-meta{font-size:10px;color:var(--ink-4);line-height:1.35;margin-top:2px}

.autopilot-meter{height:8px;background:var(--surface-3);border:1px solid var(--border);border-radius:999px;overflow:hidden;margin-bottom:10px}
.autopilot-meter-fill{height:100%;background:linear-gradient(90deg,var(--warn),var(--positive));border-radius:999px;transition:width 0.3s ease}
.autopilot-list{display:grid;gap:7px}
.autopilot-item{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--border);border-radius:var(--radius);padding:8px 10px;background:var(--surface-2)}
.autopilot-item>span{font-size:9px;font-weight:800;border-radius:999px;padding:3px 6px;min-width:42px;text-align:center;background:var(--surface-3);color:var(--ink-4)}
.autopilot-item.ready>span{background:var(--positive-bg);color:var(--positive)}
.autopilot-item.todo>span{background:var(--warn-bg);color:var(--warn)}
.autopilot-item strong{display:block;font-size:11px;color:var(--ink)}
.autopilot-item small{display:block;font-size:10px;color:var(--ink-4);margin-top:1px}

/* ============================================================
   PHASE 3: Business & Advanced Workspace
   ============================================================ */

/* --- Modal --- */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:200;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);animation:modalFadeIn 0.2s ease}
.modal-card{background:var(--surface-1);border-radius:calc(var(--radius) * 2);box-shadow:0 24px 48px rgba(0,0,0,0.2);width:90%;animation:modalSlideUp 0.3s ease}
.modal-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}
.modal-title{font-size:16px;font-weight:700;color:var(--ink)}
.modal-close{background:none;border:none;font-size:18px;color:var(--ink-4);cursor:pointer;padding:4px 8px;border-radius:var(--radius);transition:all 0.15s}
.modal-close:hover{background:var(--surface-3);color:var(--ink)}
.modal-body{padding:20px 24px 24px}
.form-label{display:block;font-size:11px;font-weight:600;color:var(--ink-4);text-transform:uppercase;letter-spacing:0.04em;margin-bottom:4px}
@keyframes modalFadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* --- Invoice Table --- */
.inv-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);transition:background 0.1s}
.inv-row:last-child{border:none}
.inv-row:hover{background:var(--surface-3)}
.inv-client{font-weight:600;font-size:13px;color:var(--ink);min-width:140px}
.inv-desc{font-size:12px;color:var(--ink-4);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-amount{font-weight:700;font-size:14px;color:var(--ink);min-width:80px;text-align:right}
.inv-due{font-size:11px;color:var(--ink-4);min-width:80px;text-align:right}
.inv-status{font-size:10px;font-weight:600;padding:2px 10px;border-radius:10px;text-transform:uppercase;letter-spacing:0.03em}
.inv-status.draft{background:var(--surface-3);color:var(--ink-4)}
.inv-status.sent{background:rgba(46,107,176,0.12);color:var(--info)}
.inv-status.paid{background:rgba(34,197,94,0.12);color:#22c55e}
.inv-status.overdue{background:rgba(239,68,68,0.12);color:var(--negative)}
.inv-actions{display:flex;gap:4px}
.inv-action-btn{background:none;border:1px solid var(--border);color:var(--ink-4);border-radius:var(--radius);padding:3px 8px;font-size:10px;cursor:pointer;transition:all 0.15s}
.inv-action-btn:hover{border-color:var(--copper);color:var(--copper)}
.inv-action-btn.danger:hover{border-color:var(--negative);color:var(--negative)}
.inv-empty{padding:40px;text-align:center}
.inv-empty-icon{font-size:48px;margin-bottom:12px;opacity:0.4}
.inv-empty-title{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:4px}
.inv-empty-desc{font-size:13px;color:var(--ink-4)}

/* --- Invoice Studio --- */
.invoice-studio{display:grid;gap:16px}
.invoice-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(135deg,#fff,var(--surface-2));padding:18px}
.invoice-kicker{display:block;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--copper);margin-bottom:5px}
.invoice-hero h2{margin:0 0 5px;font-size:24px;letter-spacing:-.02em;color:var(--ink)}
.invoice-hero p{margin:0;font-size:12px;color:var(--ink-3);line-height:1.5;max-width:760px}
.invoice-hero-actions,.invoice-actions-row{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.invoice-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.invoice-stat-card,.invoice-command-primary,.invoice-command-pill{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:13px 14px;min-width:0}
.invoice-stat-card span,.invoice-command-primary span,.invoice-command-pill span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--ink-4)}
.invoice-stat-card strong,.invoice-command-primary strong,.invoice-command-pill strong{display:block;margin-top:5px;font-size:22px;color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere}
.invoice-stat-card small,.invoice-command-primary small,.invoice-command-pill small{display:block;margin-top:3px;font-size:10px;color:var(--ink-4);line-height:1.35}
.invoice-stat-card.good strong{color:var(--positive)}
.invoice-stat-card.warn strong{color:var(--warn)}
.invoice-command{display:grid;grid-template-columns:minmax(260px,1.35fr) repeat(2,minmax(0,1fr));gap:10px}
.invoice-command-primary.good{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.045)}
.invoice-command-primary.warn{border-color:rgba(200,117,51,.32);background:rgba(200,117,51,.055)}
.invoice-work-grid{display:grid;grid-template-columns:minmax(260px,.78fr) minmax(420px,1.02fr) minmax(420px,1.1fr);gap:14px;align-items:start}
.invoice-left-stack{display:grid;gap:12px}
.invoice-ai-panel textarea,.invoice-builder-panel textarea,.invoice-profile-panel textarea{width:100%;resize:vertical}
.invoice-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}
.invoice-field-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.invoice-profile-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
.invoice-profile-fields{grid-template-columns:1fr;align-items:end}
.invoice-profile-fields>div{min-width:0}
.invoice-profile-fields .rules-input{width:100%;min-width:0}
.invoice-logo-control{display:grid;gap:8px;align-content:start}
.invoice-logo-drop{width:100%;min-height:104px;border:1px solid rgba(32,38,46,.1);border-radius:10px;background:linear-gradient(180deg,#fff,var(--surface-2));display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center;cursor:pointer;color:var(--ink);padding:10px;overflow:hidden}
.invoice-logo-drop:hover{border-color:rgba(200,117,51,.36);box-shadow:0 0 0 3px rgba(200,117,51,.08)}
.invoice-logo-preview{display:block;min-width:0}
.invoice-logo-copy{display:grid;gap:3px;min-width:0}
.invoice-logo-copy strong{font-size:12px;font-weight:850;color:var(--ink)}
.invoice-logo-copy small,.invoice-logo-note,.invoice-payment-safe-note{display:block;font-size:11px;color:var(--ink-4);line-height:1.4}
.invoice-payment-safe-note{margin-top:8px}
.invoice-logo-control .btn{justify-self:start}
.invoice-logo-frame{width:88px;height:68px;border:1px solid var(--border);border-radius:9px;background:#fff;display:flex;align-items:center;justify-content:center;padding:8px;overflow:hidden;flex:0 0 auto}
.invoice-logo-frame img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}
.invoice-logo-frame.fallback span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:7px;background:var(--copper-bg);color:var(--copper);font-size:18px;font-weight:900;letter-spacing:0;text-transform:uppercase}
.invoice-logo-frame.invoice-paper-logo{width:72px;height:56px;padding:7px;border-radius:10px}
.invoice-lines-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:12px 0 8px}
.invoice-lines-head span{font-size:12px;font-weight:900;color:var(--ink)}
.invoice-lines-head small{font-size:10px;color:var(--ink-4)}
.invoice-lines{display:grid;gap:7px;margin-bottom:10px}
.invoice-line-row{display:grid;grid-template-columns:minmax(140px,1fr) 74px 92px 84px 30px;gap:7px;align-items:center}
.invoice-line-row input{width:100%;min-width:0}
.inv-line-total{font-size:12px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.inv-line-remove{height:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--ink-4);cursor:pointer}
.inv-line-remove:hover{border-color:var(--negative);color:var(--negative)}
.invoice-preview-panel .panel-body{background:linear-gradient(180deg,#f7f4ef,#fff);padding:16px}
.invoice-paper{border:1px solid rgba(32,38,46,.12);border-radius:12px;background:#fff;padding:26px;box-shadow:0 16px 40px rgba(15,23,42,.06);color:var(--ink);min-width:0}
.invoice-paper-top,.invoice-paper-meta{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:14px}
.invoice-brand{display:flex;align-items:center;gap:14px;min-width:0;max-width:68%}
.invoice-brand-copy{display:grid;gap:3px;min-width:0}
.invoice-brand strong,.invoice-paper-meta strong{display:block;font-size:15px;color:var(--ink);overflow-wrap:anywhere}
.invoice-brand small,.invoice-paper-meta small,.invoice-paper-number small{display:block;font-size:11px;color:var(--ink-4);line-height:1.35;overflow-wrap:anywhere}
.invoice-brand-address{white-space:pre-line}
.invoice-paper-number{text-align:right}
.invoice-paper-number span,.invoice-paper-meta span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--ink-4);margin-bottom:3px}
.invoice-paper-number strong{display:block;font-size:20px;color:var(--ink)}
.invoice-status-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);padding:3px 8px;font-size:10px;font-weight:850;text-transform:capitalize;color:var(--ink-3)}
.invoice-paper-address,.invoice-paper-desc{font-size:11px;color:var(--ink-4);line-height:1.45;margin:0 0 12px;overflow-wrap:anywhere}
.invoice-paper-lines{border-top:1px solid var(--border);margin-top:12px}
.invoice-paper-lines>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--border)}
.invoice-paper-lines span{font-size:12px;font-weight:800;color:var(--ink);overflow-wrap:anywhere}
.invoice-paper-lines small{display:block;font-size:10px;color:var(--ink-4);margin-top:2px}
.invoice-paper-lines b{font-size:12px;color:var(--ink);font-variant-numeric:tabular-nums}
.invoice-paper-totals{display:grid;gap:6px;margin:16px 0 12px;margin-left:auto;max-width:280px}
.invoice-paper-totals>div{display:flex;justify-content:space-between;gap:14px;font-size:12px;color:var(--ink-3)}
.invoice-paper-totals b{color:var(--ink);font-variant-numeric:tabular-nums}
.invoice-paper-totals .grand{border-top:1px solid var(--border);padding-top:8px;font-size:16px;font-weight:900;color:var(--ink)}
.invoice-paper-footer{display:grid;gap:4px;border-top:1px solid var(--border);padding-top:12px;font-size:11px;color:var(--ink-4);line-height:1.45}
.invoice-paper-footer strong{font-size:12px;color:var(--ink)}
.invoice-paper-footer a{color:var(--copper);font-weight:900;text-decoration:none}
.invoice-print-root{display:none}
body.invoice-print-preview-mode{background:#fff}
body.invoice-print-preview-mode .app,
body.invoice-print-preview-mode .vai-launcher,
body.invoice-print-preview-mode .vai-window,
body.invoice-print-preview-mode .vaultis-assistant{visibility:hidden!important}
body.invoice-print-preview-mode #invoice-print-root,
body.invoice-print-preview-mode #invoice-print-root *{visibility:visible!important}
body.invoice-print-preview-mode .invoice-print-root{display:block;position:absolute;left:0;top:0;width:100%;min-height:100vh;background:#fff;padding:32px;z-index:9999}
body.invoice-print-preview-mode .invoice-print-root .invoice-paper{max-width:7.5in;margin:0 auto;box-shadow:none;border-color:#d9d6cf}
.invoice-list-panel .panel-body{padding:0}
.invoice-pipeline-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px 86px auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border);min-width:0}
.invoice-pipeline-row:last-child{border-bottom:0}
.invoice-pipeline-row:hover{background:var(--surface-2)}
.invoice-pipeline-row strong{display:block;font-size:13px;color:var(--ink);overflow-wrap:anywhere}
.invoice-pipeline-row span:not(.inv-status){display:block;font-size:10px;color:var(--ink-4);margin-top:2px;line-height:1.35}
.invoice-pipeline-row>b{font-size:13px;text-align:right;color:var(--ink);font-variant-numeric:tabular-nums}
.invoice-actions-row.compact{justify-content:flex-end}
.invoice-actions-row.compact .btn{white-space:nowrap}
@media(max-width:1200px){
  .invoice-work-grid{grid-template-columns:1fr}
  .invoice-command{grid-template-columns:1fr 1fr}
  .invoice-profile-grid{grid-template-columns:260px minmax(0,1fr)}
  .invoice-profile-fields{grid-template-columns:repeat(2,minmax(180px,1fr))}
}
@media(max-width:760px){
  .invoice-hero,.invoice-command,.invoice-stats-grid,.invoice-field-grid,.invoice-field-grid.two,.invoice-profile-grid,.invoice-profile-fields,.invoice-pipeline-row{grid-template-columns:1fr}
  .invoice-hero-actions,.invoice-actions-row,.invoice-actions-row.compact{justify-content:flex-start}
  .invoice-logo-drop{grid-template-columns:76px minmax(0,1fr)}
  .invoice-logo-frame{width:76px;height:60px}
  .invoice-line-row{grid-template-columns:1fr 72px 90px}
  .inv-line-total,.inv-line-remove{grid-column:auto}
  .invoice-paper-top,.invoice-paper-meta{flex-direction:column}
  .invoice-brand{max-width:none}
  .invoice-paper-number{text-align:left}
}
@media print{
  @page{size:Letter;margin:.5in}
  body{background:#fff!important}
  body.invoice-print-active .app,
  body.invoice-print-active .vai-launcher,
  body.invoice-print-active .vai-window,
  body.invoice-print-active .vaultis-assistant{visibility:hidden!important}
  body.invoice-print-active #invoice-print-root,
  body.invoice-print-active #invoice-print-root *{visibility:visible!important}
  body.invoice-print-active #invoice-print-root{display:block!important;position:absolute;left:0;top:0;width:100%;padding:0;background:#fff;color:#101827}
  body.invoice-print-active #invoice-print-root .invoice-paper{width:100%;max-width:7.5in;margin:0 auto;min-height:auto;border:0;border-radius:0;box-shadow:none;padding:0;color:#101827}
  body.invoice-print-active #invoice-print-root .invoice-paper-top,
  body.invoice-print-active #invoice-print-root .invoice-paper-meta{break-inside:avoid}
  body.invoice-print-active #invoice-print-root .invoice-paper-lines>div,
  body.invoice-print-active #invoice-print-root .invoice-paper-footer{break-inside:avoid}
  body.invoice-print-active #invoice-print-root a{color:#101827;text-decoration:none}
}

/* --- Tax Center --- */
.tax-center-shell{display:grid;gap:14px}
.tax-hero-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;border:1px solid rgba(196,115,59,.26);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(196,115,59,.1),rgba(19,31,49,.045));box-shadow:0 14px 42px rgba(15,23,42,.045)}
.tax-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;color:var(--copper);margin-bottom:6px}
.tax-hero-panel h2{font-size:22px;line-height:1.15;letter-spacing:-.025em;color:var(--ink);margin:0 0 7px;max-width:760px}
.tax-hero-panel p{font-size:12px;color:var(--ink-3);line-height:1.55;max-width:860px;margin:0}
.tax-hero-panel .tax-hero-note{margin-top:10px;max-width:580px;color:#b87343;font-weight:750}
.tax-hero-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.tax-profile-shell{display:grid;gap:10px}
.tax-profile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tax-profile-summary div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px;min-width:0}
.tax-profile-summary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--ink-4);margin-bottom:3px}
.tax-profile-summary strong{display:block;font-size:15px;color:var(--ink);overflow-wrap:anywhere;text-transform:capitalize}
.tax-profile-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);overflow:hidden}
.tax-profile-section summary{cursor:pointer;list-style:none;padding:11px 12px;font-size:12px;font-weight:850;color:var(--ink);border-bottom:1px solid transparent}
.tax-profile-section summary::-webkit-details-marker{display:none}
.tax-profile-section[open] summary{border-bottom-color:var(--border)}
.tax-profile-section .tax-profile-grid{padding:12px}
.tax-profile-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.tax-profile-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.tax-profile-grid label{display:grid;gap:5px;min-width:0}
.tax-profile-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:var(--ink-4)}
.tax-input{width:100%;height:36px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);font-size:12px;font-weight:750;padding:0 10px;outline:none}
.tax-input:focus{border-color:var(--copper);box-shadow:0 0 0 3px var(--copper-bg)}
.tax-profile-note{margin-top:10px;font-size:11px;color:var(--ink-4);line-height:1.45}
.tax-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.tax-summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:14px 16px}
.tax-summary-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.065em;font-weight:850;color:var(--ink-4);margin-bottom:6px}
.tax-summary-card strong{display:block;font-size:22px;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}
.tax-summary-card small{display:block;font-size:11px;color:var(--ink-4);line-height:1.4;margin-top:4px}
.tax-summary-card.copper{border-color:var(--copper-border);background:var(--copper-bg)}
.tax-summary-card.good{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.055)}
.tax-summary-card.warn{border-color:rgba(245,158,11,.34);background:rgba(245,158,11,.06)}
.tax-summary-card.bad{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.045)}
.tax-summary-card.info{border-color:rgba(46,107,176,.22);background:rgba(46,107,176,.045)}
.tax-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tax-layer-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);padding:14px 15px;display:grid;gap:6px}
.tax-layer-card.active{border-color:var(--copper-border);background:linear-gradient(180deg,var(--copper-bg),var(--surface-2))}
.tax-layer-card span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--copper)}
.tax-layer-card strong{font-size:14px;color:var(--ink)}
.tax-layer-card small{font-size:11px;line-height:1.45;color:var(--ink-4)}
.tax-tabbar{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--border);padding:2px 0 0}
.tax-tab-btn{border:1px solid transparent;background:transparent;color:var(--ink-4);font-size:12px;font-weight:850;padding:9px 10px;border-radius:8px 8px 0 0;cursor:pointer}
.tax-tab-btn:hover{color:var(--ink);background:var(--surface-2)}
.tax-tab-btn.active{color:var(--copper);border-color:var(--border);border-bottom-color:var(--surface-1);background:var(--surface-1)}
.tax-tab-panel{display:none}
.tax-tab-panel.active{display:grid;gap:14px}
.tax-workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:14px;align-items:start}
.tax-automation-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
.tax-flow-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px}
.tax-flow-step{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px;text-align:left;cursor:pointer;color:var(--ink)}
.tax-flow-step strong{display:block;font-size:12px;color:var(--ink)}
.tax-flow-step span{display:block;font-size:10px;color:var(--ink-4);margin-top:2px}
.tax-flow-step.active{border-color:var(--copper-border);background:var(--copper-bg)}
.tax-flow-page{display:grid;gap:12px}
.tax-flow-head{display:grid;gap:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:14px}
.tax-flow-head span{font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--copper)}
.tax-flow-head strong{font-size:18px;color:var(--ink);line-height:1.25}
.tax-flow-head p{font-size:12px;line-height:1.55;color:var(--ink-4);margin:0}
.tax-upload-box{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border:1px dashed var(--copper-border);border-radius:var(--radius);background:var(--copper-bg);padding:12px}
.tax-upload-box input{font-size:12px;color:var(--ink-4);max-width:100%}
.tax-doc-review-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}
.tax-doc-review-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--ink-4)}
.tax-doc-review-card strong{display:block;font-size:16px;color:var(--ink);margin-top:2px}
.tax-doc-review-card small{display:block;font-size:11px;color:var(--ink-4);line-height:1.4;margin-top:2px}
.tax-preview-text{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}
.tax-preview-text summary{font-size:12px;font-weight:850;color:var(--ink);cursor:pointer}
.tax-preview-text p{font-size:11px;line-height:1.5;color:var(--ink-4);white-space:pre-wrap;overflow-wrap:anywhere}
.tax-review-queue{display:grid;gap:8px}
.tax-review-row{display:grid;grid-template-columns:minmax(0,1fr) auto 46px auto;gap:10px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 12px}
.tax-review-row.active{border-color:var(--copper-border);background:var(--copper-bg)}
.tax-review-row strong{display:block;font-size:13px;color:var(--ink)}
.tax-review-row span,.tax-review-row small{display:block;font-size:11px;color:var(--ink-4);line-height:1.35}
.tax-review-row b{font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.tax-review-row em{font-style:normal;font-size:11px;color:var(--ink-4);font-weight:850}
.tax-calc-table.compact{margin-top:0}
.tax-estimate-stack{display:grid;gap:12px}
.tax-estimate-primary{border:1px solid var(--copper-border);border-radius:var(--radius);padding:14px;background:linear-gradient(180deg,var(--copper-bg),var(--surface-2))}
.tax-estimate-primary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--copper);margin-bottom:4px}
.tax-estimate-primary strong{display:block;font-size:24px;letter-spacing:-.025em;color:var(--ink)}
.tax-estimate-primary p{font-size:12px;color:var(--ink-3);line-height:1.5;margin:5px 0 0}
.tax-calc-table{display:grid;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.tax-calc-table div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid var(--border);font-size:12px}
.tax-calc-table div:last-child{border-bottom:0;background:rgba(196,115,59,.055)}
.tax-calc-table span{color:var(--ink-4)}
.tax-calc-table strong{color:var(--ink);font-variant-numeric:tabular-nums}
.tax-note-box{display:grid;gap:4px;border:1px solid rgba(46,107,176,.18);border-radius:var(--radius);background:rgba(46,107,176,.045);padding:11px 12px}
.tax-note-box strong{font-size:12px;color:var(--ink)}
.tax-note-box span{font-size:11px;color:var(--ink-4);line-height:1.45}
.tax-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.tax-mini-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:11px 12px;min-width:0}
.tax-mini-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--ink-4);margin-bottom:4px}
.tax-mini-card strong{display:block;font-size:18px;color:var(--ink);letter-spacing:-.015em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.tax-mini-card small{display:block;font-size:10px;color:var(--ink-4);line-height:1.35;margin-top:3px}
.tax-mini-card.good{border-color:rgba(34,197,94,.25);background:rgba(34,197,94,.045)}
.tax-mini-card.warn{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.05)}
.tax-mini-card.copper{border-color:var(--copper-border);background:var(--copper-bg)}
.tax-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.tax-progress-list{display:grid;gap:12px}
.tax-progress-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr) 52px;gap:12px;align-items:center;font-size:12px}
.tax-progress-label{display:flex;flex-direction:column;gap:3px;min-width:0;line-height:1.25}
.tax-progress-label strong{display:block;color:var(--ink);font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tax-progress-label span{display:block;color:var(--ink-4);font-size:11px;font-weight:700;white-space:nowrap}
.tax-progress-row small{color:var(--ink-4);text-align:right;font-variant-numeric:tabular-nums}
.tax-progress-track{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}
.tax-progress-track>div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--copper),#22c55e)}
.tax-calendar-list,.tax-payment-list,.tax-document-list,.tax-export-list{display:grid;gap:9px}
.tax-calendar-item,.tax-payment-item,.tax-document-item,.tax-export-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:11px 12px}
.tax-payment-item{grid-template-columns:minmax(0,1fr) auto auto}
.tax-calendar-item strong,.tax-payment-item strong,.tax-document-item strong,.tax-export-item strong{font-size:12px;color:var(--ink)}
.tax-calendar-item span,.tax-payment-item span,.tax-document-item span,.tax-export-item span{display:block;font-size:10px;color:var(--ink-4);line-height:1.4;margin-top:2px}
.tax-calendar-item b,.tax-payment-item b,.tax-document-item b,.tax-export-item b{font-size:11px;color:var(--copper);white-space:nowrap}
.tax-scenario-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:10px}
.tax-scenario-grid label{display:grid;gap:5px}
.tax-scenario-grid span{font-size:10px;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:var(--ink-4)}
.tax-scenario-result{border:1px solid var(--copper-border);border-radius:var(--radius);background:var(--copper-bg);padding:12px;display:grid;gap:5px}
.tax-scenario-result strong{font-size:17px;color:var(--ink)}
.tax-scenario-result span{font-size:11px;color:var(--ink-3);line-height:1.45}
.tax-deduction-list{display:grid;gap:10px}
.tax-deduction-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,auto);gap:12px;padding:13px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.tax-deduction-main span,.tax-rule-card span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--copper);margin-bottom:4px}
.tax-deduction-main strong,.tax-rule-card strong{display:block;font-size:13px;color:var(--ink);margin-bottom:4px}
.tax-deduction-main p,.tax-rule-card p{font-size:11px;color:var(--ink-3);line-height:1.45;margin:0 0 5px}
.tax-deduction-main small,.tax-rule-card small{display:block;font-size:10px;color:var(--ink-4);line-height:1.4;margin-bottom:6px}
.tax-deduction-main a,.tax-rule-card a,.tax-source-grid a{font-size:11px;font-weight:800;color:var(--copper);text-decoration:none}
.tax-deduction-main a:hover,.tax-rule-card a:hover,.tax-source-grid a:hover{text-decoration:underline}
.tax-deduction-side{text-align:right;display:grid;align-content:start;gap:3px}
.tax-deduction-side strong{font-size:17px;color:var(--positive);font-variant-numeric:tabular-nums}
.tax-deduction-side strong.review{color:var(--warn)}
.tax-deduction-side span{font-size:10px;color:var(--ink-4)}
.tax-deduction-side b{font-size:10px;color:var(--warn);font-weight:850}
.tax-check-list{display:grid;gap:9px}
.tax-check-item{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.tax-check-item>div{width:32px;height:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:900}
.tax-check-item.ok>div{background:var(--positive-bg);color:var(--positive)}
.tax-check-item.warn>div{background:var(--warn-bg);color:var(--warn)}
.tax-check-item strong{display:block;font-size:12px;color:var(--ink);margin-bottom:2px}
.tax-check-item small{display:block;font-size:11px;color:var(--ink-4);line-height:1.35}
.tax-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tax-rule-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:12px}
.tax-rule-card.active{border-color:var(--copper-border);background:linear-gradient(180deg,var(--copper-bg),var(--surface-2))}
.tax-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.tax-source-grid a{display:flex;align-items:center;min-height:40px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:9px 10px;line-height:1.3}
.tax-ai-ready,.tax-ai-answer,.tax-ai-loading,.tax-empty{font-size:12px;color:var(--ink-3);line-height:1.55}
.tax-ai-ready strong{display:block;font-size:14px;color:var(--ink);margin-bottom:5px}
.tax-ai-ready p{margin:0 0 9px}
.tax-ai-ready ul{margin:0;padding-left:18px;display:grid;gap:5px}
.tax-ai-answer{display:grid;gap:8px}
.tax-ai-answer p{margin:0}
.tax-empty{padding:18px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);text-align:center}

@media (max-width:1100px){
  .tax-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tax-profile-grid.compact,.tax-profile-summary,.tax-flow-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tax-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tax-layer-grid,.tax-workspace-grid,.tax-rule-grid,.tax-source-grid,.tax-mini-grid,.tax-scenario-grid{grid-template-columns:1fr}
  .tax-review-row{grid-template-columns:minmax(0,1fr) auto}
}

@media (max-width:720px){
  .tax-hero-panel{flex-direction:column}
  .tax-hero-actions{justify-content:flex-start}
  .tax-summary-grid{grid-template-columns:1fr}
  .tax-profile-grid{grid-template-columns:1fr}
  .tax-profile-grid.compact,.tax-profile-summary,.tax-flow-nav{grid-template-columns:1fr}
  .tax-deduction-card{grid-template-columns:1fr}
  .tax-deduction-side{text-align:left}
  .tax-doc-review-card,.tax-review-row{grid-template-columns:1fr}
  .tax-calendar-item,.tax-payment-item,.tax-document-item,.tax-export-item{grid-template-columns:1fr}
  .tax-progress-row{grid-template-columns:1fr}
  .tax-progress-row small{text-align:left}
  .tax-progress-label strong,.tax-progress-label span{white-space:normal}
}
/* --- Goals Workspace --- */
.goals-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}
.goals-context-label{display:block;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:var(--copper);margin-bottom:4px}
.goals-head p{font-size:13px;color:var(--ink-3);margin:0;line-height:1.5;max-width:760px}
.goals-head-actions{display:flex;gap:8px;flex-shrink:0}
.goal-command{display:grid;grid-template-columns:1.3fr 2fr;gap:12px;margin-bottom:14px}
.goal-command-primary{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;background:var(--surface-2)}
.goal-command-primary.good{border-color:rgba(34,197,94,0.25);background:rgba(34,197,94,0.045)}
.goal-command-primary.warn{border-color:rgba(217,119,6,0.3);background:rgba(217,119,6,0.055)}
.goal-command-primary span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--copper);margin-bottom:5px}
.goal-command-primary strong{display:block;font-size:20px;font-weight:850;color:var(--ink);letter-spacing:-.01em}
.goal-command-primary small{display:block;font-size:11px;color:var(--ink-3);margin-top:4px;line-height:1.45}
.goal-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.goal-kpis>div{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:13px 14px}
.goal-kpis span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--ink-4);margin-bottom:5px}
.goal-kpis b{display:block;font-size:18px;color:var(--ink)}
.goal-kpis small{display:block;font-size:11px;color:var(--ink-3);margin-top:3px;line-height:1.35}
.goals-workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);gap:14px}
.goals-main,.goals-side{display:grid;gap:14px;align-content:start}
#panel-goals .panel-head{align-items:center}
#panel-goals .panel-head .pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.goals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:12px;padding:14px}
.goal-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:15px;min-width:0}
.goal-card.active{border-left:3px solid var(--copper)}
.goal-card.complete{border-left:3px solid var(--positive);background:rgba(34,197,94,0.035)}
.goal-card.warn{border-left:3px solid var(--warn);background:rgba(217,119,6,0.04)}
.goal-card.danger{border-left:3px solid var(--negative);background:rgba(239,68,68,0.04)}
.goal-card-top{display:flex;align-items:flex-start;gap:10px;min-width:0}
.goal-avatar{width:34px;height:34px;border-radius:var(--radius);background:var(--surface-3);display:flex;align-items:center;justify-content:center;font-size:17px;flex-shrink:0}
.goal-card-top strong{display:block;font-size:13px;color:var(--ink);line-height:1.3;overflow-wrap:anywhere}
.goal-card-top span{display:block;font-size:11px;color:var(--ink-3);margin-top:2px;line-height:1.35}
.goal-icon-btn{margin-left:auto;border:1px solid var(--border);background:var(--surface-1);border-radius:var(--radius);padding:4px 7px;font-size:10px;font-weight:800;color:var(--ink-3);cursor:pointer}
.goal-money-row{display:flex;align-items:baseline;gap:8px;margin-top:12px}
.goal-money-row b{font-size:20px;color:var(--ink);letter-spacing:-.01em}
.goal-money-row span{font-size:11px;color:var(--ink-3)}
.goal-progress{height:8px;background:var(--surface-3);border-radius:999px;overflow:hidden;margin:9px 0 7px}
.goal-progress>div{height:100%;background:linear-gradient(90deg,var(--copper),#22c55e);border-radius:999px;transition:width .25s ease}
.goal-card-meta,.goal-source-strip{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:11px;color:var(--ink-3);line-height:1.35}
.goal-source-strip{border-top:1px solid var(--border);padding-top:8px;margin-top:8px}
.goal-card-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.goal-card-actions .danger{color:var(--negative);border-color:rgba(239,68,68,.28)}
.goal-feed-row,.goal-rule-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid var(--border)}
.goal-feed-row strong,.goal-audit-row strong,.goal-rule-row b{display:block;font-size:12px;color:var(--ink)}
.goal-feed-row span,.goal-audit-row small,.goal-rule-row span{display:block;font-size:11px;color:var(--ink-3);line-height:1.45}
.goal-feed-row b{font-size:12px;color:var(--ink);white-space:nowrap}
.goal-feed-row.audit-only b{color:var(--ink-4)}
.goal-audit-list{display:grid;gap:8px;padding:10px 12px}
.goal-audit-row{display:grid;gap:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px 11px}
.goal-audit-row-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.goal-audit-action{display:inline-flex;align-items:center;min-height:20px;border-radius:999px;background:var(--copper-bg);color:var(--copper);padding:3px 7px;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;line-height:1;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.goal-audit-time{font-size:10px;color:var(--ink-4);white-space:nowrap;font-weight:750}
.goal-audit-detail{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.goal-audit-amount{font-size:11px;font-weight:850;color:var(--ink);white-space:nowrap}
.goal-rule-summary{padding:12px 14px;border-bottom:1px solid var(--border)}
.goal-rule-summary strong{display:block;font-size:12px;color:var(--ink)}
.goal-rule-summary span{display:block;font-size:12px;color:var(--ink-3);line-height:1.45;margin-top:3px}
.goal-empty{grid-column:1/-1;text-align:center;padding:46px 24px}
.goal-empty-icon{font-size:32px;margin-bottom:10px}
.goal-empty h3{font-size:16px;font-weight:800;color:var(--ink);margin:0 0 6px}
.goal-empty p{font-size:12px;color:var(--ink-4);line-height:1.5;max-width:540px;margin:0 auto 14px}
.goal-empty-small{font-size:12px;color:var(--ink-3);line-height:1.45}
.goal-empty-small.padded{padding:18px 14px}
.goal-feed-empty{margin:14px;padding:20px;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2);display:flex;align-items:center;justify-content:space-between;gap:14px}
.goal-feed-empty-copy{display:flex;align-items:center;gap:12px;min-width:0}
.goal-feed-empty-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius);background:var(--surface-3);color:var(--copper);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0}
.goal-feed-empty strong{display:block;font-size:13px;color:var(--ink);margin-bottom:3px}
.goal-feed-empty span{display:block;font-size:12px;color:var(--ink-3);line-height:1.45}
.goal-modal-note{font-size:11px;color:var(--ink-4);line-height:1.45;text-align:left;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius);padding:9px 10px;margin-bottom:12px}
.vmodal.vmodal-goal{width:520px;max-width:min(94vw,520px)}
.vmodal.vmodal-goal .vmodal-body{padding:26px 26px 22px;text-align:left}
.vmodal.vmodal-goal .vmodal-icon{margin-bottom:12px}
.vmodal.vmodal-goal .vmodal-title{text-align:center;margin-bottom:12px}
.vmodal.vmodal-goal .vmodal-msg{margin-bottom:18px}
.goal-smart-hero{border:1px solid rgba(59,130,246,0.2);background:linear-gradient(180deg,rgba(59,130,246,0.055),var(--surface-2));border-radius:var(--radius);padding:11px 12px;margin-bottom:12px}
.goal-smart-hero strong{display:block;font-size:13px;color:var(--ink);margin-bottom:3px}
.goal-smart-hero span{display:block;font-size:11px;color:var(--ink-4);line-height:1.45}
.goal-icon-picker{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px;margin:10px 0 12px}
.goal-icon-picker>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}
.goal-icon-picker strong{font-size:11px;color:var(--ink)}
.goal-icon-picker span{font-size:10px;color:var(--ink-4);text-align:right}
.goal-icon-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;max-height:132px;overflow:auto;padding-right:2px}
.goal-icon-choice{height:30px;border:1px solid var(--border);border-radius:7px;background:var(--surface-1);display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}
.goal-icon-choice:hover{border-color:var(--copper);background:var(--copper-bg)}
.goal-icon-choice.active{border-color:var(--copper);background:rgba(200,117,51,0.14);box-shadow:0 0 0 2px rgba(200,117,51,0.12)}
.goal-smart-forecast{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.goal-smart-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:9px 10px;min-width:0}
.goal-smart-card.good{border-color:rgba(34,197,94,0.25);background:rgba(34,197,94,0.05)}
.goal-smart-card.warn{border-color:rgba(217,119,6,0.3);background:rgba(217,119,6,0.06)}
.goal-smart-card.muted{background:var(--surface-3)}
.goal-smart-card strong{display:block;font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.goal-smart-card span{display:block;margin-top:2px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-4);line-height:1.25}
.goal-smart-card small{display:block;margin-top:4px;font-size:10px;color:var(--ink-4);line-height:1.35}
.goal-source-picker{border:1px solid var(--border);border-radius:var(--radius);padding:8px;display:grid;gap:6px;max-height:160px;overflow:auto;text-align:left;margin-bottom:12px}
.goal-source-option{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);padding:8px;cursor:pointer}
.goal-source-option input{margin-top:2px;accent-color:var(--copper)}
.goal-source-option strong{display:block;font-size:11px;color:var(--ink)}
.goal-source-option small{display:block;font-size:10px;color:var(--ink-4);margin-top:1px}
@media(max-width:900px){
  .goals-head,.goal-command,.goals-workspace{grid-template-columns:1fr;display:grid}
  .goals-head-actions{justify-content:flex-start}
  .goal-kpis,.goals-grid{grid-template-columns:1fr}
  .goal-feed-empty{align-items:flex-start;flex-direction:column}
  .goal-smart-forecast{grid-template-columns:1fr}
  .goal-icon-grid{grid-template-columns:repeat(6,1fr)}
}

/* === Vezra Intelligence Core === */
.intelligence-core-panel{margin-bottom:14px}
.intel-core-grid{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:10px;margin-bottom:10px}
.intel-score-card,.intel-kpis>div,.intel-module,.intel-rec{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}
.intel-score-card{padding:13px 14px}
.intel-score-card span,.intel-kpis span,.intel-module span,.intel-rec-top span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--ink-4)}
.intel-score-card strong{display:block;font-size:25px;color:var(--ink);letter-spacing:-.02em;margin:3px 0}
.intel-score-card small{display:block;font-size:10px;color:var(--ink-4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.intel-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.intel-kpis>div{padding:13px 14px}
.intel-kpis b{display:block;font-size:20px;color:var(--ink);margin-top:5px}
.intel-kpis small{display:block;margin-top:4px;font-size:10px;color:var(--ink-4);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intel-kpi-action{cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
.intel-kpi-action:hover,.intel-kpi-action:focus{outline:0;border-color:var(--copper-border);background:var(--copper-bg);box-shadow:0 8px 22px rgba(15,23,42,.06)}
.intel-module-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:10px}
.intel-module{padding:10px;min-width:0}
.intel-module strong{display:block;font-size:11px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.intel-module span{margin-top:4px;color:var(--positive)}
.intel-rec-list{display:grid;gap:8px}
.intel-rec{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px;border-left:3px solid var(--copper)}
.intel-rec.safe{border-left-color:var(--positive);background:rgba(34,197,94,.04)}
.intel-rec.review{background:rgba(200,117,51,.035)}
.intel-rec-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}
.intel-rec-top b{font-size:11px;color:var(--ink-3)}
.intel-rec strong{display:block;font-size:13px;color:var(--ink);line-height:1.25}
.intel-rec p,.intel-rec small{display:block;margin:4px 0 0;font-size:11px;color:var(--ink-4);line-height:1.4}
.intel-rec-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.intel-rec-actions .btn{min-width:0;white-space:normal;line-height:1.2}
.intel-empty{padding:18px;text-align:center;font-size:12px;color:var(--ink-4);border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-2)}
.intel-empty strong{display:block;color:var(--ink);font-size:13px;margin-bottom:3px}
.intel-empty span{display:block}
.intel-modal p{font-size:13px;color:var(--ink-3);line-height:1.45;margin:0 0 10px}
.intel-modal-reason{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-3);padding:10px;font-size:12px;color:var(--ink-3);line-height:1.45;margin-bottom:10px}
.intel-modal-meta{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.intel-modal-meta span{font-size:10px;font-weight:800;color:var(--ink-3);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:4px 8px}
.intel-modal-list{display:grid;gap:6px;max-height:260px;overflow:auto}
.intel-modal-row{display:flex;justify-content:space-between;gap:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:9px 10px;text-align:left}
.intel-modal-row strong{display:block;font-size:12px;color:var(--ink)}
.intel-modal-row span{display:block;font-size:10px;color:var(--ink-4);line-height:1.35;margin-top:2px}
.intel-modal-row b{font-size:12px;color:var(--ink);white-space:nowrap}
.intel-audit-modal{display:grid;gap:8px;max-height:360px;overflow:auto}
.intel-audit-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:10px;text-align:left}
.intel-audit-row strong{display:block;font-size:12px;color:var(--ink)}
.intel-audit-row span,.intel-audit-row small{display:block;margin-top:3px;font-size:10px;color:var(--ink-4);line-height:1.35;overflow:hidden;text-overflow:ellipsis}
.intel-audit-row b{font-size:11px;color:var(--copper);white-space:nowrap}
@media(max-width:1000px){
  .intel-core-grid,.intel-module-strip,.intel-rec{grid-template-columns:1fr}
  .intel-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .intel-rec-actions{justify-content:flex-start}
}
@media(max-width:640px){
  .intel-kpis{grid-template-columns:1fr}
}

/* === AI Command Center Page === */
.ai-fin-page{display:grid;gap:16px;max-width:1180px;margin:0 auto}
.ai-fin-hero{display:grid;grid-template-columns:1fr minmax(190px,250px);gap:16px;align-items:center;border:1px solid rgba(32,38,46,.09);border-radius:var(--radius);background:linear-gradient(135deg,#fff,var(--surface-2));padding:18px}
.ai-fin-kicker{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;color:var(--copper);margin-bottom:5px}
.ai-fin-guardrail{display:flex;justify-content:space-between;gap:14px;align-items:center;border:1px solid rgba(32,38,46,.09);border-left:3px solid rgba(196,115,59,.42);border-radius:var(--radius);background:#fff;padding:11px 13px}
.ai-fin-guardrail strong{font-size:12px;color:var(--ink);white-space:nowrap}
.ai-fin-guardrail span{font-size:11px;line-height:1.45;color:var(--ink-4);text-align:right}
.ai-fin-hero h2{font-size:25px;letter-spacing:-.02em;color:var(--ink);margin:0 0 6px}
.ai-fin-hero p{font-size:12px;color:var(--ink-3);line-height:1.55;max-width:780px;margin:0}
.ai-fin-status{border:1px solid rgba(32,38,46,.09);border-radius:var(--radius);background:var(--surface-1);padding:13px 14px}
.ai-fin-status span,.ai-fin-status small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--ink-4)}
.ai-fin-status strong{display:block;font-size:20px;color:var(--ink);margin:5px 0}
.ai-fin-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(300px,.8fr);gap:14px;align-items:start}
.ai-fin-layout-single{grid-template-columns:1fr}
.ai-fin-chat-panel{border:1px solid rgba(32,38,46,.1);border-radius:12px;background:var(--surface);overflow:hidden;display:grid;grid-template-rows:auto minmax(430px,min(64vh,680px)) auto;min-height:0;box-shadow:0 12px 34px rgba(15,23,42,.045),inset 0 1px 0 rgba(255,255,255,.82)}
.ai-fin-chat-head{padding:12px 14px;background:var(--surface-1);border-bottom:1px solid var(--border)}
.ai-fin-messages{padding:20px 20px 148px;overflow:auto;scroll-padding:18px 18px 156px;background:linear-gradient(180deg,#fff,var(--surface-2))}
.fin-ai-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--ink-4);gap:10px;padding:28px}
.fin-ai-empty-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(196,115,59,.12),rgba(46,107,176,.08));border:1px solid rgba(196,115,59,.18);color:var(--copper);font-size:13px;font-weight:900}
.fin-ai-empty strong{font-size:18px;color:var(--ink)}
.fin-ai-empty span{font-size:12px;line-height:1.5;max-width:520px}
.fin-ai-prompt-grid{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:8px;max-width:620px}
.fin-ai-prompt-grid button{border:1px solid rgba(32,38,46,.1);background:#fff;border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;color:var(--ink-3);cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.fin-ai-prompt-grid button:hover{border-color:var(--copper-border);color:var(--copper);background:rgba(196,115,59,.04)}
.fin-ai-msg{width:min(100%,920px);max-width:100%;margin:0 auto 14px}
.fin-ai-msg.user{width:fit-content;max-width:min(76%,720px);margin-left:auto;margin-right:0}
.fin-ai-msg-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--ink-4);margin-bottom:4px}
.fin-ai-msg.user .fin-ai-msg-label{text-align:right;padding-right:6px}
.fin-ai-msg-body{border:1px solid var(--border);border-radius:12px;background:var(--surface-1);padding:12px;font-size:13px;line-height:1.5;color:var(--ink-2);white-space:normal}
.fin-ai-msg.assistant .fin-ai-msg-body{padding:0;border-color:rgba(32,38,46,.1);background:#fff;box-shadow:0 12px 34px rgba(15,23,42,.045)}
.fin-ai-msg.user .fin-ai-msg-body{border-radius:15px 15px 5px 15px;background:linear-gradient(135deg,var(--copper),#a85f34);border-color:rgba(168,95,52,.92);color:#fff;box-shadow:0 10px 28px rgba(168,95,52,.16)}
.fin-ai-msg.user .fin-ai-msg-body p{margin:0}
.fin-ai-answer-card{display:grid;gap:12px;padding:14px;background:linear-gradient(180deg,#fff,#fbfaf7)}
.fin-ai-answer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(32,38,46,.08);padding-bottom:10px}
.fin-ai-answer-head span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--copper)}
.fin-ai-answer-head small{font-size:11px;color:var(--ink-4);font-weight:800}
.fin-ai-answer-head em{font-style:normal;font-size:10px;font-weight:850;color:var(--positive);background:var(--positive-bg);border:1px solid rgba(35,127,93,.18);border-radius:999px;padding:5px 8px;white-space:nowrap}
.fin-ai-metric-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px}
.fin-ai-metric-card{border:1px solid rgba(32,38,46,.1);border-radius:10px;background:linear-gradient(180deg,#fff,#f8f5ef);padding:10px 11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)}
.fin-ai-metric-card span,.fin-ai-metric-card small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:850;color:var(--ink-4)}
.fin-ai-metric-card strong{display:block;font-size:17px;color:var(--ink);margin:4px 0 2px;font-variant-numeric:tabular-nums}
.fin-ai-metric-card.good{border-color:rgba(35,127,93,.22);background:linear-gradient(180deg,#fff,#f2fbf6)}
.fin-ai-metric-card.good strong{color:var(--positive)}
.fin-ai-metric-card.risk,.fin-ai-metric-card.warn{border-color:rgba(202,112,50,.26);background:linear-gradient(180deg,#fff,#fff7ee)}
.fin-ai-metric-card.risk strong{color:var(--danger)}
.fin-ai-metric-card.warn strong{color:var(--copper)}
.fin-ai-answer-section{border:1px solid rgba(32,38,46,.08);border-radius:10px;background:#fff;padding:11px 12px}
.fin-ai-answer-section h3{margin:0 0 7px;font-size:13px;color:var(--ink);letter-spacing:-.01em}
.fin-ai-answer-section ul{margin:0;padding-left:18px;display:grid;gap:6px}
.fin-ai-answer-section li{font-size:12px;line-height:1.45;color:var(--ink-3)}
.fin-ai-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.fin-ai-action-card{display:grid;gap:4px;text-align:left;border:1px solid rgba(32,38,46,.09);border-radius:10px;background:linear-gradient(180deg,#fff,var(--surface-2));padding:10px 11px;cursor:pointer;color:var(--ink)}
.fin-ai-action-card:hover{border-color:var(--copper-border);box-shadow:0 8px 20px rgba(196,115,59,.09)}
.fin-ai-action-card strong{font-size:12px;color:var(--ink)}
.fin-ai-action-card span{font-size:11px;line-height:1.4;color:var(--ink-4)}
.fin-ai-evidence,.fin-ai-full-answer{border:1px solid rgba(32,38,46,.08);border-radius:10px;background:rgba(255,255,255,.78)}
.fin-ai-evidence summary,.fin-ai-full-answer summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;font-size:12px;font-weight:850;color:var(--ink-3);border-radius:9px;padding:10px 12px;user-select:none}
.fin-ai-evidence summary::-webkit-details-marker,.fin-ai-full-answer summary::-webkit-details-marker{display:none}
.fin-ai-evidence summary:after,.fin-ai-full-answer summary:after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease;opacity:.62;flex:0 0 auto}
.fin-ai-evidence[open] summary:after,.fin-ai-full-answer[open] summary:after{transform:rotate(45deg)}
.fin-ai-evidence summary:hover,.fin-ai-full-answer summary:hover{color:var(--copper);background:rgba(196,115,59,.045)}
.fin-ai-evidence summary:focus,.fin-ai-full-answer summary:focus{outline:none}
.fin-ai-evidence summary:focus-visible,.fin-ai-full-answer summary:focus-visible{outline:2px solid rgba(196,115,59,.34);outline-offset:2px}
.fin-ai-evidence[open] summary,.fin-ai-full-answer[open] summary{border-bottom:1px solid rgba(32,38,46,.07);border-bottom-left-radius:0;border-bottom-right-radius:0}
.fin-ai-evidence ul{margin:10px 12px 0;padding-left:18px;display:grid;gap:4px}
.fin-ai-evidence li,.fin-ai-evidence p{font-size:11px;line-height:1.45;color:var(--ink-4)}
.fin-ai-evidence p{margin:8px 12px 12px}
.fin-ai-safety-note{margin:0;font-size:11px;line-height:1.45;color:var(--ink-4);background:rgba(46,107,176,.055);border:1px solid rgba(46,107,176,.12);border-radius:9px;padding:9px 10px}
.fin-ai-answer-copy{display:grid;gap:9px;color:var(--ink-2);padding:12px;background:linear-gradient(180deg,#fff,#fbfaf7)}
.fin-ai-answer-copy h3{margin:4px 0 0;font-size:13px;line-height:1.25;color:var(--ink);letter-spacing:-.01em}
.fin-ai-answer-copy p{margin:0;font-size:12px;line-height:1.58;color:var(--ink-3)}
.fin-ai-answer-copy strong{color:var(--ink);font-weight:900}
.fin-ai-answer-copy ul{margin:0;padding-left:18px;display:grid;gap:6px}
.fin-ai-answer-copy li{font-size:12px;line-height:1.52;color:var(--ink-3)}
.fin-ai-answer-copy code{font-family:inherit;background:var(--surface-3);border:1px solid var(--border);border-radius:6px;padding:1px 5px}
.ai-fin-composer{position:sticky;bottom:0;z-index:4;background:linear-gradient(180deg,#fff,var(--surface-2));border-top:1px solid rgba(32,38,46,.09);box-shadow:0 -12px 26px rgba(15,23,42,.06)}
.ai-fin-suggest{display:flex;gap:7px;flex-wrap:wrap;padding:10px 12px 8px;background:transparent}
.ai-fin-suggest button{border:1px solid var(--border);background:var(--surface-1);border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;color:var(--ink-3);cursor:pointer}
.ai-fin-suggest button:hover{border-color:var(--copper);color:var(--copper)}
.ai-fin-input{display:grid;grid-template-columns:1fr auto;gap:10px;padding:0 12px 12px;background:transparent}
.ai-fin-input textarea{resize:none;border:1px solid rgba(32,38,46,.12);border-radius:12px;background:#fff;padding:12px 13px;font-size:13px;color:var(--ink);line-height:1.4;box-shadow:inset 0 1px 0 rgba(15,23,42,.03)}
.ai-fin-input textarea:focus{outline:2px solid rgba(200,117,51,.18);border-color:var(--copper)}
.ai-fin-side{display:grid;gap:14px}
.ai-fin-scope{display:flex;flex-wrap:wrap;gap:7px;padding:14px}
.ai-fin-scope span{font-size:11px;font-weight:800;color:var(--ink-3);background:var(--surface-3);border:1px solid var(--border);border-radius:999px;padding:6px 9px}
.ai-fin-rules{display:grid}
.ai-fin-rules>div{padding:12px 14px;border-bottom:1px solid var(--border)}
.ai-fin-rules>div:last-child{border-bottom:0}
.ai-fin-rules strong{display:block;font-size:12px;color:var(--ink);margin-bottom:3px}
.ai-fin-rules span{display:block;font-size:11px;color:var(--ink-4);line-height:1.45}
@media(max-width:1000px){
  .ai-fin-hero,.ai-fin-layout{grid-template-columns:1fr}
  .ai-fin-chat-panel{grid-template-rows:auto minmax(380px,58vh) auto}
}
@media(max-width:640px){
  .ai-fin-guardrail{align-items:flex-start;flex-direction:column}
  .ai-fin-guardrail span{text-align:left}
  .fin-ai-msg{max-width:100%}
  .fin-ai-msg.user{max-width:92%}
  .ai-fin-input{grid-template-columns:1fr}
  .ai-fin-chat-panel{grid-template-rows:auto minmax(430px,62vh) auto}
  .ai-fin-messages{padding:16px 14px 170px;scroll-padding-bottom:180px}
  .fin-ai-action-grid{grid-template-columns:1fr}
  .fin-ai-answer-head{align-items:flex-start;flex-direction:column}
}

/* Premium visual refinements */
.sidebar-logo-mark{
  background:transparent;
  border:0;
  box-shadow:none;
}
.notif-btn{
  border:1px solid rgba(22,27,34,.11);
  background:linear-gradient(180deg,#fff,#f7f4ef);
  color:var(--ink-3);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 8px 22px rgba(15,23,42,.06);
}
.notif-btn:hover{color:var(--copper);background:#fff;box-shadow:0 10px 28px rgba(202,112,50,.12)}
.premium-mini-icon{
  width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;color:var(--copper);
  background:linear-gradient(145deg,#fff,#f4efe8);
  border:1px solid rgba(202,112,50,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 8px 18px rgba(15,23,42,.05);
}
.premium-mini-icon svg{width:16px;height:16px}
.tx-sum-chip-icon .premium-mini-icon{width:30px;height:30px}
.sync-bank-logo,.acct-logo-badge,.debt-tx-logo,.sub-premium-icon.has-logo{
  overflow:hidden;background:#fff;border:1px solid var(--border);box-shadow:0 4px 12px rgba(15,23,42,.05);
}
.sync-bank-logo{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.sync-bank-logo img,.acct-logo-badge img,.debt-tx-logo img,.sub-premium-icon.has-logo img{width:100%;height:100%;object-fit:contain}
.acct-logo-badge .premium-mini-icon,.sync-bank-logo .premium-mini-icon,.sub-premium-icon .premium-mini-icon{width:100%;height:100%;border:0;box-shadow:none;background:transparent}
.acct-bal{font-variant-numeric:tabular-nums;min-width:96px;text-align:right}
.debt-payment-row{cursor:pointer}
.debt-payment-row:hover{background:rgba(202,112,50,.045)}
.ledger-focus-indicator{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0;padding:12px 14px;
  border:1px solid rgba(202,112,50,.3);border-radius:10px;
  background:linear-gradient(135deg,rgba(202,112,50,.09),rgba(35,127,93,.05));
  box-shadow:0 10px 30px rgba(15,23,42,.05);
}
.ledger-focus-indicator strong{display:block;color:var(--ink);font-size:13px}
.ledger-focus-indicator span{display:block;color:var(--ink-4);font-size:12px;margin-top:2px}
.ledger-focus-indicator button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800;color:var(--ink-3);cursor:pointer}
.focused-ledger-row{outline:2px solid rgba(202,112,50,.55);box-shadow:0 0 0 5px rgba(202,112,50,.12)}
.fin-ai-thinking{display:grid;gap:8px}
.fin-ai-thinking strong{color:var(--ink);font-size:13px}
.fin-ai-thinking span{display:block;color:var(--ink-3);font-size:12px;padding-left:16px;position:relative}
.fin-ai-thinking span:before{content:"";position:absolute;left:2px;top:7px;width:6px;height:6px;border-radius:999px;background:linear-gradient(135deg,var(--copper),var(--positive))}
.fin-ai-thinking-bar{height:3px;border-radius:999px;background:var(--surface-3);overflow:hidden;margin-top:3px}
.fin-ai-thinking-bar i{display:block;height:100%;width:42%;border-radius:inherit;background:linear-gradient(90deg,var(--copper),var(--positive));animation:finThinking 1.15s ease-in-out infinite}
@keyframes finThinking{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
.cf-river-forecast{display:none!important}

/* Overview visual hierarchy */
#panel-overview.overview-page{max-width:1480px;margin:0 auto;padding-bottom:34px}
#panel-overview.overview-page.active{display:grid;gap:30px}
#panel-overview .overview-section{display:grid;gap:14px;min-width:0}
#panel-overview .overview-section-heading{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:end;column-gap:18px;padding:0 2px 2px;border-bottom:1px solid rgba(32,38,46,.06)}
#panel-overview .overview-section-heading h2{margin:0;font-size:16px;line-height:1.25;font-weight:850;color:var(--ink);letter-spacing:0}
#panel-overview .overview-section-kicker{display:block;grid-column:1;grid-row:1;margin-bottom:3px;font-size:10px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:0;color:var(--ink-4)}
#panel-overview .overview-section-heading h2{grid-column:1;grid-row:2}
#panel-overview .overview-section-heading:after{content:"";grid-column:2;grid-row:1 / 3;align-self:end;width:42px;height:2px;border-radius:999px;background:rgba(196,115,59,.38);margin-bottom:7px}
#panel-overview .stats-row,
#panel-overview .grid-21,
#panel-overview .overview-health-grid,
#panel-overview .overview-action-grid,
#panel-overview .smart-insights-panel,
#panel-overview .command-center-panel,
#panel-overview .intelligence-core-panel,
#panel-overview .overview-control-strip{margin-bottom:0}
#panel-overview .overview-stat-row{gap:14px}
#panel-overview .grid-21,
#panel-overview .overview-health-grid,
#panel-overview .overview-action-grid{gap:16px}
#panel-overview .panel{background:#fff;border-color:rgba(32,38,46,.09);box-shadow:0 10px 28px rgba(15,23,42,.035)}
#panel-overview .panel:hover{border-color:rgba(32,38,46,.14)}
#panel-overview .panel-head{min-height:52px;padding:13px 18px;background:linear-gradient(180deg,#fff,var(--surface-1));border-bottom-color:rgba(32,38,46,.07)}
#panel-overview .panel-title{font-size:12px;font-weight:850;letter-spacing:0}
#panel-overview .panel-body{padding:18px}
#panel-overview .panel-actions{gap:6px}
#panel-overview .panel-head .badge-copper{background:var(--surface-3);color:var(--ink-3)}
#panel-overview .overview-collapsible.is-collapsed{box-shadow:0 6px 18px rgba(15,23,42,.025)}
#panel-overview .overview-collapsible.is-collapsed .panel-head{background:#fff}
#panel-overview .overview-control-strip{gap:10px}
#panel-overview .overview-nav-btn{padding:12px 14px;background:#fff;border-color:rgba(32,38,46,.09);box-shadow:none}
#panel-overview .overview-nav-btn:hover{border-color:rgba(196,115,59,.22);box-shadow:0 8px 20px rgba(15,23,42,.045)}
#panel-overview .overview-nav-btn.is-open{background:rgba(196,115,59,.055);border-color:rgba(196,115,59,.24)}
#panel-overview .overview-nav-main strong{letter-spacing:0}
#panel-overview .overview-nav-main span{letter-spacing:0}
#panel-overview .stat-card{min-height:118px;padding:18px;background:#fff;border-color:rgba(32,38,46,.085);box-shadow:0 8px 22px rgba(15,23,42,.03)}
#panel-overview .stat-card:hover{border-color:rgba(32,38,46,.13);box-shadow:0 10px 26px rgba(15,23,42,.045)}
#panel-overview .stat-card-top{margin-bottom:12px}
#panel-overview .stat-label{letter-spacing:0;color:var(--ink-4)}
#panel-overview .stat-val{font-size:25px;letter-spacing:0}
#panel-overview #s-hs{color:var(--ink)!important}
#panel-overview .overview-stat-row .stat-icon{width:30px;height:30px;border-radius:8px;background:var(--surface-3);color:var(--ink-4)}
#panel-overview .overview-stat-row .stat-icon.positive{background:var(--positive-bg);color:var(--positive)}
#panel-overview .today-command-card{position:relative;overflow:hidden;grid-template-columns:minmax(0,1.12fr) minmax(320px,.48fr);gap:24px;margin-bottom:0;padding:24px;border-color:rgba(196,115,59,.24);border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff,rgba(196,115,59,.045));box-shadow:0 22px 52px rgba(15,23,42,.08),inset 0 1px 0 rgba(255,255,255,.9)}
#panel-overview .today-command-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--copper),rgba(196,115,59,.34));opacity:.9}
#panel-overview .today-command-card.danger{border-color:rgba(220,53,69,.26);background:linear-gradient(135deg,#fff,rgba(220,53,69,.04))}
#panel-overview .today-command-card.danger:before{background:var(--negative)}
#panel-overview .today-command-card.warn{border-color:rgba(196,115,59,.24);background:linear-gradient(135deg,#fff,rgba(196,115,59,.05))}
#panel-overview .today-command-card.good{border-color:rgba(34,197,94,.2);background:linear-gradient(135deg,#fff,rgba(34,197,94,.035))}
#panel-overview .today-command-card.good:before{background:var(--positive)}
#panel-overview .today-command-kicker{margin-bottom:10px}
#panel-overview .today-command-kicker span{letter-spacing:0;color:var(--ink-4)}
#panel-overview .today-command-card h2{font-size:32px;line-height:1.08;letter-spacing:0;max-width:760px}
#panel-overview .today-command-card p{font-size:14px;line-height:1.55;color:var(--ink-3);max-width:840px}
#panel-overview .today-command-reason{margin-top:16px;padding:12px 14px;background:rgba(255,255,255,.78);border-color:rgba(32,38,46,.075)}
#panel-overview .today-command-reason strong,
#panel-overview .today-command-metrics span{letter-spacing:0}
#panel-overview .today-command-side{gap:14px}
#panel-overview .today-command-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#panel-overview .today-command-metrics div{padding:13px 12px;background:#fff;border-color:rgba(32,38,46,.08);box-shadow:0 6px 16px rgba(15,23,42,.035)}
#panel-overview .today-command-metrics strong{font-size:19px;letter-spacing:0}
#panel-overview .today-command-actions{align-items:center}
#panel-overview .command-feed-btn.primary{box-shadow:0 10px 24px rgba(196,115,59,.18)}
#panel-overview .cf-stats-bar{gap:12px;padding:14px 18px;border-bottom-color:rgba(32,38,46,.07)}
#panel-overview .cf-stat{padding:12px 10px;background:#fff;border-color:rgba(32,38,46,.08)}
#panel-overview .cf-stat-label{letter-spacing:0}
#panel-overview #overview-tx .tx-row-overview{padding:12px 16px;min-height:64px}
#panel-overview .budget-overview-row{padding:10px 0}
@media(max-width:1200px){
  #panel-overview.overview-page.active{gap:26px}
  #panel-overview .today-command-card{grid-template-columns:1fr}
  #panel-overview .today-command-actions{justify-content:flex-start}
}
@media(max-width:768px){
  #panel-overview.overview-page{padding-bottom:24px}
  #panel-overview.overview-page.active{gap:22px}
  #panel-overview .overview-section{gap:12px}
  #panel-overview .overview-section-heading{grid-template-columns:minmax(0,1fr) 34px;column-gap:12px}
  #panel-overview .overview-section-heading:after{width:34px;margin:0 0 6px}
  #panel-overview .panel-head{align-items:flex-start;gap:10px;flex-direction:column}
  #panel-overview .panel-actions{justify-content:flex-start}
  #panel-overview .today-command-card{padding:20px}
  #panel-overview .today-command-card h2{font-size:24px}
  #panel-overview .today-command-metrics{grid-template-columns:1fr}
}

/* High-standard UI polish pass */
#panel-overview .overview-cash-section{order:1}
#panel-overview .overview-command-section{order:2}
#panel-overview .overview-attention-section{order:3}
#panel-overview .overview-pressure-section{order:4}
#panel-overview .overview-secondary-section{order:5}
#panel-overview .overview-flow-section{order:6}
#panel-overview.overview-page.active{gap:24px}
#panel-overview .overview-section{gap:12px}
#panel-overview .overview-section-heading{
  grid-template-columns:1fr;
  border-bottom:0;
  padding:0;
}
#panel-overview .overview-section-heading:after{display:none}
#panel-overview .overview-section-kicker{
  margin-bottom:4px;
  font-size:10px;
  font-weight:800;
  letter-spacing:0;
  color:var(--ink-4);
}
#panel-overview .overview-section-heading h2{
  font-size:15px;
  font-weight:760;
  color:var(--ink);
}
#panel-overview .overview-section-copy{
  margin:4px 0 0;
  max-width:560px;
  font-size:12px;
  line-height:1.45;
  color:var(--ink-4);
}
#panel-overview .panel{
  border-color:rgba(32,38,46,.085);
  border-radius:10px;
  box-shadow:0 6px 18px rgba(15,23,42,.025);
}
#panel-overview .panel:hover{box-shadow:0 8px 22px rgba(15,23,42,.035)}
#panel-overview .panel-head{
  min-height:48px;
  padding:12px 16px;
  background:#fff;
}
#panel-overview .panel-title{font-size:12px;font-weight:760}
#panel-overview .panel-body{padding:16px}
#panel-overview .overview-stat-row{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
#panel-overview .stat-card{
  min-height:104px;
  padding:16px;
  border-radius:10px;
  box-shadow:none;
}
#panel-overview .stat-card:hover{box-shadow:0 8px 18px rgba(15,23,42,.03)}
#panel-overview .stat-card-top{margin-bottom:10px}
#panel-overview .stat-label{font-size:11px;font-weight:700;color:var(--ink-4)}
#panel-overview .stat-val{font-size:23px;font-weight:820;line-height:1.08}
#panel-overview .stat-delta{font-size:11px;line-height:1.35;color:var(--ink-4)}
#panel-overview .overview-stat-row .stat-icon{width:28px;height:28px;border-radius:8px}
#panel-overview .today-command-card{
  grid-template-columns:minmax(0,1fr) minmax(250px,.34fr);
  align-items:center;
  gap:18px;
  padding:18px 20px;
  border-radius:10px;
  border-color:rgba(196,115,59,.18);
  background:#fff;
  box-shadow:0 7px 18px rgba(15,23,42,.035);
}
#panel-overview .today-command-card:before{
  width:3px;
  background:var(--copper);
  opacity:.48;
}
#panel-overview .today-command-card.danger{
  border-color:rgba(201,138,26,.28);
  background:linear-gradient(180deg,#fff,rgba(201,138,26,.035));
}
#panel-overview .today-command-card.danger:before{background:var(--warn);opacity:.55}
#panel-overview .today-command-card.warn{
  border-color:rgba(196,115,59,.22);
  background:linear-gradient(180deg,#fff,rgba(196,115,59,.035));
}
#panel-overview .today-command-card.good{
  border-color:rgba(35,127,93,.22);
  background:linear-gradient(180deg,#fff,rgba(35,127,93,.035));
}
#panel-overview .today-command-card.good:before{background:var(--positive);opacity:.55}
#panel-overview .today-command-kicker{margin-bottom:6px}
#panel-overview .today-command-kicker span{
  font-size:10px;
  font-weight:800;
  letter-spacing:0;
  color:var(--ink-4);
}
#panel-overview .today-command-status{
  min-height:20px;
  padding:0 8px;
  font-size:10px;
  font-weight:760;
}
#panel-overview .today-command-status.danger{
  border-color:rgba(201,138,26,.24);
  background:rgba(201,138,26,.08);
  color:#8a5a12;
}
#panel-overview .today-command-card h2{
  max-width:760px;
  font-size:20px;
  line-height:1.2;
  font-weight:760;
}
#panel-overview .today-command-card p{
  margin-top:6px;
  font-size:12px;
  line-height:1.48;
  color:var(--ink-3);
}
#panel-overview .today-command-reason{
  margin-top:10px;
  padding:8px 10px;
  background:var(--surface-1);
  border-color:rgba(32,38,46,.06);
}
#panel-overview .today-command-reason strong,
#panel-overview .today-command-metrics span{
  font-size:9px;
  font-weight:760;
  letter-spacing:0;
}
#panel-overview .today-command-reason span{font-size:11px;line-height:1.4}
#panel-overview .today-command-side{gap:10px;align-content:center}
#panel-overview .today-command-metrics{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
#panel-overview .today-command-metrics div{
  padding:9px 10px;
  background:var(--surface-1);
  border-color:rgba(32,38,46,.07);
  box-shadow:none;
}
#panel-overview .today-command-metrics strong{font-size:14px;font-weight:760}
#panel-overview .today-command-actions{justify-content:flex-start}
#panel-overview .command-feed-btn.primary{
  height:32px;
  box-shadow:none;
}
#panel-overview .command-feed-btn.quiet{
  border-color:transparent;
  background:transparent;
  color:var(--ink-4);
  box-shadow:none;
}
#panel-overview .command-feed-btn.quiet:hover{
  border-color:rgba(196,115,59,.18);
  background:rgba(196,115,59,.045);
  color:var(--copper);
}
#panel-overview .command-center-panel{margin-bottom:0}
#panel-overview .command-center{
  grid-template-columns:minmax(0,1.04fr) repeat(3,minmax(0,.9fr));
  gap:10px;
}
#panel-overview .command-center.command-center-metrics-only{grid-template-columns:repeat(3,minmax(0,1fr))}
#panel-overview .command-primary,
#panel-overview .command-card{
  min-height:108px;
  padding:12px;
  border-radius:9px;
  box-shadow:none;
}
#panel-overview .command-primary{
  border-color:rgba(196,115,59,.2);
  background:linear-gradient(180deg,#fff,rgba(196,115,59,.04));
}
#panel-overview .command-primary-title{font-size:15px;font-weight:760;letter-spacing:0}
#panel-overview .command-primary-desc{font-size:11px;line-height:1.4}
#panel-overview .command-primary-actions{margin-top:10px}
#panel-overview .command-card.warn{
  border-color:rgba(201,138,26,.24);
  background:rgba(201,138,26,.035);
}
#panel-overview .command-card.danger{
  border-color:rgba(201,138,26,.24);
  background:rgba(201,138,26,.035);
}
#panel-overview .command-pill.danger{
  background:rgba(201,138,26,.1);
  color:#8a5a12;
}
#panel-overview .command-card.good{
  border-color:rgba(35,127,93,.18);
  background:rgba(35,127,93,.035);
}
#panel-overview .command-card-label{font-weight:720;letter-spacing:0}
#panel-overview .command-card-value{font-size:18px;font-weight:800;letter-spacing:0}
#panel-overview .command-card-desc{font-size:11px;line-height:1.36}
#panel-overview .overview-flow-section{margin-top:4px}
#panel-overview .overview-flow-section .panel{box-shadow:none}
#panel-overview .cf-stats-bar{
  gap:10px;
  padding:12px 16px;
}
#panel-overview .cf-stat{
  padding:10px 8px;
  background:var(--surface-1);
}
#panel-overview #cashflow-chart{
  min-height:320px!important;
}
#panel-overview .cf-river{
  min-height:320px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
#panel-overview .cf-river-center{width:180px;height:108px}
#panel-overview .cf-river-center strong{font-size:24px}
#panel-overview .cf-river-mini{width:104px;padding:10px}
#panel-overview .cf-river-mini strong{font-size:20px}
#panel-overview .cf-river-card{
  width:220px;
  min-height:56px;
  padding:8px 10px;
}
.empty-state.v-empty-state,
.budget-empty,
.inv-empty,
.tax-empty,
.expense-empty,
.sub-empty-tight,
.intel-empty,
.fin-ai-empty,
.rules-empty,
.tx-empty-state{
  border:1px dashed rgba(32,38,46,.16);
  border-radius:10px;
  background:linear-gradient(180deg,#fff,var(--surface-1));
  color:var(--ink-4);
}
.empty-state.v-empty-state{
  display:grid;
  justify-items:center;
  gap:8px;
  padding:34px 20px;
}
.empty-state.v-empty-state .empty-state-icon{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:var(--surface-3);
  color:var(--ink-4);
  margin:0;
}
.empty-state.v-empty-state svg{
  width:26px;
  height:26px;
  margin:0;
  color:currentColor;
}
.empty-state.v-empty-state h3,
.budget-empty strong,
.inv-empty-title,
.tax-empty strong,
.sub-empty-tight strong,
.intel-empty strong,
.fin-ai-empty strong{
  margin:0;
  font-size:14px;
  font-weight:760;
  color:var(--ink);
}
.empty-state.v-empty-state p,
.inv-empty-desc,
.sub-empty-tight span,
.intel-empty span,
.fin-ai-empty span{
  margin:0;
  max-width:360px;
  font-size:12px;
  line-height:1.5;
  color:var(--ink-4);
}
#panel-financial-ai .ai-command-feed-panel .command-feed-list{
  grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
  gap:12px;
}
#panel-financial-ai .ai-command-feed-panel .panel-body{
  max-height:min(420px,calc(100vh - 360px));
  overflow:auto;
  scroll-padding:16px 0 18px;
  overscroll-behavior:contain;
  padding-top:16px;
  padding-bottom:18px;
}
#panel-financial-ai .ai-command-feed-panel .command-feed-item{
  min-height:96px;
}
#panel-financial-ai .ai-command-feed-panel .panel-head{
  position:relative;
  z-index:1;
}
#panel-financial-ai .fin-ai-empty{
  border:0;
  background:transparent;
  border-radius:0;
}
#panel-financial-ai .fin-ai-empty strong{
  font-size:18px;
  font-weight:800;
}
#panel-financial-ai .fin-ai-empty span{
  max-width:520px;
}
@media(max-width:760px){
  #panel-financial-ai .ai-command-feed-panel .command-feed-list{grid-template-columns:1fr}
  #panel-financial-ai .ai-command-feed-panel .panel-body{max-height:none;overflow:visible}
  #panel-financial-ai .ai-command-feed-panel .command-feed-item{min-height:0}
}
.budget-empty,
.tax-empty,
.expense-empty,
.rules-empty{
  padding:18px;
  line-height:1.5;
}
.budget-empty strong,
.budget-empty span{
  display:block;
}
.budget-empty span{
  margin-top:4px;
  font-size:12px;
  color:var(--ink-4);
}
@media(max-width:1200px){
  #panel-overview .overview-stat-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  #panel-overview .today-command-card{grid-template-columns:1fr}
  #panel-overview .today-command-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  #panel-overview .command-center,
  #panel-overview .command-center.command-center-metrics-only{grid-template-columns:repeat(2,minmax(0,1fr))}
  #panel-overview #cashflow-chart{min-height:360px!important}
  #panel-overview .cf-river{min-height:360px}
}
@media(max-width:768px){
  #panel-overview.overview-page.active{gap:20px}
  #panel-overview .overview-stat-row,
  #panel-overview .command-center,
  #panel-overview .command-center.command-center-metrics-only,
  #panel-overview .today-command-metrics{grid-template-columns:1fr}
  #panel-overview .stat-card{min-height:96px}
  #panel-overview .today-command-card{padding:16px}
  #panel-overview .today-command-card h2{font-size:19px}
  #panel-overview .today-command-actions{align-items:stretch}
  #panel-overview .command-feed-btn{width:100%}
  #panel-overview .cf-stats-bar{grid-template-columns:1fr 1fr}
  #panel-overview #cashflow-chart{min-height:0!important}
  #panel-overview .cf-river{min-height:0}
}
@media(max-width:420px){
  #panel-overview .cf-stats-bar{grid-template-columns:1fr}
  #panel-overview .panel-head{padding:11px 14px}
  #panel-overview .panel-body{padding:14px}
}

/* Transactions UI polish pass */
#panel-transactions{
  --tx-soft-border:rgba(32,38,46,.10);
  --tx-soft-shadow:0 8px 24px rgba(15,23,42,.035);
}
#panel-transactions .v-page-header{
  align-items:center;
  gap:18px;
  margin-bottom:12px;
}
#panel-transactions .v-page-title{
  font-size:24px;
  letter-spacing:0;
}
#panel-transactions .v-page-actions{
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#panel-transactions .v-page-actions .btn,
#panel-transactions .tx-advanced-btn,
#panel-transactions .tx-sort-select{
  height:34px;
  border-radius:8px;
  box-shadow:none;
}
#panel-transactions #export-toggle{
  gap:6px;
}
#panel-transactions .tx-review-entry{
  margin:0 0 12px;
  padding:10px 12px;
  border-color:rgba(196,115,59,.18);
  background:#fff;
  box-shadow:var(--tx-soft-shadow);
}
#panel-transactions .tx-review-entry .btn{
  height:32px;
  border-radius:8px;
}
#panel-transactions .tx-review-entry span{
  font-size:12px;
  font-weight:650;
  color:var(--ink-4);
}
#panel-transactions .sync-health-banner{
  align-items:center;
  padding:8px 10px;
  border-color:var(--tx-soft-border);
  background:#fff;
  box-shadow:none;
}
#panel-transactions .sync-health-title{
  width:auto;
  margin:0 6px 0 0;
  color:var(--ink-4);
  letter-spacing:0;
}
#panel-transactions .sync-inst{
  padding:5px 9px;
  border-color:var(--tx-soft-border);
  background:var(--surface-1);
}
#panel-transactions .tx-summary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:10px;
}
#panel-transactions .tx-sum-chip{
  min-height:82px;
  padding:12px;
  border-color:var(--tx-soft-border);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
#panel-transactions .tx-sum-chip-icon{
  opacity:.72;
}
#panel-transactions .tx-sum-chip-label{
  font-size:10px;
  letter-spacing:0;
  font-weight:700;
}
#panel-transactions .tx-sum-chip-value{
  font-size:18px;
  font-weight:760;
}
#panel-transactions .tx-sum-chip-sub{
  font-size:10px;
  color:var(--ink-5);
}
#panel-transactions .tx-sum-trend{
  align-self:flex-start;
  margin-left:4px;
  font-weight:760;
}
#panel-transactions .tx-sparkline-wrap{
  gap:12px;
  margin:0 0 12px;
  padding:8px 12px;
  border-color:var(--tx-soft-border);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
#panel-transactions .tx-sparkline-label{
  min-width:74px;
  font-weight:700;
  letter-spacing:0;
}
#panel-transactions .tx-sparkline-svg{
  height:28px;
}
#panel-transactions .tx-sparkline-stat-value{
  font-size:12px;
  font-weight:760;
}
#panel-transactions .tx-search-bar,
#panel-transactions .tx-view-tabs,
#panel-transactions .tx-filters{
  border-color:var(--tx-soft-border);
  border-radius:10px;
  background:#fff;
  box-shadow:none;
}
#panel-transactions .tx-search-bar{
  margin-bottom:8px;
  padding:9px 12px;
}
#panel-transactions .tx-search-bar input{
  font-size:13px;
}
#panel-transactions .tx-view-tabs{
  gap:6px;
  margin-bottom:8px;
  padding:6px;
}
#panel-transactions .tx-view-tab{
  height:32px;
  padding:0 10px;
  border-radius:8px;
  font-size:11px;
  font-weight:720;
  color:var(--ink-3);
}
#panel-transactions .tx-view-tab span{
  min-width:18px;
  height:18px;
  padding:0 5px;
  background:var(--surface-1);
  font-weight:760;
}
#panel-transactions .tx-view-tab.active{
  border-color:rgba(196,115,59,.24);
  background:rgba(196,115,59,.055);
  color:#925425;
  box-shadow:none;
}
#panel-transactions .tx-filters{
  gap:10px;
  margin-bottom:12px;
  padding:10px 12px;
}
#panel-transactions .tx-filter-group{
  gap:6px;
}
#panel-transactions .tx-filter-group label{
  font-size:10px;
  font-weight:700;
  letter-spacing:0;
  color:var(--ink-4);
}
#panel-transactions .tx-filter-input{
  min-height:32px;
  padding:6px 10px;
  border-radius:8px;
  background:var(--surface-1);
  font-size:12px;
}
#panel-transactions .tx-filter-btn{
  min-height:32px;
  padding:6px 12px;
  border-radius:8px;
  font-size:11px;
  font-weight:720;
}
#panel-transactions .tx-filter-sep{
  height:24px;
  margin:0 2px;
}
#panel-transactions .panel{
  border-color:var(--tx-soft-border);
  border-radius:10px;
  box-shadow:none;
  overflow:hidden;
}
#panel-transactions .tx-ledger-panel{
  overflow:visible;
}
#panel-transactions .tx-ledger-head{
  position:sticky;
  top:0;
  z-index:16;
  grid-template-columns:24px 36px minmax(260px,1.25fr) minmax(180px,.78fr) minmax(230px,.96fr) minmax(112px,.46fr);
  gap:12px;
  padding:10px 16px;
  background:rgba(255,255,255,.98);
  border-bottom:1px solid rgba(32,38,46,.10);
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
#panel-transactions .tx-ledger-head span{
  font-size:10px;
  letter-spacing:0;
  font-weight:760;
}
#panel-transactions .tx-row{
  grid-template-columns:24px 36px minmax(260px,1.25fr) minmax(180px,.78fr) minmax(230px,.96fr) minmax(112px,.46fr);
  gap:12px;
  min-height:70px;
  padding:13px 16px;
  border-color:rgba(32,38,46,.075);
  background:#fff;
}
#panel-transactions .tx-row:hover{
  background:rgba(196,115,59,.025);
}
#panel-transactions .tx-name{
  font-size:13px;
  font-weight:700;
  letter-spacing:0;
}
#panel-transactions .tx-row-meta{
  font-size:11px;
  color:var(--ink-4);
}
#panel-transactions .tx-merchant-avatar{
  width:34px;
  height:34px;
  border-radius:9px;
}
#panel-transactions .tx-classification{
  gap:6px;
}
#panel-transactions .cat-badge,
#panel-transactions .tx-entity-pill,
#panel-transactions .tx-review-pill,
#panel-transactions .tx-confidence-pill,
#panel-transactions .tx-action-pill,
#panel-transactions .tx-receipt-pill,
#panel-transactions .tx-relation-chip,
#panel-transactions .tx-more-pill{
  min-height:21px;
  padding:3px 8px;
  font-size:10px;
  font-weight:720;
  border-radius:999px;
}
#panel-transactions .tx-review-pill.warn,
#panel-transactions .tx-receipt-pill.warn,
#panel-transactions .tx-action-pill{
  background:rgba(201,138,26,.09);
  color:#8a5a12;
  border-color:rgba(201,138,26,.16);
}
#panel-transactions .tx-review-pill.info{
  background:rgba(46,107,176,.08);
  color:#2e5f9f;
  border-color:rgba(46,107,176,.16);
}
#panel-transactions .tx-confidence-pill.low{
  background:rgba(201,138,26,.09);
  color:#8a5a12;
}
#panel-transactions .tx-more-pill{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--tx-soft-border);
  background:var(--surface-1);
  color:var(--ink-4);
}
#panel-transactions .tx-status-stack{
  gap:4px;
}
#panel-transactions .tx-evidence-line{
  font-size:11px;
  color:var(--ink-5);
  line-height:1.35;
}
#panel-transactions .tx-bank-status{
  width:max-content;
  max-width:100%;
  display:inline-flex;
  align-items:center;
  min-height:19px;
  padding:2px 7px;
  border:1px solid var(--tx-soft-border);
  border-radius:999px;
  background:var(--surface-1);
  color:var(--ink-4);
  font-size:10px;
  font-weight:720;
  line-height:1.1;
  white-space:nowrap;
}
#panel-transactions .tx-bank-status.pending{
  border-color:rgba(201,138,26,.16);
  background:rgba(201,138,26,.07);
  color:#8a5a12;
}
#panel-transactions .tx-amt{
  font-size:13px;
  font-weight:780;
}
#panel-transactions .tx-amt-block span{
  font-size:10px;
  font-weight:650;
}
#panel-transactions .tx-date-header{
  position:sticky;
  top:41px;
  z-index:15;
  padding:8px 16px;
  background:rgba(255,255,255,.98);
  border-color:rgba(32,38,46,.075);
  box-shadow:0 1px 0 rgba(15,23,42,.025);
}
#panel-transactions .tx-date-header-label{
  font-size:11px;
  font-weight:720;
}
#panel-transactions .tx-date-header-total{
  font-size:11px;
  font-weight:680;
}
#panel-transactions .tx-keyboard-hint{
  background:#fff;
}

.txd-bg{
  background:rgba(15,23,42,.24);
  backdrop-filter:blur(2px);
  overflow:hidden;
  contain:paint;
}
.vmodal-bg{
  z-index:1300;
}
.txd-drawer{
  width:min(640px,94vw);
  max-width:94vw;
  background:var(--surface-1);
  box-shadow:-14px 0 42px rgba(15,23,42,.14);
}
.txd-head{
  min-height:74px;
  padding:16px 20px;
  background:#fff;
}
.txd-head-left{
  min-width:0;
}
.txd-head-icon{
  width:40px;
  height:40px;
  border-radius:10px;
}
.txd-head-title{
  font-size:15px;
  font-weight:760;
  letter-spacing:0;
}
.txd-head-sub{
  font-size:11px;
  color:var(--ink-4);
}
.txd-head-side{
  margin-left:auto;
  display:grid;
  justify-items:end;
  gap:4px;
  min-width:96px;
}
.txd-head-amount{
  font-size:18px;
  font-weight:820;
  font-variant-numeric:tabular-nums;
  color:var(--ink);
}
.txd-head-amount.in{
  color:var(--positive);
}
.txd-head-status{
  min-height:20px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:2px 8px;
  font-size:10px;
  font-weight:760;
  border:1px solid var(--border);
  background:var(--surface-1);
  color:var(--ink-4);
}
.txd-head-status.pending{
  background:rgba(201,138,26,.08);
  border-color:rgba(201,138,26,.18);
  color:#8a5a12;
}
.txd-body{
  padding:18px 20px 112px;
  background:var(--surface-1);
  scroll-padding-bottom:112px;
}
.txd-primary-review-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  gap:16px;
  align-items:stretch;
  margin-bottom:12px;
  padding:16px;
  border:1px solid rgba(196,115,59,.18);
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 22px rgba(15,23,42,.035);
}
.txd-primary-copy{
  display:grid;
  gap:5px;
  min-width:0;
}
.txd-primary-copy span,
.txd-confidence-meter span{
  font-size:10px;
  font-weight:760;
  color:var(--ink-4);
  letter-spacing:0;
  text-transform:uppercase;
}
.txd-primary-copy strong{
  font-size:16px;
  line-height:1.25;
  font-weight:760;
  color:var(--ink);
}
.txd-primary-copy p{
  margin:0;
  font-size:12px;
  line-height:1.45;
  color:var(--ink-4);
}
.txd-primary-side{
  display:grid;
  gap:10px;
  align-content:space-between;
  justify-items:stretch;
}
.txd-confidence-meter{
  display:grid;
  gap:2px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--surface-1);
}
.txd-confidence-meter strong{
  font-size:22px;
  font-weight:820;
  color:var(--ink);
}
.txd-confidence-meter em{
  font-size:11px;
  font-style:normal;
  color:var(--ink-4);
}
.txd-why-compact{
  margin-bottom:12px;
  padding:11px 13px;
  border-color:rgba(196,115,59,.14);
  background:#fff;
}
.txd-why-compact .txd-why-title{
  margin-bottom:5px;
  font-size:11px;
  font-weight:760;
}
.txd-why-compact li{
  font-size:11px;
  color:var(--ink-4);
}
.txd-section-card{
  border-color:rgba(32,38,46,.10);
  border-radius:12px;
  background:#fff;
  box-shadow:none;
}
.txd-primary-section{
  border-color:rgba(196,115,59,.18);
}
.txd-section-title{
  font-size:10px;
  font-weight:760;
  letter-spacing:0;
  color:var(--ink-4);
}
.txd-grid{
  gap:10px;
}
.txd-edit-field label,
.txd-field-label{
  font-size:10px;
  font-weight:700;
  letter-spacing:0;
}
.txd-edit-input,
.txd-category-edit,
.txd-check-field{
  min-height:36px;
  border-radius:8px;
  background:var(--surface-1);
}
.txd-input-hint{
  display:block;
  margin-top:5px;
  font-size:10px;
  line-height:1.3;
  color:var(--ink-4);
}
.txd-evidence-block{
  margin-top:10px;
}
.txd-receipt-section{
  margin-bottom:10px;
}
.txd-receipt-section .txd-section-title{
  margin-bottom:8px;
}
.txd-receipt-dropzone{
  min-height:48px;
  padding:10px 12px;
  border-width:1px;
  border-radius:10px;
  background:var(--surface-1);
}
.txd-notes{
  min-height:64px;
  border-radius:10px;
  background:var(--surface-1);
}
.txd-secondary-details{
  padding:0;
  overflow:hidden;
}
.txd-secondary-details summary,
.txd-advanced-details summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
}
.txd-secondary-details summary::-webkit-details-marker,
.txd-advanced-details summary::-webkit-details-marker{
  display:none;
}
.txd-secondary-details summary span,
.txd-advanced-details summary{
  font-size:11px;
  font-weight:760;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:0;
}
.txd-secondary-details summary em{
  margin-left:auto;
  font-size:11px;
  font-style:normal;
  font-weight:600;
  color:var(--ink-5);
  text-transform:none;
}
.txd-secondary-details summary:after{
  content:"+";
  font-size:16px;
  color:var(--ink-4);
}
.txd-secondary-details[open] summary,
.txd-advanced-details[open] summary{
  border-bottom:1px solid var(--border);
}
.txd-secondary-details[open] summary:after{
  content:"-";
}
.txd-secondary-body{
  padding:14px 16px 16px;
}
.txd-automation-grid{
  grid-template-columns:120px minmax(0,1fr);
}
.txd-automation-card,
.txd-connection-card{
  border-radius:10px;
  background:var(--surface-1);
}
.txd-advanced-details{
  padding:0;
}
.txd-advanced-grid{
  padding:14px 16px;
}
.txd-sticky-footer{
  position:relative;
  z-index:2;
  flex-shrink:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 18px;
  border-top:1px solid var(--border);
  background:rgba(255,255,255,.96);
  box-shadow:0 -10px 24px rgba(15,23,42,.06);
}
.txd-footer-left,
.txd-footer-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
.txd-footer-actions{
  margin-left:auto;
}
.txd-footer-actions .btn{
  height:36px;
  min-width:86px;
  border-radius:8px;
}
.txd-delete-row{
  display:none;
}
.txd-delete-btn{
  min-height:34px;
  border-color:rgba(180,35,24,.20);
  color:#9f2f24;
  border-radius:8px;
  background:#fff;
}
.txd-delete-btn:hover{
  border-color:rgba(180,35,24,.36);
  background:rgba(180,35,24,.06);
  color:#8f271e;
}
@media(max-width:1200px){
  #panel-transactions .tx-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  #panel-transactions .tx-ledger-head,
  #panel-transactions .tx-row{
    grid-template-columns:24px 36px minmax(220px,1.25fr) minmax(150px,.75fr) minmax(180px,.92fr) minmax(100px,.45fr);
  }
}
@media(max-width:768px){
  html,
  body{
    max-width:100%;
    overflow-x:hidden;
  }
  #panel-transactions .v-page-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .app,
  .main,
  .content{
    max-width:100%;
    overflow-x:hidden;
  }
  #panel-transactions{
    max-width:100%;
    overflow-x:hidden;
  }
  #panel-transactions .v-page-actions{
    width:100%;
    justify-content:flex-start;
  }
  #panel-transactions .tx-summary{grid-template-columns:1fr}
  #panel-transactions .tx-review-entry{
    align-items:flex-start;
    flex-direction:column;
  }
  #panel-transactions .tx-view-tabs{
    padding:5px;
  }
  #panel-transactions .tx-filters{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  #panel-transactions .tx-filter-group{
    align-items:flex-start;
    flex-direction:column;
  }
  #panel-transactions .tx-filter-input,
  #panel-transactions .tx-filter-btn{
    width:100%;
  }
  #panel-transactions .tx-filter-sep{
    display:none;
  }
  #panel-transactions .tx-sparkline-wrap{
    align-items:flex-start;
    flex-direction:column;
  }
  #panel-transactions .tx-sparkline-svg{
    width:100%;
  }
  #panel-transactions .tx-ledger-head{
    display:none;
  }
  #panel-transactions .tx-date-header{
    top:0;
  }
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview){
    grid-template-columns:22px 36px minmax(0,1fr);
    align-items:start;
    max-width:100%;
  }
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview) .tx-row-main{
    grid-column:3;
    min-width:0;
  }
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview) .tx-classification,
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview) .tx-status-stack,
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview) .tx-amt-block,
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview) .tx-row-advanced{
    grid-column:3 / -1;
    min-width:0;
    align-items:flex-start;
  }
  #panel-transactions #all-tx .tx-row:not(.tx-row-overview) .tx-amt{
    text-align:left;
  }
  .txd-drawer{
    width:100%;
    max-width:100%;
    border-left:0;
    box-sizing:border-box;
  }
  .txd-bg,
  .txd-body,
  .txd-head,
  .txd-sticky-footer{
    max-width:100%;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  .txd-head{
    padding:13px 14px;
  }
  .txd-head-left{
    min-width:0;
  }
  .txd-head-side{
    flex:0 0 auto;
    min-width:auto;
  }
  .txd-head-amount{
    font-size:15px;
  }
  .txd-body{
    padding:14px 14px 132px;
  }
  .txd-primary-review-card{
    grid-template-columns:1fr;
  }
  .txd-grid{
    grid-template-columns:1fr;
  }
  .txd-secondary-details summary{
    align-items:flex-start;
    flex-direction:column;
  }
  .txd-secondary-details summary em{
    margin-left:0;
  }
  .txd-automation-grid{
    grid-template-columns:1fr;
  }
  .txd-merchant-summary,
  .txd-merchant-bulkbar{
    grid-template-columns:1fr;
  }
  .txd-merchant-bulkbar{
    align-items:stretch;
    overflow:hidden;
  }
  .txd-merchant-bulkbar .btn,
  .txd-merchant-bulkbar select{
    width:100%;
    min-width:0;
    white-space:normal;
  }
  .txd-merchant-row{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .txd-merchant-row-right{
    align-items:flex-start;
    margin-left:0;
  }
  .txd-sticky-footer{
    align-items:stretch;
    flex-direction:column-reverse;
    padding:10px 14px;
  }
  .txd-footer-left,
  .txd-footer-actions{
    width:100%;
  }
  .txd-footer-actions .btn,
  .txd-delete-btn{
    flex:1;
  }
}
@media(max-width:420px){
  #panel-transactions .tx-filters{
    grid-template-columns:1fr;
  }
  #panel-transactions .v-page-actions .btn,
  #panel-transactions .tx-advanced-btn,
  #panel-transactions .tx-sort-select,
  #panel-transactions .export-dropdown{
    width:100%;
  }
  #panel-transactions .export-dropdown .btn{
    width:100%;
    justify-content:center;
  }
}

/* Temporary developer-only diagnostics */
.dev-audit-panel{
  position:fixed;right:18px;bottom:18px;z-index:1200;width:min(760px,calc(100vw - 32px));max-height:min(620px,72vh);
  border:1px solid rgba(32,38,46,.16);border-radius:8px;background:#fff;
  box-shadow:0 22px 70px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.9);overflow:hidden;color:var(--ink)
}
.dev-audit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,#fff,var(--surface-2))}
.dev-audit-head strong{display:block;font-size:13px;color:var(--ink)}
.dev-audit-kicker{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--copper);margin-bottom:2px}
.dev-audit-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.dev-audit-actions button{border:1px solid var(--border);background:#fff;border-radius:7px;padding:6px 8px;font-size:10px;font-weight:850;color:var(--ink-3);cursor:pointer}
.dev-audit-actions button:hover{border-color:var(--copper);color:var(--copper)}
.dev-audit-pill{display:inline-flex;align-items:center;justify-content:center;min-width:72px;border:1px solid var(--border);border-radius:999px;background:var(--surface-3);padding:5px 8px;font-size:10px;font-weight:900;color:var(--ink-3)}
.dev-audit-pill.good{border-color:rgba(35,127,93,.28);background:#f2fbf6;color:var(--positive)}
.dev-audit-pill.warn{border-color:rgba(202,112,50,.32);background:#fff7ee;color:var(--copper)}
.dev-audit-pill.bad{border-color:rgba(181,72,72,.26);background:#fff1f1;color:var(--danger)}
.dev-audit-body{display:grid;gap:10px;padding:10px;overflow:auto;max-height:calc(min(620px,72vh) - 52px)}
.dev-audit-panel.is-collapsed .dev-audit-body{display:none}
.dev-audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.dev-audit-summary-card{border:1px solid var(--border);border-radius:8px;background:var(--surface-1);padding:8px 9px}
.dev-audit-summary-card span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--ink-4)}
.dev-audit-summary-card strong{display:block;font-size:15px;color:var(--ink);margin-top:3px;font-variant-numeric:tabular-nums}
.dev-audit-table{display:grid;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff;min-width:680px}
.dev-audit-row{display:grid;grid-template-columns:150px repeat(7,minmax(86px,1fr));border-top:1px solid var(--border)}
.dev-audit-row:first-child{border-top:0}
.dev-audit-cell{padding:7px 8px;border-left:1px solid var(--border);font-size:11px;color:var(--ink-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.dev-audit-cell:first-child{border-left:0;color:var(--ink);font-weight:850;background:var(--surface-2)}
.dev-audit-row.head .dev-audit-cell{font-size:9px;text-transform:uppercase;letter-spacing:.05em;font-weight:900;color:var(--ink-4);background:var(--surface-3)}
.dev-audit-cell.ref{background:#f5fbf7;color:var(--positive);font-weight:900}
.dev-audit-cell.mismatch{background:#fff1f1;color:var(--danger);font-weight:900}
.dev-audit-cell.missing{color:var(--ink-4);background:var(--surface-1)}
.dev-audit-note{font-size:10px;line-height:1.4;color:var(--ink-4);margin:0}
@media(max-width:760px){
  .dev-audit-panel{right:10px;left:10px;bottom:10px;width:auto}
  .dev-audit-head{align-items:flex-start;flex-direction:column}
  .dev-audit-actions{justify-content:flex-start}
  .dev-audit-summary{grid-template-columns:1fr}
}

/* Overview readability polish after screenshot review */
#panel-overview #overview-tx .tx-row-overview{
  grid-template-columns:32px minmax(0,1fr) minmax(118px,150px) minmax(88px,100px);
  align-items:center;
}
#panel-overview #overview-tx .tx-details,
#panel-overview #overview-tx .tx-name{
  min-width:0;
  max-width:100%;
}
#panel-overview #overview-tx .tx-name{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#panel-overview .cf-river{
  min-height:520px;
  isolation:isolate;
}
#panel-overview .cf-river:before,
#panel-overview .cf-river:after{
  z-index:0;
}
#panel-overview .cf-river-svg{
  z-index:1;
  opacity:.84;
  pointer-events:none;
}
#panel-overview .cf-river-glow{opacity:.16}
#panel-overview .cf-river-particle{opacity:.38}
#panel-overview .cf-river-kicker{
  z-index:7;
  max-width:calc(100% - 44px);
  overflow:hidden;
  text-overflow:ellipsis;
}
#panel-overview .cf-river-label{
  z-index:7;
  letter-spacing:.09em;
}
#panel-overview .cf-river-label.left{top:48px;left:32px}
#panel-overview .cf-river-label.right{top:48px;right:32px}
#panel-overview .cf-river-center{
  z-index:6;
  width:184px;
  height:110px;
  background:radial-gradient(circle,rgba(9,19,29,.92),rgba(9,19,29,.68) 68%,rgba(9,19,29,.08));
}
#panel-overview .cf-river-center strong{font-size:24px;letter-spacing:0}
#panel-overview .cf-river-mini{
  z-index:7;
  width:132px;
  padding:10px 11px;
  background:rgba(9,19,29,.9);
  backdrop-filter:none;
}
#panel-overview .cf-river-mini span{
  font-size:9px;
  letter-spacing:.08em;
}
#panel-overview .cf-river-mini strong{font-size:20px}
#panel-overview .cf-river-mini em{font-size:10px}
#panel-overview .cf-river-card{
  z-index:8;
  width:min(30vw,304px);
  min-height:58px;
  grid-template-columns:36px minmax(0,1fr) minmax(62px,max-content);
  gap:9px;
  padding:8px 10px;
  background:rgba(9,19,29,.91);
  backdrop-filter:none;
  box-shadow:0 12px 24px rgba(0,0,0,.24);
}
#panel-overview .cf-river-card.left{left:20px}
#panel-overview .cf-river-card.right{right:20px}
#panel-overview .cf-river-card-icon{
  width:32px;
  height:32px;
  font-size:13px;
}
#panel-overview .cf-river-card-copy{
  min-width:0;
  overflow:hidden;
}
#panel-overview .cf-river-card-copy strong{
  display:block;
  font-size:12.5px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  overflow-wrap:normal;
}
#panel-overview .cf-river-card-copy em{
  font-size:10.5px;
  line-height:1.25;
}
#panel-overview .cf-river-card b{
  justify-self:end;
  min-width:58px;
  text-align:right;
  font-size:12.5px;
}
#panel-overview .cfi-cat-list{gap:9px}
#panel-overview .cfi-cat-row{
  grid-template-columns:10px 22px minmax(110px,1fr) minmax(68px,auto) minmax(38px,auto);
  min-height:26px;
  gap:8px;
  font-size:12px;
}
#panel-overview .cfi-cat-emoji{font-size:13px}
#panel-overview .cfi-cat-name{
  min-width:0;
  font-size:12px;
  line-height:1.2;
}
#panel-overview .cfi-cat-amt,
#panel-overview .cfi-cat-pct{
  font-size:10.5px;
  line-height:1.2;
}
#panel-overview .health-wrap{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  align-items:center;
  gap:18px;
  padding:16px;
}
#panel-overview .health-ring{
  grid-column:1;
  grid-row:1 / span 2;
  width:132px;
  height:132px;
  margin:0 auto;
}
#panel-overview .health-label{
  grid-column:2;
  grid-row:1;
  align-self:end;
  justify-self:start;
  margin:0;
  font-size:13px;
  font-weight:800;
  color:var(--ink);
  text-align:left;
}
#panel-overview .health-tips{
  grid-column:2;
  grid-row:2;
  width:100%;
  display:grid;
  gap:10px;
  align-content:center;
}
#panel-overview .health-summary{
  padding:10px 12px;
  border:1px solid rgba(32,38,46,.08);
  border-radius:9px;
  background:var(--surface-1);
}
#panel-overview .health-summary strong{
  display:block;
  font-size:13px;
  color:var(--ink);
  margin-bottom:2px;
}
#panel-overview .health-summary span{
  display:block;
  font-size:11px;
  line-height:1.4;
  color:var(--ink-3);
}
#panel-overview .health-factor-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:0;
}
#panel-overview .health-factor{padding:8px 9px}
#panel-overview .health-factor-label,
#panel-overview .health-factor-detail{
  letter-spacing:0;
}
#panel-overview .forecast-metrics{
  gap:9px;
  margin-bottom:10px;
}
#panel-overview .forecast-metric{padding:10px 9px}
#panel-overview .forecast-metric-val{
  font-size:16px;
  letter-spacing:0;
}
#panel-overview .forecast-metric-label{
  font-size:10px;
  letter-spacing:0;
}
#panel-overview .forecast-chart svg{
  min-height:150px;
}
#panel-overview .overview-secondary-section .overview-action-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
#panel-overview .overview-collapsible.is-collapsed{
  border-color:rgba(32,38,46,.08);
  box-shadow:none;
}
#panel-overview .overview-collapsible.is-collapsed .panel-head{
  min-height:42px;
  padding:9px 12px;
  align-items:center;
  flex-direction:row;
  gap:10px;
}
#panel-overview .overview-collapsible.is-collapsed .panel-title{
  min-width:0;
  font-size:12px;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#panel-overview .overview-collapsible.is-collapsed .panel-actions{
  margin-left:auto;
  align-items:center;
  flex:0 0 auto;
}
#panel-overview .overview-collapsible.is-collapsed .panel-actions .badge{
  min-height:22px;
  padding:3px 8px;
  font-size:10px;
}
#panel-overview .overview-collapse-toggle{
  width:26px;
  height:26px;
  flex:0 0 26px;
}
#panel-overview .smart-insights-panel.overview-collapsible.is-collapsed{
  margin-bottom:0;
}
@media(max-width:1200px){
  #panel-overview .cf-river-card{
    width:min(29vw,286px);
  }
  #panel-overview .cf-river-card.left{left:16px}
  #panel-overview .cf-river-card.right{right:16px}
}
@media(max-width:920px){
  #panel-overview .health-wrap{
    grid-template-columns:1fr;
  }
  #panel-overview .health-ring,
  #panel-overview .health-label,
  #panel-overview .health-tips{
    grid-column:1;
    grid-row:auto;
  }
  #panel-overview .health-label{
    justify-self:center;
    text-align:center;
  }
  #panel-overview .health-factor-list{
    grid-template-columns:1fr;
  }
  #panel-overview .overview-secondary-section .overview-action-grid{
    grid-template-columns:1fr;
  }
}
