/* Shared theme components
   Keep reusable surfaces here. Feature styles should provide layout and
   semantic states only, using these theme tokens for neutral UI. */

/* Shared location control used by Live Signal, KP, and other dashboard tools. */
.afh-location-bar.afh-location-bar{display:flex;align-items:center;gap:.5rem;width:100%;box-sizing:border-box;padding:.7rem 1rem;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:10px;box-shadow:var(--theme-shadow-sm,0 2px 8px rgba(15,23,42,.06))}.afh-location-bar>i{color:var(--theme-accent,var(--primary-color,#e8751a));flex:0 0 auto}body .afh-location-bar input{flex:1 1 auto;min-width:0;min-height:2.25rem;padding:.45rem .75rem;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface-muted);color:var(--theme-text);box-sizing:border-box}.afh-location-bar .afh-location-button{min-height:2.25rem;padding:.45rem .85rem;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface-muted);color:var(--theme-text);font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.afh-location-bar .afh-location-button:hover{background:var(--theme-accent,var(--primary-color,#e8751a));border-color:var(--theme-accent,var(--primary-color,#e8751a));color:#fff}@media(max-width:700px){.afh-location-bar.afh-location-bar{flex-wrap:wrap}body .afh-location-bar input{flex-basis:calc(100% - 2rem)}.afh-location-bar .afh-location-button{margin-left:2rem}}
.afh-location-bar>button{min-height:2.25rem;padding:.45rem .85rem;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface-muted);color:var(--theme-text);font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.afh-location-bar>button:hover{background:var(--theme-accent,var(--primary-color,#e8751a));border-color:var(--theme-accent,var(--primary-color,#e8751a));color:#fff}

/* Reusable birth details summary used by astrology and wealth modules. */
.afh-birth-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.5rem}
.afh-birth-summary__item{min-width:0;padding:.85rem 1rem;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:10px;box-shadow:var(--theme-shadow-sm,0 2px 8px rgba(15,23,42,.06))}
.afh-birth-summary__item span{display:block;color:var(--theme-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.06em;line-height:1.25;text-transform:uppercase}
.afh-birth-summary__item strong{display:block;margin-top:.3rem;color:var(--theme-text);font-size:.95rem;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:700px){.afh-birth-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.afh-birth-summary__item{padding:.75rem}.afh-birth-summary__item strong{font-size:.9rem}}
@media(max-width:420px){.afh-birth-summary{grid-template-columns:1fr}}

/* Staff/astrologer profile switcher shared by astrology dashboard pages. */
.afh-profile-switcher{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:calc(100% - 2rem);max-width:1200px;box-sizing:border-box;margin:0 auto 1rem;padding:.75rem 1rem;background:var(--theme-surface);border:1px solid var(--theme-border);border-radius:10px;box-shadow:var(--theme-shadow-sm,0 2px 8px rgba(15,23,42,.06))}.afh-profile-switcher strong{display:block;color:var(--theme-text);font-size:.88rem}.afh-profile-switcher strong i{color:var(--theme-accent,var(--primary-color));margin-right:.35rem}.afh-profile-switcher span{display:block;margin-top:.15rem;color:var(--theme-text-muted);font-size:.76rem}.afh-profile-switcher__form{display:flex;align-items:center;gap:.5rem;flex:0 0 auto}.afh-profile-switcher__form input{width:10rem;min-height:2.35rem;padding:.45rem .65rem;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface-muted);color:var(--theme-text)}.afh-profile-switcher__form button{white-space:nowrap;background:var(--theme-accent,var(--primary-color,#4a6b6a));border-color:var(--theme-accent,var(--primary-color,#4a6b6a));color:#fff}.afh-profile-switcher__form button:hover{background:var(--primary-dark,var(--theme-accent,var(--primary-color,#4a6b6a)));border-color:var(--primary-dark,var(--theme-accent,var(--primary-color,#4a6b6a)));color:#fff}@media(max-width:700px){.afh-profile-switcher{align-items:stretch;flex-direction:column}.afh-profile-switcher__form{width:100%}.afh-profile-switcher__form input{flex:1;width:auto}}

/* Operations/status components are shared so admin and dashboard monitoring
   pages use the same responsive card and table treatment. */
.ops-section{margin:1.75rem 0 2.25rem}.ops-section h2{margin-bottom:.8rem}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.85rem}.ops-card{min-height:92px;padding:1rem 1.05rem;border:1px solid var(--theme-border);border-left:4px solid #94a3b8;border-radius:12px;background:var(--theme-surface);box-shadow:0 3px 12px rgba(60,35,65,.05)}.ops-card--healthy{border-left-color:#16a34a}.ops-card--warning{border-left-color:#d97706}.ops-card--critical{border-left-color:#dc2626}.ops-card-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.ops-status{font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.ops-card--healthy .ops-status{color:#15803d}.ops-card--warning .ops-status{color:#b45309}.ops-card--critical .ops-status{color:#b91c1c}.ops-card p,.ops-note{margin:.55rem 0 0;color:var(--theme-text-muted);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.ops-table-wrap{overflow-x:auto;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);box-shadow:0 3px 12px rgba(60,35,65,.04)}.ops-table-wrap .simple-table{width:100%;min-width:1120px;margin:0;table-layout:fixed}.ops-table-wrap .simple-table th,.ops-table-wrap .simple-table td{padding:.8rem .75rem;vertical-align:middle;text-align:left;line-height:1.35;overflow-wrap:normal}.ops-table-wrap .simple-table th{white-space:nowrap}.ops-table-wrap .simple-table th:nth-child(1){width:22%}.ops-table-wrap .simple-table th:nth-child(2){width:27%}.ops-table-wrap .simple-table th:nth-child(3){width:14%}.ops-table-wrap .simple-table th:nth-child(4){width:13%}.ops-table-wrap .simple-table th:nth-child(5){width:9%}.ops-table-wrap .simple-table th:nth-child(6){width:7%}.ops-table-wrap .simple-table th:nth-child(7){width:8%}.ops-table-wrap .simple-table td:nth-child(1){overflow-wrap:anywhere}.ops-table-wrap .simple-table td:nth-child(2){white-space:nowrap}.ops-table-wrap .simple-table td:nth-child(n+3){white-space:nowrap}.ops-table-wrap code{display:block;color:var(--theme-text-muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ops-table-wrap form{margin:0}.ops-table-wrap button{min-width:76px;padding:.4rem .65rem;border:1px solid var(--theme-border);border-radius:7px;background:var(--theme-surface-raised);color:var(--theme-text);cursor:pointer;font:inherit;font-size:.78rem;white-space:nowrap}.ops-table-wrap button:hover{border-color:var(--theme-accent,var(--primary-color));color:var(--theme-accent,var(--primary-color))}.maintenance-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2rem}.maintenance-actions form{flex:1 1 240px}.maintenance-actions button{width:100%}.maintenance-messages{margin-bottom:1.5rem}.maintenance-message{padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem}@media(max-width:720px){.ops-section{margin-top:1.25rem}.ops-grid{grid-template-columns:1fr}.ops-table-wrap .simple-table{min-width:1120px}}

:root {
  --theme-surface: var(--card-bg, var(--bg-primary));
  --theme-surface-muted: var(--bg-secondary);
  --theme-surface-raised: var(--bg-tertiary);
  --theme-text: var(--text-primary);
  --theme-text-muted: var(--text-secondary);
  --theme-border: var(--border-light);
}

/* Shared AstroFinanceHub mark. Keep the brand consistent in the site bar and dashboard sidebar. */
.afh-logo-mark {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2.15rem;
  height:1.35rem;
  padding:0 .24rem;
  border:1px solid var(--theme-border);
  border-radius:.38rem;
  background:var(--theme-surface-raised);
  color:var(--theme-accent, var(--primary-color));
  font:900 .68rem/1 var(--font-heading, system-ui, sans-serif);
  letter-spacing:-.06em;
  white-space:nowrap;
}
.nav-brand-mark { display:flex; align-items:center; gap:.5rem; min-width:0; text-decoration:none; }
.nav-brand-mark-name { color:var(--theme-text); font:700 .78rem/1 var(--font-heading, system-ui, sans-serif); white-space:nowrap; }
.nav-brand-mark--mobile { margin-right:auto; }
.site-theme-toggle { color:var(--theme-text) !important; border-color:var(--theme-border) !important; background:var(--theme-surface-muted) !important; }
.site-theme-toggle:hover { color:var(--theme-accent, var(--primary-color)) !important; }
.dash-sidebar .dash-brand-icon { background:var(--theme-surface-raised) !important; border:1px solid var(--theme-border); color:var(--theme-accent, var(--primary-color)); }
.dash-sidebar .dash-brand-icon .afh-logo-mark { border:0; background:transparent; color:inherit; }
@media (max-width:767px) { .nav-brand-mark-name { display:none; } }

/* Public pricing and value sections use the same neutral theme tokens as the dashboard. */
.pricing-section,
.home-section,
.home-section--full-bleed,
.consultation-card,
.about-card { background:var(--theme-surface) !important; color:var(--theme-text) !important; }
.pricing-card { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.pricing-card h3,
.pricing-card p,
.pricing-card li,
.pricing-card .pricing-duration,
.consultation-card h3,
.consultation-card p,
.about-card h3,
.about-card p,
.about-card strong { color:var(--theme-text) !important; }
.pricing-card .pricing-duration,
.pricing-card li,
.consultation-card li,
.about-card small { color:var(--theme-text-muted) !important; }
.pricing-card .pricing-features li { border-color:var(--theme-border) !important; }
.pricing-option,
.pricing-value { border-color:var(--theme-border) !important; background:var(--theme-surface) !important; }

/* Panchanga uses the same site surfaces, tables and text tokens as every dashboard module. */
#panchangaContent .panch-detail-table,
#panchangaContent .panch-planet-table { width:100%; border-collapse:collapse; color:var(--theme-text); background:var(--theme-surface); }
#panchangaContent > .dash-card,
#panchangaContent .dash-card:has(.panch-planet-table) { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#panchangaContent .dash-card:has(.panch-planet-table) .dash-card-head,
#panchangaContent .dash-card:has(.panch-planet-table) .dash-card-head h3,
#panchangaContent .dash-card:has(.panch-planet-table) .dash-list-sub { color:var(--theme-text) !important; background:var(--theme-surface-muted) !important; border-color:var(--theme-border) !important; }
#panchangaContent .panch-detail-table th,
 #panchangaContent .panch-planet-table th { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#panchangaContent .panch-detail-table td,
#panchangaContent .panch-planet-table td { color:var(--theme-text) !important; border-color:var(--theme-border); }
#panchangaContent .panch-planet-table td[style*="color:#dc2626"] { color:#dc2626 !important; }
#panchangaContent .panch-detail-table tr:hover td,
#panchangaContent .panch-planet-table tr:hover td { background:var(--theme-surface-muted); }
#panchangaContent .panch-detail-table tbody tr:nth-child(odd) td,
#panchangaContent .panch-planet-table tbody tr:nth-child(odd) td { background:var(--theme-surface); }
#panchangaContent .panch-detail-table tbody tr:nth-child(even) td,
#panchangaContent .panch-planet-table tbody tr:nth-child(even) td { background:var(--theme-surface-muted); }
#panchangaContent .panch-time-badge { color:var(--theme-text-muted); background:var(--theme-surface-muted); border-color:var(--theme-border); }
#panchangaContent .sbc-feature-card,
#panchangaContent .sbc-scoreboard { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#panchangaContent .sbc-feature-head,
#panchangaContent .sbc-feature-body,
#panchangaContent .sbc-scoreboard > div:first-child,
#panchangaContent .sbc-scoreboard > div:last-child { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#panchangaContent .sbc-feature-head h3,
#panchangaContent .sbc-feature-head p,
#panchangaContent .sbc-intro,
#panchangaContent .sbc-scoreboard h4,
#panchangaContent .sbc-scoreboard p,
#panchangaContent .sbc-scoreboard th,
#panchangaContent .sbc-scoreboard td,
 #panchangaContent .sbc-scoreboard strong { color:var(--theme-text); border-color:var(--theme-border); }
#panchangaContent .sbc-feature-head,
#panchangaContent .sbc-feature-body,
#panchangaContent .sbc-lock-preview,
#panchangaContent .sbc-loading { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#panchangaContent .sbc-feature-kicker,
#panchangaContent .sbc-feature-head h3,
#panchangaContent .sbc-feature-head p,
#panchangaContent .sbc-intro,
#panchangaContent .sbc-loading { color:var(--theme-text) !important; }
#panchangaContent .sbc-feature-icon { background:var(--theme-surface-raised); color:var(--theme-accent, var(--primary-color)); border-color:var(--theme-border); }
#panchangaContent .sbc-market-lens,
#panchangaContent .sbc-narrative-card,
#panchangaContent .sbc-callout,
#panchangaContent .sbc-live-board { background:var(--theme-surface); color:var(--theme-text); border-color:var(--theme-border); }
#panchangaContent .sbc-market-lens p,
#panchangaContent .sbc-market-lens small,
#panchangaContent .sbc-market-method,
#panchangaContent .sbc-market-disclaimer { color:var(--theme-text-muted); }
#panchangaContent .sbc-table-scroll { background:var(--theme-surface); border-color:var(--theme-border); }
#panchangaContent .sbc-scoreboard table { color:var(--theme-text); background:var(--theme-surface); }
#panchangaContent .sbc-scoreboard table thead tr { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; }
#panchangaContent .sbc-scoreboard table th,
#panchangaContent .sbc-scoreboard table td { border-color:var(--theme-border) !important; }
#panchangaContent .sbc-scoreboard table thead th { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; }
#panchangaContent .sbc-scoreboard table td[style*="color:#1e293b"],
#panchangaContent .sbc-scoreboard table td[style*="color:#475569"] { color:var(--theme-text) !important; }
#panchangaContent .sbc-scoreboard table td[style*="color:#64748b"] { color:var(--theme-text-muted) !important; }
#panchangaContent .sbc-scoreboard table td[style*="color:#166534"] { color:#166534 !important; }
#panchangaContent .sbc-scoreboard table td[style*="color:#991b1b"] { color:#991b1b !important; }
#panchangaContent .sbc-scoreboard tbody td { color:var(--theme-text) !important; background:var(--theme-surface) !important; }
#panchangaContent .sbc-scoreboard tbody tr[style*="background:#f0fdf4"] td,
#panchangaContent .sbc-scoreboard tbody tr[style*="background:#fff1f2"] td,
#panchangaContent .sbc-scoreboard tbody tr[style*="background:#fffbeb"] td { background:var(--theme-surface) !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#166534"] { color:#166534 !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#991b1b"] { color:#991b1b !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#92400e"] { color:#92400e !important; }
#panchangaContent .sbc-scoreboard tbody td,
#panchangaContent .sbc-scoreboard tbody td * { color:var(--theme-text) !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#166534"],
#panchangaContent .sbc-scoreboard tbody td[style*="color:#166534"] *,
#panchangaContent .sbc-scoreboard tbody td[style*="color:#991b1b"],
#panchangaContent .sbc-scoreboard tbody td[style*="color:#991b1b"] *,
#panchangaContent .sbc-scoreboard tbody td[style*="color:#92400e"],
#panchangaContent .sbc-scoreboard tbody td[style*="color:#92400e"] * { color:inherit !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#166534"],
#panchangaContent .sbc-scoreboard tbody td[style*="color:#166534"] * { color:#166534 !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#991b1b"],
#panchangaContent .sbc-scoreboard tbody td[style*="color:#991b1b"] * { color:#991b1b !important; }
#panchangaContent .sbc-scoreboard tbody td[style*="color:#92400e"],
#panchangaContent .sbc-scoreboard tbody td[style*="color:#92400e"] * { color:#92400e !important; }
/* The SBC board is also reused by Financial Astrology; keep the cell rule component-scoped. */
.sbc-scoreboard tbody td,
.sbc-scoreboard tbody td * { color:var(--theme-text) !important; background:var(--theme-surface) !important; border-color:var(--theme-border) !important; }
.sbc-scoreboard tbody td[style*="color:#166534"],
.sbc-scoreboard tbody td[style*="color:#166534"] * { color:#166534 !important; }
.sbc-scoreboard tbody td[style*="color:#991b1b"],
.sbc-scoreboard tbody td[style*="color:#991b1b"] * { color:#991b1b !important; }
.sbc-scoreboard tbody td[style*="color:#92400e"],
.sbc-scoreboard tbody td[style*="color:#92400e"] * { color:#92400e !important; }
/* Active Vedha routes use the same shared theme surface as the score board. */
.sbc-vedha-routes { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.sbc-vedha-routes-title,
.sbc-vedha-route,
.sbc-vedha-route > span:not(.sbc-route-type):not(.sbc-route-line) { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.sbc-vedha-route { background:var(--theme-surface) !important; }
.sbc-vedha-routes .sbc-route-line { background:var(--route-color, var(--theme-border)) !important; }
.sbc-vedha-routes .sbc-route-type { color:var(--route-color, var(--theme-text)) !important; }
.sbc-vedha-key { background:var(--theme-surface-muted) !important; color:var(--theme-text-muted) !important; border-color:var(--theme-border) !important; }
.sbc-vedha-key strong { color:var(--theme-text) !important; }

/* Dashboard sidebar follows the same light/dark theme tokens as page content. */
.dash-sidebar,
.dash-sidebar-brand,
.dash-sidebar-bottom,
.dash-sidebar-head { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.dash-sidebar .dash-brand-name,
.dash-sidebar .dash-user-name,
.dash-sidebar .dash-nav-item,
.dash-sidebar .dash-nav-group-btn { color:var(--theme-text) !important; }
.dash-sidebar .dash-user-email,
.dash-sidebar .dash-nav-label,
.dash-sidebar .dash-nav-item i,
.dash-sidebar .dash-nav-group-arrow { color:var(--theme-text-muted) !important; }
.dash-sidebar .dash-nav-item:hover,
.dash-sidebar .dash-nav-group-btn:hover { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; }
.dash-sidebar .dash-nav-item.active { background:var(--theme-surface-muted) !important; color:var(--theme-accent, var(--primary-color)) !important; }
.dash-sidebar .dash-nav-item.active i { color:var(--theme-accent, var(--primary-color)) !important; }
.dash-sidebar .dash-sidebar-brand i,
.dash-sidebar .dash-nav-group-btn i:first-child,
.dash-sidebar .dash-sidebar-actions i,
.dash-sidebar .dash-collapse-btn i,
.dash-sidebar .dash-upgrade-btn i,
.dash-sidebar .dash-currency-pill i { color:var(--theme-text-muted) !important; }
.dash-sidebar .dash-nav-item:hover i,
.dash-sidebar .dash-nav-group-btn:hover i:first-child,
.dash-sidebar .dash-sidebar-actions a:hover i { color:var(--theme-text) !important; }
.dash-sidebar .dash-nav-item.active i { color:var(--theme-accent, var(--primary-color)) !important; }
.dash-sidebar .dash-collapse-btn,
.dash-sidebar .dash-currency-pill { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }

html,
body {
  background-color: var(--bg-primary);
  color: var(--theme-text);
}

/* Neutral reusable surfaces */
.theme-surface,
.surface-card,
.module-card,
.dash-card,
.dash-section-card,
.card-link,
.widget-card,
.report-card,
.kp-card,
.panchanga-card,
.booking-card,
.sub-card,
.order-card,
.chart-card {
  background-color: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-border);
}

.theme-surface-muted,
.theme-panel,
.dash-panel-box,
.section-panel {
  background-color: var(--theme-surface-muted);
  color: var(--theme-text);
  border-color: var(--theme-border);
}

/* Shared form controls */
.theme-form-control,
.form-control,
input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
select,
textarea {
  background-color: var(--theme-surface);
  color: var(--theme-text);
  border-color: var(--theme-border);
}

/* Shared neutral table treatment. Semantic status cells remain feature-owned. */
.theme-table,
.theme-table th,
.theme-table td,
.afh-table,
.afh-table th,
.afh-table td {
  border-color: var(--theme-border);
}

.theme-table,
.afh-table {
  color: var(--theme-text);
  background-color: var(--theme-surface);
}

.theme-table th,
.afh-table th {
  background-color: var(--theme-surface-muted);
  color: var(--theme-text);
}

.theme-table tbody tr:hover,
.afh-table tbody tr:hover {
  background-color: var(--theme-surface-raised);
}

/* Shared dashboard module layout. Feature pages compose these primitives
   instead of shipping a second card/table system. */
.dash-section > .dash-card,
.dash-section > .surface-card {
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  border: 1px solid var(--theme-border);
  border-radius: 0.9rem;
  box-shadow: 0 2px 10px rgba(31, 24, 38, .05);
}

.dash-section > .dash-card > .dash-card-head,
.dash-section > .surface-card > .dash-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: -1.25rem -1.25rem 1.25rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid var(--theme-border);
}

.dash-section .table-responsive {
  width: 100%;
  overflow-x: auto;
  border: 1px solid var(--theme-border);
  border-radius: .65rem;
}

.dash-section .theme-table,
.dash-section .afh-table {
  min-width: 620px;
  margin: 0;
}

.dashboard-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 1rem 0 0;
}

.dashboard-chip-list > * {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  max-width: 100%;
  padding: .55rem .75rem;
  border: 1px solid var(--theme-border);
  border-radius: .55rem;
  background: var(--theme-surface-muted);
  color: var(--theme-text);
  line-height: 1.4;
}

.dashboard-detail-list {
  display: grid;
  gap: .45rem;
  margin: 0;
}

.dashboard-detail-list > * {
  display: block;
  margin: 0;
  padding: .55rem .75rem;
  border-bottom: 1px solid var(--theme-border);
  color: var(--theme-text);
  line-height: 1.45;
}

.dashboard-detail-list > *:last-child {
  border-bottom: 0;
}

.dashboard-content-list {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

.dashboard-content-item {
  padding: 1rem;
  border: 1px solid var(--theme-border);
  border-radius: .7rem;
  background: var(--theme-surface-muted);
}

.dashboard-content-item h3 {
  margin: .25rem 0 .45rem;
  color: var(--theme-text);
}

.dashboard-content-item p {
  margin: 0;
  color: var(--theme-text-muted);
  line-height: 1.6;
}

.dashboard-direction-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
  margin: 1rem 0;
}

.dashboard-direction-grid > div {
  display: grid;
  gap: .25rem;
  padding: .8rem;
  border: 1px solid var(--theme-border);
  border-radius: .65rem;
  background: var(--theme-surface-muted);
}

.dashboard-direction-grid > div span { color: var(--theme-text-muted); }
.dashboard-direction-grid > div.is-recommended { border-color: var(--theme-accent, var(--primary-color)); background: var(--theme-surface-raised); box-shadow: 0 0 0 2px color-mix(in srgb, var(--theme-accent, var(--primary-color)) 18%, transparent); }
.bphs-dhanesha-marker { margin: 0 0 1rem; padding: .75rem 1rem; border-left: 3px solid var(--theme-accent, var(--primary-color)); background: var(--theme-surface-raised); color: var(--theme-text); font-weight: 700; }

@media (max-width: 760px) {
  .dashboard-direction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.dashboard-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
  padding: 1.5rem;
}

.dashboard-hero-copy {
  min-width: 0;
}

.dashboard-hero-copy h1 {
  margin: .15rem 0 .4rem;
  line-height: 1.15;
}

.dashboard-hero-copy p {
  max-width: 68ch;
  margin: 0;
  line-height: 1.55;
}

.dashboard-status-badge {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  white-space: nowrap;
  padding: .45rem .75rem;
  border: 1px solid var(--theme-border);
  border-radius: 999px;
  background: var(--theme-surface-muted);
  color: var(--theme-text);
  font-size: .8rem;
  font-weight: 700;
}

.dashboard-topic-link {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  color: var(--theme-text);
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.dashboard-topic-link:hover,
.dashboard-topic-link:focus-visible {
  border-color: var(--theme-accent, var(--primary-color));
  box-shadow: 0 5px 18px rgba(31, 24, 38, .1);
  transform: translateY(-1px);
}

.dashboard-topic-link h3 { margin: .25rem 0 .45rem; color: var(--theme-text); }
.dashboard-topic-link p { margin: 0; line-height: 1.55; color: var(--theme-text-muted); }

.dashboard-summary-list {
  display: grid;
  gap: .65rem;
  margin: 1rem 0;
}

.dashboard-summary-list a {
  display: block;
  padding: .65rem .8rem;
  border: 1px solid var(--theme-border);
  border-radius: .55rem;
  background: var(--theme-surface-muted);
  color: var(--theme-text);
  line-height: 1.5;
  text-decoration: none;
}

.dashboard-summary-list a:hover,
.dashboard-summary-list a:focus-visible {
  background: var(--theme-surface-raised);
}

.dashboard-chart-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.dashboard-chart-stack {
  grid-template-columns: 1fr;
}

.dashboard-chart-grid > * {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--theme-border);
  border-radius: .75rem;
  background: var(--theme-surface);
}

@media (max-width: 760px) {
  .dash-section > .dash-card,
  .dash-section > .surface-card { padding: 1rem; }

  .dash-section > .dash-card > .dash-card-head,
  .dash-section > .surface-card > .dash-card-head {
    flex-direction: column;
    margin: -1rem -1rem 1rem;
    padding: .85rem 1rem;
  }

  .dashboard-hero,
  .dashboard-chart-grid { grid-template-columns: 1fr; }

  .dashboard-status-badge { justify-self: start; }
}

.nav-desktop-grid { display:grid; grid-template-columns:1fr auto 1fr; }
.flash-message-text { flex:1; }
.whatsapp-btn--raised { bottom:2.5rem !important; }

/* Device preference must not override the explicit site theme selection. */
@media (prefers-color-scheme: dark) and (not all) {
  :root {
    --theme-surface: #141b2d;
    --theme-surface-muted: #0f1628;
    --theme-surface-raised: #1e2740;
    --theme-text: #f0f4ff;
    --theme-text-muted: #a8b4cc;
    --theme-border: rgba(108, 140, 255, .18);
  }

}
html.dark .trade-execution-page .ov-greeting,
html.dark .trade-execution-page .ov-card,
html.dark .trade-execution-page .ov-shortcut,
html.dark-mode .trade-execution-page .ov-greeting,
html.dark-mode .trade-execution-page .ov-card,
html.dark-mode .trade-execution-page .ov-shortcut {
  background:#111827 !important;
  color:#f1f5f9 !important;
  border-color:#334155 !important;
}
html.dark .trade-execution-page .ov-greeting-name,
html.dark .trade-execution-page .ov-card-head,
html.dark .trade-execution-page .ov-shortcut span,
html.dark-mode .trade-execution-page .ov-greeting-name,
html.dark-mode .trade-execution-page .ov-card-head,
html.dark-mode .trade-execution-page .ov-shortcut span { color:#f1f5f9 !important; }
@media (prefers-color-scheme: dark) and (not all) {
  .ov-shortcut,
  .ov-greeting,
  .ov-card { background:#111827 !important; color:#f1f5f9 !important; border-color:#334155 !important; }
  .ov-shortcut span,
  .ov-greeting-name,
  .ov-card-head { color:#f1f5f9 !important; }
}

/* One shared control row replaces legacy Financial Astrology navigation. */
.fa-timebar .fa-tb-sep,
.fa-timebar .fa-tb-grp { display:none !important; }
.fa-timebar .fa-tb-label:not(:first-child) { display:none !important; }
.fa-timebar > .fa-tb-btn { display:none !important; }
.fa-planets-control-row .fa-tb-sep,
.fa-planets-control-row .fa-tb-btn { display:none !important; }
.tr-timebar .tr-tb-sep,
.tr-timebar .tr-tb-grp,
.tr-timebar>.tr-tb-btn { display:none !important; }
.fa-planets-panel .hist-tbl,
.fa-planets-panel .hist-tbl th,
.fa-planets-panel .hist-tbl td { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.fa-planets-panel .hist-tbl th { background:var(--theme-surface-muted) !important; }
.fa-planets-panel .hist-tbl tbody tr[style*="background:#fafafa"],
.fa-planets-panel .hist-tbl tbody tr[style*="background:#fafafa"] td { background:var(--theme-surface) !important; }
.fa-planets-panel .hist-tbl tbody tr:not([style*="background:#fef3e8"]) td { color:var(--theme-text) !important; }
.fa-planets-panel .hist-tbl [style*="color:#1a1a1a"],
.fa-planets-panel .hist-tbl [style*="color:#555"],
.fa-planets-panel .hist-tbl [style*="color:#888"] { color:var(--theme-text-muted) !important; }
.fa-planets-panel .hist-tbl tbody tr:hover td { background:var(--theme-surface-hover,var(--theme-surface-muted)) !important; }
#ptTableWrap .hist-tbl,
#ptTableWrap .hist-tbl th,
#ptTableWrap .hist-tbl td { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#ptTableWrap .hist-tbl th { background:var(--theme-surface-muted) !important; }
#ptTableWrap .hist-tbl tbody tr[style*="background:#fafafa"],
#ptTableWrap .hist-tbl tbody tr[style*="background:#fafafa"] td { background:var(--theme-surface) !important; }
#ptTableWrap .hist-tbl [style*="color:#1a1a1a"],
#ptTableWrap .hist-tbl [style*="color:#555"],
#ptTableWrap .hist-tbl [style*="color:#888"] { color:var(--theme-text-muted) !important; }

/* Moon Transit insight and upcoming-change cards. Signal colours remain
   semantic; neutral card presentation follows the site theme. */
#moonInsightWrap > div,
#moonChangeSchedule {
  background:var(--theme-surface) !important;
  color:var(--theme-text) !important;
  border-color:var(--theme-border) !important;
}
#moonInsightWrap [style*="color:#374151"],
#moonInsightWrap [style*="color:#6b7280"],
#moonInsightWrap [style*="color:#9ca3af"],
#moonChangeSchedule [style*="color:#64748b"],
#moonChangeSchedule [style*="color:#666"] { color:var(--theme-text-muted) !important; }
#moonInsightWrap [style*="border-top:1px solid #ede9fe"],
#moonChangeSchedule tr { border-color:var(--theme-border) !important; }
#moonChangeSchedule .moon-change-item,
#moonChangeSchedule .moon-change-grid > div { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#moonChangeSchedule table th { color:var(--theme-text-muted) !important; }
#moonChangeSchedule table td { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#moonChangeSchedule table { width:100%; border-collapse:collapse; background:var(--theme-surface) !important; color:var(--theme-text) !important; }
#moonChangeSchedule table thead,
#moonChangeSchedule table th { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#moonChangeSchedule table tbody tr,
#moonChangeSchedule table tbody tr[style*="background"] { background:var(--theme-surface) !important; }
#moonChangeSchedule table tbody tr:hover td { background:var(--theme-surface-hover,var(--theme-surface-muted)) !important; }
#moonTableWrap .hist-tbl,
#moonTableWrap .hist-tbl th,
#moonTableWrap .hist-tbl td { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#moonTableWrap .hist-tbl th { background:var(--theme-surface-muted) !important; }
#moonTableWrap .hist-tbl tbody tr[style*="background:#fafafa"],
#moonTableWrap .hist-tbl tbody tr[style*="background:#fafafa"] td { background:var(--theme-surface) !important; }
#moonTableWrap .hist-tbl [style*="color:#1a1a1a"],
#moonTableWrap .hist-tbl [style*="color:#555"],
#moonTableWrap .hist-tbl [style*="color:#888"] { color:var(--theme-text-muted) !important; }
#moonTableWrap .hist-tbl tbody tr:hover td { background:var(--theme-surface-hover,var(--theme-surface-muted)) !important; }
#moonSectorWrap > div { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
#moonSectorWrap [style*="color:#1a1a1a"],
#moonSectorWrap [style*="color:#555"],
#moonSectorWrap [style*="color:#374151"],
#moonSectorWrap [style*="color:#475569"],
#moonSectorWrap [style*="color:#9ca3af"] { color:var(--theme-text-muted) !important; }
#moonSectorWrap [style*="background:rgba(255,255,255,.65)"],
#moonSectorWrap [style*="background:#fff"],
#moonSectorWrap [style*="background:rgba(0,0,0,.04)"] { background:var(--theme-surface-muted) !important; border-color:var(--theme-border) !important; }

/* Overview dashboard shared theme bridge. */
.trade-execution-page .ov-greeting,
.trade-execution-page .ov-card,
.trade-execution-page .ov-shortcut,
.trade-execution-page .feature-preview-card,
.trade-execution-page .feature-gate-card {
  background:var(--theme-surface) !important;
  color:var(--theme-text) !important;
  border-color:var(--theme-border) !important;
}
.trade-execution-page .ov-greeting-name,
.trade-execution-page .ov-card-head,
.trade-execution-page .ov-row-title,
.trade-execution-page .ov-shortcut span,
.trade-execution-page .feature-preview-card strong,
.trade-execution-page .feature-gate-card strong { color:var(--theme-text) !important; }
.trade-execution-page .ov-greeting-hello,
.trade-execution-page .ov-shortcut-label,
.trade-execution-page .ov-row-sub,
.trade-execution-page .feature-preview-card p,
.trade-execution-page .feature-gate-card p { color:var(--theme-text-muted) !important; }
.trade-execution-page .ov-shortcut:hover,
.trade-execution-page .ov-card:hover { background:var(--theme-surface-hover,var(--theme-surface-muted)) !important; }
@media (prefers-color-scheme: dark) and (not all) {
  .trade-execution-page .ov-greeting,
  .trade-execution-page .ov-card,
  .trade-execution-page .ov-shortcut,
  .trade-execution-page .feature-preview-card,
  .trade-execution-page .feature-gate-card {
    background:#111827 !important;
    color:#f1f5f9 !important;
    border-color:#334155 !important;
  }
  .trade-execution-page .ov-shortcut:hover,
  .trade-execution-page .ov-card:hover { background:#1e293b !important; }
  .trade-execution-page .ov-greeting-name,
  .trade-execution-page .ov-card-head,
  .trade-execution-page .ov-row-title,
  .trade-execution-page .ov-shortcut span,
  .trade-execution-page .feature-preview-card strong,
  .trade-execution-page .feature-gate-card strong { color:#f1f5f9 !important; }
  .trade-execution-page .ov-greeting-hello,
  .trade-execution-page .ov-shortcut-label,
  .trade-execution-page .ov-row-sub,
  .trade-execution-page .feature-preview-card p,
  .trade-execution-page .feature-gate-card p { color:#cbd5e1 !important; }
}

/* Temporary compatibility for legacy templates while they are migrated to
   semantic theme classes. Keep this narrow to neutral presentation values. */
@media (prefers-color-scheme: dark) and (not all) {
  [style*="background:#fff"],
  [style*="background:#ffffff"],
  [style*="background:#f8fafc"],
  [style*="background:#f9fafb"],
  [style*="background:#fafbfc"] { background:var(--theme-surface) !important; }
  [style*="color:#444"],
  [style*="color:#475569"],
  [style*="color:#555"],
  [style*="color:#666"],
  [style*="color:#64748b"],
  [style*="color:#888"] { color:var(--theme-text-muted) !important; }
  #faContent .fa-sbc-card,
  #faContent .fa-sbc-card .fa-sbc-intro,
  #faContent .fa-sbc-card .fa-sbc-body,
  #faContent .fa-sbc-card .fa-sbc-score,
  #faContent .sbc-table-scroll,
  #faContent .sbc-market-lens { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
  #faContent #sbc-table th { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; }
  #faContent #sbc-table td,
  #faContent #sbc-table .sbc-nak-cell,
  #faContent #sbc-table .sbc-nak-cell [data-nak],
  #faContent #sbc-table .sbc-nak-cell [data-nak] + div { color:var(--theme-text) !important; }
  #faContent #sbc-table .sbc-nak-cell.is-vedha-sammuh { color:#166534 !important; }
  #faContent #sbc-table .sbc-nak-cell.is-vedha-dakshin { color:#991b1b !important; }
  #faContent .fa-western-aspect-table td.fa-aspect-bearish,
  #faContent .fa-western-aspect-table td.fa-aspect-bullish,
  #faContent .fa-western-aspect-table td.fa-aspect-neutral { color:#1f2937 !important; }
  #faContent .fa-western-aspect-table td.fa-aspect-bearish strong,
  #faContent .fa-western-aspect-table td.fa-aspect-bullish strong,
  #faContent .fa-western-aspect-table td.fa-aspect-neutral strong { color:#1f2937 !important; }
  #faContent .sbc-table-scroll { display:block !important; overflow-x:auto !important; }
  #faContent #sbc-table { display:table !important; visibility:visible !important; opacity:1 !important; }
  #faContent #sbc-table tbody,
  #faContent #sbc-table tr,
  #faContent #sbc-table td { visibility:visible !important; opacity:1 !important; }
}

/* Shared generated scorecard theme. Feature renderers provide markup; these
   neutral surfaces, headers, tables, and text colors stay site-wide. */
.fa-live-section-scorecards,
.fa-live-score-section {
  background: var(--theme-surface) !important;
  border-color: var(--theme-border) !important;
  color: var(--theme-text);
}
.fa-live-score-section > div:first-child { background: var(--theme-surface-muted) !important; }
.fa-live-score-section strong,
.fa-live-score-section td,
.fa-live-score-section th { color: var(--theme-text); }
.fa-live-score-section > div:first-child > div:last-child > strong { color: var(--primary-color) !important; }
.fa-live-score-section table { color: var(--theme-text); }
.fa-live-score-section tr { border-color: var(--theme-border) !important; }
.fa-panchang-timeline { padding:1rem; margin-bottom:1rem; background:var(--theme-surface-muted); border-radius:8px; color:var(--theme-text); }
.fa-timeline-heading { margin-bottom:.4rem; color:var(--theme-text); font-size:.85rem; font-weight:600; }
.fa-nakshatra-current, .fa-nakshatra-next, .fa-yoga-current, .fa-yoga-next { flex:1; padding:.6rem; border-radius:6px; }
.fa-nakshatra-current { background:color-mix(in srgb, #0284c7 12%, var(--theme-surface)); border-left:4px solid #0284c7; }
.fa-nakshatra-next { background:color-mix(in srgb, #16a34a 12%, var(--theme-surface)); border-left:4px solid #16a34a; }
.fa-yoga-current { background:color-mix(in srgb, #f59e0b 15%, var(--theme-surface)); border-left:4px solid #f59e0b; }
.fa-yoga-next { background:color-mix(in srgb, #ea580c 12%, var(--theme-surface)); border-left:4px solid #ea580c; }
.fa-western-aspect-matrix { background:var(--theme-surface) !important; border-color:var(--theme-border) !important; color:var(--theme-text); }
.fa-western-aspect-table th { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.fa-western-aspect-table td { border-color:var(--theme-border) !important; }
.fa-western-aspect-legend, .fa-western-score-conditions { background:var(--theme-surface-muted) !important; color:var(--theme-text-muted) !important; border-color:var(--theme-border) !important; }
.tr-timebar,
.pfr-transit-controls,
.pfr-transit-location { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.tr-timebar input,
.pfr-transit-controls input,
.pfr-transit-location input,
.tr-date-input,
.tr-time-input { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.tr-tb-label,
.pfr-time-label,
.pfr-transit-controls label { color:var(--theme-text-muted) !important; }
.tr-tb-btn,
.pfr-nav-btn,
.pfr-transit-controls button { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.pfr-astro-clock,
.pfr-clock-status { background:var(--theme-surface) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.kp-verification-grid h4,
.kp-verification-grid h4 span,
.kp-verification-table,
.kp-verification-table th,
.kp-verification-table td,
.kp-transit-toolbar,
.kp-transit-toolbar strong,
.kp-transit-toolbar small,
.kp-transit-toolbar label,
.kp-transit-toolbar input,
.kp-toolbar-buttons button,
.kp-auto-remedy-card,
.kp-auto-remedy-card p,
.kp-auto-remedy-card small,
.kp-hit-chart-card,
.kp-hit-calculator-grid,
.kp-hit-move-panel,
.kp-move-position,
.kp-move-position small,
.kp-move-position span,
.kp-native-body-map { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
.kp-verification-table th,
.kp-toolbar-buttons button { background:var(--theme-surface-muted) !important; }
.kp-verification-table td,
.kp-transit-toolbar,
.kp-hit-chart-card,
.kp-hit-move-panel,
.kp-move-position,
.kp-native-body-map { background:var(--theme-surface) !important; }
.kp-auto-remedy-engine,
.kp-hit-calculator-grid { background:var(--theme-surface-muted) !important; }

/* KP uses the shared time-navigation tokens; the feature stylesheet only
   controls layout and transit-specific accent colours. */
.kp-transit-toolbar,
.kp-transit-toolbar input,
.kp-time-row input,
.kp-time-row button,
  background: var(--theme-surface) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}
.kp-transit-toolbar {
  box-shadow: var(--theme-shadow-sm, 0 2px 8px rgba(15, 23, 42, .06)) !important;
}
.kp-transit-toolbar small,
.kp-transit-timezone,
.kp-time-label {
  color: var(--theme-text-muted) !important;
}
.kp-time-row button:hover {
  background: var(--theme-surface-muted) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border-strong, var(--theme-border)) !important;
}
.kp-now-btn {
  background: var(--theme-accent, var(--primary-color, #e8751a)) !important;
  color: #fff !important;
  border-color: var(--theme-accent, var(--primary-color, #e8751a)) !important;
}
.kp-page .kp-dasha-card,
.kp-page .kp-dasha-card--md,
.kp-page .kp-dasha-fact,
.kp-page .kp-dasha-empty,
.kp-page .kp-dasha-lineage {
  background: var(--theme-surface) !important;
  color: var(--theme-text) !important;
  border-color: var(--theme-border) !important;
}
.kp-page .kp-dasha-planet,
.kp-page .kp-dasha-fact strong,
.kp-page .kp-dasha-lineage-detail {
  color: var(--theme-text) !important;
}
.kp-page .kp-dasha-loading,
.kp-page .kp-dasha-fact small {
  color: var(--theme-text-muted) !important;
}
.kp-page .kp-dasha-aspect-table th,
.kp-page .kp-dasha-aspect-table td {
  border-color: var(--theme-border) !important;
}
.kp-page .kp-banner {
  background:var(--theme-surface) !important;
  color:var(--theme-text) !important;
  border-color:var(--theme-border) !important;
}
.kp-page .kp-banner p { color:var(--theme-text-muted) !important; }
.kp-page .kp-banner i { color:var(--primary-color,#7c3aed) !important; }
#faContent div:has(> strong > .fa-book-open) { background:var(--theme-surface-muted) !important; border-color:var(--theme-border) !important; color:var(--theme-text-muted) !important; }
#faContent div:has(> strong > .fa-book-open) > strong { color:var(--primary-color) !important; }
#faContent div:has(> strong > .fa-book-open) div { color:var(--theme-text-muted) !important; }
#faContent div:has(> strong > .fa-book-open) div strong { color:var(--theme-text) !important; }

.fa-upcoming-tara {
  margin:.75rem 0;
  padding:.7rem .8rem;
  border:1px solid var(--theme-border);
  border-radius:var(--radius-md, .6rem);
  background:var(--theme-surface-muted);
  color:var(--theme-text);
}
.fa-upcoming-tara-title { display:block; margin-bottom:.45rem; color:var(--theme-text); }
.fa-upcoming-tara-list { display:grid; gap:.4rem; }
.fa-upcoming-tara-item {
  display:grid;
  grid-template-columns:minmax(9rem,1fr) repeat(2,minmax(7rem,auto));
  gap:.5rem;
  align-items:center;
  padding:.45rem .55rem;
  border:1px solid var(--theme-border);
  border-radius:var(--radius-sm, .4rem);
  background:var(--theme-surface);
  color:var(--theme-text-muted);
  font-size:.78rem;
}
.fa-upcoming-tara-item strong { color:var(--theme-text); }
@media (max-width:600px) {
  .fa-upcoming-tara-item { grid-template-columns:1fr 1fr; }
  .fa-upcoming-tara-item strong { grid-column:1 / -1; }
}

@media (prefers-color-scheme: dark) and (not all) {
  #faContent .dash-card,
  #faContent .fa-panel,
  #faContent .fa-live-score-section,
  #faContent .fa-market-conclusion,
  #faContent .fa-personal-signal,
  #faContent .fa-moon-nak-rules,
  #faContent .fa-detail-section,
  #faContent .fa-context-strip {
    background: var(--theme-surface) !important;
    border-color: var(--theme-border) !important;
    color: var(--theme-text) !important;
  }
  #faContent .dash-card-head,
  #faContent .fa-live-score-section > div:first-child,
  #faContent table thead,
  #faContent table th {
    background: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
  }
  #faContent p,
  #faContent li,
  #faContent td,
  #faContent th,
  #faContent small,
  #faContent label,
  #faContent .dash-card > div,
  #faContent .fa-live-score-section > div {
    color: var(--theme-text) !important;
  }
  #faContent table tr,
  #faContent table td,
  #faContent table th { border-color: var(--theme-border) !important; }
  #faContent input,
  #faContent select,
  #faContent textarea,
  #faContent .fa-tb-btn,
  #faContent .moon-interval-sel {
    background: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
  }
}

/* Legacy Financial Astrology neutral-color bridge. This deliberately covers
   neutral generated markup while preserving feature-owned signal colors. */
@media (prefers-color-scheme: dark) and (not all) {
  /* KP reference, remedies and lower-page tables use the same site surfaces.
     Semantic zodiac/status colours remain owned by the KP feature styles. */
  .kp-page .kp-remedy-card,
  .kp-page .kp-vastu-reference > div,
  .kp-page .kp-hit-summary,
  .kp-page .kp-hit-method,
  .kp-page .kp-dasha-empty,
  .kp-page .kp-hit-chart-card,
  .kp-page .kp-hit-move-panel,
  .kp-page .kp-move-position,
  .kp-page .kp-native-body-map {
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
  }

  .kp-page .kp-remedy-card h4,
  .kp-page .kp-vastu-reference h4,
  .kp-page .kp-reference-heading,
  .kp-page .kp-hit-method summary,
  .kp-page .kp-hit-chart-card h4,
  .kp-page .kp-native-body-map h4,
  .kp-page .kp-dasha-planet,
  .kp-page .kp-dasha-fact strong {
    color: var(--theme-text) !important;
  }

  .kp-page .kp-reference-nav a,
  .kp-page .kp-remedy-controls select,
  .kp-page .kp-remedy-controls input,
  .kp-page .kp-hit-move-panel select {
    background: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
  }

  .kp-page .kp-body-row,
  .kp-page .kp-dasha-fact,
  .kp-page .kp-move-position,
  .kp-page .kp-hit-move-chart {
    background: var(--theme-surface-muted) !important;
    border-color: var(--theme-border) !important;
  }

  .kp-page .kp-body-row b,
  .kp-page .kp-body-row span,
  .kp-page .kp-move-position span,
  .kp-page .kp-dasha-fact small,
  .kp-page .kp-dasha-loading,
  .kp-page .kp-dasha-empty,
  .kp-page .kp-hit-method,
  .kp-page .kp-reference-table td,
  .kp-page .kp-reference-table th,
  .kp-page .kp-remedy-table td,
  .kp-page .kp-remedy-table th,
  .kp-page .kp-house-analysis-table td,
  .kp-page .kp-house-analysis-table th {
    color: var(--theme-text) !important;
  }

  .kp-page .kp-reference-table,
  .kp-page .kp-remedy-table,
  .kp-page .kp-house-analysis-table,
  .kp-page .kp-verification-table {
    border-color: var(--theme-border) !important;
  }

  .kp-page .kp-reference-table th,
  .kp-page .kp-remedy-table th,
  .kp-page .kp-house-analysis-table th,
  .kp-page .kp-verification-table th {
    background: var(--theme-surface-muted) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
  }

  .kp-page .kp-reference-table td,
  .kp-page .kp-remedy-table td,
  .kp-page .kp-house-analysis-table td,
  .kp-page .kp-verification-table td {
    background: var(--theme-surface) !important;
    color: var(--theme-text) !important;
    border-color: var(--theme-border) !important;
  }

  .kp-page .kp-house-analysis-table tr,
  .kp-page .kp-remedy-table tr,
  .kp-page .kp-reference-table tr {
    background: var(--theme-surface) !important;
  }

.kp-page .kp-native-body-row,
  .kp-page .kp-dasha-fact small,
  .kp-page .kp-house-analysis-table td::before {
    color: var(--theme-text-muted) !important;
    border-color: var(--theme-border) !important;
  }

/* Financial Astrology uses the shared navigator row; keep only page-specific
   date/location/interval fields in the legacy timebar. */
@media (min-width: 0px) {
  .fa-timebar .fa-tb-sep,
  .fa-timebar .fa-tb-grp { display:none !important; }
  .fa-timebar .fa-tb-label:not(:first-child) { display:none !important; }
  .fa-timebar > .fa-tb-btn { display:none !important; }
}

  #faContent [style*="background:#fff"],
  #faContent [style*="background:#f8fafc"],
  #faContent [style*="background:#fafbfc"],
  #faContent [style*="background:#fbfdff"],
  #faContent [style*="background:#f9fafb"],
  #faContent [style*="background:#f8fafc"] {
    background:var(--theme-surface) !important;
  }
  #faContent [style*="color:#444"],
  #faContent [style*="color:#475569"],
  #faContent [style*="color:#555"],
  #faContent [style*="color:#666"],
  #faContent [style*="color:#64748b"],
  #faContent [style*="color:#888"] {
    color:var(--theme-text-muted) !important;
  }
  #faContent [style*="border:#e2e8f0"],
  #faContent [style*="border:1px solid #e2e8f0"],
  #faContent [style*="border-bottom:1px solid #e2e8f0"],
  #faContent [style*="border-top:1px solid #e2e8f0"] {
    border-color:var(--theme-border) !important;
  }
  #faContent .fa-western-aspect-table td,
  #faContent .fa-western-aspect-table td * { color:#1f2937 !important; }
  #faContent .sbc-scoreboard { background:var(--theme-surface) !important; border-color:var(--theme-border) !important; color:var(--theme-text) !important; }
  #faContent .sbc-scoreboard > div:first-child,
  #faContent .sbc-scoreboard thead tr,
  #faContent .sbc-scoreboard > div:last-child { background:var(--theme-surface-muted) !important; color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
  #faContent .sbc-scoreboard h4,
  #faContent .sbc-scoreboard p,
  #faContent .sbc-scoreboard th,
  #faContent .sbc-scoreboard td,
  #faContent .sbc-scoreboard strong { color:var(--theme-text) !important; border-color:var(--theme-border) !important; }
}
