/* ================================================
   Narrativa Data Room — Shared Design System
   ================================================
   Single source of truth for all pages.
   Page-specific styles go in inline <style> blocks.
   ================================================ */

/* Alpine.js cloak */
[x-cloak] { display: none !important; }

/* Base typography */
body {
    font-family: 'Poppins', sans-serif;
    font-weight: 200;
}

/* ---- Background gradients ---- */

.section-gradient {
    background: linear-gradient(180deg, rgba(1, 0, 142, 0.04) 0%, transparent 100%);
}

.hero-gradient {
    background:
        radial-gradient(ellipse at 80% 20%, rgba(1, 0, 142, 0.08) 0%, transparent 50%),
        radial-gradient(ellipse at 20% 80%, rgba(183, 66, 190, 0.05) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(70, 206, 192, 0.03) 0%, transparent 60%);
}

/* ---- Card styles ---- */

.glass-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.3s ease;
}
.glass-card:hover {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.10);
    box-shadow: 0px 32px 52px -24px rgba(27, 41, 54, 0.08);
    transform: translateY(-3px);
}

.kpi-card {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    transition: all 0.3s ease;
}
.kpi-card:hover {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

/* ---- Buttons ---- */

.btn-primary {
    background: #ffffff;
    color: #000000;
    border: 1px solid #ffffff;
    border-radius: 32px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    transition: all 0.3s ease;
}
.btn-primary:hover {
    background: #000000;
    color: #ffffff;
    border-color: #ffffff;
}

.btn-secondary {
    background: transparent;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 32px;
    font-family: 'Poppins', sans-serif;
    font-weight: 400;
    transition: all 0.3s ease;
}
.btn-secondary:hover {
    background: #ffffff;
    color: #000000;
    border-color: #ffffff;
}

/* ---- Links ---- */

a:hover {
    color: #b742be;
}

/* ---- Scrollbar ---- */

::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #000000; }
::-webkit-scrollbar-thumb { background: #3e4a59; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #46cec0; }

/* ---- Separator ---- */

.separator {
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.06), transparent);
}

/* ================================================
   Light Theme Overrides
   ================================================
   Activated by data-theme="light" on <html>.
   Overrides dark-first classes without touching Blade templates.
   ================================================ */

/* ---- Base ---- */
[data-theme="light"],
[data-theme="light"] body {
    background-color: #f8f9fa !important;
    color: #1a1a2e !important;
}

/* ---- Text color overrides ---- */
[data-theme="light"] .text-white {
    color: #1a1a2e !important;
}
[data-theme="light"] .text-white\/30,
[data-theme="light"] .placeholder-white\/30::placeholder {
    color: rgba(26, 26, 46, 0.4) !important;
}
[data-theme="light"] .text-white\/50 {
    color: rgba(26, 26, 46, 0.5) !important;
}
[data-theme="light"] .text-white\/60 {
    color: rgba(26, 26, 46, 0.55) !important;
}
[data-theme="light"] .text-white\/70 {
    color: rgba(26, 26, 46, 0.65) !important;
}
[data-theme="light"] .placeholder-white\/20::placeholder {
    color: rgba(26, 26, 46, 0.35) !important;
}

/* ---- Background overrides ---- */
[data-theme="light"] .bg-black {
    background-color: #f8f9fa !important;
}
[data-theme="light"] .bg-black\/60 {
    background-color: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
}

/* White-alpha backgrounds → dark-alpha */
[data-theme="light"] .bg-white\/\[0\.02\] {
    background-color: rgba(0, 0, 0, 0.02) !important;
}
[data-theme="light"] .bg-white\/\[0\.03\] {
    background-color: rgba(0, 0, 0, 0.02) !important;
}
[data-theme="light"] .bg-white\/\[0\.04\] {
    background-color: rgba(0, 0, 0, 0.03) !important;
}
[data-theme="light"] .bg-white\/\[0\.08\] {
    background-color: rgba(0, 0, 0, 0.05) !important;
}

/* ---- Border overrides ---- */
[data-theme="light"] .border-white\/\[0\.04\] {
    border-color: rgba(0, 0, 0, 0.08) !important;
}
[data-theme="light"] .border-white\/\[0\.06\] {
    border-color: rgba(0, 0, 0, 0.1) !important;
}
[data-theme="light"] .border-white\/\[0\.08\] {
    border-color: rgba(0, 0, 0, 0.12) !important;
}
[data-theme="light"] .border-white\/\[0\.10\] {
    border-color: rgba(0, 0, 0, 0.15) !important;
}
[data-theme="light"] .focus\:border-white\/20:focus {
    border-color: rgba(0, 0, 0, 0.2) !important;
}
[data-theme="light"] .focus\:ring-white\/10:focus {
    --tw-ring-color: rgba(0, 0, 0, 0.1) !important;
}

