@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root{
  --app-edge:clamp(14px,2.2vw,32px);
  --app-wide:1760px;

  /* ── Light fintech palette (QuickBooks / Stripe / Square) ── */
  --ui-ink:#1a1f36;                  /* deep navy-ink primary text */
  --ui-muted:#687385;                /* secondary text */
  --ui-line:#e3e8ee;                 /* crisp hairline borders */
  --ui-soft-line:#eef1f5;
  --ui-surface:#f6f8fb;              /* soft light-grey page canvas */
  --ui-paper:#ffffff;                /* white cards */
  --ui-paper-solid:#ffffff;          /* popovers/dialogs */
  --ui-soft:#f7f9fc;                 /* inset panels */
  --ui-field:#ffffff;                /* form fields */

  --ui-blue:#2563eb;                 /* confident, trustworthy blue */
  --ui-blue-hover:#1d4ed8;
  --ui-accent:var(--ui-blue);
  --ui-accent-hover:var(--ui-blue-hover);
  --ui-accent-soft:#e8f0fe;
  --ui-accent-softer:#f3f7ff;
  --ui-on-accent:#ffffff;
  --ui-focus-ring:rgba(37,99,235,.18);
  --ui-card-shadow:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,24,40,.06);
  --ui-nav-active:var(--ui-ink);
  --ui-on-nav-active:#ffffff;
  --ui-danger:#e02e2a;
  --ui-ok:#1a7f4b;

  /* legacy aliases — forced with !important so older pages that still
     redefine the warm "espresso/cream" palette inherit the fintech tokens */
  --ink:var(--ui-ink)!important;
  --muted:var(--ui-muted)!important;
  --line:var(--ui-line)!important;
  --surface:var(--ui-surface)!important;
  --soft:var(--ui-soft)!important;
  --paper:var(--ui-paper)!important;
  --dark:var(--ui-ink)!important;
  --accent:var(--ui-accent)!important;
  --accent-hover:var(--ui-accent-hover)!important;
  --accent-soft:var(--ui-accent-soft)!important;
  --on-accent:var(--ui-on-accent)!important;
  --danger:var(--ui-danger)!important;
  --ok:var(--ui-ok)!important;
  --gold:var(--ui-accent)!important;
}

body{
  overflow-x:hidden;
  background:var(--ui-surface)!important;
  color:var(--ui-ink)!important;
  font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,Helvetica,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.page{
  width:min(var(--app-wide),calc(100vw - (var(--app-edge) * 2)))!important;
  max-width:none!important;
  margin:0 auto!important;
  padding:18px 0 56px!important;
}

.topbar{
  margin-left:0!important;
  margin-right:0!important;
  position:relative!important;
  z-index:400!important;
}

.card,.panel,.stat,.form-section,.tool-box,.preview-box,.customer-card,.item-card,.quick-actions,.mini-card,.activity,.preview-card,.toggle-row{
  width:100%;
  background:var(--ui-paper)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  border-radius:14px!important;
  box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 46px rgba(0,0,0,.055)!important;
  color:var(--ui-ink)!important;
}

.card-head,.panel-head,.edit-head,.customer-modal-head{
  background:var(--ui-paper)!important;
  color:var(--ui-ink)!important;
  border-bottom:1px solid var(--ui-soft-line)!important;
}

.card-head h2,.card-head h3,.panel h2,.form-section h3,.section-title h3,.tool-heading,.activity-head h2{
  color:var(--ui-ink)!important;
  font-weight:700!important;
  letter-spacing:0!important;
}

.card-head small,.card-head p,.panel p,.section-title span,.muted,.tiny-note,.customer-sub,.empty,.empty-state,.chart-subtitle,.activity span,.panel small,.stat small{
  color:var(--ui-muted)!important;
}

label{
  color:var(--ui-muted)!important;
  font-size:11px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

input,select,textarea{
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ui-ink)!important;
  box-shadow:none!important;
}

input:hover,select:hover,textarea:hover{
  border-color:#b9b9c0!important;
}

input:focus,select:focus,textarea:focus{
  outline:0!important;
  border-color:var(--ui-blue)!important;
  box-shadow:0 0 0 3px var(--ui-focus-ring)!important;
}

.btn,.card button,.panel button,.row-actions button,.table-actions button,.customer-actions button,.item-actions button{
  border-radius:10px!important;
  font-weight:650!important;
  box-shadow:none!important;
}

.btn-primary,.btn-dark,#confirm-invoice,.confirm-actions .btn-primary{
  background:var(--ui-accent)!important;
  color:var(--ui-on-accent)!important;
  border-color:var(--ui-accent)!important;
}

