/*
 * bce_theme.css — BCE dark theme
 *
 * Single source of truth for color, surface, typography, and component styling
 * across every HTML page in the app (panel, programs, admin, login, etc).
 *
 * How pages opt in:
 *   <link rel="stylesheet" href="/static/bce_theme.css">
 *   <script src="/static/bce_theme.js"></script>   (registers the Tailwind
 *                                                   `bce.*` color namespace
 *                                                   before the CDN runs)
 *
 * Pages may still ship their own per-page <style> block for page-specific
 * overrides (print stylesheets, component-specific rules, etc). The base
 * overrides in this file set sensible dark-theme defaults for *every* plain
 * Tailwind class (bg-white, text-slate-*, etc) so existing JSX/HTML renders
 * cleanly on a dark canvas without needing a page-level rewrite.
 *
 * The !important flags on utility overrides are intentional: the Tailwind
 * CDN script registers utility rules AFTER the stylesheet loads, so without
 * !important the light-mode utility colors would win.
 */

/* ---- Theme tokens ------------------------------------------------------- */
:root {
    --bce-navy:    #212B40;
    --bce-navy-2:  #2B3650;
    --bce-navy-3:  #34405D;
    --bce-ink:     #151C2B;
    --bce-aqua:    #BADCDD;
    --bce-lime:    #C2E078;
    --bce-slate:   #547B97;
    --bce-forest:  #46635D;
    --bce-teal:    #6BA5A8;
    --bce-text:    #F1F5FA;
    --bce-text-2:  #BADCDD;
    --bce-text-3:  #94A3B8;
    --bce-border:   rgba(186, 220, 221, 0.14);
    --bce-border-2: rgba(107, 165, 168, 0.30);
    --bce-amber:   #F5C77E;
    --bce-coral:   #F5857E;

    /* Overrides for the legacy --bce-* / --bg-* / --btn-* tokens declared in
       /static/style.css. Because bce_theme.css loads AFTER style.css, these
       declarations win in the cascade and retheme every page that uses the
       legacy variables (login, error, admin_denied, privacy, terms) without
       requiring per-page CSS edits. */
    --bce-navy-dark:   #151C2B;
    --bce-navy-light:  #34405D;
    --bce-sage:        #BADCDD;
    --bce-accent:      #C2E078;
    --bce-accent-glow: rgba(194, 224, 120, 0.35);
    --bg-page:         transparent;     /* blueprint grid shows through */
    --bg-main:         rgba(43, 54, 80, 0.72);
    --bg-sidebar:      rgba(21, 28, 43, 0.9);
    --bg-sidebar-hover:rgba(43, 54, 80, 0.72);
    --bg-card:         rgba(43, 54, 80, 0.72);
    --bg-input:        rgba(21, 28, 43, 0.78);
    --text-primary:    #F1F5FA;
    --text-secondary:  #BADCDD;
    --text-muted:      #94A3B8;
    --text-on-dark:    #F1F5FA;
    --accent:          #C2E078;
    --accent-hover:    #D3EB95;
    --border-light:    rgba(186, 220, 221, 0.14);
    --border-input:    rgba(186, 220, 221, 0.2);
    --btn-primary:     #C2E078;
    --btn-primary-hover:#D3EB95;
    --btn-secondary:   #6BA5A8;
    --btn-bg:          #C2E078;
    --btn-text:        #212B40;
    --btn-hover:       #D3EB95;
    --bg-card-shadow:  rgba(0, 0, 0, 0.35);
    --error-bg:        rgba(245, 133, 126, 0.12);
    --error-text:      #F5857E;
    --success:         #C2E078;
    --warning:         #F5C77E;
}

html { font-size: clamp(16px, 0.4vw + 11px, 22px); }
input, select, textarea, button { font-size: inherit; font-family: inherit; color: inherit; }

