/* IPOYOGI design system: a calm, native-feeling desktop finance app.
   Loaded last as the single visual authority. Presentation only: layout hooks,
   forms and financial behaviour stay in their owning modules.

   Principles: system typography with size-specific tracking; one tint (IPOYOGI green)
   for interaction; red only for negative money; quiet surfaces; instant press feedback;
   motion that enters and leaves along the same path; no perpetual animation. */

/* ---------- Tokens ---------- */
.yogi-ui.studio-theme {
  --font-system: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;
  --font-ui: var(--font-system);
  --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Helvetica Neue", "Segoe UI", system-ui, sans-serif;

  --bg: #f5f5f7;
  --panel: #ffffff;
  --panel-soft: #f5f5f7;
  --fill: rgba(118, 118, 128, .12);
  --fill-hover: rgba(118, 118, 128, .18);
  --line: #e5e5ea;
  --line-strong: #d2d2d7;
  --separator: rgba(60, 60, 67, .12);
  --text: #1d1d1f;
  --ink: #1d1d1f;
  --muted: #6e6e73;
  --ui-muted: #6e6e73;
  --tertiary: #8a8a8e;
  --brand: #1d7a52;
  --brand-strong: #155e3f;
  --brand-soft: rgba(29, 122, 82, .11);
  --accent: #1d7a52;
  --accent-soft: rgba(29, 122, 82, .11);
  --lime: rgba(29, 122, 82, .11);
  --success: #1f7a3a;
  --warn: #a45200;
  --danger: #d70015;
  --focus-ring: 0 0 0 4px rgba(29, 122, 82, .28);
  --shadow: 0 0 0 1px rgba(0, 0, 0, .04), 0 1px 3px rgba(0, 0, 0, .05);
  --shadow-raised: 0 0 0 1px rgba(0, 0, 0, .05), 0 12px 40px rgba(0, 0, 0, .14);
  --material: rgba(250, 250, 252, .78);
  --material-strong: rgba(242, 242, 246, .82);
  --ease-out: cubic-bezier(.22, 1, .36, 1);
  --ease-sheet: cubic-bezier(.32, .72, 0, 1);
  --sidebar-width: 232px;

  background: var(--bg);
  color: var(--text);
  font-family: var(--font-ui);
  font-size: 14px;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: auto;
  font-synthesis: none;
}
.yogi-ui.studio-theme :is(button, input, select, textarea) { font-family: var(--font-ui); letter-spacing: normal; }
.yogi-ui ::selection { background: rgba(29, 122, 82, .2); color: inherit; }
.yogi-ui.studio-theme :focus-visible { outline: none; box-shadow: var(--focus-ring); border-radius: 8px; }

/* ---------- Typography: size-specific tracking, inverse leading ---------- */
.yogi-ui.studio-theme .erp-shell :is(h1, h2, h3, h4, .studio-page-heading strong, .panel-header h2) {
  font-family: var(--font-display);
  font-style: normal;
  color: var(--ink);
}
.yogi-ui.studio-theme .studio-page-heading strong,
.yogi-ui.studio-theme .erp-shell .studio-page-heading strong { font: 700 28px/1.15 var(--font-display); letter-spacing: -.012em; }
.yogi-ui.studio-theme .studio-kicker { display: none; }
.yogi-ui.studio-theme .erp-shell .panel-header h2,
.yogi-ui.studio-theme .erp-shell .panel > h2,
.yogi-ui.studio-theme .erp-shell section > header h2 { font: 600 18px/1.25 var(--font-display); letter-spacing: -.008em; }
.yogi-ui.studio-theme .erp-shell h3 { font-weight: 600; letter-spacing: -.004em; }
.yogi-ui.studio-theme .erp-shell :is(p, td, li, label, small, span, .subtext, .section-note, .field-help) { letter-spacing: normal; }
.yogi-ui.studio-theme .erp-shell :is(.panel-header p, .section-note, .field-help, .subtext) { color: var(--muted); font-size: 13px; line-height: 1.45; }
/* Small uppercase labels: section headers in the native list style. */
.yogi-ui.studio-theme .eyebrow,
.yogi-ui.studio-theme .erp-shell .eyebrow,
.yogi-ui.studio-theme .erp-shell .panel-header .eyebrow {
  display: block; padding: 0; margin: 0 0 4px; background: none; border: 0; border-radius: 0;
  color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
}