/* ---- Divider overrides ---- */
[data-theme="light"] .divide-white\/\[0\.04\] > :not([hidden]) ~ :not([hidden]) {
    border-color: rgba(0, 0, 0, 0.08) !important;
}

/* ---- Gradients ---- */
[data-theme="light"] .hero-gradient {
    background:
        radial-gradient(ellipse at 80% 20%, rgba(1, 0, 142, 0.05) 0%, transparent 50%),
        radial-gradient(ellipse at 20% 80%, rgba(183, 66, 190, 0.04) 0%, transparent 50%),
        radial-gradient(ellipse at 50% 50%, rgba(70, 206, 192, 0.03) 0%, transparent 60%),
        linear-gradient(180deg, #f8f9fa 0%, #f0f0f5 100%) !important;
}
[data-theme="light"] .section-gradient {
    background: linear-gradient(180deg, rgba(1, 0, 142, 0.03) 0%, transparent 100%) !important;
}

/* ---- Glass card ---- */
[data-theme="light"] .glass-card {
    background: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}
[data-theme="light"] .glass-card:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

/* ---- KPI card ---- */
[data-theme="light"] .kpi-card {
    background: rgba(255, 255, 255, 0.85) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
}
[data-theme="light"] .kpi-card:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    border-color: rgba(0, 0, 0, 0.15) !important;
}

/* ---- Folder card badges ---- */
[data-theme="light"] .folder-badge {
    background: rgba(0, 0, 0, 0.04) !important;
    color: #374151 !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

/* ---- Buttons ---- */
[data-theme="light"] .btn-primary {
    background: #1a1a2e !important;
    color: #ffffff !important;
    border-color: #1a1a2e !important;
}
[data-theme="light"] .btn-primary:hover {
    background: #ffffff !important;
    color: #1a1a2e !important;
    border-color: #1a1a2e !important;
}

[data-theme="light"] .btn-secondary {
    color: #1a1a2e !important;
    border-color: rgba(0, 0, 0, 0.25) !important;
}
[data-theme="light"] .btn-secondary:hover {
    background: #1a1a2e !important;
    color: #ffffff !important;
    border-color: #1a1a2e !important;
}

/* ---- Inputs ---- */
[data-theme="light"] input[type="text"],
[data-theme="light"] textarea {
    background-color: rgba(0, 0, 0, 0.03) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: #1a1a2e !important;
}
[data-theme="light"] input[type="text"]::placeholder,
[data-theme="light"] textarea::placeholder {
    color: rgba(26, 26, 46, 0.4) !important;
}
[data-theme="light"] input[type="text"]:focus,
[data-theme="light"] textarea:focus {
    border-color: rgba(0, 0, 0, 0.25) !important;
    --tw-ring-color: rgba(0, 0, 0, 0.1) !important;
}

/* ---- Scrollbar ---- */
[data-theme="light"] ::-webkit-scrollbar-track {
    background: #f8f9fa;
}
[data-theme="light"] ::-webkit-scrollbar-thumb {
    background: #c0c4cc;
}
[data-theme="light"] ::-webkit-scrollbar-thumb:hover {
    background: #b742be;
}

/* ---- Separator ---- */
[data-theme="light"] .separator {
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1), transparent) !important;
}


/* ---- Footer logo: white in dark, dark in light ---- */
[data-theme="light"] .footer-logo-dark { display: none !important; }
[data-theme="light"] .footer-logo-light { display: block !important; }

/* ---- Document description: black text in light mode ---- */
[data-theme="light"] .doc-description {
    color: rgba(0, 0, 0, 0.85) !important;
}

/* ---- Footer border ---- */
[data-theme="light"] footer.border-t {
    border-color: rgba(0, 0, 0, 0.08) !important;
}

/* ---- Nav: ALWAYS dark regardless of theme ---- */
[data-theme="light"] nav.nav-always-dark {
    background-color: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] nav.nav-always-dark .text-white {
    color: #ffffff !important;
}
[data-theme="light"] nav.nav-always-dark .text-xs.font-normal {
    color: #ffffff !important;
}
[data-theme="light"] nav.nav-always-dark .theme-logo {
    filter: none !important;
}
[data-theme="light"] nav.nav-always-dark input {
    background-color: rgba(255, 255, 255, 0.04) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}