/* ---- Body + blueprint grid --------------------------------------------- */
body {
    font-family: 'Inter', system-ui, sans-serif;
    background-color: var(--bce-navy);
    color: var(--bce-text);
    background-image:
        radial-gradient(ellipse 90% 60% at 50% 0%, rgba(107, 165, 168, 0.08), transparent 70%),
        linear-gradient(rgba(194, 224, 120, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(194, 224, 120, 0.05) 1px, transparent 1px),
        linear-gradient(rgba(186, 220, 221, 0.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(186, 220, 221, 0.055) 1px, transparent 1px);
    background-size: 100% 100%, 80px 80px, 80px 80px, 20px 20px, 20px 20px;
    background-position: 0 0, -1px -1px, -1px -1px, -1px -1px, -1px -1px;
    background-attachment: fixed;
    min-height: 100vh;
}

/* ---- Scrollbar ---------------------------------------------------------- */
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: rgba(186, 220, 221, 0.18); border-radius: 8px; }
*::-webkit-scrollbar-thumb:hover { background: rgba(194, 224, 120, 0.4); }

/* ---- Selection --------------------------------------------------------- */
::selection { background: rgba(194, 224, 120, 0.35); color: var(--bce-navy); }

/* ---- Links ------------------------------------------------------------- */
a { color: var(--bce-aqua); transition: color 0.15s; }
a:hover { color: var(--bce-lime); }

/* ---- Surfaces ---------------------------------------------------------- */
.card {
    background: rgba(43, 54, 80, 0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid var(--bce-border);
    border-radius: 12px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.03),
        0 10px 28px rgba(0, 0, 0, 0.28);
    color: var(--bce-text);
}

.panel-card {
    background: rgba(43, 54, 80, 0.72);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 12px;
    border: 1px solid var(--bce-border);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.03),
        0 10px 28px rgba(0, 0, 0, 0.28);
    color: var(--bce-text);
}

/* ---- Buttons ----------------------------------------------------------- */
.btn-primary {
    background: var(--bce-lime);
    color: var(--bce-navy);
    font-weight: 600;
    padding: 10px 20px;
    border-radius: 8px;
    transition: background 0.15s, box-shadow 0.15s, transform 0.05s;
    box-shadow: 0 0 0 0 rgba(194, 224, 120, 0);
}
.btn-primary:hover:not(:disabled) {
    background: #D3EB95;
    box-shadow: 0 0 18px 0 rgba(194, 224, 120, 0.28);
}
.btn-primary:active:not(:disabled) { transform: translateY(1px); }
.btn-primary:disabled { opacity: 0.4; cursor: not-allowed; box-shadow: none; }

.btn-secondary {
    background: transparent;
    color: var(--bce-text);
    font-weight: 500;
    padding: 8px 16px;
    border-radius: 8px;
    border: 1px solid var(--bce-border-2);
    transition: background 0.15s, border-color 0.15s;
}
.btn-secondary:hover:not(:disabled) {
    background: rgba(107, 165, 168, 0.12);
    border-color: rgba(107, 165, 168, 0.55);
}
.btn-secondary:disabled { opacity: 0.4; cursor: not-allowed; }

.btn-danger {
    color: var(--bce-coral);
    font-weight: 500;
    background: transparent;
    padding: 6px 10px;
    border-radius: 6px;
}
.btn-danger:hover { text-decoration: underline; background: rgba(245, 133, 126, 0.08); }