/* ---------- Shell: translucent source-list sidebar ---------- */
.yogi-ui.studio-theme .erp-shell { padding: 0 32px 40px calc(var(--sidebar-width) + 32px); max-width: none; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs {
  inset: 0 auto 0 0; width: var(--sidebar-width); padding: 18px 10px 12px; gap: 1px;
  border: 0; border-right: 1px solid var(--separator); border-radius: 0;
  background: var(--material-strong);
  -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%);
  box-shadow: none; color: var(--text);
}
.yogi-ui.studio-theme .sidebar-brand { color: var(--ink); border: 0; padding: 0 8px 16px; margin-bottom: 4px; gap: 10px; align-items: center; }
.yogi-ui.studio-theme .sidebar-mark { flex: 0 0 34px; width: 34px; height: 34px; padding: 2px; border-radius: 8px; background: #fff; border: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .08); }
.yogi-ui.studio-theme .sidebar-brand strong { font: 700 16px/1.1 var(--font-display); letter-spacing: -.01em; color: var(--ink); }
.yogi-ui.studio-theme .studio-brand-dot { color: var(--brand); }
.yogi-ui.studio-theme .sidebar-brand small { color: var(--muted); font-size: 12px; margin-top: 2px; }
.yogi-ui.studio-theme .erp-shell .sidebar-label { margin: 14px 10px 4px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .04em; }
.yogi-ui.studio-theme .erp-shell .nav-tab {
  gap: 9px; min-height: 32px; padding: 6px 10px; border: 0; border-radius: 8px; box-shadow: none;
  color: var(--text); background: transparent; font-size: 13px; font-weight: 500;
  transition: background-color 120ms ease, transform 100ms ease;
}
.yogi-ui.studio-theme .erp-shell .nav-tab .studio-icon { width: 16px; height: 16px; color: var(--brand); stroke-width: 1.8; }
.yogi-ui.studio-theme .erp-shell .nav-tab:hover { background: rgba(0, 0, 0, .05); color: var(--text); }
.yogi-ui.studio-theme .erp-shell .nav-tab.active { background: rgba(0, 0, 0, .08); color: var(--ink); font-weight: 600; box-shadow: none; border: 0; }
.yogi-ui.studio-theme .erp-shell .nav-tab.active::after { display: none; }
.yogi-ui.studio-theme .erp-shell .nav-old-ipo-shortcut { width: 100%; justify-content: flex-start; background: transparent; color: var(--text); border: 0; }
.yogi-ui.studio-theme .profile-menu-btn { color: var(--text); background: transparent; border: 0; border-radius: 8px; padding: 8px; }
.yogi-ui.studio-theme .profile-menu-btn:hover,
.yogi-ui.studio-theme .profile-menu-btn[aria-expanded=true] { background: rgba(0, 0, 0, .05); }
.yogi-ui.studio-theme .profile-menu-btn small,
.yogi-ui.studio-theme .profile-menu-chevron { color: var(--muted); }
.yogi-ui.studio-theme .profile-menu-icon { width: 28px; height: 28px; border-radius: 50%; background: var(--brand); color: #fff; font-size: 12px; font-weight: 600; }

/* ---------- Toolbar: sticky material with a scroll-edge hairline ---------- */
/* overflow-x: hidden on <body> turns it into a scroll container and silently disables sticky
   positioning; clip prevents sideways scrolling without that side effect. */
html body.yogi-ui.studio-theme { overflow: visible; overflow-x: clip; }
.yogi-ui.studio-theme .erp-shell .studio-topbar {
  position: sticky; top: 0; z-index: 60;
  min-height: 60px; margin: 0 -32px 8px; padding: 10px 32px;
  background: rgba(245, 245, 247, .74);
  -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid transparent;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.yogi-ui.yogi-scrolled.studio-theme .erp-shell .studio-topbar { border-bottom-color: var(--separator); }
.yogi-ui.studio-theme .studio-today { color: var(--muted); font-size: 13px; }
.yogi-ui.studio-theme .studio-search { min-height: 32px; padding: 6px 10px; border: 0; border-radius: 8px; background: var(--fill); color: var(--muted); box-shadow: none; }
.yogi-ui.studio-theme .studio-search > span:not(:first-child) { color: var(--muted); }
.yogi-ui.studio-theme .studio-search kbd { background: rgba(255, 255, 255, .7); color: var(--muted); font-size: 12px; border-radius: 8px; }
.yogi-ui.studio-theme .workspace-tools > summary { color: var(--muted); font-size: 13px; font-weight: 500; }
.yogi-ui.studio-theme .workspace-status-bar,
.yogi-ui.studio-theme .workspace-status-item { background: transparent; color: var(--muted); }

/* ---------- Controls ---------- */
.yogi-ui.studio-theme :is(.primary-btn, .secondary-btn, .danger-btn, .delete-btn, .studio-create > summary, .studio-preferences > summary, .studio-mobile-menu, .mobile-create-menu > summary, .studio-link-btn) {
  border-radius: 8px; font-weight: 500; letter-spacing: normal; text-shadow: none;
  transition: background-color 140ms ease, filter 140ms ease, transform 100ms var(--ease-out), box-shadow 140ms ease;
}
.yogi-ui.studio-theme .erp-shell :is(.primary-btn, .secondary-btn, .danger-btn), .yogi-ui.studio-theme dialog :is(.primary-btn, .secondary-btn, .danger-btn) { min-height: 32px; font-size: 13px; padding: 6px 14px; }
.yogi-ui.studio-theme :is(.primary-btn, .studio-create > summary, .mobile-create-menu > summary) {
  background: var(--brand); border: 0; color: #fff; box-shadow: 0 1px 1px rgba(0, 0, 0, .08);
}
.yogi-ui.studio-theme :is(.primary-btn, .studio-create > summary):hover { background: var(--brand); filter: brightness(1.08); color: #fff; }
.yogi-ui.studio-theme :is(.secondary-btn, .studio-preferences > summary, .studio-mobile-menu) {
  background: var(--fill); border: 0; color: var(--text); box-shadow: none;
}
.yogi-ui.studio-theme :is(.secondary-btn, .studio-preferences > summary, .studio-mobile-menu):hover { background: var(--fill-hover); color: var(--text); border: 0; }
.yogi-ui.studio-theme :is(.danger-btn, .delete-btn) { background: rgba(215, 0, 21, .08); color: var(--danger); border: 0; }
.yogi-ui.studio-theme .studio-link-btn { color: var(--brand); background: transparent; border: 0; }
.yogi-ui.studio-theme :is(button, .primary-btn, .secondary-btn):disabled { opacity: .45; filter: none; cursor: default; }

/* Press feedback on pointer-down, everywhere something can be pressed. */
.yogi-ui.studio-theme :is(button, summary, [role=button], a.secondary-btn, a.primary-btn, .nav-tab, .summary-market-card, .workflow-step, .command-center-item, .data-health-item, .setup-command-card, .market-ipo-row, .application-ipo-summary-card, .account-ledger-account-row, .application-category-tile):not(:disabled):active {
  transform: scale(.97);
  filter: brightness(.96);
  transition-duration: 60ms;
}
.yogi-ui.studio-theme :is(.summary-market-card, .market-ipo-row, .account-ledger-account-row, .application-ipo-summary-card):not(:disabled):active { transform: scale(.99); }

/* Fields */
.yogi-ui.studio-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]), select, textarea, .cool-select-trigger) {
  min-height: 34px; background: #fff; color: var(--text); border: 1px solid var(--line-strong); border-radius: 8px;
  box-shadow: none; font-size: 13px; letter-spacing: normal;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.yogi-ui.studio-theme :is(input, select, textarea, .cool-select-trigger):focus,
.yogi-ui.studio-theme :is(input, select, textarea, .cool-select-trigger):focus-visible { outline: none; border-color: var(--brand); box-shadow: var(--focus-ring); }
.yogi-ui.studio-theme :is(input, textarea)::placeholder { color: var(--tertiary); }
.yogi-ui.studio-theme :is(input, select, textarea):disabled,
.yogi-ui.studio-theme input[readonly] { background: var(--panel-soft); color: var(--muted); }
.yogi-ui.studio-theme :is(input, select, textarea) { accent-color: var(--brand); }
.yogi-ui.studio-theme :is(.simple-form, .auth-form, .launch-guide, dialog) label { color: var(--muted); font-size: 12px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.yogi-ui.studio-theme :is(.cool-select-arrow, .cool-select-clear) { background: var(--fill); color: var(--muted); }

/* ---------- Surfaces ---------- */
.yogi-ui.studio-theme .erp-shell .panel {
  background: var(--panel); border: 0; border-radius: 12px; box-shadow: var(--shadow);
}
.yogi-ui.studio-theme .erp-shell .panel-header { border-color: var(--separator); }
.yogi-ui.studio-theme .erp-shell :is(.card, .focus-box, .simple-form, .setup-group, .settings-group, .application-form-more, .overview-more-tools, .hint-box, .capacity-summary, .capacity-plan-guidance, .account-ledger-stat, .reconciliation-account-summary, .capacity-planner-controls, .capacity-plan-result, .capacity-ledger-shortcut, .filter-bar, .account-ledger-period-controls, .applications-filter-bar, .workflow-checklist-panel, .closing-checklist-group, .backup-center, .backup-center-panel, .setup-page-header, .operations-report-panel) {
  background: var(--panel-soft); border: 0; border-radius: 12px; box-shadow: none; color: var(--text);
}
.yogi-ui.studio-theme .erp-shell :is(.card h3, .setup-command-card strong) { color: var(--ink); }
.yogi-ui.studio-theme .erp-shell :is(.card p, .setup-command-card small, .data-health-item small) { color: var(--muted); }

/* Grouped tiles: actions, steps, health checks, setup shortcuts. */
.yogi-ui.studio-theme .erp-shell :is(.command-center-item, .workflow-step, .data-health-item, .setup-command-card, .planning-paths article, .closing-applicant-card) {
  background: var(--panel-soft); border: 0; border-radius: 12px; box-shadow: none; color: var(--text);
  transition: background-color 140ms ease, transform 100ms var(--ease-out);
}
.yogi-ui.studio-theme .erp-shell :is(.command-center-item, .workflow-step, .data-health-item, .setup-command-card):hover { background: #ececf0; box-shadow: none; transform: none; }
.yogi-ui.studio-theme .erp-shell :is(.command-center-item, .data-health-item).urgent,
.yogi-ui.studio-theme .erp-shell .data-health-item.needs-review { background: #fff6eb; }
.yogi-ui.studio-theme .erp-shell :is(.command-center-item.urgent > strong, .data-health-item.needs-review strong) { color: var(--warn); }
.yogi-ui.studio-theme :is(.command-center-item > strong, .data-health-item strong) { font: 600 28px/1.1 var(--font-display); letter-spacing: -.01em; color: var(--ink); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme :is(.command-center-item > span, .data-health-item > span, .workflow-step-copy strong) { color: var(--ink); font-size: 12px; font-weight: 600; letter-spacing: normal; text-transform: none; }
.yogi-ui.studio-theme :is(.command-center-item > small, .workflow-step-copy small) { color: var(--muted); }
.yogi-ui.studio-theme .workflow-step-copy b { color: var(--ink); font: 600 28px/1.1 var(--font-display); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .erp-shell .workflow-step-number,
.yogi-ui.studio-theme .workflow-step:nth-child(n) .workflow-step-number { width: 26px; height: 26px; border-radius: 50%; background: var(--brand-soft); color: var(--brand-strong); box-shadow: none; font-weight: 600; font-size: 12px; }
.yogi-ui.studio-theme .workflow-step-action { color: var(--brand); background: transparent; border: 0; font-weight: 500; }
.yogi-ui.studio-theme .command-center-item > b { color: var(--brand); border: 0; }
.yogi-ui.studio-theme .planning-paths article:first-child { background: var(--brand-soft); }
.yogi-ui.studio-theme .single-capacity-tools > summary { background: var(--panel); border: 0; box-shadow: var(--shadow); color: var(--text); border-radius: 12px; }

/* ---------- Dashboard ---------- */
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail.simple-hero {
  display: block; padding: 24px 28px 18px; background: var(--panel); border: 0; border-radius: 16px; box-shadow: var(--shadow); color: var(--text); overflow: hidden;
}
.yogi-ui.studio-theme #dashboardMarketRail :is(.market-motif, .studio-sculpture) { display: none; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-market-copy { max-width: 760px; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-market-copy .eyebrow { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 12px; text-transform: none; letter-spacing: normal; font-weight: 500; }
.yogi-ui.studio-theme #dashboardMarketRail .studio-hello-dot { width: 7px; height: 7px; background: var(--brand); animation: none; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-market-copy h1 {
  margin: 8px 0 8px; color: var(--ink); font: 700 clamp(30px, 3vw, 40px)/1.08 var(--font-display); letter-spacing: -.018em;
}
.yogi-ui.studio-theme #dashboardMarketRail h1 em { color: var(--brand); font-style: normal; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-market-copy .subtext { color: var(--muted); font-size: 14px; line-height: 1.45; max-width: 640px; }
.yogi-ui.studio-theme #dashboardMarketRail .studio-hero-buttons { margin-top: 16px; gap: 10px; }
.yogi-ui.studio-theme #dashboardMarketRail .studio-hero-buttons .primary-btn { box-shadow: none; }
.yogi-ui.studio-theme #dashboardMarketRail .market-logo-shelf { margin-top: 18px; padding: 14px 0 0; border: 0; border-top: 1px solid var(--separator); background: transparent; }
.yogi-ui.studio-theme #dashboardMarketRail .market-logo-shelf-head :is(span, small),
.yogi-ui.studio-theme #dashboardMarketRail .hero-actions-label { color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .06em; }
.yogi-ui.studio-theme #dashboardMarketRail .market-logo-card { background: var(--panel-soft); border: 0; border-radius: 12px; box-shadow: none; }
.yogi-ui.studio-theme #dashboardMarketRail .market-logo-card strong { color: var(--ink); }
.yogi-ui.studio-theme #dashboardMarketRail .market-logo-card small { color: var(--muted); }
.yogi-ui.studio-theme #dashboardMarketRail .hero-actions { border: 0; padding-top: 12px; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-action-grid > * { background: var(--fill); color: var(--text); border: 0; box-shadow: none; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail #syncIpojiBtn { background: var(--fill); color: var(--text); }

.yogi-ui.studio-theme .erp-shell #summaryCards { background: transparent; border: 0; padding: 0; gap: 12px; box-shadow: none; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card,
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(n) {
  min-height: 112px; padding: 16px 18px; background: var(--panel); color: var(--text);
  border: 0; border-radius: 12px; box-shadow: var(--shadow); transform: none;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:hover { background: var(--panel); box-shadow: var(--shadow), 0 4px 14px rgba(0, 0, 0, .06); transform: none; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(n) p { margin: 0 0 8px; color: var(--muted); font-size: 12px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(n) h3 { color: var(--ink); font: 600 28px/1.1 var(--font-display); letter-spacing: -.012em; text-shadow: none; font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(n) .summary-card-action { color: var(--brand); font-size: 13px; font-weight: 500; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card .summary-card-action b { transform: none; }
.yogi-ui #todayActionStrip { background: transparent; border: 0; padding: 0; }
.yogi-ui #todayActionStrip .secondary-btn { background: var(--panel); box-shadow: var(--shadow); }

/* ---------- Lists and tables ---------- */
.yogi-ui.studio-theme .erp-shell .table-wrap { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; box-shadow: none; }
.yogi-ui.studio-theme .erp-shell table th,
.yogi-ui.studio-theme table th {
  background: transparent; color: var(--muted); border-color: var(--line);
  font-size: 12px; font-weight: 600; letter-spacing: normal; text-transform: none;
}
.yogi-ui.studio-theme .erp-shell table td,
.yogi-ui.studio-theme table td { color: var(--text); border-color: #f0f0f2; font-size: 13px; text-shadow: none; }
.yogi-ui.studio-theme .erp-shell tbody tr:nth-child(even) td { background: transparent; }
.yogi-ui.studio-theme .erp-shell tbody tr:hover td { background: #f7f7f9; }
.yogi-ui.studio-theme .erp-shell :is(.status-pill, .badge) { padding: 3px 8px; border: 0; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: normal; text-transform: none; background: var(--fill); color: var(--text); }
.yogi-ui.studio-theme :is(.status-good, .badge-success, .status-released) { background: rgba(31, 122, 58, .12); color: var(--success); }
.yogi-ui.studio-theme :is(.status-warn, .badge-warning, .status-pending) { background: rgba(164, 82, 0, .12); color: var(--warn); }
.yogi-ui.studio-theme :is(.status-bad, .badge-danger) { background: rgba(215, 0, 21, .1); color: var(--danger); }
.yogi-ui.studio-theme .status-planned { background: var(--fill); color: var(--text); }
.yogi-ui.studio-theme .amount-negative,
.yogi-ui.studio-theme .erp-shell .amount-negative { color: var(--danger) !important; }

/* Register */
.yogi-ui.studio-theme .erp-shell :is(.application-register-picker, .application-ipo-summary-card) { background: var(--panel-soft); border: 0; border-radius: 12px; color: var(--text); box-shadow: none; }
.yogi-ui.studio-theme .erp-shell .application-register-panel .application-register-wrap { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; }
.yogi-ui.studio-theme .erp-shell .applications-table .application-ipo-group td { background: var(--panel-soft); }
.yogi-ui.studio-theme .erp-shell .applications-table .application-ipo-group :is(strong, span) { color: var(--ink); }
.yogi-ui.studio-theme .application-register-panel .application-category-summary :is(.is-retail, .is-shni, .is-bhni) { background: var(--panel-soft); border: 0; border-left: 3px solid; border-radius: 12px; }
.yogi-ui.studio-theme .application-category-label { background: var(--fill); color: var(--text); }
.yogi-ui.studio-theme .application-funding-source { background: transparent; border: 0; color: var(--text); }
.yogi-ui.studio-theme .erp-shell .application-account-ledger-trigger { color: var(--ink); }

/* Ledger */
.yogi-ui.studio-theme .account-ledger-account-row { background: transparent; border: 0; border-radius: 8px; color: var(--text); }
.yogi-ui.studio-theme .account-ledger-account-row:hover { background: rgba(0, 0, 0, .04); }
.yogi-ui.studio-theme .account-ledger-account-row:is(.active, .is-selected) { background: var(--brand-soft); color: var(--ink); box-shadow: none; border: 0; }
.yogi-ui.studio-theme :is(.account-ledger-account-row b, .account-ledger-stat strong) { color: var(--ink); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .account-ledger-summary > div { background: var(--panel-soft); border: 0; border-radius: 12px; }
.yogi-ui.studio-theme .account-ledger-summary > div.is-closing { background: var(--brand-soft); }
.yogi-ui.studio-theme .account-ledger-summary span { color: var(--muted); text-transform: none; letter-spacing: normal; font-size: 12px; }
.yogi-ui.studio-theme .account-ledger-summary strong { color: var(--ink); font-weight: 600; }

/* Market and history links in the tint. */
.yogi-ui.studio-theme .history-ipo-link { color: var(--brand); font-weight: 600; }
.yogi-ui.studio-theme .market-ipo-row .market-ipo-meta b { color: var(--warn); }

/* ---------- Dialogs: one entrance, mirrored exit ---------- */
.yogi-ui.studio-theme dialog,
.yogi-ui.studio-theme dialog.edit-dialog {
  background: var(--panel); color: var(--text); border: 0; border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .06), 0 24px 70px rgba(0, 0, 0, .22);
  animation: none;
}
.yogi-ui.studio-theme dialog::backdrop { background: rgba(0, 0, 0, .28); -webkit-backdrop-filter: none; backdrop-filter: none; }
.yogi-ui.studio-theme dialog :is(h1, h2, h3) { color: var(--ink); font-family: var(--font-display); }
.yogi-ui.studio-theme :is(.dialog-title-row, .workflow-action-dialog-header, .account-ledger-workspace-title) h3 { font: 700 22px/1.2 var(--font-display); letter-spacing: -.012em; color: var(--ink); }
.yogi-ui.studio-theme :is(.workflow-action-dialog-header, .dialog-header, .voucher-dialog-header, .dialog-actions, .voucher-footer) { background: var(--panel); border-color: var(--separator); }
.yogi-ui.studio-theme dialog :is(.simple-form, .focus-box) { background: var(--panel-soft); border: 0; }
.yogi-ui.studio-theme .account-ledger-workspace-dialog { border-radius: 0; box-shadow: none; }
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog:not(.account-ledger-workspace-dialog) {
    opacity: 0; transform: translateY(10px) scale(.97);
    transition: opacity 200ms ease, transform 280ms var(--ease-sheet), overlay 280ms allow-discrete, display 280ms allow-discrete;
  }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog:not(.account-ledger-workspace-dialog)[open] { opacity: 1; transform: none; }
  @starting-style {
    .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog:not(.account-ledger-workspace-dialog)[open] { opacity: 0; transform: translateY(10px) scale(.97); }
  }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog::backdrop { opacity: 0; transition: opacity 200ms ease, overlay 280ms allow-discrete, display 280ms allow-discrete; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog[open]::backdrop { opacity: 1; }
  @starting-style {
    .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog[open]::backdrop { opacity: 0; }
  }
}

/* ---------- Menus: material, anchored to their trigger ---------- */
.yogi-ui.studio-theme :is(.studio-popover, .profile-menu-panel, .cool-select-panel, .cool-select-menu, .cool-select-popover) {
  background: var(--material); color: var(--text);
  -webkit-backdrop-filter: blur(30px) saturate(180%); backdrop-filter: blur(30px) saturate(180%);
  border: 0; border-radius: 12px; box-shadow: var(--shadow-raised);
}
.yogi-ui.studio-theme .studio-popover { transform-origin: top right; }
.yogi-ui.studio-theme .profile-menu-panel { transform-origin: bottom left; }
.yogi-ui.studio-theme .studio-popover > button,
.yogi-ui.studio-theme .profile-menu-panel > button { border-radius: 8px; color: var(--text); background: transparent; border: 0; }
.yogi-ui.studio-theme :is(.studio-popover > button:hover, .profile-menu-panel > button:hover) { background: var(--brand); color: #fff; }
.yogi-ui.studio-theme :is(.cool-select-option:hover, .cool-select-option.is-active, .cool-select-option[aria-selected=true]) { background: var(--brand); color: #fff; }
.yogi-ui.studio-theme .studio-popover :is(strong, .studio-kicker) { color: var(--muted); }
@keyframes yogi-menu-in { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) details[open] > .studio-popover,
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .profile-menu-panel:not([hidden]) { animation: yogi-menu-in 160ms var(--ease-out); }
}

/* ---------- Feedback ---------- */
.yogi-ui.studio-theme .app-toast {
  background: rgba(29, 29, 31, .86); color: #fff; border: 0; border-radius: 12px;
  -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2); font-size: 13px;
}
.yogi-ui.studio-theme .app-toast.error { background: rgba(176, 0, 18, .92); }
.yogi-ui.studio-theme .demo-workspace-ribbon { border: 0; border-radius: 12px; background: #fff4d6; color: #6b4a00; }

/* ---------- Motion: purposeful only ---------- */
.yogi-ui.studio-theme :is(.studio-note-top, .studio-note-bottom, .plan-cta-ring, .studio-hello-dot) { animation: none !important; }
.yogi-ui.studio-theme [class*="plan-cta"] { animation: none !important; }
.yogi-ui.studio-theme .subscription-ticker-track { animation: none !important; }
.yogi-ui.studio-theme .subscription-ticker-window { overflow-x: auto; scrollbar-width: thin; }
.yogi-ui.studio-theme .erp-shell :is(table, .summary-market-card, .command-center-item, .setup-command-card) { transform: none; }
@keyframes yogi-fade-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .tab-section.active { animation: yogi-fade-in 180ms ease-out; }
}
@media (hover: hover) and (pointer: fine) {
  .yogi-ui.studio-theme .erp-shell :is(#summaryCards .summary-market-card, .command-center-item, .setup-command-card):hover { transform: none; }
}

/* ---------- Sign-in ---------- */

/* ---------- Accessibility: transparency and contrast preferences ---------- */
@media (prefers-reduced-transparency: reduce) {
  .yogi-ui.studio-theme :is(.top-nav-tabs, .studio-topbar, .studio-popover, .profile-menu-panel, .cool-select-panel, .cool-select-menu, .cool-select-popover, .app-toast, .mobile-create-menu nav, .mobile-quick-actions),
  .yogi-ui.studio-theme .erp-shell :is(.top-nav-tabs, .studio-topbar) {
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
  }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs { background: #ececf0; }
  .yogi-ui.studio-theme .erp-shell .studio-topbar { background: var(--bg); }
  .yogi-ui.studio-theme :is(.studio-popover, .profile-menu-panel, .cool-select-panel, .cool-select-menu, .cool-select-popover) { background: #fff; }
  .yogi-ui.studio-theme .app-toast { background: #1d1d1f; }
  .yogi-ui.studio-theme dialog::backdrop { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(0, 0, 0, .4); }
}
@media (prefers-contrast: more) {
  .yogi-ui.studio-theme { --muted: #3a3a3c; --ui-muted: #3a3a3c; --tertiary: #3a3a3c; --line: #8e8e93; --line-strong: #6e6e73; --separator: rgba(0, 0, 0, .45); --fill: rgba(118, 118, 128, .24); }
  .yogi-ui.studio-theme .erp-shell :is(.panel, .table-wrap, .summary-market-card, .command-center-item, .workflow-step, .data-health-item, .setup-command-card),
  .yogi-ui.studio-theme :is(dialog, .studio-popover, .profile-menu-panel, .secondary-btn) { box-shadow: none; border: 1px solid #6e6e73; }
  .yogi-ui.studio-theme .erp-shell :is(.top-nav-tabs, .studio-topbar) { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
}

/* ---------- Narrow windows and phones ---------- */
@media (max-width: 840px) {
  .yogi-ui.studio-theme .erp-shell { padding: 0 16px 88px; }
  .yogi-ui.studio-theme .erp-shell .studio-topbar { margin: 0 -16px 8px; padding: 10px 16px; }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs {
    position: static; inset: auto; width: 100%; padding: 6px; margin: 0 0 12px;
    border: 0; border-radius: 12px; background: var(--panel); box-shadow: var(--shadow);
    -webkit-backdrop-filter: none; backdrop-filter: none;
  }
  .yogi-ui.studio-theme .erp-shell .nav-tab { min-height: 40px; font-size: 13px; }
  .yogi-ui.studio-theme .studio-mobile-menu { background: var(--fill); border: 0; color: var(--text); }
}
@media (max-width: 720px) {
  .yogi-ui.studio-theme .erp-shell :is(.primary-btn, .secondary-btn, .danger-btn), .yogi-ui.studio-theme dialog :is(.primary-btn, .secondary-btn, .danger-btn) { min-height: 44px; }
  .yogi-ui.studio-theme .mobile-create-menu > summary { border: 0; border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, .2); color: #fff; }
}
@media (max-width: 620px) {
  .yogi-ui.studio-theme .erp-shell #dashboardMarketRail.simple-hero { padding: 20px 18px 14px; }
  .yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-market-copy h1 { font-size: 28px; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(n) h3 { font-size: 22px; }
  .yogi-ui.studio-theme .studio-page-heading strong,
  .yogi-ui.studio-theme .erp-shell .studio-page-heading strong { font-size: 22px; }
}

/* ---------- Normalisation of legacy tints ----------
   Older layers paint cream, mint and pale-blue fills with very specific selectors. This block
   resets them to the system surfaces. !important is confined to colour properties here, and only
   because those legacy rules out-rank any reasonable theme selector. Semantic warnings keep a
   warning tint. */
.yogi-ui.studio-theme :is(.erp-shell, dialog) :is(
  .return-todo-row, .reconciliation-account, .exposure-account, .checklist-pass, .closing-applicant-card,
  .capacity-balance-card, .register-filter-toolbar, .account-ledger-report-bar, .compact-workspace-content,
  .setup-subsection, .application-funding-allocation, .application-funding-source-row, .hint-box,
  .application-form-more, .funding-form-tools, .narada-import-bar,
  .compact-workspace-section, .application-funding-allocation-summary, .checklist-history, .backup-health-meta span) {
  background: var(--panel-soft) !important; background-image: none !important;
  border-color: transparent !important; box-shadow: none !important;
}
.yogi-ui.studio-theme :is(.erp-shell, dialog) .application-funding-source-row { background: var(--panel) !important; }
.yogi-ui.studio-theme :is(.erp-shell, dialog) .capacity-blocks-summary-trigger { background: #fff6eb !important; }
.yogi-ui.studio-theme :is(.erp-shell, dialog) .prerequisite-notice { background: rgba(164, 82, 0, .08) !important; border-color: transparent !important; color: #5c3300; border-radius: 12px; }
.yogi-ui.studio-theme :is(.erp-shell, dialog) :is(thead, thead tr, thead th) { background: transparent !important; background-image: none !important; }
.yogi-ui.studio-theme :is(.erp-shell, dialog) tbody :is(tr, td) { background-color: transparent; }
.yogi-ui.studio-theme .erp-shell tbody tr:is(.account-ledger-movement-row, :not([class])) { background: transparent !important; }
.yogi-ui.studio-theme .erp-shell tbody tr:hover > td { background: #f7f7f9 !important; }
.yogi-ui.studio-theme :is(.erp-shell, dialog) input:not([type=checkbox]):not([type=radio]):not([type=range]) { background-color: #fff !important; }
.yogi-ui.studio-theme :is(.erp-shell, dialog) :is(input[readonly], input:disabled, select:disabled, textarea:disabled) { background-color: var(--panel-soft) !important; }
.yogi-ui.studio-theme :is(input[type=checkbox], input[type=radio]) { background: none !important; accent-color: var(--brand); width: 16px; height: 16px; }
.yogi-ui.studio-theme :is(.cool-select-chevron, .cool-select-arrow) { background: var(--fill) !important; color: var(--muted); border: 0; }
.yogi-ui.studio-theme kbd { background: var(--fill) !important; border-color: transparent !important; color: var(--muted); border-radius: 8px; font-family: var(--font-ui); }
.yogi-ui.studio-theme .setup-command-icon { background: var(--brand-soft) !important; border-color: transparent !important; color: var(--brand-strong); font-family: var(--font-ui); border-radius: 50%; }
.yogi-ui.studio-theme .erp-shell :is(.overview-more-tools, .overview-more-tools > summary, .compact-workspace-section > summary) { background: var(--panel) !important; border-color: transparent !important; box-shadow: var(--shadow); border-radius: 12px; }
.yogi-ui.studio-theme .erp-shell .overview-more-tools > summary { box-shadow: none; }
.yogi-ui.studio-theme .erp-shell .application-recording-status { background: var(--fill) !important; color: var(--text) !important; border: 0; border-radius: 8px; }
.yogi-ui.studio-theme .erp-shell :is(.plan-refund-btn, .edit-application-btn, .account-ledger-detail-btn) { background: var(--fill) !important; border-color: transparent !important; color: var(--text) !important; box-shadow: none !important; }
.yogi-ui.studio-theme .erp-shell .account-ledger-detail-header strong { background: var(--brand-soft) !important; border-color: transparent !important; color: var(--brand-strong); }
.yogi-ui.studio-theme .erp-shell .account-ledger-account-list { border-color: var(--line) !important; border-radius: 12px; }
.yogi-ui.studio-theme .market-logo-image { border-color: var(--line) !important; }
.yogi-ui.studio-theme .checklist-meter { background: var(--brand) !important; color: #fff; }
.yogi-ui.studio-theme progress { accent-color: var(--brand); background: var(--fill) !important; }
.yogi-ui.studio-theme .checklist-inline-control { background: var(--panel) !important; border-color: var(--line) !important; }

/* Segmented control (ledger grouping): native look. */
.yogi-ui.studio-theme .erp-shell .account-ledger-view-switch { background: var(--fill) !important; border-color: transparent !important; border-radius: 8px; padding: 2px; }
.yogi-ui.studio-theme .erp-shell .account-ledger-view-switch button { background: transparent !important; border-color: transparent !important; color: var(--text) !important; border-radius: 8px; box-shadow: none !important; }
.yogi-ui.studio-theme .erp-shell .account-ledger-view-switch button:is(.active, [aria-pressed=true], .is-active) { background: #fff !important; box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 0 0 .5px rgba(0, 0, 0, .04) !important; }

/* Panel headings align with their labels; legacy layers indented them. */
.yogi-ui.studio-theme .erp-shell .panel-header :is(h2, h3) { margin-left: 0; padding-left: 0; text-indent: 0; }
.yogi-ui.studio-theme .erp-shell :is(.workflow-step-copy small, .command-center-item > small) { font-weight: 400; }
.yogi-ui.studio-theme .erp-shell .command-center-clear { background: var(--panel-soft) !important; border: 0 !important; border-radius: 12px; box-shadow: none !important; }
.yogi-ui.studio-theme .erp-shell .command-center-clear strong { color: var(--ink); }
.yogi-ui.studio-theme .erp-shell .single-capacity-tools > summary { list-style: none; display: flex; align-items: center; gap: 8px; }
.yogi-ui.studio-theme .erp-shell .single-capacity-tools > summary::-webkit-details-marker { display: none; }
.yogi-ui.studio-theme .erp-shell .single-capacity-tools > summary::before { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .6; transition: transform 160ms ease; }
.yogi-ui.studio-theme .erp-shell .single-capacity-tools[open] > summary::before { transform: rotate(45deg); }

/* Touch input: full 44 pt targets wherever the pointer is a finger, at any width. */
@media (pointer: coarse) {
  .yogi-ui.studio-theme :is(.primary-btn, .secondary-btn, .danger-btn, .nav-tab, .studio-search, .studio-create > summary, .studio-preferences > summary),
  .yogi-ui.studio-theme :is(input:not([type=checkbox]):not([type=radio]), select, .cool-select-trigger) { min-height: 44px; }
}

/* ---------- Setup: segmented tabs, quiet header ---------- */
.yogi-ui.studio-theme .setup-tabs { display: inline-flex; gap: 0; margin: 4px 18px 14px; padding: 2px; background: var(--fill); border-radius: 8px; }
.yogi-ui.studio-theme .setup-tabs button { min-height: 30px; padding: 5px 18px; border: 0; border-radius: 8px; background: transparent; color: var(--text); font-size: 13px; font-weight: 500; box-shadow: none; }
.yogi-ui.studio-theme .setup-tabs button[aria-pressed="true"] { background: #fff; color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 0 0 .5px rgba(0, 0, 0, .04); }
.yogi-ui.studio-theme .erp-shell [data-tab-panel="setup"] .setup-page-header { min-height: 0; padding: 4px 18px 0 !important; background: transparent !important; }
.yogi-ui.studio-theme .erp-shell [data-tab-panel="setup"] .setup-page-header p { margin: 0; }
.yogi-ui.studio-theme .setup-page .setup-menu-group > summary { background: transparent !important; }
.yogi-ui.studio-theme .setup-page .setup-menu-group > summary::before { display: none; }
.yogi-ui.studio-theme .setup-page .setup-menu-group > summary :is(span, strong) { color: var(--ink); }
.yogi-ui.studio-theme .setup-command-card :is(small, span:not(.setup-command-icon)) { font-weight: 400; color: var(--muted); }
.yogi-ui.studio-theme .setup-command-card strong { font-weight: 600; }
.yogi-ui.studio-theme .setup-page :is(.setup-subsection > summary strong, .setup-subsection > summary span:first-child) { color: var(--ink); }

/* ---------- Field labels: sentence case, secondary, never tinted ---------- */
.yogi-ui.studio-theme .erp-shell :is(.account-ledger-period-controls, .simple-form, .filter-bar, .register-filter-toolbar, .history-filters) label:not(:has(> input[type=checkbox])) {
  color: var(--muted); font-size: 12px; font-weight: 500; letter-spacing: normal; text-transform: none;
}
.yogi-ui.studio-theme .erp-shell .account-ledger-report-actions button { background: var(--fill) !important; color: var(--text) !important; border: 0 !important; border-radius: 8px; font-weight: 500; }

/* ---------- Sign-in label centred with the card ---------- */

/* Phones: KPI figures get a full row so large rupee amounts never truncate. */
@media (max-width: 480px) {
  .yogi-ui.studio-theme .erp-shell #summaryCards { grid-template-columns: 1fr !important; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(n) { grid-column: auto; grid-row: auto; min-height: 0; }
}
/* A reference without a linked IPO is plain information, not a disabled control. */
.yogi-ui.studio-theme .history-ipo-link:disabled { opacity: 1; color: var(--muted); font-weight: 500; cursor: default; }

/* Register on phones: category tiles stack, and the IPO picker stays inside the card. */
@media (max-width: 480px) {
  .yogi-ui.studio-theme .application-register-panel .application-category-summary { grid-template-columns: 1fr !important; }
}
@media (max-width: 620px) {
  .yogi-ui.studio-theme .erp-shell .application-register-panel.is-ipo-picker .applications-table thead { display: none; }
  .yogi-ui.studio-theme .erp-shell .application-register-panel.is-ipo-picker :is(.applications-table, .applications-table tbody, .applications-table tr, .applications-table td) { display: block; width: 100%; max-width: 100%; box-sizing: border-box; }
  .yogi-ui.studio-theme .erp-shell .application-register-picker { max-width: 100%; box-sizing: border-box; margin: 0; }
}
.yogi-ui.studio-theme .erp-shell .application-register-picker :is(h3, strong) { color: var(--ink) !important; }
.yogi-ui.studio-theme .erp-shell .application-register-picker :is(p, small, span) { color: var(--muted) !important; }
.yogi-ui.studio-theme .erp-shell .application-ipo-summary-card b,
.yogi-ui.studio-theme .erp-shell .application-ipo-summary-card em { color: var(--brand) !important; }
.yogi-ui.studio-theme .setup-tabs { width: fit-content; }

/* The register picker sits in a nowrap table cell; let its copy wrap inside the card. */
.yogi-ui.studio-theme .erp-shell .application-register-picker,
.yogi-ui.studio-theme .erp-shell .application-register-picker * { white-space: normal; min-width: 0; overflow-wrap: anywhere; }
/* Category markers keep their own colours (the border shorthand above resets them). */
.yogi-ui.studio-theme .application-register-panel .application-category-summary .is-retail { border-left-color: #7fae8a; }
.yogi-ui.studio-theme .application-register-panel .application-category-summary .is-shni { border-left-color: #5f8f8a; }
.yogi-ui.studio-theme .application-register-panel .application-category-summary .is-bhni { border-left-color: #3f5f55; }
.yogi-ui.studio-theme .application-register-panel .application-category-summary :is(.is-retail, .is-shni, .is-bhni) { box-shadow: none !important; }

/* ---------- Components added after 18 Oct ---------- */
/* Daily command bar: grouped fill, one primary action. */
.yogi-ui.studio-theme .daily-command-bar { background: var(--panel-soft) !important; border: 0 !important; box-shadow: none !important; border-radius: 12px; }
.yogi-ui.studio-theme .daily-funds-total { color: var(--ink); font-weight: 600; }
/* Capacity cards: sentence-case labels, figure first, quiet caption. */
.yogi-ui.studio-theme .erp-shell .capacity-balance-card span { color: var(--muted) !important; font-size: 12px; font-weight: 500; letter-spacing: normal; text-transform: none; }
.yogi-ui.studio-theme .erp-shell .capacity-balance-card strong { color: var(--ink) !important; font: 600 22px/1.15 var(--font-display); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .erp-shell .capacity-balance-card small { color: var(--brand) !important; font-size: 12px; font-weight: 500; }
/* Progress: tint on a neutral track, not the browser's default green. */
.yogi-ui.studio-theme progress { -webkit-appearance: none; appearance: none; height: 6px; border: 0; border-radius: 3px; background: var(--fill); overflow: hidden; }
.yogi-ui.studio-theme progress::-webkit-progress-bar { background: var(--fill); border-radius: 3px; }
.yogi-ui.studio-theme progress::-webkit-progress-value { background: var(--brand); border-radius: 3px; }
.yogi-ui.studio-theme progress::-moz-progress-bar { background: var(--brand); border-radius: 3px; }
/* Review sheets, backup protection and money-state summaries use the system surfaces. */
.yogi-ui.studio-theme :is(.transaction-state-review, .backup-protection-actions) { background: var(--panel-soft) !important; border: 0 !important; box-shadow: none !important; }
.yogi-ui.studio-theme .transaction-state-review article { border-color: var(--separator) !important; }
.yogi-ui.studio-theme .transaction-review-sheet .workflow-action-dialog-header { background: var(--panel) !important; border-color: var(--separator) !important; }
.yogi-ui.studio-theme .backup-restore-section { border-color: var(--separator) !important; }
/* A sheet docked on the right enters and leaves from the right. */
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog.transaction-review-sheet { transform: translateX(28px); }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog.transaction-review-sheet[open] { transform: none; }
  @starting-style { .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog.transaction-review-sheet[open] { transform: translateX(28px); } }
}

/* ===================== Bento dashboard ===================== */
/* The overview becomes one 12-column bento grid; the four KPI cards join it directly. */
@media (min-width: 621px) {
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"].active {
    display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: row dense;
    gap: 14px; align-items: stretch;
  }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > * { grid-column: 1 / -1; margin: 0 !important; min-width: 0; }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > [hidden] { display: none !important; }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > #summaryCards { display: contents; }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(1) { grid-column: span 6; grid-row: span 2; }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(2),
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(3) { grid-column: span 3; }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(4) { grid-column: span 6; }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > .command-center-panel { grid-column: span 7; }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > .data-health-panel { grid-column: span 5; }
  .yogi-ui.studio-theme .erp-shell .data-health-panel .data-health-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (min-width: 621px) and (max-width: 1100px) {
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"].active { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(1) { grid-column: span 6; grid-row: auto; }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > :is(.command-center-panel, .data-health-panel) { grid-column: span 6; }
}

/* Tiles: soft depth, generous radius, a lit top edge. */
.yogi-ui.studio-theme .erp-shell :is(#summaryCards .summary-market-card, [data-tab-panel="overview"] > .panel, [data-tab-panel="overview"] > #dashboardMarketRail) {
  border-radius: 22px !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .04), 0 10px 30px rgba(20, 60, 40, .06), inset 0 1px 0 rgba(255, 255, 255, .9) !important;
}
/* Hero tile: the balance, large, with a 3D coin that floats above the card on tilt. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) {
  position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; min-height: 260px;
  background: radial-gradient(120% 90% at 100% 0%, rgba(29, 122, 82, .14), transparent 55%), var(--panel) !important;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) h3 { font-size: clamp(40px, 4.4vw, 60px) !important; letter-spacing: -.025em !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) p { font-size: 13px !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::after {
  content: ''; position: absolute; top: 26px; right: 30px; width: 112px; height: 112px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #f4ffe9 0 8%, #a8dcb8 22%, #2f8f63 58%, #155e3f 100%);
  box-shadow: inset -10px -12px 22px rgba(0, 0, 0, .25), inset 8px 8px 16px rgba(255, 255, 255, .45), -6px 8px 0 #0f4a31, -10px 14px 0 #0b3a26, 0 26px 40px rgba(16, 70, 45, .3);
  transform: translateZ(60px) rotate(-14deg); animation: none !important; opacity: 1 !important;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before {
  content: '₹'; position: absolute; top: 26px; right: 30px; width: 112px; height: 112px; display: grid; place-items: center; z-index: 1;
  font: 700 52px/1 var(--font-display); color: rgba(255, 255, 255, .9); text-shadow: 0 2px 6px rgba(0, 0, 0, .25);
  transform: translateZ(70px) rotate(-14deg); background: none !important; opacity: 1 !important;
}
/* Tile accents: warning tiles glow amber, money-back tiles glow teal. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3):not(.is-zero) { background: radial-gradient(100% 80% at 100% 0%, rgba(47, 143, 128, .13), transparent 60%), var(--panel) !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(2):not(.is-zero) { background: radial-gradient(100% 80% at 100% 0%, rgba(164, 82, 0, .10), transparent 60%), var(--panel) !important; }

/* Status tile: the 3D coin scene returns beside the headline (it already follows the pointer). */
@media (min-width: 1101px) {
  .yogi-ui.studio-theme .erp-shell #dashboardMarketRail.simple-hero { display: grid; grid-template-columns: minmax(0, 1fr) 300px; column-gap: 24px; }
  .yogi-ui.studio-theme .erp-shell #dashboardMarketRail > :not(.hero-market-copy):not(.studio-sculpture) { grid-column: 1 / -1; }
  .yogi-ui.studio-theme #dashboardMarketRail .studio-sculpture { display: block; min-height: 220px; grid-row: 1; grid-column: 2; }
  .yogi-ui.studio-theme #dashboardMarketRail :is(.studio-floating-note, .studio-sculpture-caption) { display: none; }
}

/* 3D tilt (driven by yogi-ui.js): perspective, depth layers and a light sheen under the pointer. */
.yogi-ui.studio-theme .yogi-tilt {
  transform-style: preserve-3d;
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateZ(0);
  transition: transform 600ms cubic-bezier(.22, 1, .36, 1), box-shadow 300ms ease;
  will-change: transform;
}
.yogi-ui.studio-theme .yogi-tilt.is-tilting {
  transition: transform 90ms linear, box-shadow 300ms ease;
  background-image: radial-gradient(260px circle at var(--mx, 50%) var(--my, 50%), rgba(255, 255, 255, .55), transparent 60%) !important;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05), 0 22px 50px rgba(20, 60, 40, .16) !important;
}
.yogi-ui.studio-theme .yogi-tilt > :is(p, h3, strong, span, small, b) { transform: translateZ(24px); }
.yogi-ui.studio-theme .yogi-tilt:active { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(.975) !important; }
@media (prefers-reduced-motion: reduce) {
  .yogi-ui.studio-theme .yogi-tilt { transform: none !important; transition: none !important; }
}
@media (prefers-reduced-transparency: reduce) {
  .yogi-ui.studio-theme .yogi-tilt.is-tilting { background-image: none !important; }
}
/* Hero tile fix-ups: older layers give these pseudo-elements inset:0 and an 18px ring. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) { display: flex !important; flex-direction: column !important; justify-content: flex-end !important; align-items: stretch; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::after,
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { inset: 26px 30px auto auto !important; width: 112px !important; height: 112px !important; border: 0 !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:not(:nth-child(1))::before { display: none; }
@media (max-width: 620px) {
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) { min-height: 150px; padding-right: 84px !important; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::after,
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { inset: 16px 16px auto auto !important; width: 58px !important; height: 58px !important; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { font-size: 28px; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) h3 { font-size: 34px !important; }
}

/* =====================================================================
   IPOYOGI 2026 redesign: lime finance dashboard language.
   Light grey page, one rounded app canvas, top pill navigation, white
   cards with large radii, one signature lime card, pill controls,
   rounded DM Sans numerals. Presentation only.
   ===================================================================== */
.yogi-ui.studio-theme {
  --font-ui: 'Yogi Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --font-display: 'Yogi Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --page: #dfe1de;
  --bg: #f3f4f1;
  --panel: #ffffff;
  --panel-soft: #f4f5f2;
  --line: #e7e8e4;
  --line-strong: #d6d8d2;
  --text: #17201a;
  --ink: #111813;
  --muted: #6b7068;
  --ui-muted: #6b7068;
  --lime: #b7ec7d;
  --lime-strong: #9edd5c;
  --lime-soft: #e9f8d6;
  --forest: #1c4a2b;
  --forest-strong: #143720;
  --brand: #1c4a2b;
  --brand-strong: #143720;
  --brand-soft: #e9f8d6;
  --accent: #1c4a2b;
  --success: #1f9d4c;
  --danger: #e0393e;
  --warn: #d4631b;
  --fill: #f0f1ed;
  --fill-hover: #e6e8e2;
  --focus-ring: 0 0 0 4px rgba(158, 221, 92, .55);
  --radius-card: 28px;
  background: var(--page);
}
.yogi-ui.studio-theme :is(.studio-page-heading strong, h1, h2, h3) { font-family: var(--font-display); }

/* ---------- Canvas: one rounded app surface on a grey page ---------- */
.yogi-ui.studio-theme .erp-shell {
  margin: 22px auto; padding: 22px 32px 40px !important; max-width: 1560px;
  background: var(--bg); border-radius: 28px; box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 30px 80px rgba(20, 30, 20, .08);
}

/* ---------- Top pill navigation replaces the sidebar ---------- */
.yogi-ui.studio-theme .erp-shell .top-nav-tabs {
  position: relative !important; inset: auto !important; display: flex !important; flex-direction: row; flex-wrap: wrap; align-items: center;
  width: auto; height: auto; margin: 0 0 18px; padding: 0; gap: 6px; overflow: visible;
  background: transparent !important; border: 0 !important; border-radius: 0; box-shadow: none !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.yogi-ui.studio-theme .erp-shell .top-nav-tabs :is(.sidebar-label, .nav-spacer) { display: none !important; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-brand { order: -2; display: flex !important; margin: 0 18px 0 0; padding: 0; border: 0; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-brand small { display: none; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-mark { width: 42px; height: 42px; flex-basis: 42px; border-radius: 50%; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-brand strong { font: 600 22px/1 var(--font-display); letter-spacing: -.02em; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-tab {
  width: auto; min-height: 40px; padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 500;
  color: var(--muted); background: transparent;
}
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-tab .studio-icon { display: none; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-tab:hover { background: var(--fill); color: var(--ink); }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-tab.active { background: var(--lime) !important; color: var(--forest-strong) !important; font-weight: 600; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .profile-menu { order: 99; margin: 0 0 0 auto; width: auto; position: relative; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .profile-menu-btn { min-height: 44px; padding: 4px 14px 4px 4px; border-radius: 999px; background: var(--panel); box-shadow: 0 0 0 1px var(--line); }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .profile-menu-btn small { display: none; }
.yogi-ui.studio-theme .profile-menu-icon { width: 36px; height: 36px; background: var(--lime) !important; color: var(--forest-strong) !important; font-weight: 700; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .profile-menu-panel { top: calc(100% + 8px); bottom: auto; right: 0; left: auto; transform-origin: top right; min-width: 240px; }

/* Page header: a large greeting-sized title; tools sit right. Not sticky: the canvas scrolls as one sheet. */
.yogi-ui.studio-theme .erp-shell .studio-topbar { position: static; margin: 0 0 10px; padding: 0; min-height: 64px; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border: 0; }
.yogi-ui.studio-theme .studio-page-heading strong,
.yogi-ui.studio-theme .erp-shell .studio-page-heading strong { font: 500 34px/1.1 var(--font-display) !important; letter-spacing: -.025em !important; }
.yogi-ui.studio-theme .studio-search { min-height: 44px; padding: 8px 16px; border-radius: 999px; background: var(--panel); box-shadow: 0 0 0 1px var(--line); }
.yogi-ui.studio-theme :is(.studio-preferences > summary) { width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; background: var(--panel) !important; box-shadow: 0 0 0 1px var(--line); }
.yogi-ui.studio-theme .studio-create > summary { min-height: 44px; padding: 10px 20px; border-radius: 999px; }

/* ---------- Pills: buttons, segmented controls, chips ---------- */
.yogi-ui.studio-theme :is(.primary-btn, .secondary-btn, .danger-btn, .delete-btn, .studio-link-btn, .nav-tab, .studio-create > summary) { border-radius: 999px !important; }
.yogi-ui.studio-theme .erp-shell :is(.primary-btn, .secondary-btn, .danger-btn), .yogi-ui.studio-theme dialog :is(.primary-btn, .secondary-btn, .danger-btn) { min-height: 42px; padding: 9px 20px; font-size: 14px; }
.yogi-ui.studio-theme :is(.primary-btn, .studio-create > summary, .mobile-create-menu > summary) { background: var(--forest) !important; color: #fff !important; box-shadow: none; }
.yogi-ui.studio-theme :is(.primary-btn, .studio-create > summary):hover { background: var(--forest-strong) !important; filter: none; }
.yogi-ui.studio-theme :is(.secondary-btn, .studio-mobile-menu) { background: transparent !important; color: var(--ink) !important; box-shadow: inset 0 0 0 1.5px var(--line-strong) !important; }
.yogi-ui.studio-theme :is(.secondary-btn, .studio-mobile-menu):hover { background: var(--fill) !important; }
.yogi-ui.studio-theme :is(.setup-tabs, .account-ledger-view-switch, .auth-method-picker) { border-radius: 999px !important; padding: 4px !important; background: var(--fill) !important; }
.yogi-ui.studio-theme :is(.setup-tabs button, .account-ledger-view-switch button, .auth-method-picker button) { border-radius: 999px !important; min-height: 34px; padding: 6px 16px; }
.yogi-ui.studio-theme .erp-shell :is(.status-pill, .badge, .application-category-label) { border-radius: 999px; padding: 4px 10px; }
.yogi-ui.studio-theme :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]), select, textarea, .cool-select-trigger) { min-height: 44px; border-radius: 12px; border-color: var(--line-strong); }

/* ---------- Cards ---------- */
.yogi-ui.studio-theme .erp-shell .panel,
.yogi-ui.studio-theme .erp-shell :is(#summaryCards .summary-market-card, [data-tab-panel="overview"] > .panel, [data-tab-panel="overview"] > #dashboardMarketRail) {
  border-radius: var(--radius-card) !important; box-shadow: none !important; background-color: var(--panel);
}
.yogi-ui.studio-theme .erp-shell :is(.command-center-item, .workflow-step, .data-health-item, .setup-command-card, .planning-paths article, .closing-applicant-card, .capacity-balance-card, .return-todo-row) { border-radius: 22px !important; }
.yogi-ui.studio-theme .erp-shell .panel-header h2,
.yogi-ui.studio-theme .erp-shell .panel > h2,
.yogi-ui.studio-theme .erp-shell section > header h2 { font: 500 22px/1.2 var(--font-display) !important; letter-spacing: -.015em !important; }
.yogi-ui.studio-theme :is(.command-center-item > strong, .data-health-item strong, .workflow-step-copy b) { font-family: var(--font-display); font-weight: 400; font-size: 34px; letter-spacing: -.03em; }

/* ---------- Dashboard: reference bento ---------- */
@media (min-width: 1101px) {
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(1) { grid-column: span 7; grid-row: span 2; }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(3) { grid-column: span 5; }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(2) { grid-column: span 3; }
  .yogi-ui.studio-theme .erp-shell #summaryCards > .summary-market-card:nth-child(4) { grid-column: span 2; }
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="overview"] > :is(.command-center-panel, .data-health-panel, .return-todo-panel) { grid-column: span 4; }
  .yogi-ui.studio-theme .erp-shell .command-center-panel .command-center-grid { grid-template-columns: 1fr !important; }
}
/* Hero balance: big light numerals, lime arrow button in the corner. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) {
  min-height: 300px; padding: 30px 32px !important; background: var(--panel) !important;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) p { font-size: 14px !important; color: var(--muted) !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) h3 { font: 400 clamp(54px, 5.4vw, 84px)/1 var(--font-display) !important; letter-spacing: -.04em !important; color: var(--ink) !important; margin: 6px 0 22px !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) .summary-card-action {
  align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; padding: 11px 20px; border-radius: 999px;
  background: var(--forest); color: #fff !important; font-size: 14px !important; font-weight: 500;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) .summary-card-action b { display: none; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::after {
  inset: auto 32px 30px auto !important; width: 96px !important; height: 96px !important; border-radius: 50%;
  background: var(--lime) !important; box-shadow: 0 14px 30px rgba(158, 221, 92, .45) !important; transform: translateZ(50px);
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before {
  content: '↗' !important; inset: auto 32px 30px auto !important; width: 96px !important; height: 96px !important;
  font: 300 44px/1 var(--font-display) !important; color: var(--forest-strong) !important; text-shadow: none !important; transform: translateZ(60px);
}
/* Signature lime card: Ready-to-return, with a dark badge-style caption and a soft star. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3),
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3):not(.is-zero) {
  position: relative; overflow: hidden; background: var(--lime) !important; color: var(--forest-strong) !important;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3) p {
  display: inline-flex; align-self: flex-start; width: max-content; padding: 7px 14px; border-radius: 999px;
  background: var(--forest) !important; color: var(--lime) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important;
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3) h3 { color: var(--forest-strong) !important; font: 400 44px/1.05 var(--font-display) !important; letter-spacing: -.035em !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3) .summary-card-action { color: var(--forest) !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3)::before {
  content: '' !important; display: block !important; position: absolute; inset: -30px -20px auto auto !important; width: 190px !important; height: 190px !important;
  background: rgba(255, 255, 255, .28) !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
  clip-path: polygon(50% 0, 61% 39%, 100% 50%, 61% 61%, 50% 100%, 39% 61%, 0 50%, 39% 39%);
}
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:not(:nth-child(1)) h3 { font-family: var(--font-display) !important; font-weight: 400 !important; letter-spacing: -.035em !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:is(:nth-child(2), :nth-child(4)) h3 { font-size: 34px !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:is(:nth-child(2), :nth-child(4)) { background: var(--panel) !important; }

/* Money direction in lists. */
.yogi-ui.studio-theme .erp-shell .return-todo-row { display: flex; align-items: center; gap: 14px; padding: 14px 16px !important; background: var(--panel) !important; box-shadow: inset 0 -1px 0 var(--line) !important; border-radius: 0 !important; }
.yogi-ui.studio-theme .erp-shell .return-todo-row:last-child { box-shadow: none !important; }

/* Status tile (day at a glance): lime-soft wash, forest headline accent. */
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail.simple-hero { background: var(--panel) !important; }
.yogi-ui.studio-theme #dashboardMarketRail h1 em { color: var(--forest) !important; background: var(--lime); border-radius: 999px; padding: 0 .28em; }
.yogi-ui.studio-theme .erp-shell #dashboardMarketRail .hero-market-copy h1 { font-weight: 500 !important; letter-spacing: -.03em !important; }

/* Phones and narrow windows: canvas goes edge to edge; nav scrolls sideways as one pill row. */
@media (max-width: 840px) {
  .yogi-ui.studio-theme .erp-shell { margin: 0; border-radius: 0; padding: 14px 16px 88px !important; }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-tab { flex: 0 0 auto; white-space: nowrap; }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-brand strong { font-size: 18px; }
  .yogi-ui.studio-theme .studio-page-heading strong, .yogi-ui.studio-theme .erp-shell .studio-page-heading strong { font-size: 28px !important; }
}
@media (max-width: 620px) {
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) { min-height: 0; padding: 22px !important; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) h3 { font-size: 44px !important; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::after,
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { inset: auto 20px 20px auto !important; width: 58px !important; height: 58px !important; }
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { font-size: 28px !important; }
}
@media (max-width: 840px) { .yogi-ui.studio-theme .studio-mobile-menu { display: none !important; } }

/* "More" pill and its menu. */
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more { position: relative; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more > summary { list-style: none; cursor: pointer; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more > summary::-webkit-details-marker { display: none; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more > summary::after { content: ''; display: inline-block; width: 6px; height: 6px; margin-left: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more:has(.nav-tab.active) > summary { background: var(--lime); color: var(--forest-strong); font-weight: 600; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more-menu {
  position: absolute; top: calc(100% + 8px); left: 0; z-index: 90; display: grid; gap: 2px; min-width: 220px; padding: 6px;
  background: var(--panel); border-radius: 16px; box-shadow: 0 0 0 1px var(--line), 0 18px 40px rgba(20, 30, 20, .14); transform-origin: top left;
}
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-more-menu .nav-tab { justify-content: flex-start; width: 100%; border-radius: 12px !important; }
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .nav-more[open] > .nav-more-menu { animation: yogi-menu-in 160ms var(--ease-out); }
}
@media (max-width: 840px) {
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs { flex-wrap: nowrap; overflow-x: auto; overflow-y: visible; }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs > :is(.sidebar-brand, .profile-menu) { flex: 0 0 auto; }
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-brand strong { display: none; }
}

/* Pending funding and due-today tiles stay plain white (an older rule tinted them). */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:is(:nth-child(2), :nth-child(4)):is(.is-zero, :not(.is-zero)) { background: var(--panel) !important; }
/* Card headers: title and action share a row without the action wrapping onto two lines. */
.yogi-ui.studio-theme .erp-shell .panel-header { display: flex; flex-direction: row !important; flex-wrap: wrap; align-items: flex-start; gap: 10px 16px; }
.yogi-ui.studio-theme .erp-shell .panel-header > :first-child { flex: 1 1 220px; min-width: 0; }
.yogi-ui.studio-theme .erp-shell .panel-header > :is(button, a, .secondary-btn) { white-space: nowrap; }
/* Contrast: secondary grey and the negative-money red, one step darker so both clear 4.5:1 on white and on fills. */
.yogi-ui.studio-theme { --muted: #5a6057; --ui-muted: #5a6057; --tertiary: #6a7066; --danger: #c4262c; }
.yogi-ui.studio-theme .checklist-pass-status { color: #3f4c3f !important; }

/* ===================== Pass 6: richer dashboard and system polish ===================== */
/* 1. Funds donut on the hero tile (conic ring: forest = free, lime-soft = held in IPOs). */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) .funds-donut {
  position: absolute; top: 28px; right: 32px; width: 132px; height: 132px; border-radius: 50%; display: grid; place-content: center; text-align: center;
  background: radial-gradient(closest-side, var(--panel) 72%, transparent 73%), conic-gradient(var(--forest) calc(var(--share) * 1%), var(--lime-soft) 0);
  transform: translateZ(40px);
}
.yogi-ui.studio-theme .funds-donut span { font: 500 28px/1 var(--font-display); color: var(--ink); letter-spacing: -.02em; transform: none !important; }
.yogi-ui.studio-theme .funds-donut small { font-size: 12px; color: var(--muted); transform: none !important; }
.yogi-ui.studio-theme .funds-donut-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: -8px 0 18px; color: var(--muted) !important; font-size: 13px; }
.yogi-ui.studio-theme .funds-donut-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--forest); margin-right: -8px; }
.yogi-ui.studio-theme .funds-donut-legend i.is-held { background: var(--lime-strong); }
/* The lime arrow moves to the action row so it no longer competes with the donut. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::after,
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { inset: auto 32px 30px auto !important; width: 64px !important; height: 64px !important; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1)::before { font-size: 28px !important; }
@media (max-width: 620px) {
  .yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) .funds-donut { position: static; width: 96px; height: 96px; margin: 4px 0 14px; transform: none; }
  .yogi-ui.studio-theme .funds-donut span { font-size: 22px; }
}

/* Returns progress: returned vs still out. */
.yogi-ui.studio-theme .return-progress { display: grid; gap: 8px; margin: 0 0 14px; }
.yogi-ui.studio-theme .return-progress-bar { height: 10px; border-radius: 999px; background: var(--fill); overflow: hidden; }
.yogi-ui.studio-theme .return-progress-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--lime-strong), var(--forest)); }
.yogi-ui.studio-theme .return-progress small { color: var(--muted); font-size: 13px; }

/* 3. Outlined icon circles before card titles, as in the reference. */
.yogi-ui.studio-theme .erp-shell :is(.command-center-panel, .data-health-panel, .return-todo-panel) .panel-header h2 { display: flex; align-items: center; gap: 12px; }
.yogi-ui.studio-theme .erp-shell :is(.command-center-panel, .data-health-panel, .return-todo-panel) .panel-header h2::before {
  content: ''; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%;
  background: var(--panel) var(--yogi-icon) center / 20px no-repeat; box-shadow: inset 0 0 0 1.5px var(--line-strong);
}
.yogi-ui.studio-theme .erp-shell .command-center-panel .panel-header h2::before { --yogi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E"); }
.yogi-ui.studio-theme .erp-shell .data-health-panel .panel-header h2::before { --yogi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 5-3 8-7 10-4-2-7-5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.yogi-ui.studio-theme .erp-shell .return-todo-panel .panel-header h2::before { --yogi-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h13l-3-3M20 16H7l3 3'/%3E%3C/svg%3E"); }

/* 4. Transaction-style rows: round IPO avatars, readable names, green pending amount. */
.yogi-ui.studio-theme .ipo-avatar {
  flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; display: inline-grid; place-items: center; overflow: hidden;
  background: var(--panel); box-shadow: 0 0 0 1px var(--line); color: var(--forest); font-size: 13px; font-weight: 700; letter-spacing: .02em;
}
.yogi-ui.studio-theme .ipo-avatar img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.yogi-ui.studio-theme .return-todo-row > div { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.yogi-ui.studio-theme .return-todo-row strong { font-weight: 600; text-transform: none; }
.yogi-ui.studio-theme .return-todo-row .return-amount { color: var(--success); font-weight: 600; }
.yogi-ui.studio-theme .history-ipo-cell { display: inline-flex; align-items: center; gap: 10px; }
.yogi-ui.studio-theme .history-ipo-cell .ipo-avatar { flex-basis: 30px; width: 30px; height: 30px; font-size: 12px; }

/* 5. Calm zero states read as reassurance, not as a big zero. */
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card.is-calm h3 .summary-calm {
  display: inline-flex; align-items: center; gap: 8px; font: 500 28px/1.15 var(--font-display); letter-spacing: -.015em; color: var(--forest);
}
.yogi-ui.studio-theme .summary-calm::before { content: '✓'; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--lime); color: var(--forest-strong); font-size: 14px; }

/* 6. Bento tiles beyond the dashboard: capacity, ledger totals, register categories. */
.yogi-ui.studio-theme .erp-shell :is(.capacity-balance-card, .account-ledger-summary > div) { background: var(--panel) !important; border-radius: 22px !important; box-shadow: 0 0 0 1px var(--line) !important; padding: 16px 18px !important; }
.yogi-ui.studio-theme .erp-shell .capacity-balance-card strong,
.yogi-ui.studio-theme .erp-shell .account-ledger-summary strong { font: 400 28px/1.1 var(--font-display) !important; letter-spacing: -.03em !important; color: var(--ink) !important; }
.yogi-ui.studio-theme .erp-shell :is(.capacity-total-funds-card, .account-ledger-summary > div.is-closing) { background: var(--lime) !important; box-shadow: none !important; }
.yogi-ui.studio-theme .erp-shell :is(.capacity-total-funds-card, .account-ledger-summary > div.is-closing) :is(span, small, strong) { color: var(--forest-strong) !important; }
.yogi-ui.studio-theme .application-register-panel .application-category-summary :is(.is-retail, .is-shni, .is-bhni, .application-category-tile) { background: var(--panel) !important; border: 0 !important; border-radius: 22px !important; box-shadow: 0 0 0 1px var(--line) !important; }
.yogi-ui.studio-theme .application-register-panel .application-category-summary .application-category-tile strong { font: 400 28px/1 var(--font-display) !important; color: var(--ink) !important; }
.yogi-ui.studio-theme .application-register-panel .application-category-summary .application-category-tile.is-active { background: var(--lime) !important; outline: 0 !important; }

/* 7. Less chrome: tools as a pill beside search; Today chips replaced by the bell; demo as a nav pill. */
.yogi-ui.studio-theme #todayActionStrip { display: none !important; }
.yogi-ui.studio-theme .studio-topbar-actions { position: relative; flex-wrap: wrap; justify-content: flex-end; }
.yogi-ui.studio-theme .studio-topbar-actions > #workspaceTools { position: relative; margin: 0; border: 0; }
.yogi-ui.studio-theme .studio-topbar-actions > #workspaceTools > summary {
  min-height: 44px; padding: 8px 16px 8px 14px; border-radius: 999px; background: var(--panel); box-shadow: 0 0 0 1px var(--line); font-size: 14px; white-space: nowrap;
}
.yogi-ui.studio-theme .studio-topbar-actions > #workspaceTools[open] > :not(summary) {
  position: absolute; top: calc(100% + 10px); right: 0; z-index: 80; width: min(720px, calc(100vw - 48px));
  padding: 16px; background: var(--panel); border-radius: 22px; box-shadow: 0 0 0 1px var(--line), 0 24px 60px rgba(20, 30, 20, .16);
}
.yogi-ui.studio-theme .studio-topbar-actions > #workspaceTools[open] > .launch-utility-actions { top: auto; position: static; box-shadow: none; padding: 0; width: auto; }
.yogi-ui.studio-theme .yogi-bell {
  position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px 0 12px; border: 0; border-radius: 999px;
  background: var(--panel); box-shadow: 0 0 0 1px var(--line); color: var(--ink); font: 600 14px var(--font-ui); cursor: pointer;
}
.yogi-ui.studio-theme .yogi-bell svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.yogi-ui.studio-theme .yogi-bell.has-actions svg { color: var(--forest); }
.yogi-ui.studio-theme .yogi-bell.has-actions::after { content: ''; position: absolute; top: 10px; left: 24px; width: 8px; height: 8px; border-radius: 50%; background: var(--danger); box-shadow: 0 0 0 2px var(--panel); }
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon {
  order: 98; flex: 0 0 auto; margin: 0 8px 0 auto; padding: 8px 14px; border-radius: 999px; font-size: 12px; background: #fff1c2; color: #5e4300;
}
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon span { display: none; }
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon + .profile-menu,
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon ~ .profile-menu { margin-left: 0; }

/* 9. Micro-feedback: a quick check pop on success toasts; skeletons while figures load. */
.yogi-ui.studio-theme .app-toast.success { padding-left: 52px; position: fixed; }
.yogi-ui.studio-theme .app-toast.success::before {
  content: '✓'; position: absolute; left: 14px; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%;
  display: grid; place-items: center; background: var(--lime); color: var(--forest-strong); font-weight: 700;
}
@keyframes yogi-check-pop { 0% { transform: scale(.4); opacity: 0; } 70% { transform: scale(1.12); opacity: 1; } 100% { transform: scale(1); } }
@keyframes yogi-skeleton { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.yogi-ui.studio-theme .erp-shell #summaryCards:empty::before {
  content: ''; grid-column: 1 / -1; display: block; height: 260px; border-radius: var(--radius-card);
  background: linear-gradient(90deg, var(--panel) 0%, var(--fill) 50%, var(--panel) 100%) 0 0 / 200% 100%;
}
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .app-toast.success::before { animation: yogi-check-pop 360ms var(--ease-out); }
  /* Runs only while the dashboard is still empty, then disappears with the placeholder. */
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .erp-shell #summaryCards:empty::before { animation: yogi-skeleton 1.4s linear infinite; }
}

/* 10. Dark appearance (opt-in from the settings pill; never switches on by itself during a presentation). */
.yogi-ui.yogi-dark.studio-theme {
  --page: #0b0d0b; --bg: #141714; --panel: #1c201c; --panel-soft: #242924; --fill: #2a302a; --fill-hover: #333a33;
  --line: #2f352f; --line-strong: #3d453d; --separator: rgba(255, 255, 255, .1);
  --text: #e9ede7; --ink: #f4f7f2; --muted: #a3ab9f; --ui-muted: #a3ab9f; --tertiary: #8d958a;
  --lime: #b7ec7d; --lime-soft: #2b3a1e; --forest: #b7ec7d; --forest-strong: #10240f; --brand: #b7ec7d; --brand-strong: #d3f5ad; --brand-soft: #2b3a1e;
  --success: #6fdc8c; --danger: #ff7a7e; --warn: #f5a35b;
  color-scheme: dark;
}
.yogi-ui.yogi-dark.studio-theme :is(.primary-btn, .studio-create > summary, .mobile-create-menu > summary) { background: var(--lime) !important; color: #10240f !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(1) .summary-card-action { background: var(--lime); color: #10240f !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3) :is(h3, .summary-card-action) { color: #10240f !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell #summaryCards .summary-market-card:nth-child(3) p { background: #10240f !important; color: var(--lime) !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell :is(.panel, .table-wrap, dialog, .studio-popover, .profile-menu-panel, .nav-more-menu, .cool-select-panel, .cool-select-menu),
.yogi-ui.yogi-dark.studio-theme dialog { background-color: var(--panel) !important; color: var(--text); }
.yogi-ui.yogi-dark.studio-theme :is(input:not([type=checkbox]):not([type=radio]), select, textarea, .cool-select-trigger),
.yogi-ui.yogi-dark.studio-theme :is(.erp-shell, dialog) input:not([type=checkbox]):not([type=radio]):not([type=range]) { background-color: var(--panel-soft) !important; color: var(--text) !important; border-color: var(--line-strong) !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell :is(h1, h2, h3, h4, strong, td, th, label, p, span, small, b, dt, dd) { color: inherit; }
.yogi-ui.yogi-dark.studio-theme .erp-shell :is(h1, h2, h3, h4, strong) { color: var(--ink) !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell :is(p, small, td, th, label, .section-note, .panel-header p, .eyebrow) { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme .amount-negative { color: var(--danger) !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell :is(.command-center-item.urgent, .data-health-item.needs-review, .capacity-blocks-summary-trigger) { background: #3a2a17 !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell .top-nav-tabs .nav-tab.active,
.yogi-ui.yogi-dark.studio-theme .erp-shell .top-nav-tabs .nav-more:has(.nav-tab.active) > summary { color: #10240f !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell :is(.capacity-total-funds-card, .account-ledger-summary > div.is-closing) :is(span, small, strong) { color: #10240f !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell .panel-header h2::before { filter: invert(1); background-color: #e3e3e3; }
.yogi-ui.yogi-dark.studio-theme .demo-workspace-ribbon { background: #4a3a0c !important; color: #ffe8a3 !important; }
.yogi-ui.yogi-dark.studio-theme .app-toast { background: rgba(244, 247, 242, .94); color: #111813; }
/* Pass 6 fix-ups. */
.yogi-ui.studio-theme .erp-shell :is(.command-center-panel, .data-health-panel, .return-todo-panel) .panel-header h2::before { display: block !important; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs { gap: 2px; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .sidebar-brand { margin-right: 8px; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs .nav-tab { padding: 8px 10px; /* 10px keeps eight destinations on one row down to 1280px */ }
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon { padding: 7px 12px; font-size: 12px; letter-spacing: .04em; }
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon span { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.yogi-ui.studio-theme .erp-shell #summaryCards .summary-market-card.is-calm h3 .summary-calm { font-size: clamp(18px, 1.6vw, 24px); flex-wrap: wrap; white-space: normal; }
.yogi-ui.studio-theme .erp-shell :is(.command-center-panel, .data-health-panel, .return-todo-panel) .panel-header h2::before { position: static !important; inset: auto !important; margin: 0 !important; transform: none !important; }
/* Keyboard focus: an outline nothing else overrides (component box-shadows used to cancel the glow). */
.yogi-ui.studio-theme :is(a, button, summary, input, select, textarea, [tabindex], .nav-tab):focus-visible { outline: 3px solid #4f9d2a !important; outline-offset: 2px !important; }
.yogi-ui.yogi-dark.studio-theme :is(a, button, summary, input, select, textarea, [tabindex], .nav-tab):focus-visible { outline-color: var(--lime) !important; }
/* Keep the demo pill's screen-reader text inside the pill, so it cannot widen the page. */
.yogi-ui.studio-theme .top-nav-tabs .demo-workspace-ribbon { position: relative; overflow: hidden; }
.yogi-ui.yogi-dark.studio-theme #dashboardMarketRail h1 em { color: #10240f !important; }
.yogi-ui.yogi-dark.studio-theme :is(#dashboardMarketRail .market-logo-card strong, .overview-more-tools-title) { color: var(--ink) !important; }
.yogi-ui.yogi-dark.studio-theme :is(.overview-more-tools-note, #dashboardMarketRail .market-logo-card small) { color: var(--muted) !important; }

/* ---------- Presenter story mode ---------- */
.yogi-ui .yogi-story { position: fixed; inset: 0; z-index: 200000; pointer-events: none; }
.yogi-ui .yogi-story-hole {
  position: fixed; border-radius: 28px; box-shadow: 0 0 0 9999px rgba(10, 16, 11, .62), 0 0 0 3px var(--lime);
  transition: top 380ms var(--ease-out), left 380ms var(--ease-out), width 380ms var(--ease-out), height 380ms var(--ease-out);
}
.yogi-ui .yogi-story-card {
  position: fixed; width: min(420px, calc(100vw - 32px)); padding: 22px 24px; border-radius: 22px; pointer-events: auto;
  background: var(--panel); color: var(--ink); box-shadow: 0 24px 70px rgba(0, 0, 0, .3);
}
.yogi-ui .yogi-story-count { display: inline-block; padding: 4px 10px; border-radius: 999px; background: var(--lime); color: var(--forest-strong); font-weight: 600; font-size: 12px; }
.yogi-ui .yogi-story-card h2 { margin: 12px 0 6px; font: 500 28px/1.15 var(--font-display); letter-spacing: -.02em; }
.yogi-ui .yogi-story-card p { margin: 0 0 16px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.yogi-ui .yogi-story-actions { display: flex; gap: 8px; align-items: center; }
@media (prefers-reduced-motion: reduce) { .yogi-ui .yogi-story-hole { transition: none; } }
/* Presentation size: larger type for a projector; the demo label stays in the window title and tooltips. */
.yogi-ui.yogi-present .erp-shell { zoom: 1.12; }
.yogi-ui.yogi-present.demo-workspace .top-nav-tabs .demo-workspace-ribbon { display: none; }

/* ---------- Payment-style money sheets ---------- */
.yogi-ui .yogi-transfer-hero {
  grid-column: 1 / -1; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px;
  padding: 18px; border-radius: 22px; background: var(--panel-soft);
}
.yogi-ui .yogi-transfer-hero.is-ready { background: var(--lime-soft); }
.yogi-ui .yogi-party { display: grid; justify-items: center; gap: 6px; text-align: center; min-width: 0; }
.yogi-ui .yogi-party i { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--panel); box-shadow: 0 0 0 1px var(--line); font-style: normal; font-weight: 700; color: var(--forest); }
.yogi-ui .yogi-transfer-hero.is-ready .yogi-party i { background: var(--lime); color: var(--forest-strong); box-shadow: none; }
.yogi-ui .yogi-party b { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; color: var(--ink); }
.yogi-ui .yogi-party small { font-size: 12px; color: var(--muted); }
.yogi-ui .yogi-transfer-arrow { font-size: 28px; color: var(--forest); }
.yogi-ui .yogi-money-sheet .yogi-amount-field { grid-column: 1 / -1; font-size: 13px; }
.yogi-ui.studio-theme .yogi-money-sheet .yogi-amount-field input {
  min-height: 76px !important; padding: 10px 20px 10px 52px !important; border-radius: 22px !important;
  font: 400 44px/1 var(--font-display) !important; letter-spacing: -.02em; font-variant-numeric: tabular-nums;
  background: var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ctext x='4' y='19' font-size='20' font-family='sans-serif' fill='%235a6057'%3E%E2%82%B9%3C/text%3E%3C/svg%3E") 18px center / 26px no-repeat !important;
}
.yogi-ui .yogi-transfer-review { grid-column: 1 / -1; margin: 0; min-height: 1.4em; color: var(--forest); font-weight: 600; font-size: 14px; }
.yogi-ui.yogi-dark .yogi-transfer-hero.is-ready .yogi-party i { color: #10240f; }

/* ---------- Application status stepper ---------- */
.yogi-ui .app-stepper { display: flex; align-items: flex-start; gap: 0; margin: 10px 0 14px; }
.yogi-ui .app-step { position: relative; flex: 1 1 0; display: grid; justify-items: center; gap: 6px; text-align: center; }
.yogi-ui .app-step::before { content: ''; position: absolute; top: 9px; left: -50%; right: 50%; height: 2px; background: var(--line-strong); }
.yogi-ui .app-step:first-child::before { display: none; }
.yogi-ui .app-step.is-done::before { background: var(--forest); }
.yogi-ui .app-step i { position: relative; z-index: 1; width: 20px; height: 20px; border-radius: 50%; background: var(--panel); box-shadow: inset 0 0 0 2px var(--line-strong); }
.yogi-ui .app-step.is-done i { background: var(--lime); box-shadow: inset 0 0 0 2px var(--forest); }
.yogi-ui .app-step.is-done i::after { content: '✓'; display: grid; place-items: center; height: 100%; font-size: 12px; font-style: normal; font-weight: 700; color: var(--forest-strong); }
.yogi-ui .app-step.is-current i { box-shadow: inset 0 0 0 2px var(--forest), 0 0 0 4px var(--lime-soft); }
.yogi-ui .app-step b { font-size: 12px; font-weight: 500; color: var(--muted); }
.yogi-ui .app-step.is-done b, .yogi-ui .app-step.is-current b { color: var(--ink); }
.yogi-ui .app-stepper.is-compact { margin: 6px 0 0; width: 92px; }
.yogi-ui .app-stepper.is-compact .app-step i { width: 10px; height: 10px; }
.yogi-ui .app-stepper.is-compact .app-step::before { top: 4px; height: 2px; }
.yogi-ui .app-stepper.is-compact .app-step.is-done i::after { content: none; }

/* ---------- Market as cards ---------- */
.yogi-ui.studio-theme .market-ipo-table thead { display: none; }
.yogi-ui.studio-theme .market-ipo-table tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.yogi-ui.studio-theme .market-ipo-table :is(tr, td) { display: block; padding: 0 !important; border: 0 !important; background: none !important; }
.yogi-ui.studio-theme .erp-shell .market-ipo-list { background: transparent !important; border: 0 !important; }
.yogi-ui.studio-theme .market-ipo-card {
  display: grid !important; gap: 14px; width: 100%; height: 100%; padding: 20px !important; text-align: left;
  background: var(--panel) !important; border: 0 !important; border-radius: 22px !important; box-shadow: 0 0 0 1px var(--line) !important; color: var(--ink);
}
.yogi-ui.studio-theme .market-ipo-card:hover { box-shadow: 0 0 0 1px var(--line-strong), 0 14px 30px rgba(20, 30, 20, .08) !important; }
.yogi-ui .market-card-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.yogi-ui .market-card-head .market-ipo-main { display: grid; gap: 2px; min-width: 0; }
.yogi-ui .market-card-head .market-ipo-name { font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yogi-ui .market-card-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.yogi-ui .market-timing, .yogi-ui .market-gmp { padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; }
.yogi-ui .market-timing { background: var(--lime); color: var(--forest-strong); }
.yogi-ui .market-gmp { background: var(--fill); color: var(--ink); }
.yogi-ui .market-card-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.yogi-ui .market-card-facts span { display: grid; gap: 2px; min-width: 0; }
.yogi-ui .market-card-facts small { font-size: 12px; color: var(--muted); }
.yogi-ui .market-card-facts b { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.yogi-ui .market-card-subs { display: grid; gap: 6px; }
.yogi-ui .market-sub { display: grid; grid-template-columns: 44px 1fr 56px; align-items: center; gap: 8px; font-size: 12px; }
.yogi-ui .market-sub b { font-weight: 600; color: var(--muted); }
.yogi-ui .market-sub i { height: 8px; border-radius: 999px; background: var(--fill); overflow: hidden; }
.yogi-ui .market-sub em { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--lime-strong), var(--forest)); }
.yogi-ui .market-sub small { text-align: right; font-weight: 600; color: var(--ink); font-variant-numeric: tabular-nums; }
.yogi-ui .market-sub-empty { color: var(--muted); font-size: 12px; }
.yogi-ui.studio-theme .market-ipo-card .market-ipo-meta { justify-items: start; text-align: left; }
.yogi-ui.studio-theme .market-ipo-card .market-ipo-meta em { color: var(--forest); font-size: 13px; text-transform: none; letter-spacing: normal; }
.yogi-ui.studio-theme .market-ipo-card [data-label]::before { content: none; }

/* ---------- Ledger sparkline and history chart ---------- */
.yogi-ui .ledger-sparkline { display: grid; gap: 6px; }
.yogi-ui .ledger-sparkline svg { width: 100%; height: 40px; overflow: visible; }
.yogi-ui .ledger-sparkline polyline { fill: none; stroke: var(--forest); stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.yogi-ui .ledger-sparkline.is-down polyline { stroke: var(--danger); }
.yogi-ui .history-chart { margin: 0 0 16px; padding: 18px 20px; border-radius: 22px; background: var(--panel); box-shadow: 0 0 0 1px var(--line); }
.yogi-ui .history-chart-legend { display: flex; gap: 16px; margin-bottom: 12px; font-size: 13px; color: var(--muted); }
.yogi-ui .history-chart-legend i { display: inline-block; width: 10px; height: 10px; margin-right: 6px; border-radius: 3px; }
.yogi-ui :is(.history-chart-legend, .history-chart-day) .is-out { background: var(--forest); }
.yogi-ui :is(.history-chart-legend, .history-chart-day) .is-back { background: var(--lime-strong); }
.yogi-ui .history-chart-bars { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; height: 140px; align-items: end; }
.yogi-ui .history-chart-day { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr auto; column-gap: 3px; height: 100%; align-items: end; }
.yogi-ui .history-chart-day span { min-height: 2px; border-radius: 6px 6px 2px 2px; }
.yogi-ui .history-chart-day small { grid-column: 1 / -1; margin-top: 6px; text-align: center; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; }

/* ---------- Grouped command search ---------- */
.yogi-ui .global-search-group { display: grid; gap: 4px; margin: 0 0 12px; }
.yogi-ui .global-search-group h4 { margin: 4px 8px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.yogi-ui.studio-theme .global-search-result { display: flex !important; align-items: center; gap: 12px; padding: 10px 12px !important; border-radius: 16px !important; text-align: left; }
.yogi-ui .global-search-result .ipo-avatar { flex-basis: 36px; width: 36px; height: 36px; font-size: 12px; }
.yogi-ui .global-search-copy { display: grid; gap: 2px; min-width: 0; }
.yogi-ui .global-search-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yogi-ui .global-search-copy span { font-size: 12px; color: var(--muted); }
.yogi-ui.studio-theme .global-search-result:is(:hover, :focus-visible) { background: var(--lime-soft) !important; }

/* ---------- Empty states with personality ---------- */
.yogi-ui .yogi-empty, .yogi-ui.studio-theme .erp-shell :is(p.empty, td.empty, .empty-block) {
  display: grid; justify-items: center; gap: 8px; padding: 26px 18px !important; text-align: center; color: var(--muted); font-size: 14px;
}
.yogi-ui .yogi-empty::before, .yogi-ui.studio-theme .erp-shell :is(p.empty, td.empty)::before {
  content: '₹'; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%;
  background: radial-gradient(circle at 32% 28%, #f4ffe9 0 10%, var(--lime) 45%, var(--lime-strong) 100%); color: var(--forest-strong);
  font: 600 22px/1 var(--font-display); box-shadow: -3px 4px 0 var(--forest), 0 10px 20px rgba(28, 74, 43, .18);
}
.yogi-ui .yogi-empty strong { font: 500 18px/1.2 var(--font-display); color: var(--ink); }
.yogi-ui .yogi-empty button { margin-top: 4px; }
.yogi-ui.studio-theme .erp-shell td.empty { display: table-cell; }
.yogi-ui.studio-theme .erp-shell td.empty::before { margin: 0 auto 8px; }

/* ===================== Sign-in (pilot: owned entirely by this file) =====================
   The legacy rules for .auth-* were removed from styles.css, studio.css and workspace.css.
   Next screens migrate the same way: port here, delete there, re-run the 35-state capture. */
.yogi-ui .auth-gate { position: fixed; inset: 0; z-index: 20000; display: grid; place-items: center; padding: 24px; overflow-y: auto; background: var(--page); }
.yogi-ui .auth-gate[hidden] { display: none; }
.yogi-ui .auth-card {
  width: min(100%, 440px); box-sizing: border-box; margin: auto; padding: 36px 34px; border-radius: 28px;
  background: var(--panel); color: var(--text); box-shadow: 0 30px 80px rgba(20, 30, 20, .10);
}
.yogi-ui .auth-brand { display: flex; justify-content: center; margin-bottom: 18px; }
.yogi-ui .auth-brand > span { display: none; }
.yogi-ui .auth-brand img, .yogi-ui .brand-logo-auth { width: 72px; height: 72px; object-fit: contain; border-radius: 50%; padding: 6px; background: var(--lime-soft); }
.yogi-ui .auth-card > .eyebrow { display: block; text-align: center; margin: 0 0 4px; }
.yogi-ui .auth-card h1 { margin: 6px 0 8px; text-align: center; color: var(--ink); font: 500 34px/1.15 var(--font-display); letter-spacing: -.025em; }
.yogi-ui .auth-copy { margin: 0 0 24px; text-align: center; font-size: 14px; line-height: 1.5; color: var(--muted); }
.yogi-ui .auth-form { display: flex; flex-direction: column; gap: 14px; }
.yogi-ui .auth-form label { display: grid; gap: 7px; color: var(--muted); font-size: 13px; font-weight: 500; }
.yogi-ui .auth-form input:not([type=hidden]):not([type=checkbox]) { width: 100%; box-sizing: border-box; min-height: 50px; padding: 12px 16px; border-radius: 16px; font-size: 16px; }
.yogi-ui .auth-form .field-help { margin: 0; font-size: 12px; line-height: 1.5; color: var(--muted); }
.yogi-ui .auth-form .credential-visibility { align-self: flex-end; min-height: 28px; margin-top: -8px; padding: 0 2px; border: 0; background: transparent; box-shadow: none; color: var(--forest); font-size: 13px; font-weight: 600; }
.yogi-ui .auth-form .primary-btn { width: 100%; min-height: 52px; margin-top: 4px; font-size: 14px; }
.yogi-ui .auth-method-picker { display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--fill); }
.yogi-ui .auth-method-picker[hidden] { display: none; }
.yogi-ui .auth-method-picker button { flex: 1; min-height: 40px; border: 0; border-radius: 999px; background: transparent; color: var(--muted); font: 600 13px var(--font-ui); cursor: pointer; }
.yogi-ui .auth-method-picker button.active { background: var(--panel); color: var(--ink); box-shadow: 0 1px 3px rgba(0, 0, 0, .12); }
.yogi-ui .auth-error { margin: 0; padding: 10px 14px; border-radius: 12px; background: rgba(196, 38, 44, .08); color: var(--danger); font-size: 13px; font-weight: 600; }
.yogi-ui .auth-card .touch-id-btn { width: 100%; min-height: 50px; margin-top: 12px; }
.yogi-ui .auth-card #authModeToggle { display: block; margin: 20px auto 0; color: var(--forest); font-size: 14px; font-weight: 600; }
.yogi-ui .auth-footnote { margin: 8px 0 0; text-align: center; font-size: 12px; color: var(--muted); }
@media (max-width: 480px) { .yogi-ui .auth-gate { padding: 16px; } .yogi-ui .auth-card { padding: 26px 22px; border-radius: 28px; } }
.yogi-ui .auth-brand img, .yogi-ui .brand-logo-auth { border-radius: 22px; padding: 4px; }
.yogi-ui .auth-form label:has(> input[type=checkbox]) { display: flex; align-items: center; gap: 10px; color: var(--text); font-weight: 600; }
.yogi-ui .market-card-facts { grid-template-columns: 1.7fr .6fr 1fr; }
.yogi-ui.studio-theme .market-ipo-table tbody { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
/* Dark appearance: remaining light surfaces found on the register, ledger, setup and return sheet. */
.yogi-ui.yogi-dark.studio-theme :is(.ipo-group-select, .account-ledger-account-list, .application-register-picker, .application-ipo-summary-card, .refund-balance-preview, .application-register-panel .application-category-summary > *) { background: var(--panel-soft) !important; color: var(--text) !important; border-color: var(--line) !important; }
.yogi-ui.yogi-dark.studio-theme .refund-balance-preview.is-warning { background: #3a2a17 !important; }
.yogi-ui.yogi-dark.studio-theme :is(.setup-tabs button[aria-pressed="true"], .account-ledger-view-switch button:is(.active, .is-active, [aria-pressed=true]), .auth-method-picker button.active) { background: var(--fill-hover) !important; color: var(--ink) !important; }
.yogi-ui.yogi-dark.studio-theme .application-register-panel .application-category-summary .application-category-tile.is-active { background: var(--lime) !important; color: #10240f !important; }
/* The stepper spans the whole money summary and its labels may shrink, so a phone-width sheet never scrolls sideways. */
.yogi-ui .financial-state-summary .app-stepper { grid-column: 1 / -1; min-width: 0; }
.yogi-ui .app-step { min-width: 0; }
.yogi-ui .app-step b { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.yogi-ui .yogi-transfer-hero { min-width: 0; }

/* ===== Pass 8: motion that answers the user's actions. Each effect plays once, under 0.7s
   (the saved tick ~1.2s), never loops, and is absent with reduced motion. ===== */
@property --share { syntax: '<number>'; inherits: true; initial-value: 0; }
@property --undo-left { syntax: '<number>'; inherits: false; initial-value: 1; }

/* Undo countdown ring: shows how long Undo stays available (matches the 10s toast). */
.yogi-ui .toast-undo-btn { position: relative; display: inline-flex; align-items: center; gap: 7px; }
.yogi-ui .toast-undo-btn::before {
  content: ''; width: 14px; height: 14px; border-radius: 50%; flex: none;
  background: conic-gradient(currentColor calc(var(--undo-left) * 1turn), transparent 0);
  -webkit-mask: radial-gradient(closest-side, transparent 58%, #000 62%); mask: radial-gradient(closest-side, transparent 58%, #000 62%);
}

/* Confetti in the lime palette (existing checklist burst, reused for allotments). */
.yogi-ui .checklist-celebration i { background: var(--lime); border-radius: 2px; }
.yogi-ui .checklist-celebration i:nth-child(even) { background: var(--forest); }
.yogi-ui .checklist-celebration i:nth-child(3n) { background: #f2c94c; }
.yogi-ui .yogi-allot-burst { position: fixed; inset: 0; z-index: 2147483000; border-radius: 0; }
.yogi-ui .yogi-allot-burst i { top: 45%; width: 9px; height: 13px; }

/* Sliding lime pill in the top navigation. */
.yogi-ui .top-nav-tabs .yogi-nav-pill { display: none; }
.yogi-ui .top-nav-tabs.has-pill .yogi-nav-pill {
  display: block; position: absolute; left: 0; top: 0; z-index: 0; border-radius: 999px; background: var(--lime); pointer-events: none;
  transition: transform .34s cubic-bezier(.2, .8, .2, 1), width .34s cubic-bezier(.2, .8, .2, 1);
}
.yogi-ui .top-nav-tabs .yogi-nav-pill.is-instant { transition: none; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs.has-pill > .nav-tab { position: relative; z-index: 1; }
.yogi-ui.studio-theme .erp-shell .top-nav-tabs.has-pill > .nav-tab.active { background: transparent !important; }

@media (prefers-reduced-motion: no-preference) {
  /* 1. Saved tick */
  .yogi-ui:not(.studio-reduced-motion) .yogi-sent-burst { position: fixed; left: 50%; top: 42%; z-index: 2147483000; width: 56px; height: 56px; margin: -28px 0 0 -28px; pointer-events: none; animation: yogi-sent-out 1s ease forwards; }
  .yogi-ui .yogi-sent-burst::before { content: ''; position: absolute; inset: 0; border-radius: 50%; background: var(--lime); box-shadow: 0 18px 50px rgba(28, 74, 43, .28); animation: yogi-sent-pop .22s cubic-bezier(.2, .8, .2, 1) both; }
  .yogi-ui .yogi-sent-burst i { display: none; }
  .yogi-ui .yogi-sent-burst svg { position: absolute; inset: 14px; fill: none; stroke: var(--forest-strong); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: yogi-sent-tick .32s .28s ease-out forwards; }
  @keyframes yogi-sent-pop { from { transform: scale(.9); opacity: 0; } to { transform: scale(1); opacity: 1; } }
  @keyframes yogi-sent-ring { from { transform: scale(1); opacity: .9; } to { transform: scale(1.9); opacity: 0; } }
  @keyframes yogi-sent-tick { to { stroke-dashoffset: 0; } }
  @keyframes yogi-sent-out { 0%, 75% { opacity: 1; transform: none; } 100% { opacity: 0; transform: scale(.92); } }

  /* 2. A return that comes back (Undo) eases in */
  .yogi-ui:not(.studio-reduced-motion) .return-todo-row.is-entering { animation: yogi-row-in .36s cubic-bezier(.2, .8, .2, 1) both; }
  @keyframes yogi-row-in { from { opacity: 0; transform: translateX(-24px); } }

  /* 5. Stepper fills left to right when a summary opens (compact register rows stay still) */
  .yogi-ui:not(.studio-reduced-motion) .app-stepper:not(.is-compact) .app-step.is-done::before { transform-origin: left; animation: yogi-step-line .3s cubic-bezier(.2, .8, .2, 1) both; }
  .yogi-ui:not(.studio-reduced-motion) .app-stepper:not(.is-compact) .app-step.is-done i { animation: yogi-check-pop .3s cubic-bezier(.34, 1.56, .64, 1) both; }
  .yogi-ui:not(.studio-reduced-motion) .app-stepper:not(.is-compact) .app-step.is-current i { animation: yogi-step-now .4s ease-out both; }
  .yogi-ui .app-stepper .app-step:nth-child(2) :is(i), .yogi-ui .app-stepper .app-step:nth-child(2)::before { animation-delay: .08s !important; }
  .yogi-ui .app-stepper .app-step:nth-child(3) :is(i), .yogi-ui .app-stepper .app-step:nth-child(3)::before { animation-delay: .16s !important; }
  .yogi-ui .app-stepper .app-step:nth-child(4) :is(i), .yogi-ui .app-stepper .app-step:nth-child(4)::before { animation-delay: .24s !important; }
  .yogi-ui .app-stepper .app-step:nth-child(5) :is(i), .yogi-ui .app-stepper .app-step:nth-child(5)::before { animation-delay: .32s !important; }
  @keyframes yogi-step-line { from { transform: scaleX(0); } }
  @keyframes yogi-step-now { from { box-shadow: inset 0 0 0 2px var(--forest), 0 0 0 0 var(--lime-soft); } }

  /* 7. Charts draw in once when rendered */
  .yogi-ui:not(.studio-reduced-motion) .ledger-sparkline svg { animation: yogi-draw .6s cubic-bezier(.2, .8, .2, 1) both; }
  .yogi-ui:not(.studio-reduced-motion) .history-chart-day span { transform-origin: bottom; animation: yogi-grow .45s cubic-bezier(.2, .8, .2, 1) both; }
  .yogi-ui:not(.studio-reduced-motion) .history-chart-day:nth-child(n+6) span { animation-delay: .12s; }
  .yogi-ui:not(.studio-reduced-motion) .history-chart-day:nth-child(n+12) span { animation-delay: .24s; }
  @keyframes yogi-draw { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }
  @keyframes yogi-grow { from { transform: scaleY(0); } }

  /* 8. Undo ring empties over the 10 seconds Undo is offered */
  .yogi-ui:not(.studio-reduced-motion) .toast-undo-btn::before { animation: yogi-undo 10s linear forwards; }
  @keyframes yogi-undo { from { --undo-left: 1; } to { --undo-left: 0; } }

  /* 9. Bell swing, once */
  .yogi-ui:not(.studio-reduced-motion) .yogi-bell.is-ringing svg { transform-origin: 50% 10%; animation: yogi-ring .7s ease-in-out; }
  @keyframes yogi-ring { 0%, 100% { transform: none; } 15% { transform: rotate(16deg); } 35% { transform: rotate(-13deg); } 55% { transform: rotate(8deg); } 75% { transform: rotate(-4deg); } }

  /* 11. Search results cascade in when they first appear */
  .yogi-ui:not(.studio-reduced-motion) .is-staggering .global-search-result { animation: yogi-fade-up .22s ease-out both; }
  .yogi-ui .is-staggering .global-search-result:nth-child(2) { animation-delay: 20ms; }
  .yogi-ui .is-staggering .global-search-result:nth-child(3) { animation-delay: 40ms; }
  .yogi-ui .is-staggering .global-search-result:nth-child(4) { animation-delay: 60ms; }
  .yogi-ui .is-staggering .global-search-result:nth-child(5) { animation-delay: 80ms; }
  .yogi-ui .is-staggering .global-search-result:nth-child(6) { animation-delay: 100ms; }
  .yogi-ui .is-staggering .global-search-result:nth-child(7) { animation-delay: 120ms; }
  .yogi-ui .is-staggering .global-search-result:nth-child(n+8) { animation-delay: 140ms; }
  .yogi-ui .is-staggering .global-search-group:nth-of-type(2) .global-search-result { animation-delay: 60ms; }
  @keyframes yogi-fade-up { from { opacity: 0; transform: translateY(6px); } }
}
/* Reduced motion: the ring is information, so it stays as a static ring; the confetti never shows. */
@media (prefers-reduced-motion: reduce) { .yogi-ui .yogi-allot-burst, .yogi-ui .yogi-sent-burst { display: none; } }
.yogi-ui.studio-reduced-motion :is(.yogi-allot-burst, .checklist-celebration) { display: none; }

/* ===== Pass 9: Daily operations in depth. Three heights: the page, raised panels, and
   tiles that sit on them; the command bar is a recessed well and buttons sit proud of it.
   Light comes from above (a top highlight, a soft shadow below). Shadows only, no motion. ===== */
.yogi-ui {
  --d3-hi: rgba(255, 255, 255, .9);
  --d3-rim: rgba(20, 40, 25, .06);
  --d3-lift: 0 1px 1px rgba(20, 40, 25, .04), 0 8px 18px -8px rgba(20, 40, 25, .14), 0 26px 44px -26px rgba(20, 40, 25, .28);
  --d3-tile: 0 1px 1px rgba(20, 40, 25, .05), 0 6px 12px -6px rgba(20, 40, 25, .16), 0 14px 24px -16px rgba(20, 40, 25, .22);
  --d3-deck: 0 8px 0 -4px #eceee8, 0 8px 0 -3px rgba(20, 40, 25, .1), 0 15px 0 -8px #f1f2ee, 0 15px 0 -7px rgba(20, 40, 25, .08);
  --d3-tile-face: linear-gradient(180deg, #ffffff 0%, #f7f8f5 100%);
}
.yogi-ui.yogi-dark {
  --d3-hi: rgba(255, 255, 255, .07);
  --d3-rim: rgba(0, 0, 0, .4);
  --d3-lift: 0 1px 1px rgba(0, 0, 0, .3), 0 10px 22px -10px rgba(0, 0, 0, .6), 0 28px 48px -26px rgba(0, 0, 0, .7);
  --d3-tile: 0 1px 1px rgba(0, 0, 0, .35), 0 8px 16px -8px rgba(0, 0, 0, .6);
  --d3-deck: 0 8px 0 -4px #252a24, 0 8px 0 -3px rgba(0, 0, 0, .5), 0 15px 0 -8px #20251f, 0 15px 0 -7px rgba(0, 0, 0, .45);
  --d3-tile-face: linear-gradient(180deg, #2a2f29 0%, #232822 100%);
}

/* Raised panels */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] > .panel {
  box-shadow: inset 0 1px 0 var(--d3-hi), var(--d3-lift) !important;
  border: 0 !important;
}

/* Tiles on the panels: capacity figures, planning paths, the four steps, applicant checklists */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] :is(.capacity-balance-card, .planning-paths article, .workflow-step, .checklist-pass) {
  background: var(--d3-tile-face) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-tile) !important;
  transition: box-shadow .2s ease;
}
/* The four steps read as a stack of work: a second card peeks out underneath */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .workflow-steps .workflow-step {
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-deck), var(--d3-tile) !important;
}
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .workflow-step.needs-action {
  background: linear-gradient(180deg, rgba(183, 236, 125, .22) 0%, transparent 46%), var(--d3-tile-face) !important;
}
@media (hover: hover) {
  .yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] :is(.workflow-step, .planning-paths article, .capacity-savings-summary-trigger):hover {
    box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-deck), var(--d3-lift) !important;
  }
}
/* Step numbers become small lime coins */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .workflow-step .workflow-step-number {
  width: 30px; height: 30px; font-weight: 700; color: var(--forest-strong);
  background: radial-gradient(circle at 34% 28%, #e4fbc8 0%, var(--lime) 52%, #93d15a 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), inset 0 -2px 0 rgba(28, 74, 43, .22), 0 3px 6px -1px rgba(28, 74, 43, .3) !important;
}
/* Total funds: a glossy lime slab with a coloured shadow */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .capacity-balance-card.capacity-total-funds-card {
  background: var(--lime) linear-gradient(160deg, #d3f7ad 0%, var(--lime) 48%, #a2dc66 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -2px 0 rgba(28, 74, 43, .12), 0 16px 30px -14px rgba(96, 170, 40, .65) !important;
}
/* Active planning path glows lime */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .planning-paths article:has(.primary-btn) {
  background: linear-gradient(180deg, #f1fbe5 0%, #e6f7d2 100%) !important;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px rgba(120, 190, 60, .25), 0 14px 26px -16px rgba(96, 170, 40, .55) !important;
}
.yogi-ui.yogi-dark.studio-theme .erp-shell [data-tab-panel="workflow"] .planning-paths article:has(.primary-btn) { background: linear-gradient(180deg, #2f3d24 0%, #283420 100%) !important; }

/* Command bar: a recessed well; its buttons sit proud and press in */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .daily-command-bar {
  background: #e9ebe5 !important;
  box-shadow: inset 0 2px 5px rgba(20, 40, 25, .09), inset 0 -1px 0 var(--d3-hi) !important;
  border: 0 !important;
}
.yogi-ui.yogi-dark.studio-theme .erp-shell [data-tab-panel="workflow"] .daily-command-bar { background: #1a1e19 !important; }
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] :is(.secondary-btn, .primary-btn) {
  box-shadow: inset 0 1px 0 var(--d3-hi), 0 1px 1px rgba(20, 40, 25, .06), 0 4px 8px -4px rgba(20, 40, 25, .22) !important;
}
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .primary-btn {
  background: var(--forest) linear-gradient(180deg, #2a5f3a 0%, var(--forest) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 1px rgba(20, 40, 25, .2), 0 6px 12px -6px rgba(20, 40, 25, .5) !important;
}
.yogi-ui.yogi-dark.studio-theme .erp-shell [data-tab-panel="workflow"] .primary-btn { background: var(--lime) linear-gradient(180deg, #c8f29a 0%, var(--lime) 100%) !important; }
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] :is(.secondary-btn, .primary-btn):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(20, 40, 25, .18) !important;
}

/* Checklist: tick chips are raised keys; a checked chip is pressed in and lime */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .checklist-inline-control {
  background: var(--d3-tile-face) !important; border: 0 !important;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), 0 2px 4px -2px rgba(20, 40, 25, .2) !important;
}
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .checklist-inline-control:has(input:checked) {
  background: var(--lime-soft) !important;
  box-shadow: inset 0 2px 4px rgba(28, 74, 43, .16), inset 0 0 0 1px rgba(120, 190, 60, .35) !important;
}
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .checklist-meter {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 8px -4px rgba(20, 40, 25, .45);
}

/* Recessed wells: the raised tiles above sit in these */
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] :is(.workflow-checklist-panel, .capacity-ledger-shortcut, .capacity-plan-result) {
  border: 0 !important;
  box-shadow: inset 0 2px 6px rgba(20, 40, 25, .08), inset 0 0 0 1px rgba(20, 40, 25, .04), inset 0 -1px 0 var(--d3-hi) !important;
}
.yogi-ui.studio-theme .erp-shell [data-tab-panel="workflow"] .workflow-steps { padding-bottom: 8px; }

/* ===== Pass 10: the depth system on every tab, plus per-tab layout fixes. Same three heights as
   Daily operations (page, raised panel, tile on panel); recessed wells hold controls. ===== */
.yogi-ui.studio-theme .erp-shell :is(.tab-section > .panel, .tab-section.panel) {
  box-shadow: inset 0 1px 0 var(--d3-hi), var(--d3-lift) !important;
  border: 0 !important;
}
/* Neutral tiles get a lit face; tinted tiles keep their colour and gain the shadow only */
.yogi-ui.studio-theme .erp-shell :is(.application-category-tile, .application-ipo-summary-card, .setup-command-card, .tab-section .compact-cards > .card, .return-todo-row, #accountLedgerSummary > div:not(.is-closing), .ledger-sparkline, .setup-subsection) {
  background: var(--d3-tile-face) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-tile) !important;
}
.yogi-ui.studio-theme .erp-shell :is(.summary-market-card, .command-center-item, .data-health-item, #accountLedgerSummary > .is-closing, .account-ledger-account-row.is-selected) {
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-tile) !important;
  border-color: transparent !important;
}
.yogi-ui.studio-theme .erp-shell .market-ipo-table .market-ipo-card {
  background: var(--d3-tile-face) !important;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-tile) !important;
}
@media (hover: hover) {
  .yogi-ui.studio-theme .erp-shell :is(.application-ipo-summary-card, .setup-command-card, .setup-subsection, .market-ipo-table .market-ipo-card, .application-category-tile):hover {
    box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-lift) !important;
  }
}
/* Tables and the history chart sit on the page as tiles */
.yogi-ui.studio-theme .erp-shell :is(#transactionHistorySection > .table-wrap, .history-chart) {
  border: 0 !important;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-tile) !important;
}
/* Recessed wells */
.yogi-ui.studio-theme .erp-shell :is(.application-register-picker, .narada-import-bar, .account-ledger-filter-panel, .setup-accounts-group) {
  border: 0 !important;
  box-shadow: inset 0 2px 6px rgba(20, 40, 25, .08), inset 0 0 0 1px rgba(20, 40, 25, .04), inset 0 -1px 0 var(--d3-hi) !important;
}
/* Buttons sit proud and press in, on every tab */
.yogi-ui.studio-theme .erp-shell .tab-section :is(.secondary-btn, .primary-btn):not(:disabled) {
  box-shadow: inset 0 1px 0 var(--d3-hi), 0 1px 1px rgba(20, 40, 25, .06), 0 4px 8px -4px rgba(20, 40, 25, .22) !important;
}
.yogi-ui.studio-theme .erp-shell .tab-section .primary-btn:not(:disabled) {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 1px 1px rgba(20, 40, 25, .2), 0 6px 12px -6px rgba(20, 40, 25, .5) !important;
}
.yogi-ui.studio-theme .erp-shell .tab-section :is(.secondary-btn, .primary-btn):not(:disabled):active {
  transform: translateY(1px);
  box-shadow: inset 0 2px 4px rgba(20, 40, 25, .18) !important;
}

/* Overview: return rows put the button under the names, so names stay on one line */
.yogi-ui.studio-theme .erp-shell .return-todo-row { display: grid !important; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 14px; row-gap: 10px; }
.yogi-ui.studio-theme .erp-shell .return-todo-row .complete-return-todo-btn { grid-column: 2; justify-self: start; }

/* Ledger: Delete appears on the row you point at or focus (always visible on touch) */
@media (hover: hover) and (pointer: fine) {
  .yogi-ui.studio-theme .account-ledger-movement-row .account-ledger-funding-delete-btn { opacity: 0; transition: opacity .15s ease; }
  .yogi-ui.studio-theme .account-ledger-movement-row:is(:hover, :focus-within) .account-ledger-funding-delete-btn { opacity: 1; }
}
.yogi-ui.studio-theme .account-ledger-workspace-dialog .account-ledger-table-wrap { flex: 0 1 auto !important; min-height: 0 !important; }

/* History: the page title already names it; filters run left to right; details read as chips */
.yogi-ui.studio-theme #transactionHistorySection > .panel-header h3 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.yogi-ui.studio-theme #transactionHistorySection .history-toolbar { display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; align-items: end; gap: 8px; }
.yogi-ui.studio-theme #transactionHistorySection .history-toolbar > :first-child { flex: 1 1 220px; }
.yogi-ui.studio-theme .history-detail-chip { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 8px; border-radius: 999px; background: var(--bg); color: var(--ink); font-size: 12px; white-space: nowrap; }

/* Register: four category tiles in one row; IPO picker cards carry their avatar */
@media (min-width: 900px) {
  .yogi-ui.studio-theme .application-register-panel .application-category-summary { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}
.yogi-ui.studio-theme .application-ipo-summary-card { display: grid !important; grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; align-content: center; min-height: 0 !important; height: auto !important; padding: 16px !important; border-radius: 16px !important; text-align: left; }
.yogi-ui.studio-theme .application-ipo-summary-card .ipo-avatar { grid-row: span 3; }
.yogi-ui.studio-theme .application-ipo-summary-card small { color: var(--forest); font-weight: 600; }

/* Market: one live IPO fills the row instead of leaving two thirds empty; wide cards lay out sideways */
.yogi-ui.studio-theme .market-ipo-table tbody { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important; }
.yogi-ui.studio-theme .market-ipo-table td { container-type: inline-size; }
@container (min-width: 760px) {
  .yogi-ui.studio-theme .market-ipo-card { grid-template-columns: 1.3fr 1fr 1fr; align-items: start; column-gap: 28px; }
  .yogi-ui.studio-theme .market-ipo-card .market-card-head { grid-column: 1; grid-row: 1; }
  .yogi-ui.studio-theme .market-ipo-card .market-card-badges { grid-column: 1; grid-row: 2; }
  .yogi-ui.studio-theme .market-ipo-card .market-card-facts { grid-column: 2; grid-row: 1 / span 2; }
  .yogi-ui.studio-theme .market-ipo-card .market-card-subs { grid-column: 3; grid-row: 1 / span 2; }
  .yogi-ui.studio-theme .market-ipo-card .market-ipo-meta { grid-column: 1 / -1; }
}

/* Past applications: Save and Import are buttons, not full-width bars */
.yogi-ui.studio-theme #oldApplicationForm > .primary-btn.span-2 { justify-self: end; width: auto !important; min-width: 240px; }
.yogi-ui.studio-theme .narada-import-bar #fetchNaradaOldBtn { width: auto !important; min-width: 240px; justify-self: start; grid-column: auto !important; }

/* Setup: the action cards share the row; rows are cards you can click anywhere */
.yogi-ui.studio-theme .setup-command-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important; }
.yogi-ui.studio-theme .setup-subsection { border-radius: 16px !important; margin-bottom: 8px; }

/* ===== Profits page ===== */
.yogi-ui.studio-theme .profits-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 8px; }
.yogi-ui.studio-theme .profits-period { display: grid; gap: 4px; font-size: 12px; color: var(--muted); }
.yogi-ui.studio-theme .profits-period select { min-width: 140px; }
.yogi-ui.studio-theme .profits-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 6px; }
.yogi-ui.studio-theme .profits-tile {
  display: grid; gap: 6px; align-content: start; padding: 18px; border-radius: 22px;
  background: var(--d3-tile-face); box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), var(--d3-tile);
}
.yogi-ui.studio-theme .profits-tile span { font-size: 13px; color: var(--muted); }
.yogi-ui.studio-theme .profits-tile strong { font-size: 28px; font-weight: 500; letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .profits-tile small { font-size: 12px; color: var(--muted); }
.yogi-ui.studio-theme .profits-tile.is-hero {
  grid-column: span 2; grid-row: span 2; align-content: center;
  background: var(--lime) linear-gradient(160deg, #d3f7ad 0%, var(--lime) 48%, #a2dc66 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), inset 0 -2px 0 rgba(28, 74, 43, .12), 0 16px 30px -14px rgba(96, 170, 40, .65);
}
.yogi-ui.studio-theme .profits-tile.is-hero :is(span, small) { color: var(--forest-strong); }
.yogi-ui.studio-theme .profits-tile.is-hero strong { font-size: 44px; color: var(--forest-strong); }
.yogi-ui.studio-theme .profits-tile.is-hero.is-loss { background: #fde7e5; box-shadow: inset 0 0 0 1px rgba(196, 38, 44, .2), var(--d3-tile); }
.yogi-ui.studio-theme .profits-tile.is-hero.is-loss :is(strong, span, small) { color: var(--danger); }
.yogi-ui.studio-theme :is(.profits-tile, .profits-table td).is-gain,
.yogi-ui.studio-theme .profits-tile.is-gain:not(.is-hero) strong { color: var(--forest); }
.yogi-ui.studio-theme :is(.profits-tile:not(.is-hero).is-loss strong, .profits-table td.is-loss) { color: var(--danger); }
.yogi-ui.studio-theme .profits-table td .muted { color: var(--muted); }
@media (max-width: 900px) {
  .yogi-ui.studio-theme .profits-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yogi-ui.studio-theme .profits-tile.is-hero { grid-row: auto; }
}
.yogi-ui.yogi-dark.studio-theme .profits-tile.is-hero.is-loss { background: #3a1f1e; }
.yogi-ui.studio-theme .report-import-dialog { width: min(980px, calc(100vw - 32px)); }
.yogi-ui.studio-theme .report-import-dialog .table-wrap { max-height: 48vh; overflow: auto; }
.yogi-ui.studio-theme .report-import-dialog td small { display: block; }

/* ===== Portfolio page ===== */
.yogi-ui.studio-theme .portfolio-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.yogi-ui.studio-theme .portfolio-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 14px; }
.yogi-ui.studio-theme .portfolio-toolbar input[type="search"] { flex: 0 1 320px; min-width: 0; }
.yogi-ui.studio-theme .portfolio-views { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: #e9ebe5; box-shadow: inset 0 2px 5px rgba(20, 40, 25, .09); }
.yogi-ui.studio-theme .portfolio-views .secondary-btn { box-shadow: none !important; background: transparent !important; }
.yogi-ui.studio-theme .portfolio-views .secondary-btn.is-active { background: var(--panel) !important; box-shadow: inset 0 1px 0 var(--d3-hi), 0 2px 6px -2px rgba(20, 40, 25, .25) !important; }
.yogi-ui.studio-theme .portfolio-layout { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 16px; align-items: start; }
.yogi-ui.studio-theme .portfolio-layout:has(.portfolio-accounts[hidden]) { grid-template-columns: minmax(0, 1fr); }
.yogi-ui.studio-theme .portfolio-accounts { display: grid; gap: 6px; }
.yogi-ui.studio-theme .portfolio-account { display: grid; gap: 2px; padding: 12px 14px; border: 0; border-radius: 12px; text-align: left; background: var(--d3-tile-face); color: var(--ink); cursor: pointer;
  box-shadow: inset 0 1px 0 var(--d3-hi), inset 0 0 0 1px var(--d3-rim), 0 2px 6px -3px rgba(20, 40, 25, .2); }
.yogi-ui.studio-theme .portfolio-account small { color: var(--muted); font-size: 12px; }
.yogi-ui.studio-theme .portfolio-account.is-active { background: var(--lime); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 8px 16px -10px rgba(96, 170, 40, .7); }
.yogi-ui.studio-theme .portfolio-account.is-active small { color: var(--forest-strong); }
.yogi-ui.studio-theme .portfolio-chips { display: flex; flex-wrap: wrap; gap: 4px; }
.yogi-ui.studio-theme .portfolio-table td small { display: block; }
@media (max-width: 900px) {
  .yogi-ui.studio-theme .portfolio-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .yogi-ui.studio-theme .portfolio-layout { grid-template-columns: minmax(0, 1fr); }
  .yogi-ui.studio-theme .portfolio-accounts { grid-auto-flow: column; grid-auto-columns: minmax(160px, 1fr); overflow-x: auto; }
}
.yogi-ui.yogi-dark.studio-theme .portfolio-views { background: #1a1e19; }
.yogi-ui.yogi-dark.studio-theme .portfolio-account.is-active { color: #10240f; }

/* Drag-and-drop import targets */
.yogi-ui.studio-theme .drop-hint { margin: -4px 0 12px; font-size: 12px; color: var(--muted); }
.yogi-ui.studio-theme :is(.profits-panel, .portfolio-panel).is-drop-target { outline: 2px dashed var(--forest); outline-offset: -8px; background: var(--lime-soft) !important; }
.yogi-ui.studio-theme .report-import-dialog tr.is-recorded td { opacity: .6; }
.yogi-ui.studio-theme .report-import-dialog tr.is-recorded td small { color: var(--danger); opacity: 1; font-weight: 600; }

/* Earnings by account */
.yogi-ui.studio-theme .earnings-toggle { display: inline-flex; gap: 8px; align-items: center; padding: 6px 10px; border: 0; border-radius: 12px; background: transparent; color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; text-align: left; }
.yogi-ui.studio-theme .earnings-toggle:hover, .yogi-ui.studio-theme .earnings-row.is-open .earnings-toggle { background: var(--lime-soft); }
.yogi-ui.studio-theme .earnings-toggle span { width: 12px; color: var(--forest); }
.yogi-ui.studio-theme .earnings-detail > td { padding: 0 12px 14px 40px !important; background: transparent; }
.yogi-ui.studio-theme .earnings-ledger { width: 100%; border-collapse: collapse; border-radius: 12px; overflow: hidden; background: var(--d3-tile-face);
  box-shadow: inset 0 0 0 1px var(--d3-rim), inset 0 2px 6px rgba(20, 40, 25, .06); }
.yogi-ui.studio-theme .earnings-ledger :is(th, td) { padding: 9px 12px; font-size: 13px; text-align: left; border-bottom: 1px solid var(--line); }
.yogi-ui.studio-theme .earnings-ledger th { font-size: 12px; color: var(--muted); font-weight: 500; }
.yogi-ui.studio-theme .earnings-ledger .earnings-cost-row td { color: var(--muted); }
.yogi-ui.studio-theme .earnings-total td { border-top: 2px solid var(--line-strong); background: var(--bg); }
.yogi-ui.studio-theme .earnings-note { margin: 10px 2px 0; font-size: 12px; }
.yogi-ui.studio-theme :is(.earnings-ledger, .earnings-table) td.is-gain { color: var(--forest); }
.yogi-ui.studio-theme :is(.earnings-ledger, .earnings-table) td.is-loss { color: var(--danger); }
.yogi-ui.studio-theme .report-import-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.yogi-ui.studio-theme .report-import-tools input[type="search"] { flex: 1 1 260px; min-width: 0; }
.yogi-ui.studio-theme .report-import-tools .muted { font-size: 12px; }

/* Broker connections */
.yogi-ui.studio-theme .broker-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.yogi-ui.studio-theme .broker-panel td small { display: block; margin-top: 3px; }
.yogi-ui.studio-theme .broker-steps { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 14px; color: var(--ink); }
.yogi-ui.studio-theme .broker-redirect { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; }
.yogi-ui.studio-theme .broker-redirect code { padding: 6px 10px; border-radius: 8px; background: var(--bg); font-size: 13px; user-select: all; }

/* Imported bank statements */
.yogi-ui.studio-theme .profits-statements { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; }
.yogi-ui.studio-theme .statement-chip { display: inline-flex; align-items: center; gap: 8px; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--bg); }
.yogi-ui.studio-theme .statement-chip .secondary-btn { padding: 4px 10px; font-size: 12px; }

/* Workspace tools row: the layout switch kept a dashboard-era bottom margin that stretched its neighbours. */
.yogi-ui .launch-utility-actions { align-items: center; }
.yogi-ui .launch-utility-actions #dashboardLayoutSwitch { margin: 0; }

/* ===================== Pass 7: consistency polish (24 Oct) =====================
   Scales used across every stylesheet: text 12/13/14/16/18/22/28/34/44px with nothing under 12px;
   corners 8 (chips) / 12 (controls) / 16 (inner tiles) / 22 (cards in panels) / 28 (panels) / pill. */
.yogi-ui.studio-theme { font-variant-numeric: tabular-nums; } /* money columns and totals line up digit for digit */

/* Account ledger row actions: readable and comfortable to click. */
.yogi-ui.studio-theme .account-ledger-workspace-actions button { min-height: 32px; padding: 6px 12px !important; font-size: 13px !important; border-radius: 12px !important; }
/* Secondary labels in ledger rows use the palette's grey, not the old blue-grey (which failed contrast). */
.yogi-ui.studio-theme :is(.account-ledger-movement-row td small, .account-ledger-transaction-detail dt) { color: var(--muted) !important; }

/* Daily operations: the four balance tiles fill their row instead of leaving a fifth empty column. */
@media (min-width: 721px) {
  .yogi-ui.studio-theme .erp-shell .capacity-planner-panel .capacity-balance-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* Fewer slabs inside slabs: hint strips and the next-step box sit on the card with a hairline. */
.yogi-ui.studio-theme .erp-shell .capacity-planner-panel :is(.capacity-plan-result, .capacity-ledger-shortcut) { background: transparent !important; box-shadow: inset 0 0 0 1px var(--line) !important; }

/* Profits: a loss reads from the red figure, not from tinting the whole hero card. */
.yogi-ui.studio-theme .profits-tile.is-hero.is-loss { background: var(--panel) !important; box-shadow: var(--d3-tile) !important; }
.yogi-ui.studio-theme .profits-tile.is-hero.is-loss :is(span, small) { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme .profits-tile.is-hero.is-loss { background: var(--panel) !important; }

/* Savings breakdown: the shortfall gets its own line, and the totals join the lime palette. */
.yogi-ui.studio-theme .savings-breakdown-dialog td small { display: block; margin-top: 4px; color: var(--danger); font-size: 12px; font-weight: 600; }
.yogi-ui.studio-theme .savings-breakdown-total { background: var(--lime-soft) !important; color: var(--forest) !important; }
.yogi-ui.studio-theme .savings-breakdown-account-btn { color: var(--ink) !important; }
.yogi-ui.studio-theme .savings-breakdown-account-btn:hover { color: var(--forest) !important; }

/* Narrow windows: the floating New button never covers the last row. */
@media (max-width: 840px) {
  .yogi-ui.studio-theme .erp-shell { padding-bottom: 96px !important; }
}

/* Dark appearance: surfaces the redesign never reached (calendars, source list, mini stats) and text on lime. */
.yogi-ui.yogi-dark.studio-theme :is(.ipo-calendar-row, .stack-item.source-ledger-trigger, .mini-item) { background: var(--panel-soft) !important; color: var(--text) !important; border-color: var(--line) !important; }
.yogi-ui.yogi-dark.studio-theme .ipo-calendar-row :is(strong, span, b) { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme .ipo-calendar-row small { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme :is(.cashflow-event, .cashflow-close, .cashflow-funding, .cashflow-refund, .cashflow-od) { background: var(--fill) !important; border-color: var(--line-strong) !important; color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme .cashflow-event.close b { color: var(--warn) !important; }
.yogi-ui.yogi-dark.studio-theme .cashflow-event.refund b { color: var(--success) !important; }
.yogi-ui.yogi-dark.studio-theme .cashflow-event.funding b { color: #8cc8ff !important; }
.yogi-ui.yogi-dark.studio-theme .cashflow-event.od b { color: #c7b4ff !important; }
.yogi-ui.yogi-dark.studio-theme .cashflow-event span { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme :is(.market-timing, .profits-tile.is-hero:not(.is-loss), .profits-tile.is-hero:not(.is-loss) *) { color: #10240f !important; }
/* Secondary text that kept older, lighter greys and failed 4.5:1. */
.yogi-ui.studio-theme .erp-shell :is(.data-health-item b, .overview-more-tools-note, .account-ledger-list-heading span, .setup-page-header p) { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme .market-logo-card { background: var(--panel-soft) !important; border-color: var(--line) !important; }
.yogi-ui.yogi-dark.studio-theme :is(.stack-item.source-ledger-trigger, .mini-item, .market-logo-card) :is(dt, dd, span, b, strong, small) { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme :is(.stack-item.source-ledger-trigger dt, .market-logo-card small, .checklist-completion-caption, .checklist-pass-status, .checklist-pass-source) { color: var(--muted) !important; }

/* Narrow windows: one-row header and a ledger that is not clipped by its own scroll box. */
.yogi-ui.studio-theme .workspace-tools .tools-label-short { display: none; }
@media (max-width: 560px) {
  .yogi-ui.studio-theme .workspace-tools .tools-label-long { display: none; }
  .yogi-ui.studio-theme .workspace-tools .tools-label-short { display: inline; }
  .yogi-ui.studio-theme .studio-topbar-actions { flex-wrap: nowrap !important; min-width: 0; }
}
@media (max-width: 720px) {
  .yogi-ui.studio-theme .erp-shell .account-ledger-workspace { overflow: visible !important; }
  /* The destination row scrolls sideways; a soft fade shows there is more. */
  .yogi-ui.studio-theme .erp-shell .top-nav-tabs { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
}

/* Statement review: balance check against the bank. */
.yogi-ui.studio-theme .statement-balance-check:empty { display: none; }
.yogi-ui.studio-theme .statement-balance-check { display: grid; gap: 8px; padding: 14px 16px; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--line); }
.yogi-ui.studio-theme .statement-balance-head { display: grid; gap: 4px; }
.yogi-ui.studio-theme .statement-balance-head span { color: var(--muted); font-size: 13px; }
.yogi-ui.studio-theme .statement-balance-check .is-gain { color: var(--forest); }
.yogi-ui.studio-theme .statement-balance-check .is-loss { color: var(--danger); }
.yogi-ui.studio-theme .statement-balance-check details summary { cursor: pointer; font-size: 13px; }
.yogi-ui.studio-theme .statement-balance-check ul { margin: 8px 0 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13px; }

/* Recheck fixes (24 Oct): dark Setup headers, exposure and checklist text, small dates, small click targets. */
.yogi-ui.yogi-dark.studio-theme .setup-subsection > summary { background: var(--panel-soft) !important; color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme .setup-subsection > summary :is(small, span) { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme .exposure-account, .yogi-ui.yogi-dark.studio-theme .exposure-account :is(dt, span, b) { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme .exposure-account :is(dd, strong) { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme :is(.checklist-meter, .portfolio-account.is-active) :is(strong, span, small) { color: #10240f !important; }
.yogi-ui.studio-theme .setup-subsection > summary span { color: var(--muted) !important; }
.yogi-ui.studio-theme .checklist-history li small { font-size: 12px; }
.yogi-ui.studio-theme .history-ipo-link { min-height: 28px; padding: 4px 8px; }
.yogi-ui.studio-theme .checklist-history > summary { min-height: 32px; display: flex; align-items: center; }
.yogi-ui.yogi-dark.studio-theme .market-logo-image b { color: #17201a !important; } /* initials sit on the white logo disc */
.yogi-ui.studio-theme .personal-layout-controls details > summary { min-height: 32px; display: flex; align-items: center; cursor: pointer; }

/* Dark appearance, deep audit (24 Oct): every dialog and every hover state.
   Row hover used a near-white fill, and most dialogs kept light-mode panels and greys from base.css. */
.yogi-ui.yogi-dark.studio-theme tbody tr:hover > td, .yogi-ui.yogi-dark.studio-theme .erp-shell tbody tr:hover td { background: var(--fill) !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(.table-wrap, form.edit-account-form, .advisor-controls, .advisor-settings, .advisor-ipo-picker, .advisor-stat, .advisor-strategy, .advisor-footer,
  #voucherEntryForm, .voucher-meta, .voucher-lines, .voucher-line, .voucher-line-head, .voucher-marg-bar, .voucher-entry-footer, .voucher-account-picker button, #voucherSwapAccountsBtn,
  .market-quick-plan-add, .old-ipo-planner-footer, .funding-source-balance, .balance-choice-grid button, #cloudSyncStatus) {
  background: var(--panel-soft) !important; border-color: var(--line) !important; box-shadow: none !important; color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .advisor-strategy[aria-pressed=true] { background: var(--lime-soft) !important; outline-color: var(--lime) !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(.advisor-notice, .danger-confirmation-note) { background: #33291a !important; color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(p, small, th, label, legend, .eyebrow, .hint-box, .muted, .voucher-line-head span):not(.is-gain):not(.is-loss):not(.status-pill) { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(h2, h3, td, strong, summary, .advisor-check, .voucher-account-picker button, .savings-breakdown-account-btn, .earnings-toggle):not(.is-gain):not(.is-loss):not(.amount-negative):not(.amount-positive):not(.status-pill) { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(input, select, textarea) { color: var(--text); }
.yogi-ui.yogi-dark.studio-theme dialog .secondary-btn:not(.primary-btn) { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .voucher-debit-marker { background: var(--fill) !important; color: #8cc8ff !important; }
.yogi-ui.yogi-dark.studio-theme dialog .voucher-credit-marker { background: var(--fill) !important; color: #ffb38f !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(.voucher-debit-marker, .voucher-credit-marker) small { color: inherit !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(.voucher-line output, #voucherDebitLabel, #voucherCreditLabel, .voucher-line-head, .balance-choice-grid button span) { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .voucher-account-picker-list { background: var(--panel) !important; border-color: var(--line-strong) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .voucher-account-option { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog :is(.voucher-account-option:hover, .voucher-account-option.is-selected) { background: var(--fill) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .voucher-account-option b { color: var(--muted) !important; }
.yogi-ui.yogi-dark.studio-theme .status-neutral { background: var(--fill) !important; color: var(--text) !important; border-color: var(--line-strong) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .dialog-header button { color: var(--text) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .icon-btn { background: var(--fill) !important; color: var(--text) !important; border-color: var(--line-strong) !important; }
.yogi-ui.yogi-dark.studio-theme dialog .voucher-entry-footer span { color: var(--muted) !important; }
/* Light appearance: dialog hints and captions that sat just under 4.5:1. */
.yogi-ui.studio-theme:not(.yogi-dark) dialog :is(.hint-box, small, .voucher-line-head span, .balance-choice-grid button span, .old-ipo-planner-footer span, #voucherEntryHint):not(.is-gain):not(.is-loss) { color: #555b53 !important; }
.yogi-ui.studio-theme:not(.yogi-dark) .status-neutral { color: #4f5a48 !important; }

/* Sign in with Google and the invite list. */
.yogi-ui .google-login-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 44px; margin-top: 10px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--panel); color: var(--ink); font: inherit; font-weight: 600; cursor: pointer; }
.yogi-ui .google-login-btn:hover { background: var(--fill); }
.yogi-ui.studio-theme .invites-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.yogi-ui.studio-theme .invites-list li { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--line); }
.yogi-ui.studio-theme .invites-list li span { display: grid; gap: 2px; }
.yogi-ui.studio-theme .invites-list small { color: var(--muted); }

/* Account ledger: a row opens its details; Edit and Delete appear on the row you point at or select (always on touch). */
@media (hover: hover) {
  .yogi-ui.studio-theme .account-ledger-movement-row .account-ledger-workspace-actions { opacity: 0; transition: opacity .15s var(--ease-out); }
  .yogi-ui.studio-theme .account-ledger-movement-row:is(:hover, :focus-within, .is-selected) .account-ledger-workspace-actions { opacity: 1; }
}
.yogi-ui.studio-theme .account-ledger-movement-row { cursor: pointer; }

/* Inline form errors. */
.yogi-ui.studio-theme .field-error { display: block; margin-top: 4px; color: var(--danger); font-size: 12px; font-weight: 600; }
.yogi-ui.studio-theme [aria-invalid="true"] { box-shadow: 0 0 0 2px var(--danger) !important; }

/* ===================== Sign-in, 3D (25 Oct) =====================
   A cinematic stage: one dark scene lit in lime, with real depth (perspective + preserve-3d). The scene and the
   card tilt toward the pointer (yogi-ui.js sets --rx/--ry); nothing moves on its own, and Reduce Motion keeps it still. */
.yogi-ui .auth-gate {
  --rx: 0deg; --ry: 0deg;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 460px); gap: clamp(24px, 4vw, 72px); align-items: center;
  padding: clamp(20px, 4vw, 56px);
  background: radial-gradient(900px 600px at 20% 30%, rgba(183, 236, 125, .16), transparent 60%),
              radial-gradient(700px 520px at 85% 85%, rgba(158, 221, 92, .10), transparent 60%),
              linear-gradient(160deg, #0f1a12 0%, #0a120c 55%, #060a07 100%);
  perspective: 1400px;
}
.yogi-ui .auth-stage { position: relative; justify-self: stretch; width: 100%; max-width: 760px; height: min(78vh, 680px); min-height: 520px; perspective: 1200px; }
.yogi-ui .auth-glow { position: absolute; border-radius: 50%; filter: blur(60px); pointer-events: none; }
.yogi-ui .auth-glow-a { width: 46%; height: 46%; left: 14%; top: 18%; background: rgba(183, 236, 125, .22); }
.yogi-ui .auth-glow-b { width: 30%; height: 30%; right: 8%; bottom: 20%; background: rgba(120, 200, 150, .14); }
.yogi-ui .auth-scene {
  position: absolute; inset: 0 0 140px 0; transform-style: preserve-3d;
  transform: rotateX(calc(14deg + var(--rx))) rotateY(calc(-18deg + var(--ry))); transition: transform .5s var(--ease-out);
}
.yogi-ui .auth-floor {
  position: absolute; left: 6%; right: 6%; top: 58%; height: 46%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(183, 236, 125, .18), transparent 70%); transform: rotateX(78deg) translateZ(-60px);
}
.yogi-ui .auth-tile {
  position: absolute; box-sizing: border-box; border-radius: 26px; color: #f2f7ee; transform-style: preserve-3d;
  background: linear-gradient(155deg, rgba(42, 56, 44, .96), rgba(22, 31, 24, .96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 2px 0 #121a14, 0 4px 0 #101712, 0 6px 0 #0e150f, 0 8px 0 #0c120d,
              0 40px 60px -20px rgba(0, 0, 0, .7);
}
.yogi-ui .auth-tile strong { display: block; font: 500 clamp(30px, 3.4vw, 44px)/1.05 var(--font-display); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.yogi-ui .auth-tile-funds { left: 6%; top: 10%; width: 58%; padding: 26px 28px; transform: translateZ(40px); }
.yogi-ui .auth-tile-label { display: block; margin-bottom: 12px; color: #b7c4b2; font-size: 13px; }
.yogi-ui .auth-tile-row { display: flex; align-items: center; gap: 8px; margin-top: 16px; color: #c9d6c4; font-size: 13px; }
.yogi-ui .auth-tile-row i { width: 9px; height: 9px; border-radius: 50%; background: #b7ec7d; }
.yogi-ui .auth-tile-row i.is-held { margin-left: 10px; background: #5f8a4d; }
.yogi-ui .auth-tile-lime {
  right: 6%; top: 40%; width: 44%; padding: 22px 24px; color: #10240f; transform: translateZ(110px);
  background: linear-gradient(150deg, #cdf59c, #a8e26a);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55), 0 2px 0 #8fcf55, 0 4px 0 #84c54b, 0 6px 0 #79bb42, 0 8px 0 #6eb039,
              0 40px 60px -18px rgba(70, 120, 30, .55);
}
.yogi-ui .auth-tile-lime strong { color: #10240f; }
.yogi-ui .auth-tile-lime > span:last-child { display: block; margin-top: 8px; font-size: 13px; font-weight: 600; }
.yogi-ui .auth-tile-badge { display: inline-block; margin-bottom: 10px; padding: 5px 10px; border-radius: 999px; background: #143720; color: #cdf59c; font-size: 12px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.yogi-ui .auth-tile-ticket { left: 12%; top: 62%; display: flex; align-items: center; gap: 12px; padding: 14px 18px 14px 14px; transform: translateZ(170px); }
.yogi-ui .auth-tile-ticket b { display: block; font-size: 16px; }
.yogi-ui .auth-tile-ticket small { color: #b7c4b2; font-size: 12px; }
.yogi-ui .auth-tick { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: #b7ec7d; color: #10240f; }
.yogi-ui .auth-ring {
  position: absolute; right: 16%; top: 4%; width: 120px; height: 120px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(closest-side, #18221a 70%, transparent 71%), conic-gradient(#b7ec7d 0 89%, #2c3a2d 0);
  box-shadow: 0 30px 40px -18px rgba(0, 0, 0, .7); transform: translateZ(70px);
}
.yogi-ui .auth-ring span { text-align: center; color: #f2f7ee; font: 600 22px/1 var(--font-display); }
.yogi-ui .auth-ring small { display: block; margin-top: 4px; color: #b7c4b2; font: 500 12px var(--font-ui); }
.yogi-ui .auth-coin { position: absolute; left: 36%; top: 60%; width: 104px; height: 104px; transform-style: preserve-3d; transform: translateZ(230px) rotateY(-24deg) rotateX(8deg); }
.yogi-ui .auth-coin-face {
  width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; color: #27461a; font: 700 46px/1 var(--font-display);
  background: radial-gradient(circle at 34% 30%, #f0ffd8 0%, #c9f08f 30%, #a4dc63 62%, #7fb842 100%);
  box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .25), inset 0 -10px 18px rgba(60, 100, 20, .35),
              2px 2px 0 #8cc451, 4px 4px 0 #82ba48, 6px 6px 0 #78b03f, 8px 8px 0 #6ea636, 10px 10px 0 #649c2e,
              24px 34px 40px -8px rgba(0, 0, 0, .55);
}
.yogi-ui .auth-stage-copy { position: absolute; left: 6%; right: 6%; bottom: 0; color: #f2f7ee; }
.yogi-ui .auth-stage-kicker { margin: 0 0 10px; color: #b7ec7d; font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.yogi-ui .auth-stage-copy h2 { margin: 0 0 10px; color: #f4f8f1; font: 500 clamp(26px, 2.6vw, 36px)/1.12 var(--font-display); letter-spacing: -.025em; }
.yogi-ui .auth-stage-copy p:last-child { margin: 0; max-width: 460px; color: #c3cfbe; font-size: 15px; line-height: 1.5; }

/* The card: a solid slab with a lit top edge and an extruded base, tilting a little with the pointer. */
.yogi-ui .auth-card {
  position: relative; width: 100%; max-width: 460px; margin: 0; padding: 38px 36px 30px;
  transform: rotateX(calc(var(--rx) * -.35)) rotateY(calc(var(--ry) * -.35)); transform-style: preserve-3d; transition: transform .5s var(--ease-out);
  background: linear-gradient(180deg, #ffffff, #f6f8f3);
  box-shadow: inset 0 1px 0 #fff, 0 1px 0 #e3e8dd, 0 3px 0 #d9dfd2, 0 5px 0 #cfd6c7, 0 7px 0 #c5cdbd,
              0 50px 90px -30px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .06);
}
.yogi-ui.yogi-dark .auth-card {
  background: linear-gradient(180deg, #1f261f, #181e18);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 2px 0 #121712, 0 4px 0 #0f130f, 0 6px 0 #0c100c,
              0 50px 90px -30px rgba(0, 0, 0, .85), 0 0 0 1px rgba(183, 236, 125, .10);
}
.yogi-ui .auth-card .primary-btn {
  background: linear-gradient(180deg, #24593a, #17402a) !important; color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 0 #0f2a1c, 0 10px 20px -8px rgba(20, 60, 35, .6) !important;
  transition: transform .15s var(--ease-out), box-shadow .15s var(--ease-out);
}
.yogi-ui .auth-card .primary-btn:active { transform: translateY(2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 0 0 #0f2a1c, 0 4px 10px -6px rgba(20, 60, 35, .6) !important; }
.yogi-ui.yogi-dark .auth-card .primary-btn { background: linear-gradient(180deg, #c6f28f, #a8e26a) !important; color: #10240f !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 2px 0 #6eb039, 0 10px 20px -8px rgba(110, 176, 57, .5) !important; }
.yogi-ui .auth-form input:not([type=hidden]):not([type=checkbox]) { box-shadow: inset 0 2px 4px rgba(20, 40, 25, .08), inset 0 0 0 1px var(--line-strong); }
.yogi-ui .auth-card .google-login-btn { box-shadow: 0 2px 0 var(--line-strong), 0 6px 14px -8px rgba(0, 0, 0, .25); }
.yogi-ui .auth-brand img, .yogi-ui .brand-logo-auth { box-shadow: 0 3px 0 #a8d977, 0 12px 20px -10px rgba(80, 140, 40, .6); }

@media (prefers-reduced-motion: reduce) {
  .yogi-ui .auth-scene, .yogi-ui .auth-card { transition: none; }
}
/* Narrow windows: the scene becomes a short banner above the card, then disappears on phones. */
@media (max-width: 960px) {
  .yogi-ui .auth-gate { grid-template-columns: 1fr; justify-items: center; align-content: start; }
  .yogi-ui .auth-stage { width: 100%; max-width: 520px; height: 300px; min-height: 0; }
  .yogi-ui .auth-scene { inset: 0; transform: scale(.7) rotateX(calc(14deg + var(--rx))) rotateY(calc(-18deg + var(--ry))); }
  .yogi-ui .auth-stage-copy { display: none; }
}
@media (max-width: 560px) {
  .yogi-ui .auth-stage { display: none; }
  .yogi-ui .auth-gate { align-content: start; }  /* a tall card scrolls from its top instead of being cut off */
}
.yogi-ui.yogi-dark .auth-card #authModeToggle { background: var(--fill) !important; color: var(--lime) !important; box-shadow: 0 2px 0 #0c100c !important; }
.yogi-ui .auth-card #authModeToggle { box-shadow: 0 2px 0 var(--line-strong), 0 6px 14px -8px rgba(0, 0, 0, .2); }

/* Accessibility pass: comfortable checkboxes (the label stays the full click area), no pointer on cards that do nothing. */
.yogi-ui.studio-theme input[type="checkbox"] { width: 20px; height: 20px; accent-color: var(--forest); cursor: pointer; flex: none; }
.yogi-ui.yogi-dark.studio-theme input[type="checkbox"] { accent-color: var(--lime); }
.yogi-ui.studio-theme div.capacity-balance-card { cursor: default; }
.yogi-ui.studio-theme [role="button"][tabindex]:focus-visible { outline: 3px solid #4f9d2a !important; outline-offset: 2px !important; }

/* ===================== Application checklist, 3D (25 Oct) ===================== */
.yogi-ui.studio-theme .checklist-hero { display: grid; grid-template-columns: auto 1fr; gap: 20px; align-items: center; margin: 4px 0 16px; perspective: 900px; }
.yogi-ui.studio-theme .checklist-ring {
  --pct: 0; position: relative; width: 132px; height: 132px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(closest-side, var(--panel) 72%, transparent 73%), conic-gradient(var(--lime-strong) calc(var(--pct) * 1%), var(--fill) 0);
  box-shadow: 0 2px 0 var(--line-strong), 0 4px 0 var(--line), 0 18px 30px -14px rgba(20, 60, 30, .45);
  transform: rotateX(18deg); transition: background .5s var(--ease-out);
}
.yogi-ui.studio-theme .checklist-ring span { text-align: center; transform: translateZ(20px); }
.yogi-ui.studio-theme .checklist-ring strong { display: block; color: var(--ink); font: 600 26px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .checklist-ring small { color: var(--muted); font-size: 12px; }
.yogi-ui.studio-theme .checklist-ring.is-complete { background: radial-gradient(closest-side, var(--lime-soft) 72%, transparent 73%), conic-gradient(var(--forest) 100%, var(--fill) 0); }
.yogi-ui.studio-theme .checklist-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.yogi-ui.studio-theme .checklist-stat {
  padding: 14px 16px; border-radius: 16px; background: var(--panel); transform: rotateX(10deg);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 0 0 1px var(--line), 0 3px 0 var(--line-strong), 0 14px 24px -14px rgba(0, 0, 0, .35);
}
.yogi-ui.studio-theme .checklist-stat small { display: block; color: var(--muted); font-size: 12px; }
.yogi-ui.studio-theme .checklist-stat strong { display: block; margin-top: 4px; color: var(--ink); font: 600 22px/1.1 var(--font-display); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .checklist-stat.is-warn strong { color: #a3480f; }
.yogi-ui.yogi-dark.studio-theme .checklist-stat.is-warn strong { color: var(--warn); }
.yogi-ui.studio-theme .checklist-stat.is-warn.is-clear strong { color: var(--forest); }
.yogi-ui.yogi-dark.studio-theme .checklist-stat { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 0 1px var(--line), 0 3px 0 #0c100c, 0 14px 24px -14px rgba(0, 0, 0, .7); }
/* Rows as raised tiles. */
.yogi-ui.studio-theme .application-checklist-table-wrap { background: transparent !important; box-shadow: none !important; overflow: visible; }
.yogi-ui.studio-theme .application-checklist-dialog table { border-collapse: separate; border-spacing: 0 8px; }
.yogi-ui.studio-theme #applicationChecklistRows tr { background: var(--panel); box-shadow: 0 0 0 1px var(--line), 0 2px 0 var(--line-strong), 0 10px 18px -14px rgba(0, 0, 0, .35); transition: transform .2s var(--ease-out), box-shadow .2s var(--ease-out); }
.yogi-ui.studio-theme #applicationChecklistRows td { background: transparent !important; border: 0 !important; }
.yogi-ui.studio-theme #applicationChecklistRows td:first-child { border-radius: 14px 0 0 14px; }
.yogi-ui.studio-theme #applicationChecklistRows td:last-child { border-radius: 0 14px 14px 0; }
.yogi-ui.studio-theme #applicationChecklistRows tr.is-applied { background: color-mix(in srgb, var(--lime-soft) 70%, var(--panel)); }
@media (hover: hover) { .yogi-ui.studio-theme #applicationChecklistRows tr:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px var(--line-strong), 0 4px 0 var(--line-strong), 0 18px 28px -16px rgba(0, 0, 0, .45); } }
/* The Applied box: a raised stamp that presses in and turns lime with a tick. */
.yogi-ui.studio-theme .application-checklist-applied {
  appearance: none; -webkit-appearance: none; width: 30px !important; height: 30px !important; margin: 0; border-radius: 10px; cursor: pointer;
  background: var(--panel); box-shadow: inset 0 0 0 1.5px var(--line-strong), 0 3px 0 var(--line-strong); display: grid; place-items: center;
  transition: transform .15s var(--ease-out), box-shadow .15s var(--ease-out), background .2s;
}
.yogi-ui.studio-theme .application-checklist-applied::after { content: ""; width: 12px; height: 7px; border: solid #10240f; border-width: 0 0 3px 3px; transform: rotate(-45deg) scale(0); margin-top: -3px; transition: transform .2s var(--ease-out); }
.yogi-ui.studio-theme .application-checklist-applied:checked { background: var(--lime); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 3px 0 #79bb42; }
.yogi-ui.studio-theme .application-checklist-applied:checked::after { transform: rotate(-45deg) scale(1); }
.yogi-ui.studio-theme .application-checklist-applied:active { transform: translateY(2px); box-shadow: inset 0 0 0 1.5px var(--line-strong), 0 1px 0 var(--line-strong); }
@media (max-width: 720px) { .yogi-ui.studio-theme .checklist-hero { grid-template-columns: 1fr; justify-items: center; } .yogi-ui.studio-theme .checklist-stats { width: 100%; } }

/* ===================== 3D motion across the app (25 Oct) =====================
   Depth with purpose: windows rise toward you, screens settle into place, cards lean toward the pointer and
   buttons press in. Transform and opacity only; all of it is off with Reduce Motion or Interactive motion off. */
@keyframes yogi-rise-3d { from { opacity: 0; transform: perspective(1200px) rotateX(7deg) translateY(16px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes yogi-row-flip { from { opacity: 0; transform: perspective(900px) rotateX(-12deg) translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes yogi-stamp { 0% { transform: scale(1); } 40% { transform: scale(.86) translateY(2px); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: no-preference) {
  /* Windows: tip up from slightly below, like a card lifted toward you; leave the same way. */
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog:not(.account-ledger-workspace-dialog) {
    transform: perspective(1400px) rotateX(9deg) translateY(22px) scale(.96); transform-origin: 50% 100%;
    transition: opacity 220ms ease, transform 380ms cubic-bezier(.16, 1, .3, 1), overlay 380ms allow-discrete, display 380ms allow-discrete;
  }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog:not(.account-ledger-workspace-dialog)[open] { transform: none; }
  @starting-style {
    .yogi-ui.studio-theme:not(.studio-reduced-motion) dialog:not(.account-ledger-workspace-dialog)[open] { opacity: 0; transform: perspective(1400px) rotateX(9deg) translateY(22px) scale(.96); }
  }
  /* Screens: each section settles into place, a few at a time. */
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .tab-section.active > :is(section, .panel, header, article, div):not([hidden]) { animation: yogi-rise-3d 420ms cubic-bezier(.16, 1, .3, 1) backwards; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .tab-section.active > :nth-child(2) { animation-delay: 40ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .tab-section.active > :nth-child(3) { animation-delay: 80ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .tab-section.active > :nth-child(4) { animation-delay: 120ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .tab-section.active > :nth-child(n+5) { animation-delay: 160ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) #summaryCards > .summary-market-card { animation: yogi-rise-3d 460ms cubic-bezier(.16, 1, .3, 1) backwards; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) #summaryCards > .summary-market-card:nth-child(2) { animation-delay: 50ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) #summaryCards > .summary-market-card:nth-child(3) { animation-delay: 100ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) #summaryCards > .summary-market-card:nth-child(4) { animation-delay: 150ms; }
  /* Checklist rows flip up one after another; ticking stamps the box. */
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .application-checklist-dialog[open] #applicationChecklistRows tr { animation: yogi-row-flip 360ms cubic-bezier(.16, 1, .3, 1) backwards; animation-delay: calc(var(--i, 0) * 35ms + 120ms); }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .application-checklist-applied:checked { animation: yogi-stamp 260ms cubic-bezier(.16, 1, .3, 1); }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .application-checklist-dialog[open] :is(.checklist-ring, .checklist-stat) { animation: yogi-rise-3d 480ms cubic-bezier(.16, 1, .3, 1) backwards; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .application-checklist-dialog[open] .checklist-stat:nth-child(2) { animation-delay: 60ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .application-checklist-dialog[open] .checklist-stat:nth-child(3) { animation-delay: 120ms; }
  /* Menus drop down from their trigger with a little depth. */
  .yogi-ui.studio-theme:not(.studio-reduced-motion) details[open] > :is(.studio-popover, .nav-more-menu) { animation: yogi-rise-3d 260ms cubic-bezier(.16, 1, .3, 1) backwards; transform-origin: 50% 0; }
  /* Buttons: a raised edge that presses in. */
  .yogi-ui.studio-theme:not(.studio-reduced-motion) :is(.primary-btn, .secondary-btn) { transition: transform .12s var(--ease-out), box-shadow .12s var(--ease-out), background .15s; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) :is(.primary-btn, .secondary-btn):active:not(:disabled) { transform: translateY(1px) scale(.985); }
}
/* Raised main buttons (static depth, no motion needed). */
.yogi-ui.studio-theme .erp-shell .primary-btn, .yogi-ui.studio-theme dialog .primary-btn { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .18), 0 2px 0 #0f2a1c, 0 8px 16px -10px rgba(20, 60, 35, .55) !important; }
.yogi-ui.yogi-dark.studio-theme .erp-shell .primary-btn, .yogi-ui.yogi-dark.studio-theme dialog .primary-btn { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .45), 0 2px 0 #6eb039, 0 8px 16px -10px rgba(110, 176, 57, .5) !important; }

/* ===================== Planner window: interactive, 3D (25 Oct) ===================== */
.yogi-ui.studio-theme .capacity-advisor [data-results] { transition: opacity .2s ease, filter .2s ease; }
.yogi-ui.studio-theme .capacity-advisor [data-results].is-calculating { opacity: .55; filter: saturate(.6); pointer-events: none; }
/* Totals: raised tiles; the shortfall tile glows amber, the remaining tile lime. */
.yogi-ui.studio-theme .capacity-advisor .advisor-stats { perspective: 900px; }
.yogi-ui.studio-theme .capacity-advisor .advisor-stat {
  border-radius: 18px !important; background: var(--panel) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 0 0 1px var(--line), 0 3px 0 var(--line-strong), 0 16px 26px -16px rgba(0, 0, 0, .35) !important;
}
.yogi-ui.studio-theme .capacity-advisor .advisor-stat strong { font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .capacity-advisor .advisor-stat[data-key="shortfall"] { background: linear-gradient(160deg, #fff4dc, #ffe7b8) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 0 0 1px #f0cf8a, 0 3px 0 #e2b964, 0 16px 26px -14px rgba(180, 120, 20, .45) !important; }
.yogi-ui.studio-theme .capacity-advisor .advisor-stat[data-key="shortfall"] :is(span, strong) { color: #8a4b00 !important; }
.yogi-ui.studio-theme .capacity-advisor .advisor-stat[data-key="remaining"] { background: linear-gradient(160deg, #f2fbe6, #e2f6c8) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 0 0 1px #cde9a8, 0 3px 0 #b5dc83, 0 16px 26px -14px rgba(90, 150, 40, .4) !important; }
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-stat { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 0 0 1px var(--line), 0 3px 0 #0c100c, 0 16px 26px -16px rgba(0, 0, 0, .7) !important; }
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-stat[data-key="shortfall"] { background: #3a2c14 !important; box-shadow: 0 0 0 1px #6b5122, 0 3px 0 #22190b !important; }
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-stat[data-key="shortfall"] :is(span, strong) { color: #ffc978 !important; }
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-stat[data-key="remaining"] { background: var(--lime-soft) !important; box-shadow: 0 0 0 1px #3d5229, 0 3px 0 #18230f !important; }
/* Funding gauge. */
.yogi-ui.studio-theme .advisor-gauge { margin: 4px 0 14px; }
.yogi-ui.studio-theme .advisor-gauge-track { position: relative; display: flex; height: 14px; border-radius: 999px; background: var(--fill); box-shadow: inset 0 2px 4px rgba(0, 0, 0, .12); overflow: visible; }
.yogi-ui.studio-theme .advisor-gauge-track i { display: block; height: 100%; width: var(--w); transition: width .45s cubic-bezier(.16, 1, .3, 1); }
.yogi-ui.studio-theme .advisor-gauge-track i:first-child { border-radius: 999px 0 0 999px; }
.yogi-ui.studio-theme .advisor-gauge-track i:last-of-type { border-radius: 0 999px 999px 0; }
.yogi-ui.studio-theme .advisor-gauge .is-own { background: linear-gradient(180deg, #2f6b45, #1c4a2b); }
.yogi-ui.studio-theme .advisor-gauge .is-transfer { background: linear-gradient(180deg, #c6f28f, #9edd5c); }
.yogi-ui.studio-theme .advisor-gauge .is-short { background: repeating-linear-gradient(135deg, #e0393e 0 6px, #f06b6f 6px 12px); }
.yogi-ui.studio-theme .advisor-gauge-limit { position: absolute; top: -5px; bottom: -5px; left: var(--at); width: 2px; border-radius: 2px; background: var(--ink); }
.yogi-ui.studio-theme .advisor-gauge-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 8px; font-size: 12px; color: var(--muted); }
.yogi-ui.studio-theme .advisor-gauge-legend > span { display: inline-flex; align-items: center; gap: 6px; background: none !important; }
.yogi-ui.studio-theme .advisor-gauge-legend i { width: 10px; height: 10px; border-radius: 3px; }
.yogi-ui.studio-theme .advisor-gauge-legend .is-own i { background: #1c4a2b; }
.yogi-ui.studio-theme .advisor-gauge-legend .is-transfer i { background: #9edd5c; }
.yogi-ui.studio-theme .advisor-gauge-legend .is-short i { background: #e0393e; }
.yogi-ui.yogi-dark.studio-theme .advisor-gauge .advisor-gauge-track .is-own { background: linear-gradient(180deg, #5f9a4a, #3f7a32); }
.yogi-ui.yogi-dark.studio-theme .advisor-gauge-limit { background: var(--text); }
@keyframes yogi-flash-row { 0% { box-shadow: 0 0 0 2px var(--lime-strong), 0 0 0 8px rgba(158, 221, 92, .35); } 100% { box-shadow: 0 0 0 1px var(--line), 0 2px 0 var(--line-strong), 0 10px 18px -14px rgba(0, 0, 0, .35); } }
@media (prefers-reduced-motion: no-preference) {
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .capacity-advisor [data-results]:not(.is-recalc) .advisor-table-wrap tbody tr { animation: yogi-row-flip 360ms cubic-bezier(.16, 1, .3, 1) backwards; animation-delay: calc(var(--i, 0) * 35ms + 80ms); }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .capacity-advisor [data-results]:not(.is-recalc) :is(.advisor-stat, .advisor-gauge) { animation: yogi-rise-3d 420ms cubic-bezier(.16, 1, .3, 1) backwards; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .capacity-advisor .advisor-table-wrap tbody tr.is-changed { animation: yogi-flash-row 900ms ease-out; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .capacity-advisor .advisor-stat:nth-child(2) { animation-delay: 50ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .capacity-advisor .advisor-stat:nth-child(3) { animation-delay: 100ms; }
  .yogi-ui.studio-theme:not(.studio-reduced-motion) .capacity-advisor .advisor-stat:nth-child(4) { animation-delay: 150ms; }
}
@media (prefers-reduced-motion: reduce) { .yogi-ui.studio-theme .advisor-gauge-track i, .yogi-ui.studio-theme .advisor-row-split i { transition: none; } }

/* ===================== Planner rows: allocation cards (25 Oct, v2) =====================
   One card per account on a 3-column grid: who | category chips + lots | money. The table markup stays for
   keyboard, screen readers and tests; the select is kept but replaced on screen by chips. */
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap { margin: 6px 0 0 !important; padding: 2px 4px 8px; background: transparent !important; box-shadow: none !important; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap table { display: block; width: 100%; border: 0; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap :is(thead, tbody) { display: block; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap tr {
  display: grid; grid-template-columns: minmax(200px, 1.15fr) minmax(300px, 1.6fr) minmax(220px, 1.1fr); align-items: center; gap: 20px;
}
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap thead tr { padding: 0 18px 8px; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap th { position: static; padding: 0; background: none !important; border: 0 !important; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap th:nth-child(3) { text-align: right; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap :is(th, td):is(:nth-child(4), :nth-child(5)) { display: none; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap tbody tr {
  margin: 0 0 10px; padding: 14px 18px; border-radius: 18px; background: var(--panel);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 0 0 1px var(--line), 0 2px 0 var(--line-strong), 0 12px 22px -16px rgba(20, 40, 25, .35);
  transition: transform .18s var(--ease-out), box-shadow .18s var(--ease-out);
}
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap tbody tr[hidden] { display: none; }
.yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap td { padding: 0 !important; border: 0 !important; background: none !important; min-width: 0; }
@media (hover: hover) {
  .yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap tbody tr:hover { transform: translateY(-2px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 0 0 1px var(--line-strong), 0 4px 0 var(--line-strong), 0 20px 30px -18px rgba(20, 40, 25, .45); }
}
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-table-wrap tbody tr { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 0 0 1px var(--line), 0 2px 0 #0c100c, 0 12px 22px -16px rgba(0, 0, 0, .7); }
/* Who */
.yogi-ui.studio-theme .capacity-advisor td:first-child { display: flex; align-items: center; gap: 12px; }
.yogi-ui.studio-theme .advisor-avatar {
  flex: none; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 13px; color: #10240f; font-weight: 700; font-size: 13px;
  background: linear-gradient(150deg, #d6f7ab, #a8e26a); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 2px 0 #84c54b;
}
.yogi-ui.studio-theme .advisor-who { display: grid; gap: 2px; min-width: 0; }
.yogi-ui.studio-theme .advisor-who strong { overflow: hidden; color: var(--ink); font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.yogi-ui.studio-theme .advisor-who span { overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
/* Category chips + lots */
.yogi-ui.studio-theme .advisor-category-cell { display: grid; gap: 8px; }
.yogi-ui.studio-theme .advisor-category-cell > :is(select, .cool-select) { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; opacity: 0 !important; pointer-events: none !important; }
.yogi-ui.studio-theme .advisor-chips { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 14px; background: var(--fill); width: max-content; max-width: 100%; }
.yogi-ui.studio-theme .advisor-chip {
  display: inline-flex; align-items: baseline; gap: 6px; min-height: 34px; padding: 6px 12px; border: 0; border-radius: 10px; background: transparent;
  color: var(--muted); font: 500 13px var(--font-ui); cursor: pointer; transition: background .15s, color .15s, box-shadow .15s, transform .12s;
}
.yogi-ui.studio-theme .advisor-chip b { color: var(--text); font-weight: 650; }
.yogi-ui.studio-theme .advisor-chip span { font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .advisor-chip:hover { color: var(--text); background: color-mix(in srgb, var(--panel) 60%, transparent); }
.yogi-ui.studio-theme .advisor-chip[aria-checked="true"] { background: var(--panel); color: var(--ink); box-shadow: 0 0 0 1px var(--line-strong), 0 2px 0 var(--line-strong), 0 6px 12px -8px rgba(0, 0, 0, .3); }
.yogi-ui.studio-theme .advisor-chip[aria-checked="true"] b { color: var(--forest); }
.yogi-ui.studio-theme .advisor-chip:active { transform: translateY(1px); }
.yogi-ui.yogi-dark.studio-theme .advisor-chip[aria-checked="true"] { background: var(--panel-soft); box-shadow: 0 0 0 1px #3d5229, 0 2px 0 #0c100c; }
.yogi-ui.yogi-dark.studio-theme .advisor-chip[aria-checked="true"] b { color: var(--lime); }
.yogi-ui.studio-theme .advisor-lot-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.yogi-ui.studio-theme .advisor-lot-row small { color: var(--muted); font-size: 12px; }
.yogi-ui.studio-theme .capacity-advisor .advisor-lots { display: inline-flex !important; align-items: center; gap: 0 !important; height: 34px; padding: 0 !important; border-radius: 12px; background: var(--panel); box-shadow: 0 0 0 1px var(--line-strong), 0 2px 0 var(--line-strong); overflow: hidden; }
.yogi-ui.studio-theme .capacity-advisor .advisor-lots .secondary-btn { width: 34px !important; min-width: 0 !important; height: 34px !important; min-height: 0 !important; padding: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--forest) !important; font-size: 18px; font-weight: 600; }
.yogi-ui.studio-theme .capacity-advisor .advisor-lots .secondary-btn:hover:not(:disabled) { background: var(--fill) !important; }
.yogi-ui.studio-theme .capacity-advisor .advisor-lots .secondary-btn:disabled { color: var(--line-strong) !important; }
.yogi-ui.studio-theme .capacity-advisor .advisor-lots input { width: 46px !important; min-height: 0 !important; height: 34px; padding: 0 !important; border: 0 !important; border-inline: 1px solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; text-align: center; font-weight: 650; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.yogi-ui.studio-theme .capacity-advisor .advisor-lots input::-webkit-inner-spin-button, .yogi-ui.studio-theme .capacity-advisor .advisor-lots input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-lots { background: var(--panel-soft); box-shadow: 0 0 0 1px var(--line-strong), 0 2px 0 #0c100c; }
.yogi-ui.yogi-dark.studio-theme .capacity-advisor .advisor-lots .secondary-btn { color: var(--lime) !important; }
/* Money */
.yogi-ui.studio-theme .advisor-money { display: grid; justify-items: end; gap: 6px; text-align: right; color: var(--ink); font: 600 18px/1.1 var(--font-display); font-variant-numeric: tabular-nums; }
.yogi-ui.studio-theme .advisor-money .advisor-row-split { width: min(100%, 200px); height: 8px; margin: 0; border-radius: 999px; background: linear-gradient(180deg, #d3f5ad, #a8e26a); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .12); overflow: hidden; }
.yogi-ui.studio-theme .advisor-money .advisor-row-split i { height: 100%; background: linear-gradient(180deg, #2f6b45, #1c4a2b); border-radius: 999px 0 0 999px; }
.yogi-ui.studio-theme .advisor-money-caption { display: flex; gap: 10px; color: var(--muted); font: 500 12px var(--font-ui); }
.yogi-ui.studio-theme .advisor-money-caption span:first-child::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; background: #1c4a2b; }
.yogi-ui.studio-theme .advisor-money-caption span:last-child::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 2px; background: #a8e26a; }
.yogi-ui.yogi-dark.studio-theme .advisor-money .advisor-row-split i, .yogi-ui.yogi-dark.studio-theme .advisor-money-caption span:first-child::before { background: #5f9a4a; }
/* Bulk actions: a quiet label and small chips. */
.yogi-ui.studio-theme .capacity-advisor .advisor-bulk-tools { gap: 6px !important; padding: 6px; border-radius: 14px; background: var(--fill); }
.yogi-ui.studio-theme .capacity-advisor .advisor-bulk-scope { flex: 1 1 260px; padding-left: 8px; color: var(--muted) !important; font-size: 12px !important; }
.yogi-ui.studio-theme .capacity-advisor .advisor-bulk-tools button { min-height: 32px !important; padding: 6px 12px !important; border-radius: 10px !important; background: var(--panel) !important; box-shadow: 0 0 0 1px var(--line), 0 1px 0 var(--line-strong) !important; font-size: 12px !important; font-weight: 600; }
.yogi-ui.studio-theme .capacity-advisor .advisor-bulk-tools button:disabled { opacity: .45; box-shadow: none !important; background: transparent !important; }
/* Narrow windows: card stacks into rows. */
@media (max-width: 900px) {
  .yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap tr { grid-template-columns: 1fr; gap: 12px; }
  .yogi-ui.studio-theme .capacity-advisor .advisor-table-wrap thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .yogi-ui.studio-theme .advisor-money { justify-items: start; text-align: left; }
}

/* `hidden` always hides: component display rules (buttons are inline-flex) used to override it. */
.yogi-ui [hidden]:not(dialog) { display: none !important; }

/* ── Dock, genie windows, Mac switches and sliders, notepad (25 Oct) ── */
/* Mac switches: any checkbox marked role="switch". */
.yogi-ui.studio-theme input[type=checkbox][role=switch] {
  appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 38px !important; height: 22px !important; min-height: 22px !important;
  margin: 0; border: 0 !important; border-radius: 999px; background: #dfe3da !important; cursor: pointer; vertical-align: middle;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06), inset 0 1px 2px rgba(0, 0, 0, .08); transition: background .22s ease;
}
.yogi-ui.studio-theme input[type=checkbox][role=switch]::before {
  content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .18), 0 0 0 .5px rgba(0, 0, 0, .06);
  transition: transform .26s cubic-bezier(.3, 1.4, .5, 1), width .15s ease;
}
.yogi-ui.studio-theme input[type=checkbox][role=switch]:active::before { width: 22px; }
.yogi-ui.studio-theme input[type=checkbox][role=switch]:checked { background: linear-gradient(180deg, #8fd34f, #5fb02c) !important; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.yogi-ui.studio-theme input[type=checkbox][role=switch]:checked::before { transform: translateX(16px); }
.yogi-ui.studio-theme input[type=checkbox][role=switch]:checked:active::before { transform: translateX(12px); }
.yogi-ui.studio-theme input[type=checkbox][role=switch]:disabled { opacity: .45; cursor: not-allowed; }
.yogi-ui.studio-theme input[type=checkbox][role=switch]:focus-visible { outline: 3px solid rgba(110, 176, 57, .45); outline-offset: 2px; }
.yogi-ui.yogi-dark.studio-theme input[type=checkbox][role=switch]:not(:checked) { background: #3a3f37 !important; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06); }

/* Mac sliders */
.yogi-ui.studio-theme input[type=range] {
  appearance: none; -webkit-appearance: none; width: 100%; height: 22px; min-height: 22px; margin: 0; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; cursor: pointer; --fill: 50%;
}
.yogi-ui.studio-theme input[type=range]::-webkit-slider-runnable-track {
  height: 4px; border-radius: 999px; background: linear-gradient(90deg, #6eb039 var(--fill), #dfe3da var(--fill));
  box-shadow: inset 0 0 0 .5px rgba(0, 0, 0, .08);
}
.yogi-ui.yogi-dark.studio-theme input[type=range]::-webkit-slider-runnable-track { background: linear-gradient(90deg, #8fd34f var(--fill), #3a3f37 var(--fill)); }
.yogi-ui.studio-theme input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 20px; height: 20px; margin-top: -8px; border-radius: 50%; background: #fff;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .12), 0 2px 7px rgba(0, 0, 0, .22), 0 0 0 .5px rgba(0, 0, 0, .08); transition: transform .15s ease;
}
.yogi-ui.studio-theme input[type=range]:active::-webkit-slider-thumb { transform: scale(1.12); }
.yogi-ui.studio-theme input[type=range]:focus-visible { outline: none; }
.yogi-ui.studio-theme input[type=range]:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(110, 176, 57, .4), 0 2px 7px rgba(0, 0, 0, .22); }
.yogi-ui .studio-slider { display: grid; grid-template-columns: 64px 1fr; align-items: center; gap: 12px; padding: 8px 0; font-size: 12px; color: var(--text); }
.yogi-ui .studio-popover .studio-switch { align-items: center; }
.yogi-ui.studio-theme .dock-settings-kicker { display: block; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }

/* Dock */
.yogi-dock {
  --dock-size: 48px; --dock-zoom: 1.6;
  position: fixed; left: 50%; bottom: 10px; z-index: 900; transform: translateX(-50%); pointer-events: none;
}
.yogi-dock[hidden], body:has(#authGate:not([hidden])) .yogi-dock { display: none !important; }
.yogi-dock-shelf {
  pointer-events: auto; display: flex; align-items: flex-end; gap: 6px; padding: 7px 9px;
  border-radius: calc(var(--dock-size) * .42); background: rgba(250, 252, 247, .62);
  backdrop-filter: blur(22px) saturate(1.8); -webkit-backdrop-filter: blur(22px) saturate(1.8);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), inset 0 0 0 .5px rgba(255, 255, 255, .5), 0 0 0 .5px rgba(0, 0, 0, .12), 0 18px 40px -12px rgba(20, 40, 20, .35);
}
.yogi-dark .yogi-dock-shelf { background: rgba(32, 36, 31, .6); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 0 0 .5px rgba(255, 255, 255, .14), 0 18px 40px -12px rgba(0, 0, 0, .7); }
.yogi-dock-divider { align-self: stretch; width: 1px; margin: 4px 3px; background: rgba(0, 0, 0, .14); }
.yogi-dark .yogi-dock-divider { background: rgba(255, 255, 255, .16); }
.yogi-dock-item {
  --s: 1; position: relative; display: grid; place-items: center; width: calc(var(--dock-size) * var(--s)); height: calc(var(--dock-size) * var(--s));
  padding: 0; border: 0; background: none; cursor: pointer; transition: width .18s cubic-bezier(.25, .9, .3, 1), height .18s cubic-bezier(.25, .9, .3, 1); -webkit-tap-highlight-color: transparent;
}
.yogi-dock-icon { display: block; width: 100%; height: 100%; filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .16)) drop-shadow(0 5px 8px rgba(0, 0, 0, .22)); transition: filter .2s ease; }
.yogi-dock-icon svg { display: block; width: 100%; height: 100%; }
.yogi-dark .yogi-dock-icon { filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .4)) drop-shadow(0 5px 9px rgba(0, 0, 0, .5)); }
.yogi-dock-tip {
  position: absolute; bottom: calc(100% + 12px); left: 50%; transform: translateX(-50%) translateY(4px); padding: 5px 10px; border-radius: 8px;
  white-space: nowrap; font-size: 12px; font-weight: 500; color: #1d1d1f; background: rgba(246, 248, 243, .92);
  box-shadow: 0 0 0 .5px rgba(0, 0, 0, .14), 0 6px 16px rgba(0, 0, 0, .18); opacity: 0; pointer-events: none; transition: opacity .12s, transform .12s;
}
.yogi-dark .yogi-dock-tip { color: #f1f5ec; background: rgba(40, 44, 38, .94); box-shadow: 0 0 0 .5px rgba(255, 255, 255, .14), 0 6px 16px rgba(0, 0, 0, .5); }
.yogi-dock-item:is(:hover, :focus-visible) .yogi-dock-tip { opacity: 1; transform: translateX(-50%); }
.yogi-dock-item:focus-visible { outline: none; }
.yogi-dock-item:focus-visible .yogi-dock-icon { filter: drop-shadow(0 0 0 #6eb039) drop-shadow(0 0 4px rgba(110, 176, 57, .9)); }
.yogi-dock-item:active .yogi-dock-icon { filter: brightness(.85); }
.yogi-dock-dot { position: absolute; bottom: -6px; width: 4px; height: 4px; border-radius: 50%; background: #2c3a2a; opacity: 0; transition: opacity .2s; }
.yogi-dark .yogi-dock-dot { background: #e8f2df; }
.yogi-dock-item.is-running .yogi-dock-dot { opacity: .8; }
.yogi-dock-item.is-bouncing .yogi-dock-icon { animation: yogi-dock-bounce .62s cubic-bezier(.3, 0, .3, 1); }
@keyframes yogi-dock-bounce { 0%, 100% { transform: none; } 30% { transform: translateY(-38%); } 55% { transform: none; } 72% { transform: translateY(-12%); } 86% { transform: none; } }
body.has-yogi-dock { padding-bottom: calc(var(--dock-pad, 48px) + 40px); }
.studio-reduced-motion .yogi-dock-item { transition: none; }
@media (max-width: 760px) {
  .yogi-dock { bottom: 6px; max-width: calc(100vw - 16px); }
  .yogi-dock-shelf { overflow-x: auto; scrollbar-width: none; }
  .yogi-dock-item { --s: 1 !important; width: 40px; height: 40px; flex: none; }
  .yogi-dock-tip { display: none; }
}
@media print { .yogi-dock, .yogi-notepad { display: none !important; } }

/* Notepad window */
.yogi-notepad {
  position: fixed; z-index: 950; left: calc(100vw - 440px); top: 110px; width: 400px; height: 460px; min-width: 300px; min-height: 260px;
  max-width: calc(100vw - 16px); max-height: calc(100vh - 24px); display: flex; flex-direction: column; overflow: hidden; resize: both;
  border-radius: 14px; background: #fffdf4; color: #2d2a1f;
  box-shadow: 0 0 0 .5px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .9), 0 24px 60px -14px rgba(30, 40, 20, .45), 0 8px 18px -8px rgba(30, 40, 20, .25);
}
.yogi-notepad[hidden] { display: none !important; }
.yogi-notepad.is-dragging { user-select: none; box-shadow: 0 0 0 .5px rgba(0, 0, 0, .18), 0 34px 80px -14px rgba(30, 40, 20, .5); }
.yogi-notepad.is-zoomed { left: 24px !important; top: 24px !important; width: calc(100vw - 48px) !important; height: calc(100vh - 150px) !important; resize: none; }
.yogi-notepad-bar {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px; cursor: grab; touch-action: none;
  background: linear-gradient(180deg, #fbf3c8, #f5e9a8); border-bottom: 1px solid rgba(120, 100, 30, .18);
}
.yogi-notepad.is-dragging .yogi-notepad-bar { cursor: grabbing; }
.yogi-notepad-bar strong { font-size: 13px; font-weight: 600; color: #4a4120; }
.yogi-notepad-status { margin-left: auto; font-size: 11px; color: #6b6033; }
.yogi-traffic { display: flex; gap: 8px; }
.yogi-traffic button { width: 13px; height: 13px; min-height: 0; padding: 0; border: 0; border-radius: 50%; cursor: pointer; box-shadow: inset 0 0 0 .5px rgba(0, 0, 0, .2); position: relative; }
.yogi-traffic button::after { position: absolute; inset: 0; display: grid; place-items: center; font: 700 9px/1 system-ui; color: rgba(0, 0, 0, .55); opacity: 0; }
.yogi-traffic:hover button::after, .yogi-traffic button:focus-visible::after { opacity: 1; }
.yogi-traffic .is-close { background: #ff5f57; } .yogi-traffic .is-close::after { content: "×"; }
.yogi-traffic .is-min { background: #febc2e; } .yogi-traffic .is-min::after { content: "–"; }
.yogi-traffic .is-zoom { background: #28c840; } .yogi-traffic .is-zoom::after { content: "+"; }
.yogi-traffic button:focus-visible { outline: 2px solid #4a7d2a; outline-offset: 2px; }
.yogi-notepad-tools { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 12px; border-bottom: 1px dashed rgba(120, 100, 30, .2); }
.yogi-notepad-tools button {
  min-height: 28px; padding: 4px 10px; border: 0; border-radius: 999px; font-size: 12px; font-weight: 500; color: #4a4120; cursor: pointer;
  background: rgba(245, 207, 60, .22); box-shadow: inset 0 0 0 .5px rgba(120, 100, 30, .25); transition: background .15s, transform .15s;
}
.yogi-notepad-tools button:hover { background: rgba(245, 207, 60, .42); transform: translateY(-1px); }
.yogi-notepad-tools button:focus-visible { outline: 2px solid #4a7d2a; outline-offset: 2px; }
.yogi-ui .yogi-notepad .yogi-notepad-text {
  flex: 1; width: 100%; min-height: 0 !important; margin: 0; padding: 6px 18px 12px 46px; resize: none; border: 0 !important; border-radius: 0 !important; outline: none;
  font: 15px/28px "SF Pro Text", -apple-system, system-ui, sans-serif; color: #2d2a1f !important; box-shadow: none !important;
  background: linear-gradient(90deg, transparent 33px, rgba(230, 90, 80, .35) 33px, rgba(230, 90, 80, .35) 34px, transparent 34px),
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(80, 120, 170, .16) 27px 28px) !important;
  background-attachment: local !important; background-color: #fffdf4 !important;
}
.yogi-notepad-text::placeholder { color: #a39a72; }
.yogi-notepad-foot { display: flex; justify-content: space-between; gap: 12px; padding: 7px 14px; font-size: 11px; color: #7a6f45; border-top: 1px solid rgba(120, 100, 30, .14); background: #fbf6dc; }
.yogi-dark .yogi-notepad { background: #26261f; color: #ece6c8; box-shadow: 0 0 0 .5px rgba(255, 255, 255, .14), 0 24px 60px -14px rgba(0, 0, 0, .8); }
.yogi-dark .yogi-notepad-bar { background: linear-gradient(180deg, #3a3726, #322f20); border-color: rgba(255, 240, 180, .1); }
.yogi-dark .yogi-notepad-bar strong { color: #f3ead0; }
.yogi-dark .yogi-notepad-status, .yogi-dark .yogi-notepad-foot { color: #c6bc92; }
.yogi-dark .yogi-notepad-foot { background: #2c2b22; border-color: rgba(255, 240, 180, .08); }
.yogi-dark .yogi-notepad-tools { border-color: rgba(255, 240, 180, .12); }
.yogi-dark .yogi-notepad-tools button { color: #f3ead0; background: rgba(245, 207, 60, .14); }
.yogi-ui.yogi-dark .yogi-notepad .yogi-notepad-text {
  color: #ece6c8 !important; background-color: #26261f !important;
  background: linear-gradient(90deg, transparent 33px, rgba(240, 110, 100, .3) 33px, rgba(240, 110, 100, .3) 34px, transparent 34px),
    repeating-linear-gradient(180deg, transparent 0 27px, rgba(170, 200, 240, .1) 27px 28px) !important;
}
.yogi-dark .yogi-notepad-text::placeholder { color: #8d8668; }
@media (max-width: 760px) {
  .yogi-notepad { left: 8px !important; right: 8px; top: 70px !important; width: auto !important; height: calc(100vh - 150px) !important; resize: none; }
}


/* List of Ledgers */

/* Ledger header: name and details left, period and closing balance right. */

/* Toolbar: change dates, find entry, opening row. */

/* Voucher grid */
/* Row actions: quiet text buttons, shown on the selected or pointed row (always on touch). */

/* Totals foot: same column widths as the grid (Debit, Credit, then Balance + Action as a spacer). */

/* Details panel */

/* Function-key bar */

/* Narrow windows: key bar becomes a strip under the header; the list opens from "Choose account". */

/* Screen-reader-only text (labels for icon or implied controls). */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; border: 0 !important; }

/* ===================== Allotment checks (26 Oct) ===================== */
.yogi-ui .allotment-due-banner {
  display: flex; align-items: center; gap: 14px; margin: 0 0 16px; padding: 12px 16px; border-radius: 14px;
  background: linear-gradient(90deg, #e9f8d6, #f6fbef); box-shadow: inset 0 0 0 1px rgba(110, 176, 57, .35);
}
.yogi-ui .allotment-due-banner > div { flex: 1; min-width: 0; display: grid; gap: 2px; }
.yogi-ui .allotment-due-banner strong { font-size: 14px; color: #1d3a12; }
.yogi-ui .allotment-due-banner small { font-size: 12px; color: #4b5f3f; }
.yogi-ui .allotment-due-dot { width: 10px; height: 10px; flex: none; border-radius: 50%; background: #5fb02c; box-shadow: 0 0 0 4px rgba(95, 176, 44, .2); }
.yogi-ui:not(.studio-reduced-motion) .allotment-due-dot { animation: yogi-allot-pulse 1.8s ease-in-out infinite; }
@keyframes yogi-allot-pulse { 50% { box-shadow: 0 0 0 9px rgba(95, 176, 44, 0); } }
.yogi-ui.yogi-dark .allotment-due-banner { background: linear-gradient(90deg, #22351a, #1b2417); box-shadow: inset 0 0 0 1px rgba(143, 211, 79, .3); }
.yogi-ui.yogi-dark .allotment-due-banner strong { color: #e6f5d7; }
.yogi-ui.yogi-dark .allotment-due-banner small { color: #b6c7a9; }
.yogi-ui .allotment-check-dialog { width: min(680px, calc(100vw - 32px)); }
.yogi-ui .allotment-ipo { margin: 14px 0; border-radius: 12px; box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.yogi-ui .allotment-ipo header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 10px; padding: 12px 14px; background: var(--panel-soft); }
.yogi-ui .allotment-ipo header > div { display: grid; gap: 2px; }
.yogi-ui .allotment-ipo header small { color: var(--muted); font-size: 12px; }
.yogi-ui .allotment-ipo header label { display: grid; gap: 4px; font-size: 12px; min-width: 200px; }
.yogi-ui .allotment-people { list-style: none; margin: 0; padding: 0; }
.yogi-ui .allotment-people li { display: grid; grid-template-columns: 1fr auto 150px; align-items: center; gap: 10px; padding: 8px 14px; border-top: 1px solid var(--line); font-size: 13px; }
.yogi-ui .allotment-people code { font: 12px ui-monospace, "SF Mono", Menlo, monospace; color: var(--muted); }
.yogi-ui .allotment-chip { justify-self: end; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; background: var(--fill, #eef1ea); color: var(--muted); }
.yogi-ui .allotment-chip[data-tone=good] { background: #dff5c9; color: #1f5a12; }
.yogi-ui .allotment-chip[data-tone=warn] { background: #fff1d6; color: #8a4b06; }
.yogi-ui.yogi-dark .allotment-chip[data-tone=good] { background: #2c4a1d; color: #cdeeb2; }
.yogi-ui.yogi-dark .allotment-chip[data-tone=warn] { background: #4a3517; color: #ffd79a; }
.yogi-ui .allotment-check-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.yogi-ui .allotment-check-actions .studio-switch { border: 0; padding: 0; gap: 10px; }
.yogi-ui .allotment-check-actions #allotmentProgress { flex: 1 1 200px; font-size: 12px; }
@media (max-width: 600px) { .yogi-ui .allotment-people li { grid-template-columns: 1fr auto; } .yogi-ui .allotment-chip { grid-column: 1 / -1; justify-self: start; } }

/* ASBA shares to write (26 Oct) */
.yogi-ui .asba-bid-callout { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0; padding: 12px 16px; border-radius: 12px; background: var(--lime-soft, #e9f8d6); box-shadow: inset 0 0 0 1px rgba(110, 176, 57, .35); }
.yogi-ui .asba-bid-callout span { width: 100%; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #3d5a2a; }
.yogi-ui .asba-bid-callout strong { font-size: 26px; font-weight: 700; color: #16310f; font-variant-numeric: tabular-nums; }
.yogi-ui .asba-bid-callout small { font-size: 13px; color: #3d5a2a; }
.yogi-ui.yogi-dark .asba-bid-callout { background: #22351a; box-shadow: inset 0 0 0 1px rgba(143, 211, 79, .3); }
.yogi-ui.yogi-dark .asba-bid-callout :is(span, small) { color: #b6c7a9; }
.yogi-ui.yogi-dark .asba-bid-callout strong { color: #e6f5d7; }
.yogi-ui .asba-shares { display: block; margin-top: 2px; font-size: 12px; font-weight: 600; color: var(--brand, #1d7a52); font-variant-numeric: tabular-nums; }
.yogi-ui .checklist-pass-heading .asba-shares { display: inline; margin: 0; }
.yogi-ui .asba-shares-cell strong { display: block; font-size: 15px; font-variant-numeric: tabular-nums; }
.yogi-ui .asba-shares-cell small { color: var(--muted); font-size: 12px; white-space: nowrap; }
.yogi-ui.yogi-dark .asba-shares { color: #a8e26a; }

/* Workspace tools: the closed box kept its open-state bottom padding, lifting the button 6px above the rest of the row. */
.yogi-ui #workspaceTools:not([open]) { padding-bottom: 0 !important; }

/* Compact view: the same type sizes with tighter spacing, strong enough to beat the lime layer's own padding. */
.yogi-ui.studio-theme.studio-compact .erp-shell { gap: 12px !important; }
.yogi-ui.studio-theme.studio-compact :is(.panel, .card) { padding: 16px 18px !important; }
.yogi-ui.studio-theme.studio-compact #summaryCards :is(.card, .summary-market-card) { min-height: 0 !important; padding: 16px 18px !important; }
.yogi-ui.studio-theme.studio-compact .panel-header { margin-bottom: 10px !important; padding-bottom: 10px !important; }
.yogi-ui.studio-theme.studio-compact .erp-shell :is(td, th) { padding-top: 6px !important; padding-bottom: 6px !important; }
.yogi-ui.studio-theme.studio-compact :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]), select, .cool-select-trigger) { min-height: 36px !important; padding-block: 6px !important; }
.yogi-ui.studio-theme.studio-compact :is(.primary-btn, .secondary-btn) { min-height: 34px !important; padding-block: 6px !important; }
.yogi-ui.studio-theme.studio-compact :is(.command-center-item, .workflow-step, .return-todo-row, .checklist-pass, .application-ipo-summary-card) { padding: 12px 14px !important; }
.yogi-ui.studio-theme.studio-compact .erp-shell #summaryCards .summary-market-card:nth-child(1) { min-height: 220px !important; padding: 20px 22px !important; }

/* ===================== Account ledger, design C: money flow (27 Oct) =====================
   Money in from (left) and money out to (right), by counterparty, around the account hub; a bar filters the list;
   entries open in a slide-in panel. Scoped by id so older ledger styles in base.css cannot leak in. */
#accountLedgerWorkspaceDialog.flow-ledger { --flow-in: #1d7a52; --flow-out: #b42318; --flow-in-soft: #e3f4ea; --flow-out-soft: #fbe9e6;
  padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.yogi-dark #accountLedgerWorkspaceDialog.flow-ledger { --flow-in: #7fd8a6; --flow-out: #ff8a7a; --flow-in-soft: #1d3326; --flow-out-soft: #3a211e; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-shell { display: grid; gap: 14px; padding: 0 !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-period-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-period-chips button { min-height: 34px !important; padding: 6px 14px !important; border: 0 !important; border-radius: 999px !important; background: var(--panel) !important; box-shadow: inset 0 0 0 1px var(--line) !important; color: var(--text) !important; font-size: 12.5px !important; font-weight: 600 !important; transition: transform .15s ease; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-period-chips button:hover { transform: translateY(-1px); }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-period-chips button[aria-pressed=true] { background: var(--text) !important; color: var(--panel) !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-report-bar { flex: 1 1 320px; display: flex !important; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-date-disclosure > summary { font-size: 12.5px; font-weight: 600; cursor: pointer; white-space: nowrap; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-date-disclosure[open] .account-ledger-period-controls { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-movement-search { flex: 1 1 240px; margin: 0; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-movement-search input { width: 100%; min-height: 40px !important; border-radius: 12px !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-tools { display: flex; gap: 8px; align-items: center; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-view-switch { display: flex; padding: 3px !important; margin: 0 !important; border-radius: 12px; background: var(--panel-soft) !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-view-switch button { min-height: 32px !important; padding: 4px 12px !important; border: 0 !important; border-radius: 9px !important; background: none !important; box-shadow: none !important; font-size: 12.5px !important; color: var(--muted) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-view-switch button.is-active { background: var(--panel) !important; color: var(--text) !important; box-shadow: 0 1px 3px rgba(0,0,0,.12) !important; font-weight: 600 !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-report-actions { display: flex; gap: 6px; margin: 0 !important; padding: 0 !important; background: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-report-actions button { min-height: 36px !important; }

/* All ledgers: a panel opened from the picker button, at every width. */
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 14px !important; min-height: 0 !important; overflow: visible !important; }
#accountLedgerWorkspaceDialog.flow-ledger #ledgerAccountPicker { display: inline-flex !important; justify-self: start; }
body:not(.ledger-picker-open) #accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-pane { display: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-pane { display: block; max-height: 360px; overflow: auto; padding: 12px !important; border-radius: 18px !important; background: var(--panel) !important; box-shadow: 0 12px 30px -18px rgba(20,40,20,.4), inset 0 0 0 1px var(--line) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-list { display: block !important; max-height: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-group-head { display: flex; justify-content: space-between; margin: 8px 6px 4px; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-row { display: flex !important; justify-content: space-between; align-items: center; gap: 8px; width: 100%; min-height: 36px !important; margin: 0 !important; padding: 6px 10px !important; border: 0 !important; border-radius: 10px !important; background: none !important; box-shadow: none !important; text-align: left; transform: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-row:hover { background: var(--panel-soft) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-row.is-selected { background: var(--lime-soft, #eaf8d8) !important; font-weight: 700; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-row .acct-avatar, #accountLedgerWorkspaceDialog.flow-ledger .account-ledger-account-row small { display: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-list-heading { display: none; }

/* Flow card */
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-detail-pane { display: grid; gap: 12px; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-card { display: grid; grid-template-columns: minmax(0,1fr) 300px minmax(0,1fr); gap: 22px; align-items: center; padding: 24px; border-radius: 24px; background: var(--panel); box-shadow: 0 1px 0 rgba(0,0,0,.03), 0 14px 34px -22px rgba(20,40,20,.4), inset 0 0 0 1px var(--line); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-col h4 { margin: 0 0 10px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 10px; width: 100%; min-height: 40px; margin: 0 0 8px; padding: 9px 12px; border: 0; border-radius: 12px; overflow: hidden; background: var(--panel-soft); color: var(--text); font-size: 13px; text-align: left; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar:hover { transform: scale(1.02); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar i { position: absolute; top: 0; bottom: 0; border-radius: 12px; transition: width .35s cubic-bezier(.2,.8,.2,1); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar.is-in i { left: 0; background: var(--flow-in-soft); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar.is-out i { right: 0; background: var(--flow-out-soft); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar span, #accountLedgerWorkspaceDialog.flow-ledger .flow-bar b { position: relative; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar b { flex: none; font-variant-numeric: tabular-nums; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar.is-in b { color: var(--flow-in); } #accountLedgerWorkspaceDialog.flow-ledger .flow-bar.is-out b { color: var(--flow-out); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar[aria-pressed=true] { box-shadow: inset 0 0 0 2px var(--text); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-bar:focus-visible { outline: 3px solid rgba(110,176,57,.5); outline-offset: 2px; }
#accountLedgerWorkspaceDialog.flow-ledger :is(.flow-none, .flow-more) { margin: 4px 2px; font-size: 12.5px; color: var(--muted); }
/* Hub */
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub { position: static !important; display: grid !important; justify-items: center; gap: 6px; margin: 0 !important; padding: 26px 22px !important; border: 0 !important; border-radius: 28px !important; text-align: center;
  background: radial-gradient(260px 200px at 30% 15%, rgba(183,236,125,.32), transparent 60%), linear-gradient(160deg, #2f6b46, #143720) !important; color: #eef6e8 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 3px 0 #0e2617, 0 22px 40px -22px rgba(20,55,32,.75) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub .eyebrow { margin: 0; font-size: 11px !important; letter-spacing: .06em; text-transform: uppercase; color: #b7ec7d !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub h3 { margin: 0 !important; font-size: 17px !important; font-weight: 700 !important; color: #fff !important; overflow-wrap: anywhere; }
#accountLedgerWorkspaceDialog.flow-ledger #accountLedgerWorkspaceBalance { display: block; padding: 0; margin: 2px 0; background: none !important; box-shadow: none !important; font: 700 30px/1.1 var(--font-display, inherit); font-variant-numeric: tabular-nums; color: #fff !important; }
#accountLedgerWorkspaceDialog.flow-ledger #accountLedgerWorkspaceBalance .ledger-drcr { color: #b7ec7d; font-size: 13px; font-style: normal; margin-left: 4px; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub p:not(.eyebrow) { display: block !important; margin: 0; font-size: 12px; color: #c7d6c0 !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-account-select { width: 100%; margin-top: 6px; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-account-select select { width: 100%; min-height: 38px !important; border: 0 !important; border-radius: 12px !important; background-color: rgba(255,255,255,.14) !important; color: #fff !important; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-account-select select option, #accountLedgerWorkspaceDialog.flow-ledger .flow-account-select select optgroup { color: #17231a; background: #fff; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 6px; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions button { min-height: 34px !important; padding: 6px 12px !important; font-size: 12.5px !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions .secondary-btn { background: rgba(255,255,255,.12) !important; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.2) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions .primary-btn { background: linear-gradient(180deg, #c6f28f, #a8e26a) !important; color: #10240f !important; box-shadow: 0 2px 0 #6eb039 !important; }
/* The hub's cool-select wrapper (custom dropdown) keeps the hub's colours. */
#accountLedgerWorkspaceDialog.flow-ledger .flow-account-select .cool-select-trigger { min-height: 38px !important; border: 0 !important; background: rgba(255,255,255,.14) !important; color: #fff !important; }

/* Entries list */
#accountLedgerWorkspaceDialog.flow-ledger .flow-list-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 0 4px; }
#accountLedgerWorkspaceDialog.flow-ledger #accountLedgerPeriodCaption { margin: 0 !important; font-size: 12.5px; font-weight: 600; color: var(--muted) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-filter { display: flex; align-items: center; gap: 8px; margin: 0; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--lime-soft, #eaf8d8); font-size: 12.5px; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-filter[hidden] { display: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-filter button { min-height: 28px !important; padding: 2px 10px !important; font-size: 12px !important; border-radius: 999px !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-opening-toggle { display: inline-flex; align-items: center; gap: 8px; margin-left: auto; font-size: 12px; color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-table-wrap { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 18px !important; overflow: auto; background: var(--panel) !important; box-shadow: inset 0 0 0 1px var(--line) !important; max-height: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid { width: 100%; border-collapse: collapse; font-size: 13px; table-layout: auto !important; min-width: 0 !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid thead th { padding: 11px 14px !important; background: var(--panel) !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .05em; text-transform: uppercase; color: var(--muted) !important; text-align: left; white-space: nowrap; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid :is(th, td).num { text-align: right !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody td { height: auto !important; padding: 11px 14px !important; border: 0 !important; border-bottom: 1px solid var(--line) !important; background: transparent !important; color: var(--text) !important; font-variant-numeric: tabular-nums; box-shadow: none !important; vertical-align: middle; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr { background: transparent !important; box-shadow: none !important; transition: background-color .15s ease; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr.account-ledger-movement-row { cursor: pointer; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr.account-ledger-movement-row:hover { background: var(--panel-soft) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr.account-ledger-movement-row:is(.is-selected, .is-cursor) { background: var(--lime-soft, #eaf8d8) !important; }
/* Debit column red, Credit column green (as asked, 29 Oct) */
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr.account-ledger-movement-row td.num:nth-child(5):not(:empty) { color: var(--flow-out) !important; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr.account-ledger-movement-row td.num:nth-child(6):not(:empty) { color: var(--flow-in) !important; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody td.num:nth-child(7) { color: var(--muted) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-particulars strong { display: block; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-particulars small { display: block; font-size: 11.5px; color: var(--muted) !important; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-vch-type { display: inline-block; padding: 2px 9px; border-radius: 999px; background: var(--panel-soft) !important; border: 0 !important; font-size: 11.5px; font-weight: 600; color: var(--muted) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-vch-no { font: 500 12px ui-monospace, "SF Mono", Menlo, monospace; color: var(--muted) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-drcr { margin-left: 4px; font-style: normal; font-size: 11px; color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-opening-row td { font-style: italic; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-actions { display: flex; flex-wrap: wrap; gap: 2px; justify-content: flex-end; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-actions button { min-height: 28px !important; padding: 3px 9px !important; border: 0 !important; border-radius: 8px !important; background: transparent !important; box-shadow: none !important; font-size: 12px !important; font-weight: 600; color: var(--text) !important; opacity: 0; transition: opacity .15s ease; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-actions button:hover { background: var(--panel-soft) !important; }
#accountLedgerWorkspaceDialog.flow-ledger :is(.account-ledger-voucher-delete-btn, .account-ledger-funding-delete-btn) { color: var(--flow-out) !important; }
#accountLedgerWorkspaceDialog.flow-ledger tr:is(:hover, :focus-within, .is-selected, .is-cursor) .account-ledger-workspace-actions button,
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-actions button:focus-visible { opacity: 1; }
@media (hover: none) { #accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-actions button { opacity: 1; } }
/* Totals */
#accountLedgerWorkspaceDialog.flow-ledger .flow-totals { display: block !important; margin: 0 !important; padding: 6px 14px !important; border-radius: 16px !important; background: var(--panel-soft) !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-totals table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-totals :is(th, td) { padding: 5px 4px; text-align: right; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-totals th { text-align: left; font-weight: 600; color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-totals .is-closing :is(th, td) { color: var(--text); font-weight: 700; border-top: 1px solid var(--line); }
/* Entry detail: a slide-in panel */
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-transaction-detail:not([hidden]) { position: fixed !important; z-index: 960; top: 0; right: 0; bottom: 0; width: min(420px, 100vw); margin: 0 !important; padding: 22px !important; overflow: auto; border: 0 !important; border-radius: 0 !important;
  background: var(--panel) !important; box-shadow: -24px 0 60px -24px rgba(0,0,0,.45) !important; animation: flow-drawer-in .28s cubic-bezier(.2,.8,.2,1); }
@keyframes flow-drawer-in { from { transform: translateX(100%); } to { transform: none; } }
.studio-reduced-motion #accountLedgerWorkspaceDialog.flow-ledger .account-ledger-transaction-detail { animation: none; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-transaction-detail dl { display: grid; grid-template-columns: 1fr; gap: 12px; margin: 16px 0 0; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-transaction-detail dl div { display: grid; grid-template-columns: 120px 1fr; gap: 10px; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-transaction-detail dt { color: var(--muted); font-size: 12.5px; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-transaction-detail dd { margin: 0; font-weight: 600; }
/* Narrow windows: hub on top, then the two flows. */
@media (max-width: 900px) {
  #accountLedgerWorkspaceDialog.flow-ledger .flow-card { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  #accountLedgerWorkspaceDialog.flow-ledger .flow-hub { order: -1; }
  #accountLedgerWorkspaceDialog.flow-ledger .flow-grid :is(th, td):nth-child(3), #accountLedgerWorkspaceDialog.flow-ledger .flow-grid :is(th, td):nth-child(4) { display: none; }
  #accountLedgerWorkspaceDialog.flow-ledger .flow-opening-toggle { margin-left: 0; }
}
@media print { #accountLedgerWorkspaceDialog.flow-ledger :is(.flow-toolbar, .flow-card, .account-ledger-workspace-actions) { display: none !important; } }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-report-actions { flex-direction: row !important; flex-wrap: nowrap; }
@media (max-width: 900px) { #accountLedgerWorkspaceDialog.flow-ledger .flow-tools { width: 100%; justify-content: space-between; } }

/* Money sheets: full account names, a full-width return picker, and the money-flow animation (27 Oct). */
.yogi-ui .yogi-transfer-hero .yogi-party b { overflow-wrap: anywhere; text-align: center; }
.yogi-ui #refundForm label:has(#refundFunding) { grid-column: 1 / -1; }
.yogi-ui .yogi-transfer-arrow { transition: color .2s ease, opacity .2s ease; }
.yogi-ui .yogi-transfer-arrow.is-nudged { animation: yogi-arrow-nudge .28s ease-out; }
@keyframes yogi-arrow-nudge { from { opacity: .35; transform: translateX(-4px); } to { opacity: 1; transform: none; } }
.yogi-ui .yogi-transfer-hero { position: relative; }
.yogi-flow-layer { position: absolute; inset: 0; pointer-events: none; border-radius: inherit; overflow: hidden; }
.yogi-flow-line { position: absolute; left: 16px; right: 16px; bottom: 3px; height: 2px; border-radius: 2px; background: var(--forest, #1f5f3a); transform-origin: 0 50%; opacity: 0; }
.yogi-flow-check { position: absolute; display: grid; place-items: center; border-radius: 50%; background: var(--forest, #1f5f3a); opacity: 0; }
.yogi-flow-check svg { width: 60%; height: 60%; fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.refund-balance-preview .refund-suggestion { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; margin-top: 4px; padding: 8px 10px 8px 12px; border-radius: 12px; background: var(--panel, #fff); font-size: 13px; }
.refund-balance-preview .refund-suggestion .secondary-btn { min-height: 34px; padding: 4px 14px; }
.studio-reduced-motion .yogi-flow-layer { display: none; }

/* Record return: compact (27 Oct). One slim sender -> receiver row, a normal-sized amount, tighter spacing.
   The direction note repeats the card and the review line, so it is hidden. */
.yogi-ui :is(#refundForm, #fundingForm).simple-form { gap: 10px 14px !important; }
.yogi-ui #refundForm #refundDirectionHint { display: none !important; }
.yogi-ui #refundForm #odSweepBtn { min-height: 38px !important; padding: 6px 14px !important; }
.yogi-ui #refundForm #refundAvailabilitySummary { margin: -4px 0 0 !important; font-size: 12px !important; line-height: 1.4 !important; }
.yogi-ui :is(#refundForm, #fundingForm) label { gap: 4px !important; font-size: 12.5px !important; }
.yogi-ui :is(#refundForm, #fundingForm) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, .cool-select-trigger) { min-height: 40px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-hero { display: grid !important; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; min-height: 0 !important; padding: 10px 16px !important; border-radius: 16px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-hero .yogi-party { display: grid !important; grid-template-columns: 34px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 10px; align-items: center; justify-items: start; text-align: left; gap: 0 10px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-hero .yogi-party i { grid-row: 1 / span 2; width: 34px !important; height: 34px !important; font-size: 12px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-hero .yogi-party b { font-size: 13.5px !important; text-align: left !important; line-height: 1.25; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-hero .yogi-party small { font-size: 11px !important; margin: 0 !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-hero .yogi-transfer-arrow { font-size: 18px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-amount-field input { min-height: 52px !important; font-size: 26px !important; padding-block: 6px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .yogi-transfer-review { margin: -2px 0 0 !important; font-size: 13px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .refund-balance-preview { padding: 10px 14px !important; gap: 4px 14px !important; }
.yogi-ui :is(#refundForm, #fundingForm) .refund-balance-preview :is(h4, strong) { font-size: 13px !important; }
.yogi-ui #fundingForm #fundingQueueStatus, .yogi-ui #fundingForm :is(#fundingChargeHint, #fundingPendingHint) { margin: 0 !important; padding: 8px 12px !important; font-size: 12px !important; line-height: 1.4 !important; }
.yogi-ui #fundingForm .funding-form-tools :is(button) { min-height: 34px !important; padding: 4px 12px !important; }

/* ===================== Account ledger: plain register, like Marg ERP (27 Oct) =====================
   Overrides design C: no money-in/out columns and no green hub. One account bar, a gridded voucher table, a totals strip. */
#accountLedgerWorkspaceDialog.flow-ledger .flow-card { display: block !important; padding: 0 !important; border-radius: 12px !important; background: var(--panel) !important; box-shadow: inset 0 0 0 1px var(--line) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-col { display: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub { display: grid !important; grid-template-columns: minmax(200px, 300px) minmax(0, 1fr) auto auto; grid-template-areas: "pick name bal acts" "pick sub bal acts"; align-items: center; justify-items: start; gap: 0 18px; padding: 10px 14px !important; border-radius: 12px !important; text-align: left !important; background: none !important; color: var(--text) !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub .eyebrow { display: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub h3 { grid-area: name; font-size: 15px !important; color: var(--text) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub p:not(.eyebrow) { grid-area: sub; font-size: 12px; color: var(--muted) !important; }
#accountLedgerWorkspaceDialog.flow-ledger #accountLedgerWorkspaceBalance { grid-area: bal; justify-self: end; margin: 0; font-size: 20px !important; color: var(--text) !important; }
#accountLedgerWorkspaceDialog.flow-ledger #accountLedgerWorkspaceBalance .ledger-drcr { color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .flow-account-select { grid-area: pick; margin: 0; }
#accountLedgerWorkspaceDialog.flow-ledger :is(.flow-account-select select, .flow-account-select .cool-select-trigger) { min-height: 38px !important; background: var(--panel) !important; color: var(--text) !important; box-shadow: inset 0 0 0 1px var(--line-strong, var(--line)) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions { grid-area: acts; margin: 0; justify-content: flex-end; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions .secondary-btn { background: var(--panel) !important; color: var(--text) !important; box-shadow: inset 0 0 0 1px var(--line) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions .primary-btn { background: var(--forest, #1f5f3a) !important; color: #fff !important; box-shadow: none !important; }
/* Voucher table: header band, ruled cells, one line per entry. */
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-table-wrap { border-radius: 10px !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid thead th { position: sticky; top: 0; z-index: 1; padding: 8px 10px !important; background: var(--panel-soft) !important; color: var(--text) !important; border-right: 1px solid var(--line) !important; font-size: 11px !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody td { padding: 6px 10px !important; border-right: 1px solid var(--line) !important; font-variant-numeric: tabular-nums; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid :is(th, td):last-child { border-right: 0 !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr:nth-child(even):not(:hover):not(.is-selected):not(.is-cursor) { background: rgba(0, 0, 0, .022) !important; }
.yogi-dark #accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr:nth-child(even):not(:hover):not(.is-selected):not(.is-cursor) { background: rgba(255, 255, 255, .03) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-particulars strong { font-weight: 500; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-vch-type { padding: 0; background: none !important; border-radius: 0; font-weight: 500; color: var(--text) !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody td.num:nth-child(7) { color: var(--text) !important; font-weight: 600; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-opening-row td { font-style: normal; font-weight: 600; }
/* Totals: one strip under the table. */
#accountLedgerWorkspaceDialog.flow-ledger .flow-totals { padding: 4px 12px !important; border-radius: 10px !important; background: var(--panel) !important; box-shadow: inset 0 0 0 1px var(--line) !important; }
@media (max-width: 900px) {
  #accountLedgerWorkspaceDialog.flow-ledger .flow-hub { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "pick pick" "name bal" "sub bal" "acts acts"; gap: 6px 12px; }
  #accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions { justify-content: flex-start; }
}
#accountLedgerWorkspaceDialog.flow-ledger :is(.account-ledger-workspace-shell, .account-ledger-workspace, .account-ledger-detail-pane) { align-content: start !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-shell { gap: 10px !important; }
#accountLedgerWorkspaceDialog.flow-ledger #ledgerAccountPicker { align-self: start; min-height: 34px !important; padding: 6px 14px !important; border-radius: 10px !important; }
/* One line per entry: the IPO / narration follows the party on the same line. */
#accountLedgerWorkspaceDialog.flow-ledger .ledger-particulars :is(strong, small) { display: inline !important; }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-particulars small { margin-left: 8px; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid :is(th, td):last-child { width: 1%; white-space: nowrap; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody tr { height: auto !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tbody td { height: 34px !important; vertical-align: middle !important; }
#accountLedgerWorkspaceDialog.flow-ledger .account-ledger-workspace-actions button { min-height: 24px !important; padding: 2px 8px !important; }
#accountLedgerWorkspaceDialog.flow-ledger #accountLedgerSummary[hidden] { display: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot :is(th, td) { position: sticky; bottom: 0; padding: 7px 10px !important; background: var(--panel-soft) !important; border-top: 1px solid var(--line-strong, var(--line)); border-right: 1px solid var(--line); font-weight: 700; font-variant-numeric: tabular-nums; text-align: left; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot td.num { text-align: right !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot tr:first-child :is(th, td) { bottom: 33px; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot small { font-weight: 500; color: var(--muted); }
#accountLedgerWorkspaceDialog.flow-ledger .ledger-vch-type { vertical-align: middle; line-height: inherit; }
.yogi-dark #accountLedgerWorkspaceDialog.flow-ledger .flow-hub-actions .primary-btn { background: var(--lime, #b7ec7d) !important; color: #10240f !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot :is(th, td) { border-top: 1px solid var(--line) !important; border-bottom: 0 !important; border-left: 0 !important; border-right: 1px solid var(--line) !important; box-shadow: none !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot :is(th, td):last-child { border-right: 0 !important; }
#accountLedgerWorkspaceDialog.flow-ledger .flow-grid tfoot .is-closing :is(th, td) { color: var(--text) !important; }

/* Daily operations: OD card with the sanctioned limit (27 Oct). Available is the headline; a bar shows how much of the limit is used. */
.yogi-ui .capacity-od-account-card.has-limit { display: grid !important; gap: 8px; align-content: start; text-align: left; }
.yogi-ui .capacity-od-account-card.has-limit strong em { font: 500 12px/1 var(--font-ui, system-ui); font-style: normal; color: var(--muted); letter-spacing: 0; }
.yogi-ui .od-limit-meter { position: relative; display: block; height: 6px; border-radius: 99px; overflow: hidden; background: var(--lime-soft, #e6f6d2); }
.yogi-ui .od-limit-meter b { position: absolute; inset: 0 auto 0 0; border-radius: inherit; background: var(--forest, #1f5f3a); transition: width .4s cubic-bezier(.2, .8, .2, 1); }
.yogi-dark .od-limit-meter b { background: var(--lime, #b7ec7d); }
.yogi-ui .od-limit-figures { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.yogi-ui .od-limit-figures div { display: grid; gap: 1px; }
.yogi-ui .od-limit-figures dt { font-size: 11px; color: var(--muted); }
.yogi-ui .od-limit-figures dd { margin: 0; font-weight: 600; font-size: 13px; font-variant-numeric: tabular-nums; color: var(--text); }
.yogi-ui .od-limit-figures dd small { font-weight: 500; color: var(--muted) !important; font-size: 11px !important; }
.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures > div { min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures dd { color: var(--ink, var(--text)) !important; }
.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures { align-items: start; }
.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures > div { align-content: start; }
.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures dd small { display: inline !important; margin-left: 4px; }
.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures .is-credit dd { color: var(--flow-in, #1d7a52) !important; }
.yogi-dark.yogi-ui.studio-theme .erp-shell .capacity-od-account-card .od-limit-figures .is-credit dd { color: #7fd8a6 !important; }

/* Profits: Profit by IPO rows filter the Allotments list (29 Oct). */
.yogi-ui .profits-ipo-row { cursor: pointer; }
.yogi-ui .profits-ipo-row:hover td { background: var(--panel-soft) !important; }
.yogi-ui .profits-ipo-row.is-selected td { background: var(--lime-soft, #eaf8d8) !important; }
.yogi-ui #profitsIpoFilter:not([hidden]) { display: flex; align-items: center; gap: 8px; margin: 0; padding: 4px 4px 4px 12px; border-radius: 999px; background: var(--lime-soft, #eaf8d8); font-size: 12.5px; font-weight: 600; }
.yogi-ui #profitsIpoFilter button { min-height: 28px !important; padding: 2px 10px !important; font-size: 12px !important; border-radius: 999px !important; }

/* Profits tiles open their details (29 Oct). */
.yogi-ui.studio-theme button.profits-tile { width: 100%; border: 0; font: inherit; text-align: left; cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.yogi-ui.studio-theme button.profits-tile:hover { transform: translateY(-2px); }
.yogi-ui.studio-theme button.profits-tile:focus-visible { outline: 3px solid rgba(110, 176, 57, .55); outline-offset: 3px; }
.yogi-ui .profits-detail-dialog { width: min(880px, calc(100vw - 32px)); }
.yogi-ui .profits-detail-dialog .table-wrap { max-height: min(60vh, 560px); overflow: auto; }
.yogi-ui .profits-detail-dialog tfoot :is(th, td) { font-weight: 700; border-top: 1px solid var(--line); text-align: left; }
.yogi-ui .profits-detail-filters:not([hidden]) { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 12px; margin: 0 0 12px; }
.yogi-ui .profits-detail-filters label { display: grid; gap: 4px; font-size: 12px; color: var(--muted); min-width: 150px; }
.yogi-ui .profits-detail-filters .profits-detail-search { flex: 1 1 200px; }
.yogi-ui .profits-detail-filters :is(select, input) { min-height: 38px !important; }
.yogi-ui .profits-detail-count { margin-left: auto; font-size: 12px; align-self: center; }

/* Simple entry: one account, money in or out */
.simple-entry-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 4px 0 14px; }
.simple-entry-fields > label:first-child, .simple-entry-direction, .simple-entry-preview { grid-column: 1 / -1; }
.simple-entry-fields select { box-sizing: border-box; width: 100%; height: 46px; padding: 0 13px; border: 1px solid #bfd2c8; border-radius: 12px; background: #fff; color: #173f35; font: inherit; font-size: 14px; text-transform: none; }
.simple-entry-direction { display: flex; gap: 8px; margin: 0; padding: 0; border: 0; }
.simple-entry-direction label { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 1px solid #bfd2c8; border-radius: 12px; font-weight: 700; cursor: pointer; }
.simple-entry-direction label:has(input:checked) { border-color: #19805e; background: rgba(25, 128, 94, .08); }
.simple-entry-preview { margin: 0; font-variant-numeric: tabular-nums; color: #526d61; font-weight: 700; }
@media (prefers-color-scheme: dark) { .studio-theme .simple-entry-fields select { background: #14231e; color: #e6f0eb; border-color: #35524a; } }
@media (max-width: 520px) { .simple-entry-fields { grid-template-columns: 1fr; } }

/* Applicant window as a bank statement: date, particulars, withdrawal, deposit, running balance */
#accountLedgerDialog .ipo-ledger-rows { display: block; overflow-x: hidden; background: #fff; }
.bank-statement-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 13px; font-variant-numeric: tabular-nums; }
#accountLedgerRows .bank-statement-table th { position: sticky; top: 0; z-index: 1; background: #fff; box-shadow: 0 1px 0 rgba(23, 63, 53, .16); text-align: left; padding: 9px 10px; font-size: 11px; letter-spacing: .05em; text-transform: uppercase; color: #5b6f66; border-bottom: 1px solid rgba(23, 63, 53, .16); }
.bank-statement-table td { padding: 8px 10px; border-bottom: 1px solid rgba(23, 63, 53, .08); vertical-align: middle; }
.bank-statement-table td:first-child { white-space: nowrap; color: #5b6f66; }
.bank-statement-table td strong { display: block; font-weight: 700; }
.bank-statement-table td small { display: block; color: #5b6f66; font-size: 12px; }
.bank-statement-table .num { text-align: right; white-space: nowrap; }
.bank-statement-table th:nth-child(1) { width: 92px; }
.bank-statement-table th:nth-child(3), .bank-statement-table th:nth-child(4), .bank-statement-table th:nth-child(5) { width: 104px; }
.bank-statement-table th:nth-child(6) { width: 118px; }
#accountLedgerRows .bank-statement-table td:nth-child(2), #accountLedgerRows .bank-statement-table td:nth-child(2) small { white-space: normal; overflow-wrap: anywhere; }
#accountLedgerRows .bank-statement-table th.num { text-align: right; }
#accountLedgerRows .bank-statement-table td.is-dr { color: #b03a26; }
#accountLedgerRows .bank-statement-table td.is-cr { color: #13774f; }
.bank-statement-table td:nth-child(5) { font-weight: 700; }
.bank-statement-table tbody tr:not(.statement-opening):hover { background: rgba(25, 128, 94, .05); }
.bank-statement-table .statement-opening td { background: rgba(23, 63, 53, .04); }
#accountLedgerRows .bank-statement-table tfoot td { position: sticky; bottom: 0; z-index: 1; background: #fff; box-shadow: 0 -1px 0 rgba(23, 63, 53, .2); border-top: 1px solid rgba(23, 63, 53, .2); font-weight: 800; }
#accountLedgerRows .bank-statement-table .account-ledger-entry-actions { display: flex; flex-wrap: nowrap; gap: 6px; justify-content: flex-end; }
#accountLedgerRows .bank-statement-table .account-ledger-entry-actions button { min-height: 30px; height: 30px; padding: 0 12px; font-size: 12px; border-radius: 9px; }
@media (max-width: 640px) { .bank-statement-table th:last-child, .bank-statement-table td:last-child { display: none; } }
/* the theme makes dialog table headers transparent; the statement's sticky header and footer must cover the rows */
.yogi-ui.studio-theme #accountLedgerRows .bank-statement-table thead th,
.yogi-ui.studio-theme #accountLedgerRows .bank-statement-table tfoot td { background: var(--panel, #fff) !important; }
.yogi-ui.studio-theme #accountLedgerDialog .ipo-ledger-rows { background: var(--panel, #fff); }
#accountLedgerRows .bank-statement-table td:last-child { padding-left: 16px; }

/* Checklist: undo button, tick sparks, falling confetti, READY stamp */
.checklist-pass .checklist-undo-application { margin-left: auto; margin-right: 8px; min-height: 30px; padding: 4px 12px; border: 1px solid rgba(176, 58, 38, .35); border-radius: 999px; background: transparent; color: #b03a26; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.checklist-pass .checklist-undo-application:hover { background: rgba(176, 58, 38, .08); }
.checklist-pass .checklist-undo-application:focus-visible { outline: 2px solid #b03a26; outline-offset: 2px; }
.checklist-spark { position: fixed; z-index: 2147483000; width: 7px; height: 7px; border-radius: 2px; pointer-events: none; }
.checklist-confetti { position: fixed; top: 0; z-index: 2147483000; pointer-events: none; }
.checklist-stamp { position: absolute; left: 50%; top: 50%; z-index: 3; padding: 8px 22px; border: 4px solid #1f5b40; border-radius: 14px; background: rgba(184, 224, 74, .92); color: #123a29; font-size: 30px; font-weight: 900; letter-spacing: .08em; pointer-events: none; box-shadow: 0 12px 30px rgba(18, 58, 41, .25); }

/* Reconcile: a raised 3D key that tilts toward the pointer, glints, and presses down */
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn {
  position: relative; overflow: hidden; transform-style: preserve-3d;
  border: 0 !important; border-radius: 14px !important; min-height: 46px;
  background: linear-gradient(180deg, #c9ee5f 0%, #a7d63c 100%) !important; color: #123a29 !important; font-weight: 800 !important; letter-spacing: .02em;
  box-shadow: 0 6px 0 #6f9a1f, 0 12px 22px rgba(52, 85, 14, .28), inset 0 1px 0 rgba(255, 255, 255, .7) !important;
  transform: perspective(600px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(0);
  transition: transform .18s cubic-bezier(.2, .8, .3, 1), box-shadow .18s ease, filter .18s ease;
}
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .65) 48%, transparent 66%);
  transform: translateX(-120%); animation: reconcile-glint 3.6s ease-in-out infinite;
}
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account:nth-child(3n+2) .reconcile-account-btn::after { animation-delay: 1.2s; }
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account:nth-child(3n) .reconcile-account-btn::after { animation-delay: 2.4s; }
@keyframes reconcile-glint { 0%, 55% { transform: translateX(-120%); } 85%, 100% { transform: translateX(120%); } }
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn:hover { filter: brightness(1.05) saturate(1.1); transform: perspective(600px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(-2px); box-shadow: 0 8px 0 #6f9a1f, 0 18px 30px rgba(52, 85, 14, .32), inset 0 1px 0 rgba(255, 255, 255, .7) !important; }
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn:active { transform: perspective(600px) translateY(5px); box-shadow: 0 1px 0 #6f9a1f, 0 4px 8px rgba(52, 85, 14, .25), inset 0 2px 4px rgba(0, 0, 0, .12) !important; transition-duration: .06s; }
.yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn:focus-visible { outline: 3px solid #1f5b40; outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn::after { animation: none; } .yogi-ui.studio-theme #reconciliationCenter .reconciliation-account .reconcile-account-btn { transition: none; } }
.yogi-ui.studio-reduced-motion #reconciliationCenter .reconciliation-account .reconcile-account-btn::after { animation: none; }

/* Loans between accounts */
.loans-panel .loans-show-repaid { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; }
.loans-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; }
.loans-summary { grid-column: 1 / -1; margin: 0; font-size: 14px; color: #48684f; }
.loans-summary strong { color: #b03a26; font-size: 18px; font-variant-numeric: tabular-nums; }
.loan-card { display: grid; gap: 8px; padding: 14px 16px; border: 1px solid rgba(23, 63, 53, .12); border-radius: 16px; background: #fff; }
.loan-card.is-repaid { opacity: .7; }
.loan-card header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.loan-card header strong { display: block; font-size: 15px; }
.loan-card header small { display: block; color: #5b6f66; font-size: 12px; margin-top: 2px; }
.loan-owed { font-size: 18px; font-weight: 800; color: #b03a26; white-space: nowrap; font-variant-numeric: tabular-nums; }
.loan-card.is-repaid .loan-owed { color: #13774f; }
.loan-meter { height: 6px; border-radius: 6px; background: #e3eadc; overflow: hidden; }
.loan-meter i { display: block; height: 100%; background: linear-gradient(90deg, #36866c, #a7d63c); border-radius: inherit; }
.loan-figures { margin: 0; font-size: 12px; color: #5b6f66; font-variant-numeric: tabular-nums; }
.loan-advice { margin: 0; padding: 9px 11px; border-radius: 10px; font-size: 13px; line-height: 1.45; }
.loan-advice.is-ready { background: rgba(167, 214, 60, .18); color: #1f4d2e; }
.loan-advice.is-partial { background: rgba(242, 201, 76, .2); color: #5b4300; }
.loan-advice.is-waiting { background: rgba(23, 63, 53, .06); color: #44564d; }
.loan-history { margin: 0; padding-left: 18px; font-size: 12px; color: #5b6f66; }
.loan-repay-btn { justify-self: start; }
.simple-entry-fields .loan-reason { grid-column: 1 / -1; }

/* Apply desk */
.apply-desk-dialog { width: min(980px, 94vw); }
.apply-desk-section { margin-top: 14px; border: 1px solid var(--line, rgba(23,63,53,.14)); border-radius: 14px; overflow: hidden; }
.apply-desk-section > header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 14px; background: var(--panel-soft, #f4f7f1); }
.apply-desk-section h4 { margin: 0; font-size: 14px; }
.apply-desk-section header small { color: var(--muted, #5b6f66); font-size: 12px; }
.apply-desk-rows { max-height: 38vh; overflow: auto; }
.apply-desk-row { display: grid; grid-template-columns: 24px minmax(150px, 1.2fr) minmax(150px, 1.3fr) minmax(90px, .6fr) minmax(160px, 1.4fr); align-items: center; gap: 10px; padding: 9px 14px; border-top: 1px solid var(--line, rgba(23,63,53,.08)); font-size: 13px; font-variant-numeric: tabular-nums; }
.apply-desk-section:nth-of-type(n+2) .apply-desk-row { grid-template-columns: minmax(150px, 1.2fr) minmax(150px, 1.3fr) minmax(140px, 1fr) auto; }
.apply-desk-row.is-blocked { color: var(--muted, #5b6f66); }
.apply-desk-who strong, .apply-desk-who small { display: block; }
.apply-desk-who small { color: var(--muted, #5b6f66); font-size: 12px; }
.apply-desk-note { color: var(--muted, #5b6f66); font-size: 12px; }
.apply-desk-row.is-blocked .apply-desk-note { color: #8a5a00; }
.apply-desk-x { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: rgba(242, 201, 76, .35); color: #6b4a00; font-size: 12px; font-weight: 800; }
.apply-desk-chip { justify-self: start; padding: 3px 10px; border-radius: 999px; font-size: 12px; background: rgba(242, 201, 76, .25); color: #6b4a00; }
.apply-desk-chip[data-tone="good"] { background: rgba(167, 214, 60, .25); color: #1f4d2e; }
.apply-desk-chip[data-tone="muted"] { background: rgba(23, 63, 53, .07); color: #44564d; }
.apply-desk-actions { display: flex; gap: 6px; justify-content: flex-end; }
.apply-desk-actions button, .apply-desk-row > button { min-height: 32px; padding: 0 12px; font-size: 12px; }
.apply-desk-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 16px; }
.apply-desk-confirm { display: flex; align-items: center; gap: 8px; margin-right: auto; font-size: 13px; }
@media (max-width: 720px) { .apply-desk-row, .apply-desk-section:nth-of-type(n+2) .apply-desk-row { grid-template-columns: 1fr; } }

/* UPI ID verify */
.upi-verify-row { display: flex; gap: 8px; }
.upi-verify-row input { flex: 1; min-width: 0; }
.upi-verify-row button { flex: none; }
.upi-verified-badge { margin-right: 6px; padding: 1px 8px; border-radius: 999px; background: rgba(167, 214, 60, .3); color: #1f4d2e; font-weight: 700; }
.upi-verify-qr { display: grid; justify-items: center; gap: 6px; margin: 4px 0 12px; }
.upi-verify-qr svg { width: 220px; height: 220px; border-radius: 12px; background: #fff; }
.upi-verify-qr code { font-size: 14px; font-weight: 700; }
.upi-verify-qr small { color: var(--muted, #5b6f66); font-size: 12px; text-align: center; }

/* Dashboard IPO board (IPO Ji style) */
.ipo-board-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.ipo-board-tabs { display: inline-flex; padding: 3px; border-radius: 999px; background: var(--panel-soft, #f1f4ee); }
.ipo-board-tabs button { min-height: 32px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--muted, #5b6f66); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.ipo-board-tabs button[aria-selected="true"] { background: var(--panel, #fff); color: var(--text, #173f35); box-shadow: 0 1px 3px rgba(20, 40, 25, .15); }
.ipo-board-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 14px; }
.ipo-card { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line, rgba(23,63,53,.12)); border-radius: 16px; background: var(--panel, #fff); color: var(--text, #17201a); }
.ipo-card header, .ipo-page-head { display: flex; align-items: center; gap: 12px; }
.ipo-card header > div:nth-child(2) { flex: 1; min-width: 0; }
.ipo-card header strong { display: block; font-size: 16px; }
.ipo-card header small { color: var(--muted, #5b6f66); font-size: 12px; }
.ipo-card .ipo-avatar, .ipo-page-head .ipo-avatar { width: 46px; height: 46px; flex: none; border-radius: 12px; }
.ipo-card-tags { display: grid; justify-items: end; gap: 6px; }
.ipo-card-board { padding: 2px 9px; border-radius: 999px; background: rgba(110, 90, 200, .12); color: #5b47b5; font-size: 12px; font-weight: 700; }
.ipo-card-badge { padding: 2px 9px; border-radius: 999px; background: rgba(23, 63, 53, .07); color: #44564d; font-size: 12px; font-weight: 700; white-space: nowrap; }
.ipo-card-badge.is-live { background: rgba(214, 48, 49, .12); color: #c0392b; }
.ipo-card-badge.is-good { background: rgba(167, 214, 60, .25); color: #1f4d2e; }
.ipo-card-badge.is-wait { background: rgba(242, 160, 60, .2); color: #8a4b00; }
.ipo-card dl { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; padding-bottom: 12px; border-bottom: 1px solid var(--line, rgba(23,63,53,.1)); }
.ipo-card dt { color: var(--muted, #5b6f66); font-size: 11px; }
.ipo-card dd { margin: 2px 0 0; font-weight: 700; font-size: 13px; font-variant-numeric: tabular-nums; }
.ipo-card footer { display: flex; justify-content: space-between; align-items: flex-end; gap: 10px; }
.ipo-card footer small { display: block; color: var(--muted, #5b6f66); font-size: 11px; }
.ipo-card footer b.is-up { color: #13774f; } .ipo-card footer b.is-down { color: #b03a26; }
.ipo-card-mine { margin-top: 2px; }
.ipo-card-actions { display: flex; gap: 8px; }
.ipo-card-actions button { min-height: 38px; padding: 0 16px; }
/* IPO page */
.ipo-page-dialog { width: min(1200px, 96vw); max-height: 92vh; padding: 0; border: 0; border-radius: 20px; background: var(--panel, #fff); color: var(--text, #17201a); }
.ipo-page { display: grid; grid-template-rows: auto 1fr; max-height: 92vh; }
.ipo-page-head { padding: 18px 22px; border-bottom: 1px solid var(--line, rgba(23,63,53,.12)); }
.ipo-page-head h3 { margin: 0; font-size: 20px; }
.ipo-page-head p { display: flex; gap: 6px; margin: 4px 0 0; }
.ipo-page-head > div:nth-child(2) { flex: 1; }
.ipo-page-min { text-align: right; } .ipo-page-min b { display: block; color: #13774f; font-size: 22px; } .ipo-page-min small { color: var(--muted, #5b6f66); font-size: 12px; }
.ipo-page-body { display: grid; grid-template-columns: minmax(320px, 420px) 1fr; min-height: 0; }
.ipo-page-applicants { display: grid; grid-template-rows: auto auto 1fr auto; min-height: 0; border-right: 1px solid var(--line, rgba(23,63,53,.12)); background: var(--panel-soft, #f6f8f3); }
.ipo-page-applicants h4 { margin: 14px 18px 8px; }
.ipo-applicant-list { display: grid; align-content: start; gap: 10px; padding: 0 14px 14px; overflow: auto; }
.ipo-applicant { display: grid; gap: 8px; padding: 12px 14px; border: 1px solid var(--line, rgba(23,63,53,.1)); border-radius: 14px; background: var(--panel, #fff); }
.ipo-applicant header { display: flex; justify-content: space-between; } .ipo-applicant header span { color: var(--muted, #5b6f66); font-size: 12px; font-weight: 700; }
.ipo-applicant dl { display: grid; grid-template-columns: 70px 1fr; gap: 4px 8px; margin: 0; font-size: 13px; } .ipo-applicant dl div { display: contents; }
.ipo-applicant dt { color: var(--muted, #5b6f66); } .ipo-applicant dd { margin: 0; overflow-wrap: anywhere; }
.ipo-applicant-bid { display: grid; gap: 4px; font-size: 12px; font-weight: 700; color: var(--muted, #5b6f66); }
.ipo-applicant-bid select { min-height: 40px; }
.ipo-applicant-status { justify-self: start; padding: 3px 10px; border-radius: 999px; background: rgba(167, 214, 60, .22); color: #1f4d2e; font-size: 12px; font-weight: 700; }
.ipo-page-submit { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 16px; border-top: 1px solid var(--line, rgba(23,63,53,.12)); background: var(--panel, #fff); }
.ipo-page-submit span { font-weight: 700; font-variant-numeric: tabular-nums; }
.ipo-page-submit button { min-width: 160px; min-height: 44px; }
.ipo-page-details { display: grid; align-content: start; gap: 18px; padding: 18px 22px; overflow: auto; }
.ipo-page-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0; }
.ipo-page-facts dt, .ipo-page-subs dt { color: var(--muted, #5b6f66); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.ipo-page-facts dd { margin: 3px 0 0; font-weight: 700; }
.ipo-page-timeline { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; text-align: center; }
.ipo-page-timeline li { position: relative; display: grid; gap: 2px; padding-top: 18px; font-size: 13px; }
.ipo-page-timeline li::before { content: ""; position: absolute; top: 4px; left: 50%; width: 12px; height: 12px; margin-left: -6px; border-radius: 50%; border: 2px solid #b9c7bf; background: #fff; }
.ipo-page-timeline li.is-done::before { border-color: #13774f; background: #a7d63c; }
.ipo-page-timeline span { color: var(--muted, #5b6f66); font-size: 12px; }
.ipo-page-gmp { padding: 12px 14px; border-left: 4px solid #a7d63c; border-radius: 10px; background: rgba(167, 214, 60, .12); }
.ipo-page-gmp small { display: block; color: var(--muted, #5b6f66); font-size: 12px; } .ipo-page-gmp b { font-size: 20px; }
.ipo-page-subs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; }
.ipo-page-subs .ipo-page-subs-title { grid-column: 1 / -1; }
.ipo-page-subs div { padding: 10px; border-radius: 10px; background: var(--panel-soft, #f4f7f1); }
.ipo-page-subs dd { margin: 2px 0 0; font-size: 18px; font-weight: 800; }
.ipo-page-lots { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.ipo-page-lots th, .ipo-page-lots td { padding: 8px 10px; border-bottom: 1px solid var(--line, rgba(23,63,53,.1)); text-align: left; }
@media (max-width: 860px) { .ipo-page-body { grid-template-columns: 1fr; } .ipo-page-applicants { border-right: 0; } .ipo-card dl { grid-template-columns: repeat(2, 1fr); } }
.yogi-dark .ipo-card-badge.is-live { background: rgba(255, 120, 110, .18); color: #ff9a8f; }
.yogi-dark .ipo-card footer b.is-up { color: #7fd8a6; } .yogi-dark .ipo-card footer b.is-down { color: #ff8a7a; }
.yogi-dark .ipo-card-board { background: rgba(170, 150, 255, .18); color: #c8bcff; }
.yogi-dark .ipo-applicant-status { color: #c9f08a; }

/* Settings (sidebar + panes) */
.settings-shell { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 8px; }
.settings-nav { position: sticky; top: 12px; display: grid; gap: 2px; padding: 8px; border-radius: 16px; background: var(--panel-soft, #f4f7f1); }
.settings-nav button { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 40px; padding: 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--text, #17201a); font: inherit; font-size: 14px; font-weight: 600; text-align: left; cursor: pointer; }
.settings-nav button:hover { background: var(--fill, rgba(23, 63, 53, .06)); }
.settings-nav button[aria-pressed="true"] { background: var(--panel, #fff); box-shadow: 0 1px 3px rgba(20, 40, 25, .14); }
.settings-nav button.is-danger { margin-top: 8px; color: #b03a26; }
.settings-nav-count { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #e0592a; color: #fff; font-size: 12px; text-align: center; }
.settings-pane-head { margin-bottom: 14px; }
.settings-pane-head h3 { margin: 0; font-size: 22px; }
.settings-pane-head p { margin: 4px 0 0; color: var(--muted, #5b6f66); }
.settings-pane-body { display: grid; gap: 14px; }
.settings-card { padding: 16px 18px; border: 1px solid var(--line, rgba(23,63,53,.12)); border-radius: 16px; background: var(--panel, #fff); }
.settings-card > header { margin-bottom: 10px; }
.settings-card > header h4 { margin: 0; font-size: 15px; }
.settings-card > header p { margin: 3px 0 0; color: var(--muted, #5b6f66); font-size: 13px; }
.settings-card > details, .settings-card > section { margin: 0; border: 0; box-shadow: none; background: transparent; padding: 0; }
.settings-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 52px; padding: 8px 0; border-top: 1px solid var(--line, rgba(23,63,53,.08)); }
.settings-row:first-of-type { border-top: 0; }
.settings-row strong { display: block; font-size: 14px; } .settings-row small { display: block; color: var(--muted, #5b6f66); font-size: 12px; }
.settings-row input[type=range] { width: 180px; }
.settings-row button { flex: none; min-height: 36px; }
.settings-score { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border-radius: 16px; background: var(--panel-soft, #f4f7f1); }
.settings-score strong { font-size: 16px; } .settings-score p { margin: 2px 0 0; color: var(--muted, #5b6f66); font-size: 13px; }
.settings-score-ring { --done: 0; display: grid; place-items: center; width: 64px; height: 64px; flex: none; border-radius: 50%;
  background: radial-gradient(closest-side, var(--panel-soft, #f4f7f1) 74%, transparent 75%), conic-gradient(#7fbf3a calc(var(--done) * 1%), rgba(23, 63, 53, .12) 0); }
.settings-score-ring b { font-size: 15px; font-variant-numeric: tabular-nums; }
.settings-checks { display: grid; gap: 8px; margin: 14px 0 0; padding: 0; list-style: none; }
.settings-checks li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 12px 14px; border: 1px solid var(--line, rgba(23,63,53,.1)); border-radius: 14px; background: var(--panel, #fff); }
.settings-checks strong { display: block; font-size: 14px; } .settings-checks small { display: block; margin-top: 2px; color: var(--muted, #5b6f66); font-size: 12.5px; }
.settings-check-icon { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-weight: 800; font-size: 13px; }
.settings-checks .is-todo .settings-check-icon { background: rgba(224, 89, 42, .14); color: #c2410c; }
.settings-checks .is-info .settings-check-icon { background: rgba(70, 130, 200, .14); color: #2c64a8; }
.settings-checks .is-ok .settings-check-icon { background: rgba(127, 191, 58, .2); color: #2f6b16; }
.settings-checks .is-ok strong { font-weight: 600; }
.settings-checks button { min-height: 36px; padding: 0 14px; }
.settings-tips { margin-top: 16px; padding: 16px 18px; border-radius: 16px; border: 1px dashed var(--line-strong, rgba(23,63,53,.25)); }
.settings-tips h4 { margin: 0 0 8px; } .settings-tips ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.settings-tips strong { display: block; font-size: 14px; } .settings-tips span { color: var(--muted, #5b6f66); font-size: 13px; }
.settings-accounts { overflow-x: auto; }
.settings-accounts table { width: 100%; border-collapse: collapse; font-size: 13px; }
.settings-accounts th { padding: 8px 10px; color: var(--muted, #5b6f66); font-size: 11px; font-weight: 700; text-align: left; text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--line, rgba(23,63,53,.12)); }
.settings-accounts td { padding: 8px 10px; border-bottom: 1px solid var(--line, rgba(23,63,53,.07)); }
.settings-accounts td button { min-height: 30px; padding: 0 12px; font-size: 12px; }
.settings-tick { color: #2f6b16; font-weight: 700; } .settings-miss { color: #c2410c; font-weight: 700; }
.settings-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 6px 0 0; }
.settings-stats div { padding: 10px 12px; border-radius: 12px; background: var(--panel-soft, #f4f7f1); }
.settings-stats dt { color: var(--muted, #5b6f66); font-size: 12px; } .settings-stats dd { margin: 2px 0 0; font-size: 18px; font-weight: 800; }
.settings-moved-note { margin: 8px 0 0; color: var(--muted, #5b6f66); font-size: 13px; }
.link-btn { padding: 0; border: 0; background: none; color: var(--forest, #1f5b40); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.yogi-dark .settings-tick { color: #9be07a; } .yogi-dark .settings-miss, .yogi-dark .settings-nav button.is-danger { color: #ff9a7a; }
.yogi-dark .settings-checks .is-todo .settings-check-icon { color: #ffb08a; } .yogi-dark .settings-checks .is-info .settings-check-icon { color: #9cc3f5; } .yogi-dark .settings-checks .is-ok .settings-check-icon { color: #b6ec8c; }
@media (max-width: 860px) { .settings-shell { grid-template-columns: 1fr; } .settings-nav { position: static; display: flex; overflow-x: auto; } .settings-nav button { flex: none; } .settings-stats { grid-template-columns: 1fr; } }
.yogi-ui.studio-theme .settings-pane[data-pane="danger"] .reset-btn { color: #b03a26 !important; box-shadow: inset 0 0 0 1.5px rgba(176, 58, 38, .45) !important; }
.yogi-dark .settings-pane[data-pane="danger"] .reset-btn { color: #ff9a7a !important; }
