/* ═══════════════════════════════════════════════════════════════════════════
   TaxWealth "Sharp" theme v2 — v3.1.88 (assertive pass)
   Sintra-inspired and now unmistakable: Inter display type, glass topbar,
   segmented pill tabs, borderless elevated cards, filled inputs, gradient
   primaries. Palette unchanged. ONE file + ONE <link>: removing the link
   restores v3.1.86 exactly.
   ═══════════════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

:root {
  --radius: 16px;
  --shadow: 0 1px 2px rgba(16, 35, 63, .06), 0 12px 32px -14px rgba(16, 35, 63, .25);
  --shadow-lift: 0 4px 8px rgba(16, 35, 63, .08), 0 22px 48px -16px rgba(16, 35, 63, .32);
  --ring: 0 0 0 3px rgba(37, 99, 235, .18);
}
body { font-family: 'Inter', 'Public Sans', system-ui, sans-serif !important; background: linear-gradient(180deg, #f6f8fd 0%, #ecf1f9 100%) !important; }

/* ── Display type ── */
h1, h2, h3, .tw-entry-name, .tw-ws-title { font-family: 'Inter', sans-serif; letter-spacing: -.025em; font-weight: 800 !important; }
.tw-deal-stat .v { font-size: 26px; font-weight: 900; letter-spacing: -.03em; }
.tw-deal-stat .k, .tw-dd-label { letter-spacing: .09em; font-weight: 700; font-size: 11px; }

