/* ============================================================================
   FIBONIQ CRM — fbqc.css   (CLIENT PORTAL REDESIGN)
   Deploy to:  public_html/assets/css/fbqc.css
   Include    (in new-header.php, AFTER update-styles.css so it wins):
      <link rel="stylesheet" href="assets/css/fbqc.css">

   DESIGN = a faithful 1:1 of the locked mockup (fiboniq-client-dashboard__3_.html).
   Only the token/class NAMES change (prefixed fbqc-* + scoped) — values are the
   mockup's exact values. The structural extras the project asked for are layered
   on without altering the look:
     • one-control accent — the accent picker writes --fbqc-o / --fbqc-o-deep
       (exactly as the mockup JS sets --o / --o-deep); all tints derive via color-mix
     • RTL — logical properties throughout
     • admin typography — --fbqc-font (family) + --fbqc-fs (size multiplier)
     • gradient/flat — single switch [data-fbqc-flat]
   Theme: dark applies under BOTH [data-bs-theme="dark"] (live) and [data-theme="dark"] (mockup).
   Speed: one small file, flat selectors, no @import (Plus Jakarta Sans served locally), no JS/images.
   Isolation: every class is fbqc-* → zero Bootstrap/Berry collision.
   ========================================================================== */

:root{
  /* accent — mockup exact; picker overrides these two only */
  --fbqc-o:#f16c22; --fbqc-o-deep:#d9590f;
  --fbqc-o2:color-mix(in srgb, var(--fbqc-o) 56%, #ffffff);
  --fbqc-grad:linear-gradient(135deg, var(--fbqc-o) 0%, var(--fbqc-o2) 100%);
  --fbqc-grad-strong:linear-gradient(135deg, var(--fbqc-o-deep) 0%, var(--fbqc-o) 52%, var(--fbqc-o2) 100%);

  /* accent tints derive from --fbqc-o + --fbqc-card → cascade on accent or theme change */
  --fbqc-soft:color-mix(in srgb, var(--fbqc-o) 14%, var(--fbqc-card));
  --fbqc-soft-2:color-mix(in srgb, var(--fbqc-o) 7%, var(--fbqc-card));
  --fbqc-ring:color-mix(in srgb, var(--fbqc-o) 34%, var(--fbqc-card));
  --fbqc-page:#f4f7fb;                                    /* page canvas — very light grey so white cards pop */
  --fbqc-grey:#e1e6ee; --fbqc-grey-2:#e7ecf3; --fbqc-hover:#eef3f8;             /* neutral greys — strips/headers (light) */
  --fbqc-tbl:#e2e8f0;                            /* table header = grey, not accent-washed */
  --fbqc-glow:color-mix(in srgb, var(--fbqc-o) 30%, transparent);

  /* surfaces (LIGHT — mockup exact) */
  --fbqc-bg:#ffffff; --fbqc-card:#ffffff; --fbqc-bd:#d9e1ec; --fbqc-bd-soft:#e5ebf3;
  --fbqc-ink:#1b1924; --fbqc-ink-2:#322f3d; --fbqc-mut:#9a96a6; --fbqc-mut-2:#b6b2c0;
  --fbqc-grn:#1aa564;
  --fbqc-shadow:0 1px 2px rgba(120,145,185,.04), 0 8px 22px rgba(120,145,185,.07), 0 20px 45px rgba(170,195,235,.14);

  /* shape */
  --fbqc-r:20px; --fbqc-r-sm:14px;

  /* typography (admin-controllable) */
  --fbqc-font:'Plus Jakarta Sans',-apple-system,'Segoe UI',Roboto,system-ui,sans-serif;
  --fbqc-fs:1;
}

/* dark = the real portal navy (mockup exact) — both attribute names supported */
[data-bs-theme="dark"], [data-theme="dark"]{
  --fbqc-bg:#132033; --fbqc-card:#17263a; --fbqc-bd:#26384f; --fbqc-bd-soft:#223249;
  --fbqc-ink:#f3f6fb; --fbqc-ink-2:#d3dbe8; --fbqc-mut:#8a97ac; --fbqc-mut-2:#69768d;
  --fbqc-page:#132033;                                    /* dark canvas unchanged — cards already float on navy */
  --fbqc-grey:#2d3441; --fbqc-grey-2:#273244; --fbqc-hover:#1f3046; --fbqc-tbl:#2b2d3a;             /* neutral greys — static strips/headers (dark) */
  --fbqc-shadow:0 10px 30px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.02);
}