[data-theme="light"] nav.nav-always-dark input::placeholder {
    color: rgba(255, 255, 255, 0.3) !important;
}
[data-theme="light"] nav.nav-always-dark .theme-toggle {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}
[data-theme="light"] nav.nav-always-dark .theme-toggle:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #b742be !important;
}
[data-theme="light"] nav.nav-always-dark .avatar-dropdown {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}
[data-theme="light"] nav.nav-always-dark .avatar-dropdown p {
    color: #ffffff !important;
}
[data-theme="light"] nav.nav-always-dark .avatar-dropdown button[type="submit"] {
    color: #ffffff !important;
}
[data-theme="light"] nav.nav-always-dark .avatar-dropdown button[type="submit"]:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}
[data-theme="light"] nav.nav-always-dark .avatar-dropdown .border-b {
    border-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] nav.nav-always-dark button.rounded-full {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] nav.nav-always-dark button.rounded-full:hover {
    background-color: rgba(255, 255, 255, 0.14) !important;
}

/* ---- SVG icons (currentColor inherits text-white override) ---- */
/* Already handled by .text-white override above */

/* ---- Flash messages (keep their own color scheme) ---- */
[data-theme="light"] .text-emerald-400 { color: rgb(16, 185, 129) !important; }
[data-theme="light"] .text-red-400 { color: rgb(239, 68, 68) !important; }

/* ---- Folder pill badge ---- */
[data-theme="light"] .bg-white\/\[0\.04\].text-white.border-white\/\[0\.06\] {
    background-color: rgba(0, 0, 0, 0.05) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

/* ---- Doc row hover (inline style override) ---- */
[data-theme="light"] .doc-row:hover {
    background-color: rgba(0, 0, 0, 0.03) !important;
}

/* ---- PDF preview gradient background ---- */
[data-theme="light"] .from-white\/\[0\.03\] {
    --tw-gradient-from: rgba(0, 0, 0, 0.02) !important;
}
[data-theme="light"] .to-white\/\[0\.01\] {
    --tw-gradient-to: rgba(0, 0, 0, 0.01) !important;
}

/* ---- Theme toggle button ---- */
.theme-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.05);
    color: #ffffff;
    cursor: pointer;
    transition: all 0.3s ease;
}
.theme-toggle:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
    color: #b742be;
}
[data-theme="light"] .theme-toggle {
    border-color: rgba(255, 255, 255, 0.1) !important;
    background: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}
[data-theme="light"] .theme-toggle:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    color: #b742be !important;
}

/* Avatar dropdown - light theme (non-nav context fallback) */
[data-theme="light"] .avatar-dropdown {
    background: rgba(0, 0, 0, 0.7) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}
[data-theme="light"] .avatar-dropdown p {
    color: #ffffff !important;
}
[data-theme="light"] .avatar-dropdown button[type="submit"] {
    color: #ffffff !important;
}
[data-theme="light"] .avatar-dropdown button[type="submit"]:hover {
    background: rgba(255, 255, 255, 0.08) !important;
}
[data-theme="light"] .avatar-dropdown .border-b {
    border-color: rgba(255, 255, 255, 0.06) !important;
}

/* ---- Review progress bar (light theme) ---- */
[data-theme="light"] .bg-white\/\[0\.06\].rounded-full {
    background-color: rgba(0, 0, 0, 0.08) !important;
}

/* ================================================
   Admin Sidebar — ALWAYS dark regardless of theme
   ================================================ */