/* Legacy alias used in panel.html */
.btn-bce {
    background: var(--bce-lime);
    color: var(--bce-navy);
    font-weight: 600;
    border-radius: 8px;
    padding: 8px 16px;
    transition: background 0.15s, box-shadow 0.15s;
}
.btn-bce:hover { background: #D3EB95; box-shadow: 0 0 18px 0 rgba(194, 224, 120, 0.25); }

/* ---- Form controls ----------------------------------------------------- */
input[type=text], input[type=number], input[type=email], input[type=password],
input[type=search], input[type=tel], input[type=url],
input:not([type]), select, textarea {
    background: rgba(21, 28, 43, 0.78) !important;
    color: var(--bce-text) !important;
    border: 1px solid var(--bce-border) !important;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    transition: border-color 0.15s, box-shadow 0.15s;
}
input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--bce-lime) !important;
    box-shadow: 0 0 0 3px rgba(194, 224, 120, 0.18);
}
input::placeholder, textarea::placeholder { color: #5E6B84 !important; }
select option { background: var(--bce-navy); color: var(--bce-text); }

/* Range sliders — used in panel.html for panel size */
input[type=range] {
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    background: rgba(107, 165, 168, 0.18) !important;
    border: none !important;
    border-radius: 999px;
    padding: 0;
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px; height: 18px;
    background: var(--bce-lime);
    border-radius: 50%;
    border: 2px solid var(--bce-navy);
    box-shadow: 0 0 10px rgba(194, 224, 120, 0.35);
    cursor: pointer;
}
input[type=range]::-moz-range-thumb {
    width: 18px; height: 18px;
    background: var(--bce-lime);
    border-radius: 50%;
    border: 2px solid var(--bce-navy);
    box-shadow: 0 0 10px rgba(194, 224, 120, 0.35);
    cursor: pointer;
}
input[type=range]::-moz-range-track { background: rgba(107, 165, 168, 0.18); border-radius: 999px; height: 6px; }

/* Checkboxes / radios — use accent-color so the browser handles theming */
input[type=checkbox], input[type=radio] {
    accent-color: var(--bce-lime);
    background: rgba(21, 28, 43, 0.78);
    border: 1px solid var(--bce-border);
    padding: 0;
}

/* ---- Chips / pills ----------------------------------------------------- */
.chip {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 500;
    background: rgba(107, 165, 168, 0.14);
    color: var(--bce-aqua);
    border: 1px solid rgba(107, 165, 168, 0.32);
    letter-spacing: 0.01em;
}
.chip-ok   { background: rgba(194, 224, 120, 0.14); color: var(--bce-lime);  border-color: rgba(194, 224, 120, 0.42); }
.chip-warn { background: rgba(245, 199, 126, 0.14); color: var(--bce-amber); border-color: rgba(245, 199, 126, 0.42); }
.chip-err  { background: rgba(245, 133, 126, 0.14); color: var(--bce-coral); border-color: rgba(245, 133, 126, 0.42); }

/* ---- Header ------------------------------------------------------------ */
header.bg-bce-navy,
header.bce-header {
    background: linear-gradient(180deg, rgba(21, 28, 43, 0.95), rgba(33, 43, 64, 0.78)) !important;
    border-bottom: 1px solid rgba(194, 224, 120, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    position: relative;
}
header.bg-bce-navy::after,
header.bce-header::after {
    content: '';
    position: absolute; left: 0; right: 0; bottom: -1px; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(194, 224, 120, 0.55), transparent);
    pointer-events: none;
}

/* ---- Tailwind utility overrides ---------------------------------------- */

/* Text colors — map every common "ink on paper" class to a tier on dark bg. */
.text-black, .text-neutral-900, .text-neutral-800, .text-zinc-900, .text-zinc-800 { color: var(--bce-text) !important; }
.text-slate-900, .text-slate-800, .text-slate-700 { color: var(--bce-text) !important; }
.text-slate-600 { color: #A8B4CC !important; }
.text-slate-500 { color: #94A3B8 !important; }
.text-slate-400 { color: #7A8BA8 !important; }
.text-slate-300 { color: #8A97AE !important; }
.text-gray-900, .text-gray-800, .text-gray-700 { color: var(--bce-text) !important; }
.text-gray-600 { color: #A8B4CC !important; }
.text-gray-500 { color: #94A3B8 !important; }
.text-gray-400 { color: #7A8BA8 !important; }
.text-gray-300 { color: #8A97AE !important; }

/* Brand aliases */
.text-bce-navy   { color: var(--bce-text) !important; }
.text-bce-dark   { color: var(--bce-text) !important; }
.text-bce-light  { color: var(--bce-aqua) !important; }
.text-bce-sage   { color: var(--bce-aqua) !important; }
.text-bce-accent { color: var(--bce-lime) !important; }

/* Semantic status colors */
.text-red-900, .text-red-800, .text-red-700, .text-red-600, .text-red-500 { color: var(--bce-coral) !important; }
.text-amber-900, .text-amber-800, .text-amber-700, .text-amber-600 { color: var(--bce-amber) !important; }
.text-yellow-900, .text-yellow-800, .text-yellow-700, .text-yellow-600 { color: var(--bce-amber) !important; }
.text-green-900, .text-green-800, .text-green-700, .text-green-600 { color: var(--bce-lime) !important; }
.text-emerald-900, .text-emerald-800, .text-emerald-700, .text-emerald-600 { color: var(--bce-lime) !important; }
.text-teal-900, .text-teal-800, .text-teal-700, .text-teal-600 { color: var(--bce-aqua) !important; }
.text-teal-500, .text-teal-400 { color: var(--bce-teal) !important; }
.text-blue-900, .text-blue-800, .text-blue-700, .text-blue-600 { color: var(--bce-aqua) !important; }
.text-sky-700, .text-sky-600 { color: var(--bce-aqua) !important; }
.text-cyan-700, .text-cyan-600 { color: var(--bce-teal) !important; }

/* Background colors — map light surfaces to translucent navy */
.bg-white        { background: rgba(43, 54, 80, 0.72) !important; }
.bg-slate-50     { background: rgba(21, 28, 43, 0.55) !important; }
.bg-slate-100    { background: rgba(21, 28, 43, 0.4) !important; }
.bg-slate-200    { background: rgba(43, 54, 80, 0.5) !important; }
.bg-slate-800    { background: rgba(16, 22, 36, 0.85) !important; }
.bg-slate-900    { background: rgba(16, 22, 36, 0.92) !important; }
.bg-gray-50      { background: rgba(21, 28, 43, 0.55) !important; }
.bg-gray-100     { background: rgba(21, 28, 43, 0.4) !important; }
.bg-gray-200     { background: rgba(43, 54, 80, 0.5) !important; }
.bg-gray-800     { background: rgba(16, 22, 36, 0.85) !important; }
.bg-gray-900     { background: rgba(16, 22, 36, 0.92) !important; }
.bg-neutral-50   { background: rgba(21, 28, 43, 0.55) !important; }
.bg-neutral-100  { background: rgba(21, 28, 43, 0.4) !important; }

/* Pale brand-tinted backgrounds that should become translucent panels */
.bg-teal-50      { background: rgba(107, 165, 168, 0.1) !important; }
.bg-teal-100     { background: rgba(107, 165, 168, 0.14) !important; }
.bg-cyan-50      { background: rgba(107, 165, 168, 0.1) !important; }
.bg-blue-50      { background: rgba(186, 220, 221, 0.08) !important; }
.bg-sky-50       { background: rgba(186, 220, 221, 0.08) !important; }
.bg-indigo-50    { background: rgba(186, 220, 221, 0.08) !important; }
.bg-red-50       { background: rgba(245, 133, 126, 0.1) !important; }
.bg-rose-50      { background: rgba(245, 133, 126, 0.1) !important; }
.bg-amber-50     { background: rgba(245, 199, 126, 0.1) !important; }
.bg-yellow-50    { background: rgba(245, 199, 126, 0.1) !important; }
.bg-green-50     { background: rgba(194, 224, 120, 0.1) !important; }
.bg-emerald-50   { background: rgba(194, 224, 120, 0.1) !important; }

/* Brand surfaces */
.bg-bce-navy     { background: rgba(21, 28, 43, 0.9) !important; }
.bg-bce-dark     { background: rgba(16, 22, 36, 0.92) !important; }
.bg-bce-light    { background: rgba(43, 54, 80, 0.72) !important; }
.bg-bce-accent   { background: var(--bce-lime) !important; }
.bg-bce-sage     { background: rgba(186, 220, 221, 0.18) !important; }

/* Borders — all light neutrals collapse to one subtle teal line */
.border-slate-100, .border-slate-200, .border-slate-300,
.border-gray-100, .border-gray-200, .border-gray-300,
.border-neutral-100, .border-neutral-200, .border-neutral-300 {
    border-color: var(--bce-border) !important;
}
.border-slate-400, .border-gray-400 { border-color: var(--bce-border-2) !important; }

.border-red-100, .border-red-200, .border-red-300 { border-color: rgba(245, 133, 126, 0.42) !important; }
.border-amber-100, .border-amber-200, .border-amber-300 { border-color: rgba(245, 199, 126, 0.42) !important; }
.border-yellow-100, .border-yellow-200, .border-yellow-300 { border-color: rgba(245, 199, 126, 0.42) !important; }
.border-green-100, .border-green-200, .border-green-300 { border-color: rgba(194, 224, 120, 0.42) !important; }
.border-emerald-100, .border-emerald-200, .border-emerald-300 { border-color: rgba(194, 224, 120, 0.42) !important; }
.border-teal-100, .border-teal-200, .border-teal-300 { border-color: rgba(107, 165, 168, 0.42) !important; }
.border-blue-100, .border-blue-200, .border-blue-300 { border-color: rgba(186, 220, 221, 0.42) !important; }
.border-sky-100, .border-sky-200, .border-sky-300 { border-color: rgba(186, 220, 221, 0.42) !important; }
.border-bce-accent { border-color: var(--bce-lime) !important; }
.border-bce-navy   { border-color: rgba(194, 224, 120, 0.25) !important; }

/* Divide (between items) */
.divide-slate-100 > * + *, .divide-slate-200 > * + *, .divide-slate-300 > * + *,
.divide-gray-100 > * + *, .divide-gray-200 > * + *, .divide-gray-300 > * + * {
    border-color: var(--bce-border) !important;
}

/* Hover states that rely on pale backgrounds */
.hover\:bg-white:hover        { background: rgba(43, 54, 80, 0.72) !important; }
.hover\:bg-slate-50:hover     { background: rgba(107, 165, 168, 0.1) !important; }
.hover\:bg-slate-100:hover    { background: rgba(107, 165, 168, 0.14) !important; }
.hover\:bg-gray-50:hover      { background: rgba(107, 165, 168, 0.1) !important; }
.hover\:bg-gray-100:hover     { background: rgba(107, 165, 168, 0.14) !important; }
.hover\:bg-teal-50:hover      { background: rgba(107, 165, 168, 0.14) !important; }
.hover\:bg-teal-100:hover     { background: rgba(107, 165, 168, 0.2) !important; }
.hover\:bg-blue-50:hover      { background: rgba(186, 220, 221, 0.12) !important; }
.hover\:bg-red-50:hover       { background: rgba(245, 133, 126, 0.12) !important; }
.hover\:border-slate-200:hover { border-color: var(--bce-border-2) !important; }
.hover\:text-bce-navy:hover   { color: var(--bce-lime) !important; }
.hover\:text-bce-accent:hover { color: var(--bce-lime) !important; }
.hover\:text-slate-900:hover  { color: var(--bce-text) !important; }
.hover\:text-slate-800:hover  { color: var(--bce-text) !important; }
.hover\:text-slate-700:hover  { color: var(--bce-text) !important; }

/* Focus rings */
.focus\:border-bce-accent:focus { border-color: var(--bce-lime) !important; }
.focus\:ring-bce-accent:focus   { --tw-ring-color: var(--bce-lime); }

/* Special cards */
.card.bg-slate-900 {
    border-color: rgba(194, 224, 120, 0.35) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 12px 32px rgba(0, 0, 0, 0.35),
        0 0 24px rgba(194, 224, 120, 0.08);
}
.card.border-bce-accent {
    background: rgba(107, 165, 168, 0.08) !important;
    border-color: rgba(194, 224, 120, 0.45) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.04),
        0 10px 28px rgba(0, 0, 0, 0.28),
        0 0 18px rgba(194, 224, 120, 0.1);
}

/* Mono by intent — used for IDs, counts, and pasted briefs. */
.font-mono {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
}

/* Tables — quiet row borders so data reads as a ledger, not a spreadsheet */
table { color: var(--bce-text); }
thead tr { border-bottom: 1px solid var(--bce-border-2); }
tbody tr { border-bottom: 1px solid var(--bce-border); }
tbody tr:hover { background: rgba(107, 165, 168, 0.06); }
th { color: var(--bce-aqua); font-weight: 600; text-align: left; }

/* Details / summary (used on admin pages) */
details summary { cursor: pointer; color: var(--bce-aqua); }
details[open] summary { color: var(--bce-lime); }

/* Code blocks */
code, pre {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
    background: rgba(21, 28, 43, 0.65);
    border: 1px solid var(--bce-border);
    border-radius: 6px;
    padding: 0.1rem 0.4rem;
    color: var(--bce-aqua);
}
pre { padding: 0.75rem 1rem; overflow-x: auto; }
pre code { background: transparent; border: none; padding: 0; }

/* Ring utilities */
.ring-1 { box-shadow: 0 0 0 1px var(--bce-border-2); }
.ring-offset-2 { --tw-ring-offset-width: 2px; }

/* ---- Arbitrary-value class overrides ----------------------------------- */
/* Hardcoded hex-in-class Tailwind classes used in panel.html that would
   otherwise render as dark text on dark background. Mapped to readable
   dark-theme equivalents so no JSX rewrite is required. */
.text-\[\#547B97\] { color: var(--bce-aqua) !important; }
.text-\[\#0f766e\] { color: var(--bce-teal) !important; }
.text-\[\#6BA5A8\] { color: var(--bce-teal) !important; }
.text-\[\#8A9BB0\] { color: var(--bce-text-3) !important; }
.hover\:text-\[\#547B97\]:hover { color: var(--bce-lime) !important; }

/* ---- Embedded-document scope ------------------------------------------
   The synthesis report block inside panel.html is intentionally designed
   as a printable "primary research" document — white cards, navy ink,
   brand-tinted section headers. Wrapping it in `.bce-document` opts that
   subtree out of the dark theme so it continues to render like a deliverable
   PDF inside the dark app (reads as an embedded report, prints cleanly).

   Everything here uses the same-specificity `!important` trick to override
   our global utility overrides, scoped by .bce-document ancestor. */
.bce-document {
    color: #0f172a !important;
    background: transparent;
}
.bce-document .bg-white,
.bce-document .bg-slate-50,
.bce-document .bg-slate-100,
.bce-document .bg-gray-50,
.bce-document .bg-gray-100 {
    background: #ffffff !important;
}
.bce-document .bg-slate-200,
.bce-document .bg-gray-200 { background: #f1f5f9 !important; }
.bce-document .text-slate-400 { color: #94a3b8 !important; }
.bce-document .text-slate-500 { color: #64748b !important; }
.bce-document .text-slate-600 { color: #475569 !important; }
.bce-document .text-slate-700 { color: #334155 !important; }
.bce-document .text-slate-800 { color: #1e293b !important; }
.bce-document .text-slate-900, .bce-document .text-black { color: #0f172a !important; }
.bce-document .text-gray-400 { color: #94a3b8 !important; }
.bce-document .text-gray-500 { color: #6b7280 !important; }
.bce-document .text-gray-600 { color: #4b5563 !important; }
.bce-document .text-gray-700 { color: #374151 !important; }
.bce-document .text-gray-800 { color: #1f2937 !important; }
.bce-document .text-gray-900 { color: #111827 !important; }
.bce-document .text-bce-navy { color: #212B40 !important; }
.bce-document .text-\[\#212B40\] { color: #212B40 !important; }
.bce-document .text-\[\#3E4D5C\] { color: #3E4D5C !important; }
.bce-document .text-\[\#547B97\] { color: #547B97 !important; }
.bce-document .text-\[\#6BA5A8\] { color: #46635D !important; }
.bce-document .text-\[\#8A9BB0\] { color: #8A9BB0 !important; }
.bce-document .text-\[\#7A3A2E\] { color: #7A3A2E !important; }
.bce-document .text-\[\#46635D\] { color: #46635D !important; }
.bce-document .border-slate-100, .bce-document .border-slate-200, .bce-document .border-slate-300,
.bce-document .border-gray-100, .bce-document .border-gray-200, .bce-document .border-gray-300 {
    border-color: #e2e8f0 !important;
}
.bce-document .card,
.bce-document .panel-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #0f172a !important;
}
.bce-document a { color: #0f766e; }
.bce-document a:hover { color: #0f766e; text-decoration: underline; }
/* Reset our form-control overrides inside a document scope — reports
   may embed inputs (e.g. edit-in-place) that should look conventional. */
.bce-document input[type=text], .bce-document input[type=number],
.bce-document input[type=email], .bce-document input[type=password],
.bce-document input:not([type]), .bce-document select, .bce-document textarea {
    background: #ffffff !important;
    color: #0f172a !important;
    border: 1px solid #cbd5e1 !important;
}