.btn-primary:hover,.btn-dark:hover,#confirm-invoice:hover{
  background:var(--ui-accent-hover)!important;
}

.btn-soft,.btn-danger,.row-actions button,.table-actions button,.customer-actions button,.item-actions button{
  background:#fff!important;
  color:#424245!important;
  border:1px solid var(--ui-line)!important;
}

.btn-soft:hover,.row-actions button:hover,.table-actions button:hover,.customer-actions button:hover,.item-actions button:hover{
  background:var(--ui-surface)!important;
  color:var(--ui-ink)!important;
}

.btn-danger,.danger{
  color:var(--ui-danger)!important;
}

.stat{
  padding:12px 14px!important;
  box-shadow:none!important;
  background:rgba(255,255,255,.76)!important;
}

.stat span{
  color:var(--ui-muted)!important;
  font-size:12px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.stat strong{
  color:var(--ui-ink)!important;
  font-size:20px!important;
  font-weight:700!important;
}

.filters,.tool-box,.form-section,.quick-add,.send-card,.history-item,.email-preview,.invoice-snapshot,.section-graphic,.readiness-panel,.customer-toolbar,.pricebook-toolbar{
  background:var(--ui-soft)!important;
  border-color:var(--ui-soft-line)!important;
  border-radius:12px!important;
}

table{
  border-color:var(--ui-soft-line)!important;
}

th,.invoice-table th,.payment-table th,.customer-table th,.pricebook-table th,.line-items th{
  background:var(--ui-soft)!important;
  color:var(--ui-muted)!important;
  border-color:var(--ui-soft-line)!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

td,.invoice-table td,.payment-table td,.customer-table td,.pricebook-table td,.line-items td{
  border-color:var(--ui-soft-line)!important;
}

.badge,.status-pill{
  border-radius:999px!important;
  background:var(--ui-surface)!important;
  color:#424245!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-transform:none!important;
}

.status.ok,.status-line.ok,.status-ok{
  color:var(--ui-ok)!important;
}

.status.err,.status-line.err,.status-warn{
  color:var(--ui-danger)!important;
}

.edit-overlay,.confirm-overlay,.customer-modal-backdrop{
  background:rgba(0,0,0,.28)!important;
  backdrop-filter:saturate(180%) blur(18px)!important;
}

.edit-panel,.confirm-dialog,.customer-modal{
  background:var(--ui-paper)!important;
  border-color:rgba(0,0,0,.08)!important;
  border-radius:16px!important;
  box-shadow:0 24px 80px rgba(0,0,0,.22)!important;
}

.bar,.mix-fill,.graphic-total{
  background:var(--ui-accent)!important;
}

.bar.secondary,.mix-fill.open{
  background:#d2d2d7!important;
}

.mix-fill.overdue{
  background:#ff9f0a!important;
}

.mix-fill.paid{
  background:var(--ui-ok)!important;
}

.bar-label,.mix-label,.profit-note,.record-count,.price-desc,.suggestion-cell{
  color:var(--ui-muted)!important;
}

.bar-stack,.mix-track{
  border-color:var(--ui-soft-line)!important;
  background:transparent!important;
}

.mix-track{
  background:var(--ui-soft-line)!important;
}

.bar-value,.mix-value,.amount,.price,.price-amount,.balance-amount{
  color:var(--ui-ink)!important;
  font-weight:700!important;
}

.customer-toolbar,.pricebook-toolbar{
  background:var(--ui-soft)!important;
  border-color:var(--ui-soft-line)!important;
}

.menu-trigger,.price-close,.customer-modal-close{
  background:#fff!important;
  border-color:var(--ui-line)!important;
  color:#424245!important;
  border-radius:10px!important;
}

.menu-list{
  background:#fff!important;
  border-color:rgba(0,0,0,.08)!important;
  border-radius:12px!important;
  box-shadow:0 14px 36px rgba(0,0,0,.12)!important;
}

.menu-list button:hover{
  background:var(--ui-surface)!important;
}

.customer-name-link,.price-name{
  color:var(--ui-accent)!important;
  font-weight:650!important;
}

.invoice-top{
  background:var(--ui-paper)!important;
  color:var(--ui-ink)!important;
  border-bottom:1px solid var(--ui-soft-line)!important;
}

.invoice-brand-sub,.invoice-title span{
  color:var(--ui-muted)!important;
}

.total-box{
  background:var(--ui-soft)!important;
  color:var(--ui-ink)!important;
  border:1px solid var(--ui-soft-line)!important;
  border-radius:12px!important;
}

.total-box .summary-row.total,.summary-row.total{
  color:var(--ui-ink)!important;
}

.order-note{
  background:#fff!important;
  border-color:var(--ui-soft-line)!important;
  border-left-color:var(--ui-accent)!important;
  border-radius:12px!important;
}

.pay-link,.mode-button.active,.method-button.active,.method-option.active,.tab.active,.step.active,.status-select.sent{
  background:var(--ui-accent)!important;
  color:var(--ui-on-accent)!important;
  border-color:var(--ui-accent)!important;
}

.badge.sent{
  background:var(--ui-accent-soft)!important;
  color:var(--ui-accent)!important;
}

.stats{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
}

.customer-grid,.pricebook-grid{
  grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
}

.layout{
  grid-template-columns:minmax(0,1.4fr) minmax(340px,.65fr)!important;
}

.welcome{
  grid-template-columns:minmax(0,1fr) minmax(320px,.36fr)!important;
}

.grid{
  grid-template-columns:minmax(0,1fr) minmax(340px,.32fr)!important;
}

.filters{
  width:100%;
}

.table-wrap{
  width:100%;
}

.invoice-table,.payment-table{
  min-width:100%;
}

@media (min-width: 1500px){
  .page{
    width:calc(100vw - 64px)!important;
  }
  .grid{
    grid-template-columns:minmax(0,1fr) 390px!important;
  }
  .layout{
    grid-template-columns:minmax(0,1.55fr) minmax(360px,.7fr)!important;
  }
}

@media (max-width: 1180px){
  .grid,.layout,.welcome{
    grid-template-columns:1fr!important;
  }
}

/* ── Wizard (shared by job-builder & invoice-builder) ── */
.wizard-nav{display:flex;align-items:stretch;background:var(--ui-paper);border:1px solid rgba(0,0,0,.08);border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.04),0 18px 46px rgba(0,0,0,.055)}
.wizard-step-btn{flex:1;display:flex;align-items:center;gap:9px;padding:13px 15px;background:none;border:none;border-right:1px solid rgba(0,0,0,.06);cursor:pointer;font:inherit;color:var(--ui-muted);text-align:left;transition:background .15s}
.wizard-step-btn:last-child{border-right:none}
.wizard-step-btn:hover:not(.active){background:rgba(0,0,0,.02)}
.wizard-step-btn.active{background:var(--ui-accent);color:var(--ui-on-accent);cursor:default}
.wizard-step-btn.done{color:var(--ui-ink)}
.wizard-step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(0,0,0,.08);font-weight:700;font-size:12px;flex-shrink:0;line-height:1}
.wizard-step-btn.active .wizard-step-num{background:rgba(255,255,255,.22)}
.wizard-step-btn.done .wizard-step-num{background:var(--ui-ok,#248a3d);color:#fff}
.wizard-step-label{font-size:13px;font-weight:600}
.inv-wizard-panel[hidden]{display:none}
.wizard-footer{display:flex;align-items:center;gap:10px;padding:13px 17px;border-top:1px solid rgba(0,0,0,.06)}
.wizard-footer [data-inv-prev]{margin-right:auto}
.inv-collapsible-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 0;border:none;border-top:1px solid rgba(0,0,0,.06);background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ui-accent);cursor:pointer;margin-top:14px;text-align:left}
.inv-collapsible-toggle .caret{font-size:11px;transition:transform .2s}
.inv-collapsible-toggle[aria-expanded="true"] .caret{transform:rotate(180deg)}
.inv-collapsible-body[hidden]{display:none}
@media(max-width:480px){.wizard-step-label{display:none}.wizard-step-btn{justify-content:center;padding:12px 8px}.wizard-step-num{width:28px;height:28px;font-size:13px}}