.sidebar-always-dark {
    background: rgba(13, 13, 26, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-color: rgba(255, 255, 255, 0.06);
}
[data-theme="light"] .sidebar-always-dark {
    background: rgba(13, 13, 26, 0.97) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] .sidebar-always-dark .text-white {
    color: #ffffff !important;
}
[data-theme="light"] .sidebar-always-dark .text-white\/40 {
    color: rgba(255, 255, 255, 0.4) !important;
}
[data-theme="light"] .sidebar-always-dark .text-white\/60 {
    color: rgba(255, 255, 255, 0.6) !important;
}
[data-theme="light"] .sidebar-always-dark .bg-white\/\[0\.08\] {
    background-color: rgba(255, 255, 255, 0.08) !important;
}
[data-theme="light"] .sidebar-always-dark .bg-white\/\[0\.06\] {
    background-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] .sidebar-always-dark .border-white\/\[0\.06\] {
    border-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] .sidebar-always-dark .hover\:bg-white\/\[0\.06\]:hover {
    background-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] .sidebar-always-dark .hover\:text-white:hover {
    color: #ffffff !important;
}
[data-theme="light"] .sidebar-always-dark .theme-logo {
    filter: none !important;
}

/* ---- Admin top bar — ALWAYS dark ---- */
.admin-topbar {
    background: rgba(13, 13, 26, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-color: rgba(255, 255, 255, 0.06);
}
[data-theme="light"] .admin-topbar {
    background: rgba(13, 13, 26, 0.95) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}
[data-theme="light"] .admin-topbar .text-white {
    color: #ffffff !important;
}
[data-theme="light"] .admin-topbar .text-white\/40 {
    color: rgba(255, 255, 255, 0.4) !important;
}
[data-theme="light"] .admin-topbar .text-white\/60 {
    color: rgba(255, 255, 255, 0.6) !important;
}
[data-theme="light"] .admin-topbar .hover\:text-white:hover {
    color: #ffffff !important;
}

/* ---- Admin content area light overrides ---- */
[data-theme="light"] .admin-content select {
    background-color: rgba(0, 0, 0, 0.03) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: #1a1a2e !important;
}
[data-theme="light"] .admin-content input[type="email"],
[data-theme="light"] .admin-content input[type="password"],
[data-theme="light"] .admin-content input[type="tel"],
[data-theme="light"] .admin-content input[type="date"] {
    background-color: rgba(0, 0, 0, 0.03) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: #1a1a2e !important;
}
[data-theme="light"] .admin-content input[type="email"]:focus,
[data-theme="light"] .admin-content input[type="password"]:focus,
[data-theme="light"] .admin-content input[type="tel"]:focus,
[data-theme="light"] .admin-content input[type="date"]:focus,
[data-theme="light"] .admin-content select:focus {
    border-color: rgba(0, 0, 0, 0.25) !important;
    --tw-ring-color: rgba(0, 0, 0, 0.1) !important;
}

/* ---- Admin checkbox styling ---- */
[data-theme="light"] .admin-content input[type="checkbox"] {
    border-color: rgba(0, 0, 0, 0.2) !important;
    color: #b742be !important;
}
[data-theme="light"] .admin-content input[type="checkbox"]:checked {
    background-color: #b742be !important;
    border-color: #b742be !important;
}

/* ---- Admin mobile overlay ---- */
[data-theme="light"] .admin-mobile-overlay {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

/* ──────────────────────────────────────────────
   Rendered Content Tables (investor folder view)
   ────────────────────────────────────────────── */

.rendered-content {
    font-size: 13px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
}

/* Prevent the rendered content card from lifting on hover */
.glass-card.rendered-content:hover {
    transform: none !important;
}

/* ── Document info table (header + single row above rendered table) ── */
.rendered-doc-table {
    border-collapse: collapse;
    table-layout: fixed;
}

.rendered-doc-row td {
    vertical-align: middle;
}

/* Review toggle base (circle button) */
.review-toggle {
    color: rgba(255, 255, 255, 0.25);
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    transition: color 0.2s ease;
}
.review-toggle:hover {
    color: rgba(255, 255, 255, 0.5);
}
.review-toggle.reviewed {
    color: #34d399;
}

/* Questions panel toggle (collapsed icon button) */
.questions-panel-toggle:hover {
    background: rgba(255, 255, 255, 0.08);
}

/* Questions column */
.questions-column {
    min-width: 0;
}

/* Title banner above the table */
.rendered-title {
    font-size: 15px;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
    padding: 0 4px 12px;
    letter-spacing: 0.02em;
}

.rendered-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    position: relative;
}

.rendered-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: auto;
}

/* ── Header cells ── */
.rendered-table th {
    background: rgba(255, 255, 255, 0.06);
    color: rgba(255, 255, 255, 0.9);
    font-weight: 400;
    text-align: left;
    padding: 8px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    white-space: nowrap;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ── Data cells ── */
.rendered-table td {
    padding: 7px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    color: rgba(255, 255, 255, 0.75);
    font-weight: 300;
    white-space: nowrap;
}

/* ── Alternating rows ── */
.rendered-table tr.even td {
    background: rgba(255, 255, 255, 0.02);
}

.rendered-table tr:hover td {
    background: rgba(255, 255, 255, 0.04);
}

/* ── Section / subtotal rows ── */
.rendered-table tr.section-row td {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.95);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.03);
}

/* ── Sticky label column ── */
.rendered-table th.label-col,
.rendered-table td.label-col {
    position: sticky;
    left: 0;
    z-index: 10;
    background: #0f0f1e;
    min-width: 180px;
    max-width: 280px;
    white-space: normal;
    word-wrap: break-word;
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0.25);
}

.rendered-table th.label-col {
    z-index: 11;
}

.rendered-table tr.even td.label-col {
    background: #121222;
}