/* ===================== accent switch (one token cascades to all tints) ===================== */
html[data-accent="orange"]{ --fbqc-o:#f16c22; --fbqc-o-deep:#d9590f; }
html[data-accent="purple"]{ --fbqc-o:#6627a8; --fbqc-o-deep:#4f1d85; }
html[data-accent="blue"]{   --fbqc-o:#2563eb; --fbqc-o-deep:#1d4ed8; }
html[data-accent="green"]{  --fbqc-o:#16a36b; --fbqc-o-deep:#0f7a4f; }
html[data-accent="teal"]{   --fbqc-o:#0f9f9a; --fbqc-o-deep:#0c7d78; }

/* gradient/flat — one switch */
[data-fbqc-flat]{ --fbqc-grad:var(--fbqc-o); --fbqc-grad-strong:var(--fbqc-o); }

/* ===================== scoped base ===================== */
.fbqc, .fbqc *{ font-family:var(--fbqc-font); }
.fbqc{ color:var(--fbqc-ink); }
/* page canvas: very light grey so white cards read as pure floating boxes (host content column) */
.body-wrapper{ background:var(--fbqc-page); }

/* ===================== card ===================== */
.fbqc-card{ background:var(--fbqc-card); border:1px solid var(--fbqc-bd-soft); border-radius:var(--fbqc-r); box-shadow:var(--fbqc-shadow); }

/* ===================== buttons ===================== */
.fbqc-btn{
  display:inline-flex; align-items:center; gap:9px; justify-content:center;
  background:var(--fbqc-grad); color:#fff; border:0; cursor:pointer; border-radius:13px;
  padding:11px 20px; font-family:var(--fbqc-font); font-size:calc(14px*var(--fbqc-fs));
  font-weight:700; line-height:1;
  box-shadow:0 8px 20px var(--fbqc-glow), inset 0 1px 0 rgba(255,255,255,.3);
  transition:filter .15s, transform .12s;
}
.fbqc-btn:hover{ filter:brightness(1.06); }
.fbqc-btn:active{ transform:translateY(1px); }
.fbqc-btn.sec{ background:var(--fbqc-card); color:var(--fbqc-o-deep); border:1.5px solid var(--fbqc-ring); box-shadow:none; }
.fbqc-btn.sec:hover{ background:var(--fbqc-soft-2); filter:none; }
.fbqc-btn.sm{ padding:9px 15px; font-size:calc(13px*var(--fbqc-fs)); border-radius:11px; }
.fbqc-btn[disabled]{ opacity:.55; cursor:not-allowed; }

/* ===================== pill / round / avatar ===================== */
.fbqc-pill{
  display:inline-flex; align-items:center; gap:9px; cursor:pointer; background:var(--fbqc-card);
  border:1.5px solid var(--fbqc-bd); border-radius:999px; padding:8px 15px;
  font-size:calc(13.5px*var(--fbqc-fs)); font-weight:600; color:var(--fbqc-ink-2);
}
.fbqc-pill:hover{ border-color:var(--fbqc-ring); }
.fbqc-round{ width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
  background:var(--fbqc-card); border:1.5px solid var(--fbqc-bd); color:var(--fbqc-ink-2); cursor:pointer; position:relative; }
.fbqc-round:hover{ border-color:var(--fbqc-ring); }
.fbqc-round .fbqc-dot{ position:absolute; inset-block-start:11px; inset-inline-end:13px; width:8px; height:8px;
  border-radius:50%; background:var(--fbqc-o); border:2px solid var(--fbqc-card); }
.fbqc-av{ width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:var(--fbqc-grad);
  color:#fff; font-weight:700; font-size:calc(14px*var(--fbqc-fs)); box-shadow:0 4px 12px var(--fbqc-glow); }

/* ===================== KPI card ===================== */
.fbqc-kpi{ position:relative; overflow:hidden; display:flex; align-items:center; gap:18px; padding:24px; }
.fbqc-kpi .ico{ width:58px; height:58px; border-radius:50%; flex:none; display:grid; place-items:center; background:var(--fbqc-soft); color:var(--fbqc-o); }
.fbqc-kpi .val{ font-size:calc(27px*var(--fbqc-fs)); font-weight:800; letter-spacing:-.035em; line-height:1; color:var(--fbqc-ink); }
.fbqc-kpi .val small{ font-size:calc(14px*var(--fbqc-fs)); font-weight:700; color:var(--fbqc-mut); margin-inline-start:6px; }
.fbqc-kpi .lab{ font-size:calc(13px*var(--fbqc-fs)); font-weight:600; color:var(--fbqc-mut); margin-block-start:9px; }
.fbqc-kpi .wm{ position:absolute; inset-inline-end:-6px; inset-block-end:-12px; opacity:.045; color:var(--fbqc-ink); }

/* ===================== table (.dtable in mockup) ===================== */
.fbqc-table{ width:100%; border-collapse:separate; border-spacing:0; }
.fbqc-table thead th{ background:var(--fbqc-tbl); color:var(--fbqc-ink-2); font-size:calc(13px*var(--fbqc-fs));
  font-weight:700; text-align:start; padding:16px 20px; }
.fbqc-table thead th:first-child{ border-start-start-radius:12px; border-end-start-radius:12px; }
.fbqc-table thead th:last-child{ border-start-end-radius:12px; border-end-end-radius:12px; }
.fbqc-table tbody td{ padding:16px 20px; font-size:calc(13.5px*var(--fbqc-fs)); color:var(--fbqc-ink-2);
  border-block-end:1px solid var(--fbqc-bd-soft); vertical-align:middle; }
.fbqc-table tbody tr:hover td{ background:var(--fbqc-hover); }

/* ===================== notice strip (grey — not accent-washed) ===================== */
.fbqc-notice{ background:var(--fbqc-grey); color:var(--fbqc-ink-2); border:1px solid var(--fbqc-bd);
  border-inline-start:4px solid var(--fbqc-o); border-radius:16px; padding:16px 20px;
  font-weight:700; font-size:calc(13.5px*var(--fbqc-fs)); line-height:1.5; }
.fbqc-table td.end{ text-align:end; }
.fbqc-table .amt{ font-weight:700; color:var(--fbqc-ink); }
.fbqc-table .amt.in{ color:var(--fbqc-grn); }

/* type-icon chip inside table cells */
.fbqc-txico{ display:inline-flex; align-items:center; gap:10px; font-weight:600; color:var(--fbqc-ink); }
.fbqc-txico .ti{ width:34px; height:34px; border-radius:10px; background:var(--fbqc-soft); color:var(--fbqc-o);
  display:grid; place-items:center; flex:none; }
.fbqc-txico .ti svg{ width:17px; height:17px; }

/* ===================== status pills (mockup: g / o / r / n) ===================== */
/* solid, filled status pills (premium) — white text, semantic fills */
.fbqc-pillS{ display:inline-flex; align-items:center; gap:6px; font-size:calc(11.5px*var(--fbqc-fs)); font-weight:700; letter-spacing:.01em; padding:5px 12px; border-radius:999px; color:#fff; line-height:1.55; white-space:nowrap; }
.fbqc-pillS.g{ background:#17b26a; }   /* completed / success / active / resolved */
.fbqc-pillS.o{ background:#f79009; }   /* pending / processing */
.fbqc-pillS.r{ background:#f04438; }   /* rejected / failed / withdrawal */
.fbqc-pillS.n{ background:#667085; }   /* neutral / default */

/* ===================== segmented filter ===================== */
.fbqc-seg{ display:inline-flex; background:var(--fbqc-grey-2); border:1px solid var(--fbqc-bd); border-radius:12px; padding:4px; }
.fbqc-seg button{ border:0; background:transparent; color:var(--fbqc-mut); font-family:var(--fbqc-font);
  font-size:calc(13px*var(--fbqc-fs)); font-weight:600; padding:8px 16px; border-radius:9px; cursor:pointer; }
.fbqc-seg button.on{ background:var(--fbqc-grad); color:#fff; box-shadow:0 4px 10px var(--fbqc-glow); }

/* ===================== promo card ===================== */
.fbqc-promo{ position:relative; overflow:hidden; color:#fff; border-radius:var(--fbqc-r); padding:30px 26px; min-height:188px;
  display:flex; flex-direction:column; justify-content:center; background:var(--fbqc-grad-strong); box-shadow:0 14px 30px var(--fbqc-glow); }
.fbqc-promo .pb{ margin-block-start:16px; align-self:flex-start; background:#fff; color:var(--fbqc-o-deep); border:0; border-radius:10px;
  padding:10px 16px; font-weight:700; font-size:calc(13px*var(--fbqc-fs)); cursor:pointer; box-shadow:0 4px 12px rgba(0,0,0,.12); }

/* ===================== inputs ===================== */
.fbqc-field label{ display:block; font-size:calc(12.5px*var(--fbqc-fs)); font-weight:600; color:var(--fbqc-mut); margin-block-end:7px; }
.fbqc-input{ width:100%; background:var(--fbqc-card); border:1.5px solid var(--fbqc-bd); border-radius:var(--fbqc-r-sm);
  padding:12px 14px; font-family:var(--fbqc-font); font-size:calc(14px*var(--fbqc-fs)); color:var(--fbqc-ink); transition:border-color .15s, box-shadow .15s; }
.fbqc-input::placeholder{ color:var(--fbqc-mut-2); }
.fbqc-input:focus{ outline:0; border-color:var(--fbqc-o); box-shadow:0 0 0 4px var(--fbqc-soft); }

/* ===================== toggle ===================== */
.fbqc-toggle{ position:relative; width:46px; height:26px; display:inline-block; flex:none; }
.fbqc-toggle input{ position:absolute; opacity:0; width:0; height:0; }
.fbqc-toggle .tr{ position:absolute; inset:0; background:var(--fbqc-bd); border-radius:999px; transition:.2s; }
.fbqc-toggle .tr::before{ content:""; position:absolute; width:20px; height:20px; border-radius:50%; background:#fff;
  inset-block-start:3px; inset-inline-start:3px; transition:.2s; box-shadow:0 2px 5px rgba(0,0,0,.2); }
.fbqc-toggle input:checked + .tr{ background:var(--fbqc-o); }
.fbqc-toggle input:checked + .tr::before{ inset-inline-start:23px; }

/* ===================== section head / breadcrumb / title ===================== */
.fbqc-shead{ display:flex; align-items:center; gap:11px; margin-block-end:18px; }
.fbqc-shead .bar{ width:4px; height:18px; border-radius:3px; background:var(--fbqc-grad); }
.fbqc-shead h2{ font-size:calc(15px*var(--fbqc-fs)); font-weight:700; color:var(--fbqc-ink); margin:0; }
.fbqc-title{ font-size:calc(24px*var(--fbqc-fs)); font-weight:800; letter-spacing:-.03em; color:var(--fbqc-ink); margin:0; }
.fbqc-crumb{ font-size:calc(12.5px*var(--fbqc-fs)); font-weight:500; color:var(--fbqc-mut); }
.fbqc-crumb b{ color:var(--fbqc-o); font-weight:600; }

/* ===================== soft icon tile ===================== */
.fbqc-soft-ico{ width:54px; height:54px; border-radius:15px; flex:none; display:grid; place-items:center; background:var(--fbqc-soft); color:var(--fbqc-o); }

/* ===================== reduced motion ===================== */
@media (prefers-reduced-motion: reduce){ .fbqc-btn, .fbqc-input, .fbqc-toggle .tr, .fbqc-toggle .tr::before{ transition:none; } }

/* ===================== progress + avatar image (dashboard) ===================== */
.fbqc-prog{ height:8px; border-radius:999px; background:var(--fbqc-soft-2); overflow:hidden; }
.fbqc-prog > i{ display:block; height:100%; border-radius:999px; background:var(--fbqc-grad); transition:width .3s; }
.fbqc-avimg{ width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid var(--fbqc-bd); }

/* ===================== global font (whole portal → Plus Jakarta Sans) ===================== */
:root{ --bs-font-sans-serif:'Plus Jakarta Sans',-apple-system,'Segoe UI',Roboto,system-ui,sans-serif; }
body{ font-family:var(--bs-font-sans-serif); }

/* ===================== topbar title (rendered in header bar) ===================== */
.fbqc-topbar-title{ line-height:1.1; }
.fbqc-topbar-title .fbqc-title{ font-size:calc(22px*var(--fbqc-fs)); }
.fbqc-topbar-title .fbqc-crumb{ margin-top:2px; }

/* ===================== notification row (dashboard rail) ===================== */
.fbqc-nrow{ display:flex; gap:11px; padding:11px 0; border-top:1px solid var(--fbqc-bd); }
.fbqc-nrow:first-of-type{ border-top:0; }

/* ===================== language dropdown (in-built, searchable) ===================== */
.fbqc-langdd{ position:relative; }
.fbqc-langtrig{ display:inline-flex; align-items:center; gap:7px; background:var(--fbqc-card); border:1px solid var(--fbqc-bd); border-radius:13px; height:42px; padding:7px 13px; font-family:var(--fbqc-font); font-size:calc(13.5px*var(--fbqc-fs)); font-weight:600; color:var(--fbqc-ink-2); cursor:pointer; }
.fbqc-langtrig:hover{ border-color:var(--fbqc-ring); }
.fbqc-langpanel{ position:absolute; inset-inline-end:0; top:calc(100% + 8px); width:248px; background:var(--fbqc-card); border:1px solid var(--fbqc-bd); border-radius:14px; box-shadow:var(--fbqc-shadow); padding:8px; display:none; z-index:1080; }
.fbqc-langdd.open .fbqc-langpanel{ display:block; }
.fbqc-langsearch{ display:flex; align-items:center; gap:8px; border:1.5px solid var(--fbqc-bd); border-radius:10px; padding:8px 10px; margin-bottom:6px; color:var(--fbqc-mut); }
.fbqc-langsearch input{ border:0; outline:0; background:transparent; font-family:var(--fbqc-font); font-size:calc(13.5px*var(--fbqc-fs)); color:var(--fbqc-ink); width:100%; }
.fbqc-langlist{ max-height:280px; overflow-y:auto; }
.fbqc-langitem{ display:flex; align-items:center; gap:10px; width:100%; border:0; background:transparent; padding:9px 10px; border-radius:9px; font-family:var(--fbqc-font); font-size:calc(13.5px*var(--fbqc-fs)); font-weight:600; color:var(--fbqc-ink-2); cursor:pointer; text-align:start; }
.fbqc-langitem:hover{ background:var(--fbqc-soft-2); }
/* ★ FIX — compact, centered, scrollable, searchable language modal (fixes the huge grid on mobile; shared by both portals) */
#languageModal .modal-dialog{ max-width:380px; margin:.5rem auto; min-height:calc(100% - 1rem); display:flex; align-items:center; }
#languageModal .modal-content{ width:100%; }
#languageModal .modal-body{ max-height:min(58vh,430px); overflow-y:auto; padding-top:12px; }
#languageModal .fbqc-langmodal-search{ margin-bottom:10px; position:sticky; top:0; background:var(--fbqc-card); z-index:2; }
#languageModal .modal-body .row{ --bs-gutter-y:.25rem; }
#languageModal .modal-body .row > [class*="col-"]{ flex:0 0 100%; max-width:100%; margin-bottom:0!important; }
#languageModal .language-option{ width:100%; font-size:calc(14px*var(--fbqc-fs))!important; border:1px solid transparent; }
#languageModal .language-option:hover{ background:var(--fbqc-soft-2); }

/* ===================== fbqc-dd : in-built dropdown ===================== */
.fbqc-dd{ position:relative; }
.fbqc-dd-native{ position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.fbqc-dd-trig{ width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px; background:var(--fbqc-card); border:1.5px solid var(--fbqc-bd); border-radius:var(--fbqc-r-sm); padding:12px 14px; min-height:46px; font-family:var(--fbqc-font); font-size:calc(14px*var(--fbqc-fs)); color:var(--fbqc-ink); cursor:pointer; text-align:start; transition:border-color .15s, box-shadow .15s; }
.fbqc-dd-trig:hover{ border-color:var(--fbqc-ring); }
.fbqc-dd.open .fbqc-dd-trig{ border-color:var(--fbqc-o); box-shadow:0 0 0 4px var(--fbqc-soft); }
.fbqc-dd.is-disabled .fbqc-dd-trig{ opacity:.7; cursor:not-allowed; }
.fbqc-dd-lbl{ display:flex; align-items:center; gap:8px; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fbqc-dd-ph{ color:var(--fbqc-mut); }
.fbqc-dd-car{ display:flex; flex:none; color:var(--fbqc-mut); transition:transform .18s; }
.fbqc-dd.open .fbqc-dd-car{ transform:rotate(180deg); }
.fbqc-dd-panel{ position:absolute; inset-inline:0; top:calc(100% + 6px); background:var(--fbqc-card); border:1px solid var(--fbqc-bd); border-radius:14px; box-shadow:var(--fbqc-shadow); padding:8px; z-index:1090; display:none; }
.fbqc-dd.open .fbqc-dd-panel{ display:block; }
.fbqc-dd-search{ display:flex; align-items:center; gap:8px; border:1.5px solid var(--fbqc-bd); border-radius:10px; padding:8px 10px; margin-bottom:6px; color:var(--fbqc-mut); }
.fbqc-dd-search input{ border:0; outline:0; background:transparent; font-family:var(--fbqc-font); font-size:calc(13.5px*var(--fbqc-fs)); color:var(--fbqc-ink); width:100%; }
.fbqc-dd-list{ max-height:260px; overflow-y:auto; }
.fbqc-dd-opt{ display:flex; align-items:center; gap:9px; width:100%; border:0; background:transparent; padding:10px 11px; border-radius:9px; font-family:var(--fbqc-font); font-size:calc(14px*var(--fbqc-fs)); color:var(--fbqc-ink-2); cursor:pointer; text-align:start; }
.fbqc-dd-opt:hover{ background:var(--fbqc-soft-2); }
.fbqc-dd-opt.on{ background:var(--fbqc-soft); color:var(--fbqc-o); font-weight:700; }
/* mobile = bottom sheet */
@media (max-width:768px){
  .fbqc-dd.open .fbqc-dd-panel{ position:fixed; inset:auto 0 0 0; top:auto; border-radius:18px 18px 0 0; max-height:72vh; padding:12px; box-shadow:0 -12px 44px rgba(0,0,0,.32); animation:fbqcDDSheet .26s cubic-bezier(.32,.72,0,1); }
  .fbqc-dd.open::before{ content:''; position:fixed; inset:0; background:rgba(8,12,20,.45); -webkit-backdrop-filter:blur(5px); backdrop-filter:blur(5px); z-index:1089; }
  .fbqc-dd-list{ max-height:56vh; }
  .fbqc-dd-opt{ padding:13px 12px; }
}
@keyframes fbqcDDSheet{ from{ transform:translateY(100%); } to{ transform:translateY(0); } }

/* ===================== SweetAlert2 → fbqc theme (portal-wide popups) ===================== */
.swal2-container.swal2-backdrop-show{ background:rgba(8,12,20,.42)!important; -webkit-backdrop-filter:blur(6px) saturate(120%); backdrop-filter:blur(6px) saturate(120%); }
.swal2-popup{ font-family:var(--fbqc-font)!important; border-radius:20px!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; box-shadow:var(--fbqc-shadow)!important; padding:30px 28px!important; }
.swal2-title{ color:var(--fbqc-ink)!important; font-weight:800!important; font-size:calc(20px*var(--fbqc-fs))!important; letter-spacing:-.01em!important; }
.swal2-html-container{ color:var(--fbqc-ink-2)!important; font-size:calc(14.5px*var(--fbqc-fs))!important; line-height:1.55!important; }
.swal2-actions{ gap:10px!important; margin-top:18px!important; }
.swal2-styled{ font-family:var(--fbqc-font)!important; font-weight:700!important; border-radius:13px!important; padding:11px 26px!important; font-size:calc(14px*var(--fbqc-fs))!important; }
.swal2-styled:focus{ box-shadow:none!important; }
.swal2-confirm.swal2-styled{ background:var(--fbqc-grad)!important; color:#fff!important; border:0!important; box-shadow:0 8px 20px var(--fbqc-glow), inset 0 1px 0 rgba(255,255,255,.3)!important; }
.swal2-cancel.swal2-styled,.swal2-deny.swal2-styled{ background:var(--fbqc-soft-2)!important; color:var(--fbqc-ink)!important; border:1.5px solid var(--fbqc-bd)!important; box-shadow:none!important; }
.swal2-close{ color:var(--fbqc-mut)!important; }
.swal2-close:hover{ color:var(--fbqc-o)!important; }
.swal2-timer-progress-bar{ background:var(--fbqc-o)!important; }
/* icons themed to fbqc palette */
.swal2-icon.swal2-success .swal2-success-ring{ border-color:color-mix(in srgb, var(--fbqc-grn) 30%, transparent)!important; }
.swal2-icon.swal2-success [class^='swal2-success-line']{ background-color:var(--fbqc-grn)!important; }
.swal2-icon.swal2-success .swal2-success-circular-line-left,.swal2-icon.swal2-success .swal2-success-circular-line-right,.swal2-icon.swal2-success .swal2-success-fix{ background-color:var(--fbqc-card)!important; }
.swal2-icon.swal2-error{ border-color:color-mix(in srgb, #e5484d 32%, transparent)!important; color:#e5484d!important; }
.swal2-icon.swal2-error [class^='swal2-x-mark-line']{ background-color:#e5484d!important; }
.swal2-icon.swal2-warning{ border-color:color-mix(in srgb, var(--fbqc-o) 42%, transparent)!important; color:var(--fbqc-o)!important; }
.swal2-icon.swal2-info,.swal2-icon.swal2-question{ border-color:color-mix(in srgb, var(--fbqc-o) 42%, transparent)!important; color:var(--fbqc-o)!important; }
.swal2-input,.swal2-textarea,.swal2-select{ font-family:var(--fbqc-font)!important; border:1.5px solid var(--fbqc-bd)!important; border-radius:var(--fbqc-r-sm)!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; box-shadow:none!important; }
.swal2-input:focus,.swal2-textarea:focus{ border-color:var(--fbqc-o)!important; box-shadow:0 0 0 4px var(--fbqc-soft)!important; }

/* ===================== CHROME reskin — topbar + sidebar (match preview) ===================== */
/* topbar icon buttons: bordered rounded box, muted icon, hover accent */
.topbar .navbar-nav .nav-item.nav-icon-hover-bg{ background:transparent!important; }
.topbar .navbar-nav .nav-item.nav-icon-hover-bg > .nav-link,
.topbar #bell-trigger{ width:42px; height:42px; border:1px solid var(--fbqc-bd); border-radius:13px;
  display:flex; align-items:center; justify-content:center; color:var(--fbqc-mut); background:var(--fbqc-card); transition:.14s; padding:0; }
.topbar .navbar-nav .nav-item.nav-icon-hover-bg > .nav-link:hover,
.topbar #bell-trigger:hover{ color:var(--fbqc-o); border-color:color-mix(in srgb, var(--fbqc-o) 42%, var(--fbqc-bd)); background:var(--fbqc-hover); }
.topbar .navbar-nav .nav-link iconify-icon, .topbar #bell-trigger iconify-icon{ font-size:21px; display:block; line-height:1; }
.topbar .nav-link[data-fbqc-mute]{ display:flex; align-items:center; justify-content:center; }
.topbar .nav-link[data-fbqc-mute] > span{ display:inline-flex; align-items:center; justify-content:center; line-height:0; }
.topbar #bell-trigger .bell-badge{ z-index:2; }
.topbar.sticky-top{ background:var(--fbqc-card); }

/* accent picker */
.fbqc-accent-dd{ position:relative; display:flex; align-items:center; }
.fbqc-accent-trig{ width:42px; height:42px; border:1px solid var(--fbqc-bd); border-radius:13px; background:var(--fbqc-card); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.14s; }
.fbqc-accent-trig:hover{ border-color:color-mix(in srgb, var(--fbqc-o) 42%, var(--fbqc-bd)); background:var(--fbqc-hover); }
.fbqc-accent-dot{ width:18px; height:18px; border-radius:50%; background:var(--fbqc-o); box-shadow:0 0 0 2px var(--fbqc-card), 0 0 0 3px var(--fbqc-o); }
.fbqc-accent-panel{ position:absolute; inset-inline-end:0; top:calc(100% + 8px); background:var(--fbqc-card); border:1px solid var(--fbqc-bd); border-radius:13px; box-shadow:var(--fbqc-shadow); padding:8px; display:flex; gap:7px; z-index:1090; }
.fbqc-sw{ width:22px; height:22px; border-radius:50%; background:var(--c); border:2px solid transparent; cursor:pointer; transition:.12s; padding:0; }
.fbqc-sw:hover{ transform:scale(1.14); }

/* sidebar: clean nav, active pill, grey hover, phosphor icon boxes */
/* sidebar — hardened specificity (#sidebarnav + !important) to beat Berry base theme */
.left-sidebar #sidebarnav{ margin-bottom:0!important; }
.left-sidebar #sidebarnav .sidebar-item{ margin-bottom:1px!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link{ border-radius:12px!important; color:var(--fbqc-ink-2)!important; font-weight:600!important; font-size:13.5px!important; padding:7px 12px!important; display:flex!important; align-items:center!important; gap:2px!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link:hover{ background:var(--fbqc-hover)!important; color:var(--fbqc-ink)!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.active,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.active:hover{ background:color-mix(in srgb, var(--fbqc-o) 11%, var(--fbqc-card))!important; color:var(--fbqc-o)!important; }
.left-sidebar #sidebarnav .aside-icon{ background:transparent!important; background-color:transparent!important; color:var(--fbqc-mut)!important; border:0!important; border-radius:0!important; box-shadow:none!important; width:30px!important; height:30px!important; min-width:30px!important; display:inline-flex!important; align-items:center!important; justify-content:center!important; padding:0!important; }
.left-sidebar #sidebarnav .aside-icon iconify-icon{ font-size:23px!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.active .aside-icon,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link .aside-icon{ background:transparent!important; background-color:transparent!important; color:var(--fbqc-o)!important; }
.left-sidebar #sidebarnav .nav-small-cap{ color:var(--fbqc-mut)!important; font-size:11px!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.05em; padding:14px 12px 6px!important; }
.left-sidebar #sidebarnav .nav-small-cap iconify-icon, .left-sidebar #sidebarnav .nav-small-cap i{ color:var(--fbqc-mut-2)!important; }
.left-sidebar #sidebarnav .first-level{ margin-inline-start:17px!important; border-inline-start:1px solid var(--fbqc-bd)!important; padding-inline-start:9px!important; }
.left-sidebar #sidebarnav .first-level .sidebar-link{ font-size:12.5px!important; padding:7px 12px!important; color:var(--fbqc-ink-2)!important; }
.left-sidebar #sidebarnav .first-level .sidebar-link:hover{ background:var(--fbqc-hover)!important; }
.left-sidebar #sidebarnav .first-level .sidebar-link.active{ background:transparent!important; color:var(--fbqc-o)!important; font-weight:700!important; }
.left-sidebar #sidebarnav .first-level .sidebar-icon{ width:6px!important; height:6px!important; border-radius:50%!important; background:var(--fbqc-mut-2)!important; display:inline-block!important; margin-inline-end:4px!important; }
.left-sidebar #sidebarnav .first-level .sidebar-link.active .sidebar-icon{ background:var(--fbqc-o)!important; }
.left-sidebar .fixed-profile .card{ background:var(--fbqc-grey)!important; border:1px solid var(--fbqc-bd-soft)!important; box-shadow:none!important; }
/* ★ FIX — Berry sidebar bleed: the hover/active shade uses --bs-primary-bg-subtle
   (a stale saffron tint the purple accent never updates; light-mode only), and the
   caret inherits it via currentColor. Kill the shade (fbqc paints its own hover/active)
   and force the caret to the accent. Fixes client + IB portals. */
.left-sidebar #sidebarnav .primary-hover-bg::before,
.left-sidebar #sidebarnav .selected .primary-hover-bg::before,
.left-sidebar #sidebarnav .sidebar-item .primary-hover-bg.active::before,
.left-sidebar #sidebarnav .primary-hover-bg:hover::before{ display:none!important; content:none!important; background:transparent!important; background-color:transparent!important; width:0!important; }
.left-sidebar #sidebarnav .primary-hover-bg:not(.has-arrow)::after{ display:none!important; content:none!important; background:transparent!important; }
.left-sidebar #sidebarnav .sidebar-link.has-arrow::after{ border-color:var(--fbqc-mut)!important; opacity:1!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.has-arrow.active::after,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link.has-arrow::after,
.left-sidebar #sidebarnav li.active > .sidebar-link.has-arrow::after,
.left-sidebar #sidebarnav .sidebar-link.has-arrow[aria-expanded="true"]::after{ border-color:var(--fbqc-o)!important; }

/* ===================== generic overlay (.fbqc-ov) — reskin Bootstrap/Berry components to fbqc ===================== */
.fbqc-ov .card{ background:var(--fbqc-card)!important; border:1px solid var(--fbqc-bd-soft)!important; border-radius:var(--fbqc-r)!important; box-shadow:var(--fbqc-shadow)!important; }
.fbqc-ov .card .card{ box-shadow:none!important; }
.fbqc-ov .card.bg-primary,.fbqc-ov .card.bg-gradient{ background:var(--fbqc-grad-strong)!important; border:0!important; color:#fff!important; }
.fbqc-ov .card.bg-primary *,.fbqc-ov .card.bg-gradient *{ color:#fff!important; }
.fbqc-ov .text-primary,.fbqc-ov .link-primary{ color:var(--fbqc-o)!important; }
.fbqc-ov .border-primary{ border-color:var(--fbqc-o)!important; }
.fbqc-ov .bg-primary-subtle{ background:var(--fbqc-soft)!important; }
.fbqc-ov .card-title,.fbqc-ov h4,.fbqc-ov h5,.fbqc-ov h6{ color:var(--fbqc-ink)!important; }
.fbqc-ov .form-label{ font-size:11.5px!important; font-weight:700!important; color:var(--fbqc-mut)!important; }
.fbqc-ov .form-control,.fbqc-ov .form-select{ border:1.5px solid var(--fbqc-bd)!important; border-radius:var(--fbqc-r-sm)!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; min-height:44px; }
.fbqc-ov .form-control:focus,.fbqc-ov .form-select:focus{ border-color:var(--fbqc-o)!important; box-shadow:0 0 0 4px var(--fbqc-soft)!important; }
.fbqc-ov .input-group-text{ background:var(--fbqc-grey)!important; border:1.5px solid var(--fbqc-bd)!important; color:var(--fbqc-ink-2)!important; }
.fbqc-ov .btn-primary{ background:var(--fbqc-grad)!important; border:0!important; border-radius:12px!important; font-weight:700!important; box-shadow:0 8px 18px var(--fbqc-glow)!important; }
.fbqc-ov .btn-outline-primary{ border:1.5px solid var(--fbqc-o)!important; color:var(--fbqc-o)!important; border-radius:12px!important; font-weight:700!important; }
.fbqc-ov .btn-outline-primary:hover{ background:var(--fbqc-o)!important; color:#fff!important; }
.fbqc-ov .btn-outline-secondary,.fbqc-ov .btn-outline-light{ border:1.5px solid var(--fbqc-bd)!important; color:var(--fbqc-ink-2)!important; border-radius:12px!important; background:var(--fbqc-card)!important; }
.fbqc-ov .badge{ border-radius:999px!important; padding:5px 12px!important; font-weight:700!important; font-size:11.5px!important; }
.fbqc-ov .badge.bg-success{ background:#17b26a!important; color:#fff!important; } .fbqc-ov .badge.bg-warning{ background:#f79009!important; color:#fff!important; } .fbqc-ov .badge.bg-danger{ background:#f04438!important; color:#fff!important; } .fbqc-ov .badge.bg-secondary{ background:#667085!important; color:#fff!important; } .fbqc-ov .badge.bg-info{ background:#2563eb!important; color:#fff!important; } .fbqc-ov .badge.bg-primary{ background:var(--fbqc-o)!important; color:#fff!important; }
.fbqc-ov .table thead th,.fbqc-ov table.dataTable thead th{ background:var(--fbqc-tbl)!important; color:var(--fbqc-ink-2)!important; border:0!important; font-size:12.5px; font-weight:700; padding:14px 16px; }
.fbqc-ov .table tbody td,.fbqc-ov table.dataTable tbody td{ border-top:0!important; border-bottom:1px solid var(--fbqc-bd-soft)!important; color:var(--fbqc-ink-2)!important; padding:14px 16px; font-size:13px; vertical-align:middle; }
.fbqc-ov .table tbody tr:hover td,.fbqc-ov table.dataTable tbody tr:hover td{ background:var(--fbqc-hover)!important; }
.fbqc-ov .nav-tabs{ border-bottom:1px solid var(--fbqc-bd-soft)!important; }
.fbqc-ov .nav-tabs .nav-link{ color:var(--fbqc-mut)!important; border:0!important; font-weight:600; }
.fbqc-ov .nav-tabs .nav-link.active{ color:var(--fbqc-o)!important; border-bottom:2px solid var(--fbqc-o)!important; background:transparent!important; }
.fbqc-ov .nav-pills .nav-link.active{ background:var(--fbqc-o)!important; color:#fff!important; }
.fbqc-ov .modal-content{ border-radius:20px!important; border:1px solid var(--fbqc-bd-soft)!important; background:var(--fbqc-card)!important; }
.fbqc-ov .modal-header{ border:0!important; } .fbqc-ov .modal-title{ color:var(--fbqc-ink)!important; }
.fbqc-ov .dataTables_filter input,.fbqc-ov .dataTables_length select{ border:1.5px solid var(--fbqc-bd)!important; border-radius:10px!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; }
.fbqc-ov .dataTables_paginate .paginate_button.current{ background:var(--fbqc-o)!important; color:#fff!important; border-color:var(--fbqc-o)!important; border-radius:8px; }
.fbqc-ov .progress{ background:var(--fbqc-grey)!important; } .fbqc-ov .progress-bar{ background:var(--fbqc-o)!important; }
.fbqc-ov .list-group-item{ background:transparent!important; border-color:var(--fbqc-bd-soft)!important; color:var(--fbqc-ink-2)!important; }
.fbqc-ov .nav-small-cap,.fbqc-ov .breadcrumb{ color:var(--fbqc-mut)!important; }

/* ===================== create-account popup — jQuery-Steps wizard ===================== */
.wizard > .steps{ padding:0; margin-bottom:18px; }
.wizard > .steps > ul{ display:flex; gap:8px; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.wizard > .steps > ul > li{ flex:1; min-width:120px; }
.wizard > .steps a, .wizard > .steps a:hover, .wizard > .steps a:active{ display:block; text-align:center; padding:11px; border-radius:12px; background:var(--fbqc-grey); color:var(--fbqc-ink-2); font-weight:700; font-size:calc(13px*var(--fbqc-fs)); text-decoration:none; border:1px solid var(--fbqc-bd-soft); }
.wizard > .steps .current a{ background:var(--fbqc-grad); color:#fff; border-color:transparent; box-shadow:0 8px 18px var(--fbqc-glow); }
.wizard > .steps .done a{ background:var(--fbqc-soft); color:var(--fbqc-o); border-color:var(--fbqc-ring); }
.wizard > .content{ min-height:auto; background:transparent; border:0; margin:0; padding:0; overflow:visible; }
.wizard > .content > .body{ width:100%; position:relative; padding:0; }
.wizard > .actions{ margin-top:12px; }
.wizard > .actions > ul{ display:flex; gap:10px; justify-content:flex-end; list-style:none; padding:0; margin:0; }
.wizard > .actions a, .wizard > .actions a:hover{ background:var(--fbqc-grad); color:#fff; border:0; border-radius:12px; padding:11px 22px; font-weight:700; text-decoration:none; box-shadow:0 8px 18px var(--fbqc-glow); }
.wizard > .actions .disabled a, .wizard > .actions .disabled a:hover{ background:var(--fbqc-grey); color:var(--fbqc-mut); box-shadow:none; }
/* account-type choose cards inside the wizard */
.fbqc-ov .btn-check:checked + .btn-outline-primary,.fbqc-ov .leverage_checkbox.btn-outline-primary.active{ background:var(--fbqc-grad)!important; color:#fff!important; border-color:transparent!important; }
.fbqc-ov .btn-outline-primary.leverage_checkbox{ border:1.5px solid var(--fbqc-bd)!important; color:var(--fbqc-ink-2)!important; border-radius:10px!important; }

/* ===================== sidebar accent hardening — force ALL accent bits to --fbqc-o (kill Berry --bs-primary orange leak) ===================== */
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.active,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.active .hide-menu,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link .hide-menu,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.active iconify-icon,
.left-sidebar #sidebarnav .sidebar-item.selected > .sidebar-link iconify-icon{ color:var(--fbqc-o)!important; }
.left-sidebar #sidebarnav .sidebar-link .text-primary,
.left-sidebar #sidebarnav .sidebar-link .text-warning,
.left-sidebar #sidebarnav .text-primary,
.left-sidebar #sidebarnav .primary-hover-bg .text-warning{ color:var(--fbqc-o)!important; }
.left-sidebar #sidebarnav .bg-primary-subtle,
.left-sidebar #sidebarnav .bg-light-primary,
.left-sidebar #sidebarnav .bg-primary{ background-color:transparent!important; }
/* menu HOVER — follow accent everywhere (link, text span, icon), never Berry orange */
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link:hover,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.primary-hover-bg:hover{ background:color-mix(in srgb, var(--fbqc-o) 9%, var(--fbqc-card))!important; color:var(--fbqc-o)!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link:hover .hide-menu,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link:hover iconify-icon,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link:hover .aside-icon,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link:hover .aside-icon iconify-icon{ color:var(--fbqc-o)!important; }
/* Sign Out button — accent gradient in EVERY theme (kill Berry btn-primary orange) */
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.btn-primary,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.btn-primary:hover{ background:var(--fbqc-grad)!important; color:#fff!important; border:0!important; box-shadow:0 8px 18px var(--fbqc-glow)!important; justify-content:center!important; }
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.btn-primary .hide-menu,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.btn-primary:hover .hide-menu,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link.btn-primary:hover iconify-icon{ color:#fff!important; }
/* the portal-switch arrows (IB Portal / Investor Portal / Back to Client) follow accent too */
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link .ms-auto iconify-icon,
.left-sidebar #sidebarnav .sidebar-item > .sidebar-link .pending-icon iconify-icon{ color:var(--fbqc-o)!important; }

/* ===================== global modal treatment — blur backdrop + accent + fbqc design (ALL Bootstrap modals, both portals) ===================== */
.modal-backdrop, .modal-backdrop.show{ background:rgba(8,12,20,.5)!important; opacity:1!important; -webkit-backdrop-filter:blur(6px) saturate(115%); backdrop-filter:blur(6px) saturate(115%); }
.modal-content{ border-radius:20px!important; border:1px solid var(--fbqc-bd-soft)!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; box-shadow:0 24px 60px rgba(8,12,20,.28)!important; }
.modal-header{ border-bottom:1px solid var(--fbqc-bd-soft)!important; }
.modal-footer{ border-top:1px solid var(--fbqc-bd-soft)!important; }
.modal-header.bg-brand-soft, .modal-header.bg-primary-subtle, .modal-header.bg-light-primary{ background:var(--fbqc-grey)!important; }
.modal-title, .modal-title *{ color:var(--fbqc-ink)!important; }
.modal .text-brand, .modal .text-brand *, .modal .text-primary{ color:var(--fbqc-o)!important; }
.modal .bg-brand-soft, .modal .bg-primary-subtle, .modal .bg-light-primary{ background:var(--fbqc-soft)!important; }
.modal .border-brand, .modal .border-primary{ border-color:var(--fbqc-ring)!important; }
.modal .btn-primary{ background:var(--fbqc-grad)!important; border:0!important; border-radius:12px!important; font-weight:700!important; box-shadow:0 8px 18px var(--fbqc-glow)!important; color:#fff!important; }
.modal .btn-outline-primary{ border:1.5px solid var(--fbqc-o)!important; color:var(--fbqc-o)!important; border-radius:12px!important; font-weight:700!important; }
.modal .btn-outline-primary:hover{ background:var(--fbqc-o)!important; color:#fff!important; }
.modal .form-control, .modal .form-select{ border:1.5px solid var(--fbqc-bd)!important; border-radius:var(--fbqc-r-sm)!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; }
.modal .form-control:focus, .modal .form-select:focus{ border-color:var(--fbqc-o)!important; box-shadow:0 0 0 4px var(--fbqc-soft)!important; }
.modal .form-label{ color:var(--fbqc-mut)!important; font-weight:700!important; }
.modal .input-group-text.bg-primary, .modal .input-group-text.bg-brand{ background:var(--fbqc-soft)!important; color:var(--fbqc-o)!important; border:0!important; }
.modal .icon-action-btn{ background:var(--fbqc-soft)!important; color:var(--fbqc-o)!important; border:0!important; border-radius:10px!important; }
.modal .icon-action-btn iconify-icon{ color:var(--fbqc-o)!important; }
.modal .alert-success{ background:color-mix(in srgb,var(--fbqc-grn) 12%,transparent)!important; color:var(--fbqc-grn)!important; border:0!important; }
.modal .btn-close{ filter:none; }
[data-bs-theme="dark"] .modal .btn-close{ filter:invert(1) grayscale(1) brightness(1.4); }

/* ===================== DataTables — match client .fbqc-table look, keep asc/desc sort ticks ===================== */
.fbqc-ov .dataTables_wrapper{ margin-top:2px; }
.fbqc-ov table.dataTable{ border-collapse:separate!important; border-spacing:0!important; width:100%!important; }
.fbqc-ov table.dataTable thead th{ background:var(--fbqc-tbl)!important; color:var(--fbqc-ink-2)!important; border:0!important; font-size:calc(12px*var(--fbqc-fs))!important; font-weight:700!important; text-transform:uppercase; letter-spacing:.02em; padding:15px 18px!important; }
.fbqc-ov table.dataTable thead th:first-child{ border-start-start-radius:12px!important; border-end-start-radius:12px!important; }
.fbqc-ov table.dataTable thead th:last-child{ border-start-end-radius:12px!important; border-end-end-radius:12px!important; }
.fbqc-ov table.dataTable tbody td{ border-top:0!important; border-bottom:1px solid var(--fbqc-bd-soft)!important; color:var(--fbqc-ink-2)!important; padding:15px 18px!important; font-size:calc(13.5px*var(--fbqc-fs))!important; vertical-align:middle; }
.fbqc-ov table.dataTable tbody tr:hover td{ background:var(--fbqc-hover)!important; }
.fbqc-ov table.dataTable tbody tr:last-child td{ border-bottom:0!important; }
/* sort ticks — keep visible; muted default, accent when active */
.fbqc-ov table.dataTable thead th.sorting,.fbqc-ov table.dataTable thead th.sorting_asc,.fbqc-ov table.dataTable thead th.sorting_desc{ cursor:pointer; }
.fbqc-ov table.dataTable thead .sorting:before,.fbqc-ov table.dataTable thead .sorting:after,
.fbqc-ov table.dataTable thead .sorting_asc:before,.fbqc-ov table.dataTable thead .sorting_asc:after,
.fbqc-ov table.dataTable thead .sorting_desc:before,.fbqc-ov table.dataTable thead .sorting_desc:after{ color:var(--fbqc-mut)!important; opacity:.45; }
.fbqc-ov table.dataTable thead .sorting_asc:before,.fbqc-ov table.dataTable thead .sorting_desc:after{ color:var(--fbqc-o)!important; opacity:1; }
/* ★ FIX — force neutral grey table header in DARK (IB portal theme CSS was tinting the header orange at higher specificity) */
html[data-bs-theme="dark"] .fbqc table thead th,
html[data-bs-theme="dark"] .fbqc table thead tr,
html[data-bs-theme="dark"] .fbqc .table thead th,
html[data-bs-theme="dark"] .fbqc table.dataTable thead th,
html[data-bs-theme="dark"] .fbqc-ov table thead th,
html[data-bs-theme="dark"] .fbqc-ov table.dataTable thead th,
html[data-bs-theme="dark"] .fbqc-acct table thead th,
html[data-bs-theme="dark"] .fbqc .dataTables_scrollHead thead th{
  background:var(--fbqc-tbl)!important;
  background-image:none!important;
  box-shadow:none!important;
  --bs-table-bg:var(--fbqc-tbl)!important;
  --bs-table-accent-bg:transparent!important;
  --bs-table-bg-type:initial!important;
  --bs-table-bg-state:transparent!important;
  color:var(--fbqc-ink-2)!important;
}
/* ★ FIX — select2 dropdowns follow the accent + theme (they mount on <body>, outside .fbqc-ov, so they were never themed → showed the base orange highlight) */
.select2-dropdown{ background:var(--fbqc-card)!important; border-color:var(--fbqc-bd)!important; }
.select2-results__option{ color:var(--fbqc-ink-2)!important; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted{ background:var(--fbqc-o)!important; color:#fff!important; }
.select2-container--default .select2-results__option[aria-selected=true]{ background:var(--fbqc-soft)!important; color:var(--fbqc-o)!important; }
.select2-search--dropdown .select2-search__field{ background:var(--fbqc-card)!important; border:1px solid var(--fbqc-bd)!important; color:var(--fbqc-ink)!important; border-radius:8px; }
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple{ background:var(--fbqc-card)!important; border-color:var(--fbqc-bd)!important; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ color:var(--fbqc-ink)!important; }
.select2-container--default .select2-selection--multiple .select2-selection__choice{ background:var(--fbqc-soft)!important; border-color:var(--fbqc-ring)!important; color:var(--fbqc-o)!important; }
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{ color:var(--fbqc-o)!important; }
.select2-container--default.select2-container--focus .select2-selection--multiple{ border-color:var(--fbqc-o)!important; }
.select2-container--default .select2-selection__placeholder,.select2-container--default .select2-search__field::placeholder{ color:var(--fbqc-mut)!important; }
/* wrapper controls */
.fbqc-ov .dataTables_length,.fbqc-ov .dataTables_filter,.fbqc-ov .dataTables_info,.fbqc-ov .dataTables_paginate{ color:var(--fbqc-mut)!important; font-size:calc(13px*var(--fbqc-fs)); margin:10px 0; }
.fbqc-ov .dataTables_length select,.fbqc-ov .dataTables_filter input{ border:1.5px solid var(--fbqc-bd)!important; border-radius:10px!important; background:var(--fbqc-card)!important; color:var(--fbqc-ink)!important; padding:7px 12px!important; min-height:38px; }
.fbqc-ov .dataTables_filter input:focus,.fbqc-ov .dataTables_length select:focus{ border-color:var(--fbqc-o)!important; box-shadow:0 0 0 4px var(--fbqc-soft)!important; outline:0; }
/* ★ FIX — numbered pill pagination (matches client transaction-history: simple_numbers) */
.fbqc-ov .dataTables_paginate{ display:inline-flex!important; align-items:center; flex-wrap:wrap; }
.fbqc-ov .dataTables_paginate > span{ display:inline-flex; align-items:center; flex-wrap:wrap; }
.fbqc-ov .dataTables_paginate .paginate_button{ display:inline-flex!important; align-items:center; justify-content:center; min-width:38px; height:38px; box-sizing:border-box; border-radius:10px!important; border:1px solid var(--fbqc-bd)!important; color:var(--fbqc-ink-2)!important; background:var(--fbqc-card)!important; margin:0 3px!important; padding:0 11px!important; font-weight:600; transition:.14s; }
.fbqc-ov .dataTables_paginate .paginate_button.current,.fbqc-ov .dataTables_paginate .paginate_button.current:hover{ background:var(--fbqc-o)!important; color:#fff!important; border-color:var(--fbqc-o)!important; }
.fbqc-ov .dataTables_paginate .paginate_button:hover:not(.current):not(.disabled){ background:var(--fbqc-hover)!important; color:var(--fbqc-o)!important; border-color:var(--fbqc-ring)!important; }
.fbqc-ov .dataTables_paginate .paginate_button.disabled,.fbqc-ov .dataTables_paginate .paginate_button.disabled:hover{ opacity:.45; cursor:not-allowed; color:var(--fbqc-mut)!important; background:var(--fbqc-card)!important; border-color:var(--fbqc-bd)!important; }
.fbqc-ov .dataTables_paginate .ellipsis{ display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:38px; color:var(--fbqc-mut); padding:0 2px; }
/* export buttons */
.fbqc-ov .dt-buttons .btn,.fbqc-ov .dt-buttons .dt-button,.fbqc-ov #export-options .btn{ background:var(--fbqc-card)!important; border:1.5px solid var(--fbqc-bd)!important; color:var(--fbqc-ink-2)!important; border-radius:10px!important; font-weight:600!important; padding:8px 14px!important; margin-inline-end:6px; box-shadow:none!important; }
.fbqc-ov .dt-buttons .btn:hover,.fbqc-ov #export-options .btn:hover{ background:var(--fbqc-hover)!important; color:var(--fbqc-o)!important; border-color:var(--fbqc-ring)!important; }
/* ===================== inline filter bar (replaces filter modals) ===================== */
.fbqc-filterbar{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:16px 18px; background:var(--fbqc-page); border:1px solid var(--fbqc-bd-soft); border-radius:var(--fbqc-r-sm); margin-bottom:16px; }
.fbqc-filterbar .ff{ display:flex; flex-direction:column; gap:5px; }
.fbqc-filterbar label{ font-size:calc(11px*var(--fbqc-fs)); font-weight:700; color:var(--fbqc-mut); text-transform:uppercase; letter-spacing:.03em; }
.fbqc-filterbar input,.fbqc-filterbar select{ border:1.5px solid var(--fbqc-bd); border-radius:10px; background:var(--fbqc-card); color:var(--fbqc-ink); padding:9px 12px; min-height:40px; font-size:calc(13px*var(--fbqc-fs)); }
.fbqc-filterbar input:focus,.fbqc-filterbar select:focus{ border-color:var(--fbqc-o); box-shadow:0 0 0 4px var(--fbqc-soft); outline:0; }
.fbqc-filterbar .ff-actions{ display:flex; gap:8px; margin-inline-start:auto; }

/* ===================== table empty-state (icon + message) ===================== */
.fbqc-ov td.dataTables_empty,.fbqc-ov .dataTables_empty{ padding:6px!important; background:transparent!important; }
.fbqc-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; padding:46px 20px; text-align:center; }
.fbqc-empty-ico{ font-size:54px; color:var(--fbqc-mut-2); margin-bottom:4px; line-height:1; }
.fbqc-empty-t{ font-size:calc(15px*var(--fbqc-fs)); font-weight:700; color:var(--fbqc-ink-2); }
.fbqc-empty-s{ font-size:calc(13px*var(--fbqc-fs)); color:var(--fbqc-mut); }
/* ★ FIX — auto-upgrade any LEGACY hand-rolled empty state (untouched pages) so it loses the hard-coded #f16c22 orange
   and picks up the muted .fbqc-empty look without a per-page edit. Scoped to muted-centered empty containers only,
   so it never touches real accent usage (amounts, badges) which live on non-icon elements. */
.fbqc td.text-center.py-5,.fbqc .text-center.text-muted.py-5{ padding:44px 20px!important; }
.fbqc td.text-center.py-5 > iconify-icon,.fbqc .text-center.text-muted.py-5 > iconify-icon{ font-size:52px!important; color:var(--fbqc-mut-2)!important; margin-bottom:6px; display:block; }
.fbqc .text-center.text-muted iconify-icon[style*="f16c22"],.fbqc td.text-center iconify-icon[style*="f16c22"]{ color:var(--fbqc-mut-2)!important; }
/* ===================== table action button (dropdown dots) — proper bordered box ===================== */
.fbqc-ov table .dropdown > a[data-bs-toggle="dropdown"],.fbqc-ov table .dropdown > .btn{ display:inline-flex!important; align-items:center; justify-content:center; width:34px; height:34px; border:1px solid var(--fbqc-bd)!important; border-radius:9px!important; color:var(--fbqc-mut)!important; background:var(--fbqc-card)!important; transition:.14s; padding:0!important; }
.fbqc-ov table .dropdown > a[data-bs-toggle="dropdown"]:hover,.fbqc-ov table .dropdown > .btn:hover{ color:var(--fbqc-o)!important; border-color:var(--fbqc-ring)!important; background:var(--fbqc-hover)!important; }
.fbqc-ov table .dropdown > a[data-bs-toggle="dropdown"] iconify-icon{ font-size:18px!important; }
.fbqc-ov table .dropdown > a[data-bs-toggle="dropdown"]::after{ display:none!important; }
.fbqc-ov .dropdown-menu{ border:1px solid var(--fbqc-bd-soft)!important; border-radius:14px!important; box-shadow:var(--fbqc-shadow)!important; background:var(--fbqc-card)!important; padding:6px!important; }
.fbqc-ov .dropdown-item{ border-radius:9px!important; color:var(--fbqc-ink-2)!important; padding:9px 12px!important; font-size:13px!important; }
.fbqc-ov .dropdown-item:hover{ background:var(--fbqc-hover)!important; color:var(--fbqc-o)!important; }
.fbqc-ov .dropdown-item iconify-icon{ color:var(--fbqc-o); }
/* ===================== collapsible filter ===================== */
.fbqc-filterhead{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap; }
.fbqc-filtertoggle{ display:inline-flex; align-items:center; gap:8px; border:1.5px solid var(--fbqc-bd); background:var(--fbqc-card); color:var(--fbqc-ink-2); border-radius:11px; padding:9px 16px; font-weight:700; font-size:calc(13px*var(--fbqc-fs)); cursor:pointer; transition:.14s; }
.fbqc-filtertoggle:hover,.fbqc-filtertoggle.active{ border-color:var(--fbqc-ring); color:var(--fbqc-o); background:var(--fbqc-soft); }
.fbqc-filtertoggle iconify-icon{ font-size:18px; }
.fbqc-filtertoggle .chev{ transition:transform .18s; }
.fbqc-filtertoggle.active .chev{ transform:rotate(180deg); }
.fbqc-filterbar.collapsible{ display:none; }
.fbqc-filterbar.collapsible.open{ display:flex; }
/* generic collapse — for wrapping a Bootstrap-grid filter form in a card-body toggled by fbqcToggleFilter */
.fbqc-collapse{ display:none; }
.fbqc-collapse.open{ display:block; }
/* pagination icons + rows */
.fbqc-ov .dataTables_paginate .paginate_button iconify-icon{ font-size:15px; vertical-align:middle; line-height:1; }
.fbqc-ov .dataTables_length select{ padding-inline-end:26px!important; }