/* ── Nav "More" dropdown ──────────────────────────────── */
.nav-more{position:relative;display:inline-flex}
.nav-more-btn{padding:9px 10px!important;line-height:0}
.nav-more-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:500;min-width:188px;background:var(--ui-paper);border:1px solid rgba(0,0,0,.08);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.13);padding:6px;display:grid;gap:2px}
.nav-more-menu[hidden]{display:none!important}
.nav-more-menu a,.nav-more-menu button{display:block;width:100%;border:0;background:transparent;border-radius:8px;padding:10px 12px;text-align:left;color:var(--ui-ink)!important;font:inherit;font-size:13px;font-weight:650;cursor:pointer;text-decoration:none;white-space:nowrap;line-height:1.3}
.nav-more-menu a:hover,.nav-more-menu button:hover{background:var(--ui-surface)}
.nav-more-menu .nav-active,.nav-more-menu [aria-current="page"]{background:var(--ui-nav-active)!important;color:var(--ui-on-nav-active)!important}

/* ── Invoice status badge (click-to-change) ───────────── */
.inv-status-btn{display:inline-flex;align-items:center;gap:4px;border:1px solid transparent;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:box-shadow .12s}
.inv-status-btn:hover{box-shadow:0 0 0 2px rgba(0,0,0,.15)}
.inv-status-btn.draft{background:#f1f1f2;color:#424245}
.inv-status-btn.sent{background:var(--ui-accent-soft,#eaf4ff);color:var(--ui-accent,#0066cc)}
.inv-status-btn.paid{background:#eaf7ee;color:#1f7a3a}
.inv-status-btn.partially-paid{background:#fef9c3;color:#854d0e}
.inv-status-btn.overdue{background:#fff1f2;color:#be123c}
.inv-status-btn.cancelled{background:#f4f4f5;color:#52525b}
.inv-status-btn::after{content:"▾";font-size:9px;opacity:.7}
.status-change-menu{position:fixed;z-index:600;min-width:160px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:10px;box-shadow:0 14px 36px rgba(0,0,0,.14);padding:6px;display:grid;gap:2px}
.status-change-menu[hidden]{display:none!important}
.status-change-menu button{width:100%;border:0;background:transparent;border-radius:8px;padding:9px 12px;text-align:left;font:inherit;font-size:13px;font-weight:650;cursor:pointer;color:var(--ui-ink)}
.status-change-menu button:hover{background:var(--ui-surface)}

/* ── Bulk action toolbar ──────────────────────────────── */
.bulk-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--ui-accent);color:var(--ui-on-accent);border-radius:10px;margin-bottom:10px;flex-wrap:wrap}
.bulk-bar[hidden]{display:none!important}
.bulk-bar .bulk-count{font-weight:700;font-size:13px;flex:1}
.bulk-bar .btn{background:rgba(255,255,255,.18)!important;color:var(--ui-on-accent)!important;border:1px solid rgba(255,255,255,.3)!important;font-size:13px!important;padding:7px 11px!important}
.bulk-bar .btn:hover{background:rgba(255,255,255,.28)!important}
.bulk-bar .btn-bulk-danger{background:rgba(220,38,38,.22)!important;border-color:rgba(220,38,38,.4)!important}

/* ── CSV export ───────────────────────────────────────── */
.export-btn{gap:6px;font-size:13px}

/* ── Floating AI assistant trigger ───────────────────── */
.ai-float-btn{position:fixed;right:22px;bottom:22px;z-index:800;width:52px;height:52px;border-radius:999px;background:var(--ui-accent);color:var(--ui-on-accent);border:0;box-shadow:0 4px 18px rgba(0,0,0,.24);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:22px;transition:transform .15s,box-shadow .15s;line-height:1}
.ai-float-btn:hover{transform:translateY(-2px);box-shadow:0 8px 26px rgba(0,0,0,.3)}
.ai-float-drawer{position:fixed;inset:0;z-index:900;display:flex;justify-content:flex-end;background:rgba(0,0,0,.28);backdrop-filter:blur(8px);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.ai-float-drawer.open{visibility:visible;opacity:1;pointer-events:auto}
.ai-float-panel{width:min(520px,100vw);height:100vh;height:100dvh;background:#fff;border-left:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.68,0,1.05)}
.ai-float-drawer.open .ai-float-panel{transform:translateX(0)}
.ai-float-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.08);flex-shrink:0;background:#fff}
.ai-float-head h3{margin:0;font-size:17px;font-weight:700}
.ai-float-close{width:34px;height:34px;border:1px solid rgba(0,0,0,.1);border-radius:999px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}
.ai-float-iframe{width:100%;flex:1;border:0}

/* ── Dashboard needs-action feed ─────────────────────── */
.needs-action-list{display:grid;gap:8px}
.action-item{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border:1px solid var(--ui-soft-line);border-radius:10px;padding:12px 14px;background:#fff}
.action-item-left{display:grid;gap:3px;min-width:0}
.action-item-left strong{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.action-item-left span{font-size:12px;color:var(--ui-muted)}
.action-tag{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700;white-space:nowrap}
.action-tag.overdue{background:#fff1f2;color:#be123c}
.action-tag.draft{background:#f1f1f2;color:#424245}
.action-tag.unscheduled{background:#fff7ed;color:#9a3412}
.action-tag.awaiting{background:var(--ui-accent-soft,#eaf4ff);color:var(--ui-accent,#0066cc)}

@media (max-width: 760px){
  :root{
    --app-edge:8px;
  }
  .page{
    width:calc(100vw - 16px)!important;
    padding:8px 0 34px!important;
  }
  .customer-grid,.pricebook-grid,.stats,.grid,.layout,.welcome,.insights,.payment-workspace,.filters,.form-grid,.details-grid,.payment-grid,.invoice-search,.customer-toolbar,.pricebook-toolbar{
    grid-template-columns:1fr!important;
  }
  .card,.panel,.stat,.form-section,.tool-box,.preview-box,.customer-card,.item-card,.quick-actions,.mini-card,.activity,.preview-card,.toggle-row{
    border-radius:12px!important;
    box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)!important;
  }
  .card-head,.card-body,.panel,.filters,.customer-grid,.pricebook-toolbar,.customer-toolbar{
    padding:14px!important;
  }
  .card-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .card-head h2,.card-head h3,.panel h2{
    font-size:20px!important;
    line-height:1.18!important;
  }
  .stat strong{
    font-size:21px!important;
  }
  .btn,.card button,.panel button,.row-actions button,.table-actions button,.customer-actions button,.item-actions button{
    min-height:44px!important;
  }
  .table-actions,.row-actions,.customer-actions,.item-actions,.form-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .table-actions button,.row-actions button,.customer-actions button,.item-actions button,.form-actions .btn{
    width:100%!important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   LIGHT PREMIUM (FINTECH) — QuickBooks / Stripe / Square inspired.
   Appended last so it wins. Calm white surfaces on a soft grey canvas,
   crisp hairlines, one solid accent, restrained shadows. No glass/glow.
   ════════════════════════════════════════════════════════════════════ */

/* Elevated surfaces — white cards, hairline border, soft shadow */
.card,.panel,.form-section,.tool-box,.preview-box,.customer-card,.item-card,.quick-actions,.activity,.preview-card,.toggle-row,.wizard-nav{
  background:var(--ui-paper)!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  border:1px solid var(--ui-line)!important;
  box-shadow:var(--ui-card-shadow)!important;
}
.card-head,.panel-head,.edit-head,.customer-modal-head{
  background:transparent!important;
  border-bottom:1px solid var(--ui-soft-line)!important;
}

/* Inset / soft panels */
.filters,.tool-box,.form-section,.quick-add,.send-card,.history-item,.email-preview,.invoice-snapshot,.section-graphic,.readiness-panel,.customer-toolbar,.pricebook-toolbar,.stat,.mini-card{
  background:var(--ui-soft)!important;
  border-color:var(--ui-soft-line)!important;
}

/* Form fields */
input,select,textarea{
  background:var(--ui-field)!important;
  border:1px solid var(--ui-line)!important;
  color:var(--ui-ink)!important;
}
input::placeholder,textarea::placeholder{color:#98a2b3!important;}
input:hover,select:hover,textarea:hover{border-color:#cbd2dc!important;}
input:focus,select:focus,textarea:focus{
  border-color:var(--ui-accent)!important;
  background:var(--ui-field)!important;
  box-shadow:0 0 0 3px var(--ui-focus-ring)!important;
}

/* Primary buttons — solid accent, restrained shadow */
.btn-primary,.btn-dark,#confirm-invoice,.confirm-actions .btn-primary,.pay-link,.mode-button.active,.method-button.active,.method-option.active,.tab.active,.step.active{
  background:var(--ui-accent)!important;
  border:1px solid var(--ui-accent)!important;
  color:var(--ui-on-accent)!important;
  box-shadow:0 1px 2px rgba(16,24,40,.10)!important;
}
.btn-primary:hover,.btn-dark:hover,#confirm-invoice:hover,.pay-link:hover{
  background:var(--ui-accent-hover)!important;
  border-color:var(--ui-accent-hover)!important;
  box-shadow:0 2px 6px rgba(16,24,40,.14)!important;
}

/* Secondary / soft buttons — white with hairline */
.btn-soft,.row-actions button,.table-actions button,.customer-actions button,.item-actions button,.menu-trigger,.price-close,.customer-modal-close,.ai-float-close{
  background:#ffffff!important;
  color:#384152!important;
  border:1px solid var(--ui-line)!important;
}
.btn-soft:hover,.row-actions button:hover,.table-actions button:hover,.customer-actions button:hover,.item-actions button:hover{
  background:var(--ui-surface)!important;
  color:var(--ui-ink)!important;
  border-color:#cbd2dc!important;
}

/* Popovers, dialogs, drawers */
.menu-list,.nav-more-menu,.status-change-menu{
  background:var(--ui-paper-solid)!important;
  border:1px solid var(--ui-line)!important;
  box-shadow:0 12px 32px rgba(16,24,40,.14)!important;
}
.menu-list button:hover,.nav-more-menu a:hover,.nav-more-menu button:hover,.status-change-menu button:hover{background:var(--ui-surface)!important;}
.edit-panel,.confirm-dialog,.customer-modal,.ai-float-panel,.ai-float-head{
  background:var(--ui-paper)!important;
  border-color:var(--ui-line)!important;
  color:var(--ui-ink)!important;
  box-shadow:0 24px 60px rgba(16,24,40,.22)!important;
}
.edit-overlay,.confirm-overlay,.customer-modal-backdrop,.ai-float-drawer{
  background:rgba(15,23,42,.38)!important;
  -webkit-backdrop-filter:saturate(140%) blur(6px)!important;
  backdrop-filter:saturate(140%) blur(6px)!important;
}

/* Tables */
th,.invoice-table th,.payment-table th,.customer-table th,.pricebook-table th,.line-items th{
  background:var(--ui-soft)!important;
  color:var(--ui-muted)!important;
  border-color:var(--ui-soft-line)!important;
}
td,.invoice-table td,.payment-table td,.customer-table td,.pricebook-table td,.line-items td{
  border-color:var(--ui-soft-line)!important;
  color:var(--ui-ink)!important;
}

/* Badges / pills */
.badge,.status-pill{background:#eef1f5!important;color:#384152!important;}
.action-item{background:#ffffff!important;border-color:var(--ui-soft-line)!important;}

/* Top bar sits on the canvas */
.topbar{background:transparent!important;}

/* Floating AI button — solid accent, no glow */
.ai-float-btn{
  background:var(--ui-accent)!important;
  box-shadow:0 4px 14px rgba(16,24,40,.18)!important;
}

/* Motion — restrained: a touch more shadow on hover, no bounce */
.card,.panel,.customer-card,.item-card,.action-item{
  transition:box-shadow .2s ease,border-color .2s ease!important;
}
.customer-card:hover,.item-card:hover{
  box-shadow:0 2px 4px rgba(16,24,40,.06),0 8px 22px rgba(16,24,40,.10)!important;
  border-color:#cbd2dc!important;
}

/* Typography — confident, slightly tightened headings */
h1,h2,.card-head h2,.card-head h3,.panel h2,.form-section h3,.section-title h3,.tool-heading,.activity-head h2{
  letter-spacing:-.012em!important;
}

/* Custom scrollbars + text selection (light) */
*{scrollbar-width:thin;scrollbar-color:rgba(16,24,40,.22) transparent;}
::-webkit-scrollbar{width:11px;height:11px;}
::-webkit-scrollbar-thumb{background:rgba(16,24,40,.18);border-radius:999px;border:3px solid transparent;background-clip:content-box;}
::-webkit-scrollbar-thumb:hover{background:rgba(16,24,40,.30);background-clip:content-box;}
::selection{background:var(--ui-accent-soft);color:var(--ui-ink);}

/* ════════════════════════════════════════════════════════════════════
   DE-AI / PREMIUM REFINEMENTS — remove the "AI builder / toy" tells:
   tighter geometry, no emoji empty-states, flat avatars, confident type.
   ════════════════════════════════════════════════════════════════════ */

/* Tighter, more serious geometry (less bubbly) */
.card,.panel,.form-section,.tool-box,.preview-box,.customer-card,.item-card,.quick-actions,.activity,.preview-card,.toggle-row,.wizard-nav,.edit-panel,.confirm-dialog,.customer-modal,.ai-float-panel{
  border-radius:12px!important;
}
.btn,.card button,.panel button,.row-actions button,.table-actions button,.customer-actions button,.item-actions button,input,select,textarea,.menu-list,.nav-more-menu,.status-change-menu,.menu-trigger{
  border-radius:8px!important;
}

/* Confident headings */
h1,h2,h3,.card-head h2,.card-head h3,.panel h2,.form-section h3,.section-title h3,.tool-heading,.activity-head h2{
  font-weight:700!important;
}

/* Replace emoji empty-state icons with a clean, consistent line icon
   (matches the dashboard's SVG empty-state). Hides the emoji glyph. */
.pb-empty-icon,.cust-empty-icon,.inv-empty-icon,.empty-jobs-icon{
  font-size:0!important;line-height:0!important;color:transparent!important;
  width:56px!important;height:56px!important;border-radius:14px!important;
  display:inline-grid!important;place-items:center!important;
  border:1px solid var(--ui-line)!important;
  background-color:var(--ui-soft)!important;
  background-repeat:no-repeat!important;background-position:center!important;background-size:26px 26px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E")!important;
}

/* Flatten the gradient AI avatars to a solid, premium ink chip
   (user avatars keep the accent color — only AI/typing avatars change) */
.ai-icon,.message.ai .msg-avatar,.typing-wrap .msg-avatar{
  background:var(--ui-ink)!important;background-image:none!important;color:#ffffff!important;
}