.rendered-table tr:hover td.label-col {
    background: #161628;
}

.rendered-table tr.section-row td.label-col {
    background: #141426;
}

/* ── Numeric cells ── */
.rendered-table .num-cell {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-family: 'Inter', ui-monospace, monospace;
}

/* ── Year column styling ── */
.rendered-table th.year-col,
.rendered-table td.year-col {
    font-weight: 500;
    border-left: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.95);
}

.rendered-table th.year-col {
    cursor: pointer;
    user-select: none;
    font-weight: 500;
}

.rendered-table th.year-col:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* ── Month columns — hidden by default ── */
.rendered-table th.month-col,
.rendered-table td.month-col {
    display: none;
}

.rendered-table th.month-col.expanded,
.rendered-table td.month-col.expanded {
    display: table-cell;
}

/* ── Toggle chevron on year headers ── */
.year-toggle {
    display: inline-flex;
    align-items: center;
    margin-right: 4px;
    vertical-align: middle;
    cursor: pointer;
}

.toggle-chevron {
    width: 14px;
    height: 14px;
    transition: transform 0.2s ease;
    opacity: 0.6;
    flex-shrink: 0;
}

.toggle-chevron.rotated {
    transform: rotate(90deg);
}

.year-toggle:hover .toggle-chevron {
    opacity: 1;
}

/* ── Light theme overrides ── */
[data-theme="light"] .rendered-content {
    color: rgba(0, 0, 0, 0.8);
}

[data-theme="light"] .rendered-title {
    color: rgba(0, 0, 0, 0.85);
}

[data-theme="light"] .rendered-table th {
    background: rgba(0, 0, 0, 0.04);
    color: rgba(0, 0, 0, 0.75);
    border-bottom-color: rgba(0, 0, 0, 0.1);
}

[data-theme="light"] .rendered-table td {
    color: rgba(0, 0, 0, 0.7);
    border-bottom-color: rgba(0, 0, 0, 0.06);
}

[data-theme="light"] .rendered-table tr.even td {
    background: rgba(0, 0, 0, 0.02);
}

[data-theme="light"] .rendered-table tr:hover td {
    background: rgba(0, 0, 0, 0.04);
}

[data-theme="light"] .rendered-table tr.section-row td {
    color: rgba(0, 0, 0, 0.9);
    border-top-color: rgba(0, 0, 0, 0.08);
    background: rgba(0, 0, 0, 0.03);
}

[data-theme="light"] .rendered-table th.label-col,
[data-theme="light"] .rendered-table td.label-col {
    background: #f8f8fc;
    box-shadow: 2px 0 6px rgba(0, 0, 0, 0.08);
}

[data-theme="light"] .rendered-table tr.even td.label-col {
    background: #f4f4fa;
}

[data-theme="light"] .rendered-table tr:hover td.label-col {
    background: #f0f0f8;
}

[data-theme="light"] .rendered-table tr.section-row td.label-col {
    background: #ededf5;
}

[data-theme="light"] .rendered-table th.year-col,
[data-theme="light"] .rendered-table td.year-col {
    border-left-color: rgba(0, 0, 0, 0.08);
    color: rgba(0, 0, 0, 0.9);
    font-weight: 500;
}

/* ── Light theme: review toggle ── */
[data-theme="light"] .review-toggle {
    color: rgba(0, 0, 0, 0.2);
}
[data-theme="light"] .review-toggle:hover {
    color: rgba(0, 0, 0, 0.4);
}
[data-theme="light"] .review-toggle.reviewed {
    color: #059669;
}

/* ── Light theme: questions panel toggle ── */
[data-theme="light"] .questions-panel-toggle {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.1);
}
[data-theme="light"] .questions-panel-toggle:hover {
    background: rgba(0, 0, 0, 0.08);
}
[data-theme="light"] .questions-panel-toggle svg {
    color: #1a1a2e;
}

/* ─── Document Description Rich Text ─── */
.doc-description h1 {
    font-size: 1.5em;
    font-weight: 300;
    margin: 0.4em 0;
    line-height: 1.3;
}
.doc-description h2 {
    font-size: 1.25em;
    font-weight: 300;
    margin: 0.35em 0;
    line-height: 1.3;
}
.doc-description h3 {
    font-size: 1.1em;
    font-weight: 300;
    margin: 0.3em 0;
    line-height: 1.3;
}
.doc-description p {
    margin: 0.3em 0;
}
.doc-description strong,
.doc-description b {
    font-weight: 400;
}
.doc-description em,
.doc-description i {
    font-style: italic;
}
.doc-description u {
    text-decoration: underline;
}