/* ── Sidebar: gradient + glow accent + pronounced active pill ── */
.tw-side { background: radial-gradient(120% 60% at 20% -10%, rgba(47, 107, 255, .22) 0%, rgba(47, 107, 255, 0) 55%), linear-gradient(180deg, #0b1a31 0%, #10233f 60%, #14294a 100%) !important; }
.tw-nav-item { border-radius: 12px !important; padding-top: 10px !important; padding-bottom: 10px !important; font-weight: 600; transition: background .15s ease, transform .15s ease; }
.tw-nav-item:hover { background: rgba(255, 255, 255, .08) !important; }
.tw-nav-item.active { background: linear-gradient(135deg, #3b76ff, #1d4ed8) !important; box-shadow: 0 8px 22px -6px rgba(37, 99, 235, .7), inset 0 1px 0 rgba(255, 255, 255, .22); font-weight: 700; }

/* ── Topbar: sticky glass ── */
.tw-topbar { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .82) !important; backdrop-filter: blur(12px) saturate(1.4); border-bottom: 1px solid rgba(16, 35, 63, .07); }

/* ── Cards: borderless elevation ── */
.tw-deal-stat, .tw-ws-stat, .tw-deal-item, .tw-deal-detailcol, .tw-result-card, .tw-modal, .tw-acc-head {
  border-radius: var(--radius) !important; border-color: rgba(16, 35, 63, .06) !important; box-shadow: var(--shadow);
}
.tw-dd-band, .tw-clients-band, .tw-ws-band, .tw-ws-actband {
  border-radius: var(--radius) !important; border-color: rgba(16, 35, 63, .06) !important;
  background: #fff !important; box-shadow: var(--shadow);
}
.tw-deal-stat, .tw-ws-stat { transition: transform .16s ease, box-shadow .16s ease; }
.tw-deal-stat:hover, .tw-ws-stat:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); }
.tw-deal-item { transition: transform .14s ease, box-shadow .14s ease; }
.tw-deal-item:hover { transform: translateY(-2px); box-shadow: var(--shadow-lift); }
.tw-ws-stat-login { background: linear-gradient(135deg, #eef4ff, #e3edff) !important; }
.tw-ws-stat-upd { background: linear-gradient(135deg, #fff7ed, #ffefd9) !important; }
.tw-ws-stat-created { background: linear-gradient(135deg, #ecfdf5, #dcf9ec) !important; }

/* ── Buttons ── */
.tw-btn { border-radius: 12px !important; font-weight: 700 !important; font-family: 'Inter', sans-serif; transition: transform .14s ease, box-shadow .14s ease, filter .14s ease; }
.tw-btn-primary { background: linear-gradient(135deg, #3b76ff 0%, #2563eb 55%, #1d4ed8 100%) !important; border-color: #1d4ed8 !important; box-shadow: 0 8px 20px -6px rgba(37, 99, 235, .6); }
.tw-btn-primary:hover:not(:disabled) { transform: translateY(-1px); filter: brightness(1.06); box-shadow: 0 12px 26px -8px rgba(37, 99, 235, .7); }
.tw-btn-ghost { border-color: rgba(16, 35, 63, .2) !important; background: #fff; }
.tw-btn-ghost:hover:not(:disabled) { border-color: var(--navy) !important; background: rgba(16, 35, 63, .045); }
.tw-icobtn { border-radius: 11px !important; transition: transform .14s ease, box-shadow .14s ease; }
.tw-icobtn:hover { transform: translateY(-1px); box-shadow: 0 8px 16px -6px rgba(16, 35, 63, .4); }

/* ── Inputs: filled style with focus ring ── */
.tw-input, textarea.tw-input, select.tw-input {
  background: #f2f5fb !important; border-color: transparent !important; border-radius: 11px !important;
  transition: background .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.tw-input:hover { background: #edf1f9 !important; }
.tw-input:focus { background: #fff !important; outline: none; border-color: #2563eb !important; box-shadow: var(--ring); }

/* ── Deal tabs: segmented pill bar ── */
.tw-dtabs { background: #eaeff8; border-radius: 14px; padding: 5px; gap: 2px !important; border-bottom: 0 !important; }
.tw-dtabs button { border-radius: 10px !important; padding: 8px 16px !important; border-bottom: 0 !important; font-weight: 600; color: #46587a; transition: background .15s ease, color .15s ease, box-shadow .15s ease; }
.tw-dtabs button:hover:not(.on) { color: var(--navy); background: rgba(255, 255, 255, .6); }
.tw-dtabs button.on { background: #fff !important; color: var(--navy) !important; box-shadow: 0 2px 8px -2px rgba(16, 35, 63, .25); font-weight: 700; }
.tw-subtabs { border-radius: 14px !important; background: #eaeff8 !important; border-color: transparent !important; padding: 5px 8px !important; }
.tw-subtabs button { border-radius: 9px !important; font-weight: 600; }
.tw-subtabs button.on { background: #fff !important; box-shadow: 0 2px 8px -2px rgba(16, 35, 63, .25); }

/* ── Tables ── */
.tw-anl-table tbody tr { transition: background .12s ease; }
.tw-anl-table tbody tr:hover { background: rgba(37, 99, 235, .05); }
.tw-ws-usertable thead th, .tw-ws-acttable thead th, .tw-ver-table thead th { background: #eef2fa !important; }

/* ── Pills / counts / accordions ── */
.tw-stage { border-radius: 999px !important; font-weight: 700 !important; }
.tw-acc-count { background: linear-gradient(135deg, #16305a, #10233f) !important; box-shadow: 0 4px 10px -3px rgba(16, 35, 63, .55); }
/* v3.41.1: stage headers in a light navy tint with a navy edge, so they read against the grey page and apart from the white deal rows. */
.tw-acc-head { background: #d3e0f4 !important; border-color: #a9bfe2 !important; border-left: 4px solid #16305a !important; transition: box-shadow .15s ease, transform .15s ease; }
.tw-acc-head:hover { background: #c7d7f0 !important; box-shadow: var(--shadow-lift); transform: translateY(-1px); }

/* ── Modals / drawers / toasts ── */
.tw-modal { border-radius: 20px !important; box-shadow: 0 30px 80px -22px rgba(16, 35, 63, .5); }
.tw-modal-overlay { background: rgba(11, 26, 49, .5) !important; backdrop-filter: blur(6px); }
.tw-notes-drawer, #twNotesDrawer { box-shadow: -16px 0 48px -18px rgba(16, 35, 63, .45); border-radius: 16px 0 0 16px; }

/* ── Scrollbars ── */
::-webkit-scrollbar { width: 9px; height: 9px; }
::-webkit-scrollbar-thumb { background: rgba(16, 35, 63, .25); border-radius: 999px; border: 2px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(16, 35, 63, .42); background-clip: content-box; }
::-webkit-scrollbar-track { background: transparent; }
