/**
 * TreasuryPro — Showcase Theme Override v2.0
 * Loaded as the LAST stylesheet on every module dashboard.
 * Design tokens match the landing page exactly: dark forest green / lime.
 * No body-class gating — every override fires universally.
 */

/* ═══════════════════════════════════════════════════════════════
   0. CSS CUSTOM PROPERTIES (matches landing page exactly)
═══════════════════════════════════════════════════════════════ */

:root {
  --tp-ink:    #071510;
  --tp-ink-2:  #0b2119;
  --tp-panel:  rgba(14,41,31,.72);
  --tp-card:   rgba(14,41,31,.55);
  --tp-card-hi:rgba(19,55,41,.88);
  --tp-line:   rgba(197,238,218,.13);
  --tp-line-hi:rgba(205,244,224,.16);
  --tp-muted:  #9ab2a8;
  --tp-dim:    #6b8077;
  --tp-paper:  #ecf5f0;
  --tp-white:  #fbfffd;
  --tp-lime:   #a9f8c9;
  --tp-mint:   #52d99a;
  --tp-amber:  #f5c66f;
  --tp-coral:  #ff8f75;
  --tp-blue:   #72baff;
  --tp-shadow: 0 34px 90px rgba(0,0,0,.28);
  --tp-radius: 14px;
}

/* ═══════════════════════════════════════════════════════════════
   1. BODY & GLOBAL RESET
═══════════════════════════════════════════════════════════════ */

body {
  background:
    radial-gradient(circle at 76% 8%, rgba(47,174,112,.14), transparent 26rem),
    radial-gradient(circle at 8%  42%, rgba(81,132,241,.08), transparent 30rem),
    #071510 !important;
  color: #fbfffd !important;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Scrollbars */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,.03); }
::-webkit-scrollbar-thumb { background: rgba(169,248,201,.18); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(169,248,201,.32); }
::selection { background: #a9f8c9; color: #071510; }

/* ═══════════════════════════════════════════════════════════════
   2. UNIVERSAL CARD / PANEL / WIDGET — matches landing page tiles
═══════════════════════════════════════════════════════════════ */

.card, .panel, .tp-card, .section-card,
.kpi, .kpi-card, .bb-kpi, .bb-card,
.widget, .widget-card, .stat-card,
.cf-card, .cf-kpi-card,
.comp-bar-card, .debt-diag, .debt-diag-cell,
.consol-hero, .liq-card, .liq-panel,
.agent-card, .module-card,
.alert-box, .callout {
  background: rgba(14,41,31,.55) !important;
  border: 1px solid rgba(197,238,218,.13) !important;
  border-radius: 14px !important;
  color: #fbfffd !important;
}

.card:hover, .kpi-card:hover, .cf-card:hover,
.comp-bar-card:hover, .liq-card:hover,
.cf-kpi-card:hover, .agent-card:hover {
  background: rgba(19,55,41,.75) !important;
  border-color: rgba(169,248,201,.28) !important;
}

/* ═══════════════════════════════════════════════════════════════
   3. SIDEBAR / NAV
═══════════════════════════════════════════════════════════════ */

.sidebar, aside.sidebar, #appSidebar,
.cf-sidebar, .cp-sidebar,
.sb-top, .sidebar-inner {
  background: rgba(7,21,16,.96) !important;
  border-right: 1px solid rgba(197,238,218,.08) !important;
}

.nav-item, .sb-item, .cf-sidebar-item,
.sidebar .nav-item, .sidebar li a {
  color: #9ab2a8 !important;
  border-radius: 10px !important;
}
.nav-item:hover, .sb-item:hover, .cf-sidebar-item:hover,
.sidebar .nav-item:hover { background: rgba(169,248,201,.06) !important; color: #fbfffd !important; }
.nav-item.active, .sb-item.active, .cf-sidebar-item.active,
.sidebar .nav-item.active { background: rgba(169,248,201,.10) !important; color: #a9f8c9 !important; }

/* ═══════════════════════════════════════════════════════════════
   4. TOPBAR / HEADER / MENUBAR
═══════════════════════════════════════════════════════════════ */

.topbar, .cf-header, .menubar, .liq-topbar,
.mp-topbar, .cp-topbar, .db-topbar, .tr-topbar,
.fx-header, #fxMainApp header, .app-header {
  background: rgba(7,21,16,.94) !important;
  border-bottom: 1px solid rgba(197,238,218,.08) !important;
  backdrop-filter: blur(22px) !important;
  -webkit-backdrop-filter: blur(22px) !important;
}

.topbar-logo, .cf-header-logo, .cf-sb-logo,
.mb-logo, .brand-dot {
  background: rgba(169,248,201,.08) !important;
  border-color: rgba(169,248,201,.2) !important;
}

/* ═══════════════════════════════════════════════════════════════
   5. TABS
═══════════════════════════════════════════════════════════════ */

.tab, .cf-tab-btn, .cons-tab, .preset-btn {
  background: transparent !important;
  color: rgba(255,255,255,.45) !important;
  border-radius: 10px !important;
}
.tab:hover, .cf-tab-btn:hover, .cons-tab:hover, .preset-btn:hover {
  color: #fbfffd !important;
  background: rgba(169,248,201,.05) !important;
}
.tab.active, .cf-tab-btn.active,
.cons-tab.active, .preset-btn.active,
.tab[data-active="true"], .cf-tab-btn[data-active="true"] {
  background: rgba(169,248,201,.12) !important;
  color: #a9f8c9 !important;
  font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════════════════════
   6. BUTTONS — lime primary, ghost secondary
═══════════════════════════════════════════════════════════════ */

/* Primary / gold → lime */
.btn-primary, .btn-accent, .btn-ai, .btn-green,
.cf-btn-gold, .cf-login-btn, .cf-ai-btn,
.portal-login-btn, .fx-login-btn,
button.primary, .primary-btn {
  background: #a9f8c9 !important;
  color: #071510 !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.btn-primary:hover, .btn-accent:hover, .btn-ai:hover,
.cf-btn-gold:hover, .btn-green:hover,
button.primary:hover, .primary-btn:hover {
  background: #c1ffd9 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 8px 22px rgba(169,248,201,.28) !important;
}

/* Secondary / outline */
.btn-secondary, .btn-ghost, .cf-btn-outline,
button.secondary, .secondary-btn, .btn {
  background: transparent !important;
  color: #9ab2a8 !important;
  border: 1px solid rgba(197,238,218,.18) !important;
  border-radius: 10px !important;
}
.btn-secondary:hover, .btn-ghost:hover,
.cf-btn-outline:hover, button.secondary:hover,
.secondary-btn:hover, .btn:hover {
  border-color: rgba(169,248,201,.42) !important;
  color: #fbfffd !important;
  background: rgba(169,248,201,.05) !important;
}

/* Warn / danger — keep red */
.btn-warn, .btn-danger { background: rgba(255,143,117,.15) !important; color: #ff8f75 !important; border-color: rgba(255,143,117,.3) !important; }
.btn-warn:hover, .btn-danger:hover { background: rgba(255,143,117,.25) !important; }

/* Icon buttons */
.cf-icon-btn, .icon-btn, .btn-icon {
  background: rgba(14,41,31,.55) !important;
  border: 1px solid rgba(197,238,218,.13) !important;
  color: #9ab2a8 !important;
  border-radius: 8px !important;
}
.cf-icon-btn:hover, .icon-btn:hover, .btn-icon:hover {
  background: rgba(169,248,201,.1) !important;
  border-color: rgba(169,248,201,.3) !important;
  color: #a9f8c9 !important;
}

/* ═══════════════════════════════════════════════════════════════
   7. INPUTS / SELECTS / TEXTAREAS
═══════════════════════════════════════════════════════════════ */

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select, textarea,
.cf-input, .cf-select,
.cf-login-input, .fx-login-input,
.portal-login-input {
  background: rgba(7,21,16,.85) !important;
  border: 1px solid rgba(197,238,218,.12) !important;
  color: #fbfffd !important;
  border-radius: 10px !important;
  outline: none !important;
}
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus, textarea:focus,
.cf-input:focus, .cf-select:focus,
.cf-login-input:focus, .fx-login-input:focus {
  border-color: rgba(169,248,201,.42) !important;
  background: rgba(169,248,201,.04) !important;
  box-shadow: 0 0 0 3px rgba(169,248,201,.08) !important;
}
input::placeholder, textarea::placeholder,
.cf-input::placeholder { color: #5a7068 !important; }
select option { background: #0b2119 !important; color: #fbfffd !important; }

/* Upload zones */
.cf-upload-zone, .dropzone, .drag, .br-upload-card {
  background: rgba(14,41,31,.4) !important;
  border: 2px dashed rgba(197,238,218,.18) !important;
  border-radius: 14px !important;
  color: #9ab2a8 !important;
}
.cf-upload-zone:hover, .drag-over, .dragover,
.dropzone:hover, .br-upload-card:hover {
  border-color: rgba(169,248,201,.42) !important;
  background: rgba(169,248,201,.05) !important;
  color: #a9f8c9 !important;
}

/* ═══════════════════════════════════════════════════════════════
   8. TABLES
═══════════════════════════════════════════════════════════════ */

table, .bb-table, .data-table, .bank-table {
  border-color: rgba(197,238,218,.08) !important;
}
thead th, .bb-th, th {
  background: rgba(14,41,31,.75) !important;
  color: #9ab2a8 !important;
  border-color: rgba(197,238,218,.08) !important;
}
tbody tr:hover td, .bb-row:hover td {
  background: rgba(169,248,201,.04) !important;
}
tbody td, .bb-td, td {
  border-color: rgba(197,238,218,.06) !important;
  color: #fbfffd !important;
}

/* ═══════════════════════════════════════════════════════════════
   9. KPI VALUES & LABELS
═══════════════════════════════════════════════════════════════ */

.kpi-val, .cf-kpi-val, .kpi-value, .stat-value,
.cf-summary-value, .cf-driver-val {
  color: #a9f8c9 !important;
  font-family: 'JetBrains Mono', Consolas, monospace !important;
}
.kpi-label, .cf-kpi-label, .kpi-foot, .stat-label,
.stat-sub, .card-sub { color: #6b8077 !important; }

.kpi-delta-pos, .stat-up, .delta-pos,
.good, .ok { color: #52d99a !important; }
.kpi-delta-neg, .stat-down, .delta-neg,
.bad { color: #ff8f75 !important; }
.stat-flat, .flat { color: #9ab2a8 !important; }

/* ═══════════════════════════════════════════════════════════════
   10. BADGES / PILLS / TAGS
═══════════════════════════════════════════════════════════════ */

.badge, .pill, .tag, .chip,
.cf-badge, .status-pill, .cf-link-tag, .cat-pill,
.user-badge, .ai-badge {
  border-radius: 999px !important;
  font-size: 11px !important;
}

/* Gold badge → lime */
.cf-badge-gold, .badge-gold, .cf-ai-pill-amber,
.cf-pill-amber, .amber, .badge-orange, .badge-warn {
  background: rgba(245,198,111,.12) !important;
  border: 1px solid rgba(245,198,111,.28) !important;
  color: #f5c66f !important;
}

/* OK / green badge */
.badge-ok, .badge-green, .good {
  background: rgba(82,217,154,.1) !important;
  border: 1px solid rgba(82,217,154,.2) !important;
  color: #52d99a !important;
}

/* Error / breach badge */
.badge-breach, .badge-critical, .badge-red, .breach {
  background: rgba(255,143,117,.1) !important;
  border: 1px solid rgba(255,143,117,.25) !important;
  color: #ff8f75 !important;
}

/* Neutral badge */
.badge-grey, .cf-badge { background: rgba(154,178,168,.1) !important; border-color: rgba(154,178,168,.2) !important; color: #9ab2a8 !important; }

/* RAG pill */
.cf-rag-amber { background: rgba(245,198,111,.12) !important; color: #f5c66f !important; border: 1px solid rgba(245,198,111,.28) !important; border-radius: 999px !important; }

/* ═══════════════════════════════════════════════════════════════
   11. MODALS / OVERLAYS
═══════════════════════════════════════════════════════════════ */

.modal-bg, .overlay-bg, .hed-modal-bg,
.login-overlay, .auth-overlay {
  background: rgba(7,21,16,.82) !important;
  backdrop-filter: blur(14px) !important;
}
.modal, .modal-box, .modal-foot,
.hed-modal, .login-card, .auth-card,
.login-box {
  background: rgba(11,33,25,.94) !important;
  border: 1px solid rgba(197,238,218,.13) !important;
  border-radius: 18px !important;
  color: #fbfffd !important;
}

/* ═══════════════════════════════════════════════════════════════
   12. LOGIN OVERLAYS (all modules)
═══════════════════════════════════════════════════════════════ */

/* Cashflow */
.cf-login-bg {
  background:
    radial-gradient(circle at 76% 8%, rgba(47,174,112,.14), transparent 26rem),
    radial-gradient(circle at 8%  42%, rgba(81,132,241,.08), transparent 30rem),
    #071510 !important;
}
.cf-login-grid {
  background-image:
    linear-gradient(rgba(169,248,201,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169,248,201,.04) 1px, transparent 1px) !important;
}
.cf-login-card {
  background: rgba(11,33,25,.88) !important;
  border-color: rgba(197,238,218,.13) !important;
  backdrop-filter: blur(22px) !important;
  border-radius: 20px !important;
}
.cf-login-accent { background: linear-gradient(90deg, #a9f8c9, #52d99a) !important; }
.cf-login-icon {
  background: rgba(169,248,201,.08) !important;
  border-color: rgba(169,248,201,.22) !important;
  box-shadow: 0 0 28px rgba(82,217,154,.15) !important;
}
.cf-login-title { color: #fbfffd !important; }
.cf-login-subtitle, .cf-login-label { color: #9ab2a8 !important; }
.cf-login-btn { background: #a9f8c9 !important; color: #071510 !important; }
.cf-login-btn:hover { background: #c1ffd9 !important; box-shadow: 0 8px 22px rgba(169,248,201,.28) !important; }
.cf-login-error { background: rgba(255,143,117,.08) !important; border-color: rgba(255,143,117,.3) !important; color: #ff8f75 !important; }
.cf-login-footer { color: #5a7068 !important; }
.cf-login-footer span { color: #a9f8c9 !important; }

/* FX Forecast */
.fx-login-bg {
  background:
    radial-gradient(circle at 76% 8%, rgba(47,174,112,.14), transparent 26rem),
    radial-gradient(circle at 8%  42%, rgba(81,132,241,.08), transparent 30rem),
    #071510 !important;
}
.fx-login-grid {
  background-image:
    linear-gradient(rgba(169,248,201,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(169,248,201,.04) 1px, transparent 1px) !important;
}
.fx-login-card {
  background: rgba(11,33,25,.88) !important;
  border-color: rgba(197,238,218,.13) !important;
  backdrop-filter: blur(22px) !important;
  border-radius: 20px !important;
}
.fx-login-accent { background: linear-gradient(90deg, #a9f8c9, #52d99a) !important; }
.fx-login-glow { background: radial-gradient(circle, rgba(82,217,154,.18), transparent 65%) !important; }
.fx-login-icon { background: rgba(169,248,201,.08) !important; border-color: rgba(169,248,201,.22) !important; }
.fx-login-title { color: #fbfffd !important; }
.fx-login-subtitle, .fx-login-label { color: #9ab2a8 !important; }
.fx-login-btn { background: #a9f8c9 !important; color: #071510 !important; }
.fx-login-btn:hover { background: #c1ffd9 !important; }
.fx-login-error { background: rgba(255,143,117,.08) !important; border-color: rgba(255,143,117,.3) !important; color: #ff8f75 !important; }
.fx-login-footer { color: #5a7068 !important; }

/* Treasury portal */
.portal-login-card {
  background: rgba(11,33,25,.88) !important;
  border: 1px solid rgba(197,238,218,.13) !important;
  backdrop-filter: blur(22px) !important;
  border-radius: 20px !important;
}
.portal-login-bg-blob-1, .portal-login-bg-blob-2 {
  background: radial-gradient(circle, rgba(82,217,154,.18), transparent 65%) !important;
}
.portal-login-title { color: #fbfffd !important; }
.portal-login-title span { color: #a9f8c9 !important; }
.portal-login-subtitle { color: #9ab2a8 !important; }
.portal-login-icon { background: rgba(169,248,201,.08) !important; border-color: rgba(169,248,201,.2) !important; box-shadow: 0 0 28px rgba(82,217,154,.15) !important; }
.portal-login-label { color: #9ab2a8 !important; }
.portal-login-input { background: rgba(7,21,16,.85) !important; border-color: rgba(197,238,218,.12) !important; color: #fbfffd !important; }
.portal-login-input:focus { border-color: rgba(169,248,201,.4) !important; background: rgba(169,248,201,.05) !important; }
.portal-login-btn { background: #a9f8c9 !important; color: #071510 !important; border-radius: 12px !important; font-weight: 700 !important; border: none !important; }
.portal-login-btn:hover { background: #c1ffd9 !important; transform: translateY(-1px) !important; box-shadow: 0 8px 22px rgba(169,248,201,.28) !important; }
.portal-login-sep { background: linear-gradient(90deg, transparent, rgba(169,248,201,.35), transparent) !important; }
.portal-login-footer { color: #5a7068 !important; }
.portal-login-error { background: rgba(255,143,117,.08) !important; border-color: rgba(255,143,117,.3) !important; color: #ff8f75 !important; }
.portal-login-grid { background-image: linear-gradient(rgba(169,248,201,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(169,248,201,.03) 1px, transparent 1px) !important; }

/* ═══════════════════════════════════════════════════════════════
   13. CASHFLOW — exhaustive class overrides
═══════════════════════════════════════════════════════════════ */

.cf-header { background: rgba(7,21,16,.94) !important; border-bottom-color: rgba(197,238,218,.08) !important; backdrop-filter: blur(22px) !important; }
.cf-header-logo { background: rgba(169,248,201,.08) !important; border-color: rgba(169,248,201,.2) !important; }
.cf-header-title { color: #fbfffd !important; }
.cf-header-divider { background: rgba(197,238,218,.1) !important; }

.cf-tab-btn { color: rgba(255,255,255,.45) !important; }
.cf-tab-btn.active, .cf-tab-btn[data-active="true"] { background: rgba(169,248,201,.1) !important; color: #a9f8c9 !important; }
.cf-tab-btn:hover { color: #fbfffd !important; }

.cf-sidebar { background: rgba(7,21,16,.96) !important; border-right-color: rgba(197,238,218,.08) !important; }
.cf-sidebar-item.active, .cf-sidebar-item[data-active="true"] { background: rgba(169,248,201,.10) !important; color: #a9f8c9 !important; }
.cf-sidebar-item:hover { background: rgba(169,248,201,.06) !important; }

/* Scrollbar override for cashflow (was yellow) */
.cf-app ::-webkit-scrollbar-thumb { background: rgba(169,248,201,.18) !important; }

.cf-cell-edit { background: rgba(169,248,201,.08) !important; border-color: rgba(169,248,201,.25) !important; color: #a9f8c9 !important; }
.cf-yr-div { background: rgba(169,248,201,.15) !important; color: #a9f8c9 !important; }
.cf-cl-a, .cf-link-tag { color: #a9f8c9 !important; }
.cf-cl-a:hover, .cf-link-tag:hover { color: #c1ffd9 !important; }
.cf-type-macro { background: rgba(169,248,201,.1) !important; color: #a9f8c9 !important; border-radius: 999px !important; }

.cf-ai-modal-overlay { background: rgba(7,21,16,.82) !important; backdrop-filter: blur(14px) !important; }
.cf-ai-modal { background: rgba(11,33,25,.96) !important; border-color: rgba(197,238,218,.13) !important; border-radius: 18px !important; }
.cf-ai-section-title { color: #a9f8c9 !important; }
.cf-ai-pill-green { background: rgba(82,217,154,.12) !important; color: #52d99a !important; border-color: rgba(82,217,154,.25) !important; }
.cf-ai-pill-red    { background: rgba(255,143,117,.12) !important; color: #ff8f75 !important; border-color: rgba(255,143,117,.25) !important; }
.cf-ai-pill-purple { background: rgba(114,186,255,.12) !important; color: #72baff !important; border-color: rgba(114,186,255,.25) !important; }

/* ═══════════════════════════════════════════════════════════════
   14. LIQUIDITY MODULE
═══════════════════════════════════════════════════════════════ */

/* active state (tabs/nav) in liquidity */
.cons-tab.active, .liq-tab.active,
.active[class*="tab"], .active[class*="cons"] {
  background: rgba(169,248,201,.12) !important;
  color: #a9f8c9 !important;
}
.highlight { background: rgba(169,248,201,.1) !important; color: #a9f8c9 !important; }

.btn-green { background: #a9f8c9 !important; color: #071510 !important; }

.comp-bar { background: rgba(14,41,31,.4) !important; border-radius: 4px !important; }
.comp-bar-seg { border-radius: 4px !important; }

.bridge-chip, .channel-chip {
  background: rgba(14,41,31,.6) !important;
  border: 1px solid rgba(197,238,218,.15) !important;
  border-radius: 999px !important;
  color: #9ab2a8 !important;
}

/* ═══════════════════════════════════════════════════════════════
   15. HEDGING MODULE
═══════════════════════════════════════════════════════════════ */

.sidebar { background: rgba(7,21,16,.96) !important; border-right-color: rgba(197,238,218,.08) !important; }
.nav-foot { border-top: 1px solid rgba(197,238,218,.08) !important; }
.brand-name { color: #a9f8c9 !important; }
.brand-dot { background: linear-gradient(140deg,#a9f8c9,#52d99a) !important; }
.nav-section { color: #5a7068 !important; font-size: 10px !important; }

.card-head { border-bottom: 1px solid rgba(197,238,218,.08) !important; }
.card-title { color: #fbfffd !important; }

.btn-accent { background: #a9f8c9 !important; color: #071510 !important; }
.btn-ai     { background: rgba(169,248,201,.12) !important; color: #a9f8c9 !important; border: 1px solid rgba(169,248,201,.25) !important; }
.btn-ai:hover { background: rgba(169,248,201,.2) !important; }

.ai-result-box { background: rgba(14,41,31,.6) !important; border: 1px solid rgba(197,238,218,.13) !important; border-radius: 12px !important; color: #d0e8df !important; }

.hed-modal-bg { background: rgba(7,21,16,.8) !important; backdrop-filter: blur(12px) !important; }
.hed-modal    { background: rgba(11,33,25,.94) !important; border-color: rgba(197,238,218,.12) !important; }

.eff-pill { border-radius: 999px !important; }
.sheet-row:hover { background: rgba(169,248,201,.04) !important; }
.sheet-row.selected { background: rgba(169,248,201,.10) !important; border-color: rgba(169,248,201,.25) !important; }

/* ═══════════════════════════════════════════════════════════════
   16. TRENDS MODULE
═══════════════════════════════════════════════════════════════ */

.page-header { border-bottom: 1px solid rgba(197,238,218,.08) !important; }
.page-title  { color: #fbfffd !important; }
.page-sub    { color: #9ab2a8 !important; }

.kpi-row { border-bottom: 1px solid rgba(197,238,218,.06) !important; }
.kpi-foot { color: #6b8077 !important; }

.preset-btn.active { background: rgba(169,248,201,.12) !important; color: #a9f8c9 !important; }

.delta-banner { border-radius: 14px !important; background: rgba(14,41,31,.6) !important; border: 1px solid rgba(197,238,218,.1) !important; }

/* Flags */
.new-flag      { background: rgba(82,217,154,.12) !important; color: #52d99a !important; }
.exited-flag   { background: rgba(255,143,117,.12) !important; color: #ff8f75 !important; }
.resolved-flag { background: rgba(114,186,255,.12) !important; color: #72baff !important; }
.breach-flag   { background: rgba(255,143,117,.12) !important; color: #ff8f75 !important; }

/* ═══════════════════════════════════════════════════════════════
   17. MONTHLY PACK MODULE
═══════════════════════════════════════════════════════════════ */

.br-upload-card { background: rgba(14,41,31,.5) !important; border: 2px dashed rgba(197,238,218,.18) !important; border-radius: 16px !important; }
.br-upload-card:hover { border-color: rgba(169,248,201,.42) !important; background: rgba(169,248,201,.05) !important; }
.br-dl-card { background: rgba(14,41,31,.55) !important; border-color: rgba(197,238,218,.1) !important; border-radius: 14px !important; }
.br-dl-icon { background: rgba(169,248,201,.08) !important; border-color: rgba(169,248,201,.2) !important; color: #a9f8c9 !important; }
.br-status { border-radius: 999px !important; }
.dl-btn { background: #a9f8c9 !important; color: #071510 !important; }
.dl-btn:hover { background: #c1ffd9 !important; }
.dl-card-sm { background: rgba(14,41,31,.5) !important; border-color: rgba(197,238,218,.1) !important; border-radius: 12px !important; }

/* ═══════════════════════════════════════════════════════════════
   18. FX FORECAST MODULE
═══════════════════════════════════════════════════════════════ */

#fxMainApp { background: transparent !important; }
.stat-pill  { border-radius: 999px !important; }
.stat-up    { color: #52d99a !important; }
.stat-down  { color: #ff8f75 !important; }
.stat-flat  { color: #9ab2a8 !important; }
.hm-appreciate { color: #52d99a !important; }
.hm-depreciate { color: #ff8f75 !important; }
.hm-stable     { color: #9ab2a8 !important; }
.hm-active { background: rgba(169,248,201,.12) !important; }
.spot-live-dot { background: #52d99a !important; box-shadow: 0 0 8px rgba(82,217,154,.5) !important; }

/* ═══════════════════════════════════════════════════════════════
   19. TREASURY HUB
═══════════════════════════════════════════════════════════════ */

.menubar { background: rgba(7,21,16,.94) !important; border-bottom-color: rgba(197,238,218,.08) !important; backdrop-filter: blur(22px) !important; }
.mb-logo  { background: rgba(169,248,201,.1) !important; border-color: rgba(169,248,201,.2) !important; }
.mb-title { color: #fbfffd !important; }
.mb-sub   { color: #6b8077 !important; }
.sb-top, .sidebar-inner { background: rgba(7,21,16,.96) !important; border-color: rgba(197,238,218,.08) !important; }
.sb-brand-mark { background: linear-gradient(140deg,#a9f8c9,#52d99a) !important; }
.sb-nav a:hover  { background: rgba(169,248,201,.06) !important; color: #fbfffd !important; }
.sb-nav a.active { background: rgba(169,248,201,.10) !important; color: #a9f8c9 !important; }

/* ═══════════════════════════════════════════════════════════════
   20. COUNTERPARTY MODULE
═══════════════════════════════════════════════════════════════ */

#mainAppContainer, .counterparty-app { background: transparent !important; }
.cp-login-card, #loginCard { background: rgba(11,33,25,.9) !important; border-color: rgba(197,238,218,.13) !important; border-radius: 20px !important; }
aside.sidebar, .cp-sidebar, #appSidebar { background: rgba(7,21,16,.96) !important; border-right-color: rgba(197,238,218,.08) !important; }

/* ═══════════════════════════════════════════════════════════════
   21. FX TICKER BAR
═══════════════════════════════════════════════════════════════ */

#fxt-bar { background: rgba(7,21,16,.94) !important; border-bottom-color: rgba(197,238,218,.08) !important; color: #9ab2a8 !important; }
#fxt-label { color: #a9f8c9 !important; }

/* ═══════════════════════════════════════════════════════════════
   22. CHARTS & DATA-VIZ CONTAINERS
═══════════════════════════════════════════════════════════════ */

.ch-wrap, .bb-chart, .cf-chart-wrap, .chart-container {
  background: rgba(14,41,31,.55) !important;
  border: 1px solid rgba(197,238,218,.08) !important;
  border-radius: 14px !important;
}
.bb-tooltip, .chart-tooltip {
  background: rgba(11,33,25,.96) !important;
  border-color: rgba(197,238,218,.12) !important;
  color: #fbfffd !important;
  border-radius: 10px !important;
}
.bb-tooltip-accent { color: #a9f8c9 !important; }

/* ═══════════════════════════════════════════════════════════════
   23. PROGRESS BARS / STATUS / LIVE DOTS
═══════════════════════════════════════════════════════════════ */

.progress-fill, [class*="bar-fill"] { background: #52d99a !important; }
.status-dot, .live-dot, .pulse-dot, .agent-state {
  background: #52d99a !important;
  box-shadow: 0 0 8px rgba(82,217,154,.5) !important;
}
.tp-pulse-animate { animation: tp-pulse-lime 2s infinite; }

@keyframes tp-pulse-lime {
  0%, 100% { box-shadow: 0 0 0 0 rgba(82,217,154,.4); }
  50%       { box-shadow: 0 0 0 6px rgba(82,217,154,0); }
}

/* ═══════════════════════════════════════════════════════════════
   24. TYPOGRAPHY HELPERS
═══════════════════════════════════════════════════════════════ */

.section-title, .panel-title, .card-title,
h2, h3, h4 { color: #fbfffd !important; }
.text-muted, .muted  { color: #9ab2a8 !important; }
.text-dim, .dim      { color: #6b8077 !important; }
.text-green, .green  { color: #52d99a !important; }
.text-red,   .red    { color: #ff8f75 !important; }
.text-amber, .orange { color: #f5c66f !important; }
.text-blue,  .blue   { color: #72baff !important; }
.accent, .text-accent, [class*="accent"] { color: #a9f8c9 !important; }

/* ═══════════════════════════════════════════════════════════════
   25. SECTION / PANEL BORDERS
═══════════════════════════════════════════════════════════════ */

.section-header, .panel-header, .card-head {
  border-bottom: 1px solid rgba(197,238,218,.08) !important;
}

hr, .divider {
  border-color: rgba(197,238,218,.08) !important;
}

/* ═══════════════════════════════════════════════════════════════
   26. TOAST / ALERTS
═══════════════════════════════════════════════════════════════ */

.toast { background: rgba(11,33,25,.96) !important; border: 1px solid rgba(197,238,218,.13) !important; border-radius: 12px !important; color: #fbfffd !important; }
.alert-ok { background: rgba(82,217,154,.1) !important; border-color: rgba(82,217,154,.25) !important; color: #52d99a !important; }

/* ═══════════════════════════════════════════════════════════════
   27. FALLBACK — catch any remaining inline yellow/gold colour
       (inline styles can't be overridden, but class-based ones can)
═══════════════════════════════════════════════════════════════ */

[class*="gold"], [class*="yellow"] {
  color: #a9f8c9 !important;
}
[class*="bg-gold"], [class*="bg-yellow"] {
  background: rgba(169,248,201,.1) !important;
}
