/* ============================================
   DilutionWatch Dashboard Styles
   ============================================
   Single source of truth for manage.html
   Load LAST: styles.css → pulse.css → responsive.css → dashboard.css
   
   Sections:
   00 - Theme Variables (CSS Custom Properties — dark default, light override)
   01 - Navigation, Tabs, Sort/Filter Controls
   02 - Severity Pills (Tickers + Pulse unified)
   03 - Ticker Cards
   04 - Metrics, Scores, Badges
   05 - Buttons
   06 - Modals
   07 - News Items
   08 - Settings (Sliders, Forms, Categories, Filings)
   09 - Utilities (Help, Empty State, Loading, Scrollbar)
   10 - Pulse Feed Overrides
   11 - Feature Toggles & Thresholds
   12 - Backgrounds & Polish
   ============================================ */

/* ============================================
   THEME: CSS Custom Properties
   Dark theme = default, Light theme = override
   ============================================ */

:root {
    /* === Backgrounds === */
    --bg-body: #0a0f1c;
    --bg-nav: #0a0f1c;
    --nav-bg: rgba(5, 5, 8, 0.85);
    --bg-surface: #1a1a2e;
    --bg-surface-alt: #1e293b;
    --bg-surface-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    --bg-elevated: #16213e;
    --bg-input: #0f172a;
    --bg-hover: rgba(59, 130, 246, 0.08);
    --bg-active: rgba(59, 130, 246, 0.14);
    --section-bg: rgba(8, 10, 20, 0.45);
    --card-bg: linear-gradient(145deg, rgba(10,10,16,0.9) 0%, rgba(14,16,28,0.8) 100%);
    --metric-bg: rgba(0, 0, 0, 0.2);
    --input-bg: rgba(0, 0, 0, 0.35);
    --input-border: rgba(255, 255, 255, 0.08);

    /* === Text === */
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --text-muted: #94a3b8;

    /* === Borders === */
    --border: #334155;
    --border-subtle: #1e293b;
    --border-accent: rgba(59, 130, 246, 0.25);

    /* === Accent Colors (same in both themes) === */
    --accent: #3b82f6;
    --accent-hover: #2563eb;
    --accent-light: #60a5fa;
    --accent-glow: rgba(59, 130, 246, 0.4);
    --accent-subtle: rgba(59, 130, 246, 0.12);
    --accent-bg: rgba(59, 130, 246, 0.08);

    /* === Status Colors === */
    --color-red: #ef4444;
    --color-green: #22c55e;
    --color-orange: #f97316;
    --color-yellow: #eab308;
    --color-purple: #8b5cf6;

    /* === Shadows === */
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
    --shadow-accent: 0 0 20px rgba(59, 130, 246, 0.15);

    /* === Misc === */
    --overlay: rgba(0, 0, 0, 0.6);
    --scrollbar-track: #0f172a;
    --scrollbar-thumb: #334155;
    --divider: linear-gradient(90deg, transparent, #334155, transparent);

    /* === Body Background Gradients === */
    --body-radial-1: radial-gradient(ellipse 80% 50% at 50% -5%, rgba(15, 23, 42, 0.75) 0%, transparent 60%);
    --body-radial-2: radial-gradient(ellipse 50% 40% at 85% 15%, rgba(30, 58, 138, 0.07) 0%, transparent 50%);
    --body-radial-3: radial-gradient(ellipse 40% 35% at 8% 55%, rgba(59, 130, 246, 0.035) 0%, transparent 50%);
    --grid-line: rgba(59, 130, 246, 0.018);

    /* === Override styles.css variables for theme consistency === */
    --bg-dark: #0a0a0a;
    --bg-card: #141414;
    --bg-elevated: #1a1a1a;
    --border-light: #333333;

    /* === Risk-Tinted Backgrounds === */
    --risk-tint-red: #2d1f1f;
    --risk-tint-orange: #2d2a1f;
    --risk-tint-yellow: #2d2b1f;
    --risk-tint-green: #1f2d1f;
    --risk-tint-blue: #1f2535;
    --risk-tint-purple: #251f35;
}

html[data-theme="light"] {
    /* === Backgrounds === */
    --bg-body: #edf2f7;
    --bg-nav: rgba(255, 255, 255, 0.96);
    --nav-bg: rgba(255, 255, 255, 0.92);
    --bg-surface: #ffffff;
    --bg-surface-alt: #f1f5f9;
    --bg-surface-gradient: linear-gradient(135deg, #ffffff 0%, #e8f0fe 100%);
    --bg-elevated: #ffffff;
    --bg-input: #ffffff;
    --bg-hover: rgba(59, 130, 246, 0.08);
    --bg-active: rgba(59, 130, 246, 0.12);
    --section-bg: rgba(255, 255, 255, 0.92);
    --card-bg: linear-gradient(145deg, #ffffff 0%, #eef4ff 100%);
    --metric-bg: rgba(59, 130, 246, 0.07);
    --input-bg: #ffffff;
    --input-border: rgba(59, 130, 246, 0.22);

    /* === Text === */
    --text-primary: #1e3a5f;
    --text-secondary: #3b6cb5;
    --text-muted: #6b8ec4;

    /* === Borders === */
    --border: rgba(59, 130, 246, 0.20);
    --border-subtle: rgba(59, 130, 246, 0.12);
    --border-accent: rgba(59, 130, 246, 0.35);

    /* === Accent adjustments for light === */
    --accent-light: #2563eb;
    --accent-subtle: rgba(59, 130, 246, 0.12);
    --accent-bg: rgba(59, 130, 246, 0.07);

    /* === Shadows === */
    --shadow-sm: 0 2px 8px rgba(59, 130, 246, 0.10);
    --shadow-md: 0 4px 16px rgba(59, 130, 246, 0.12);
    --shadow-lg: 0 8px 32px rgba(59, 130, 246, 0.14);
    --shadow-accent: 0 0 20px rgba(59, 130, 246, 0.12);

    /* === Misc === */
    --overlay: rgba(255, 255, 255, 0.85);
    --scrollbar-track: #dce5f0;
    --scrollbar-thumb: #8ba3c4;
    --divider: linear-gradient(90deg, transparent, rgba(59, 130, 246, 0.25), transparent);

    /* === Body Background Gradients === */
    --body-radial-1: radial-gradient(ellipse 80% 50% at 50% -5%, rgba(59, 130, 246, 0.08) 0%, transparent 60%);
    --body-radial-2: radial-gradient(ellipse 50% 40% at 85% 15%, rgba(96, 165, 250, 0.06) 0%, transparent 50%);
    --body-radial-3: radial-gradient(ellipse 40% 35% at 8% 55%, rgba(59, 130, 246, 0.04) 0%, transparent 50%);
    --grid-line: rgba(59, 130, 246, 0.03);

    /* === Override styles.css variables for light theme === */
    --bg-dark: #edf2f7;
    --bg-card: #ffffff;
    --bg-elevated: #ffffff;
    --border-light: rgba(59, 130, 246, 0.18);

    /* === Risk-Tinted Backgrounds === */
    --risk-tint-red: #fef2f2;
    --risk-tint-orange: #fff7ed;
    --risk-tint-yellow: #fefce8;
    --risk-tint-green: #f0fdf4;
    --risk-tint-blue: #eff6ff;
    --risk-tint-purple: #faf5ff;
}

/* ═══ LIGHT THEME ELEMENT OVERRIDES ═══ */
html[data-theme="light"] .tabs {
    background: rgba(255, 255, 255, 0.7);
    border-radius: 12px 12px 0 0;
    border-bottom-color: rgba(59, 130, 246, 0.15);
}

html[data-theme="light"] .tab-button {
    color: #3b6cb5;
}

html[data-theme="light"] .tab-button:hover {
    background: rgba(59, 130, 246, 0.08);
    color: #1e3a5f;
}

html[data-theme="light"] .tab-button.active {
    background: rgba(59, 130, 246, 0.10);
    color: #1d4ed8;
    box-shadow: 0 0 12px rgba(59, 130, 246, 0.08);
}

html[data-theme="light"] .severity-bar {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(59, 130, 246, 0.12);
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.06);
}

html[data-theme="light"] .add-ticker-container {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(59, 130, 246, 0.15);
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.06);
}

html[data-theme="light"] .add-ticker-container input {
    background: #ffffff;
    border-color: rgba(59, 130, 246, 0.25);
    color: #1e3a5f;
}

html[data-theme="light"] .sort-controls {
    background: rgba(255, 255, 255, 0.8);
    border-color: rgba(59, 130, 246, 0.15);
}

html[data-theme="light"] .sort-controls select,
html[data-theme="light"] .sort-inline select {
    background: #ffffff;
    border-color: rgba(59, 130, 246, 0.25);
    color: #1e3a5f;
}

html[data-theme="light"] .ticker-card {
    background: #ffffff;
    border-color: rgba(59, 130, 246, 0.15);
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.08);
}

html[data-theme="light"] .ticker-card:hover {
    box-shadow: 0 6px 24px rgba(96, 165, 250, 0.2);
    border-color: rgba(96, 165, 250, 0.4);
}
html[data-theme="light"] .ticker-card.risk-critical:hover {
    box-shadow: 0 6px 24px rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.4);
}
html[data-theme="light"] .ticker-card.risk-high:hover {
    box-shadow: 0 6px 24px rgba(249, 115, 22, 0.2);
    border-color: rgba(249, 115, 22, 0.4);
}
html[data-theme="light"] .ticker-card.risk-medium:hover {
    box-shadow: 0 6px 24px rgba(234, 179, 8, 0.2);
    border-color: rgba(234, 179, 8, 0.4);
}
html[data-theme="light"] .ticker-card.risk-low:hover {
    box-shadow: 0 6px 24px rgba(34, 197, 94, 0.2);
    border-color: rgba(34, 197, 94, 0.4);
}

html[data-theme="light"] .metric {
    background: rgba(59, 130, 246, 0.06);
    border-color: rgba(59, 130, 246, 0.18);
}
html[data-theme="light"] .metric-label {
    color: #2563eb;
}
html[data-theme="light"] .metric-value {
    color: #1e3a5f;
}
html[data-theme="light"] .ticker-metrics .metric {
    background: rgba(240, 245, 255, 0.95);
    border-color: rgba(59, 130, 246, 0.2);
}
html[data-theme="light"] .ticker-metrics .metric:hover {
    background: rgba(230, 240, 255, 1);
    border-color: rgba(59, 130, 246, 0.35);
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.12);
}

html[data-theme="light"] .category-card {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(59, 130, 246, 0.15);
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.08);
}

html[data-theme="light"] .filing-item {
    background: rgba(255, 255, 255, 0.85);
    border-color: rgba(59, 130, 246, 0.12);
}

html[data-theme="light"] .filing-item:hover {
    border-color: rgba(59, 130, 246, 0.25);
}

html[data-theme="light"] .filing-filters .filter-btn {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(59, 130, 246, 0.18);
    color: #3b6cb5;
}

html[data-theme="light"] .filing-filters .filter-btn.active {
    background: #3b82f6;
    color: #ffffff;
}

html[data-theme="light"] .filter-btn {
    background: #ffffff;
    border-color: rgba(59, 130, 246, 0.18);
    color: #3b6cb5;
}

html[data-theme="light"] .filter-btn.active {
    background: #3b82f6;
    color: #ffffff;
}

html[data-theme="light"] .btn-action-unified {
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    color: #ffffff;
    border-color: #3b82f6;
    box-shadow: 0 2px 10px rgba(59, 130, 246, 0.25);
}

html[data-theme="light"] .btn-action-unified:hover {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #ffffff;
    box-shadow: 0 4px 16px rgba(59, 130, 246, 0.35);
}

html[data-theme="light"] .btn-action-caution {
    background: linear-gradient(135deg, #dc2626, #b91c1c);
    border-color: #dc2626;
    color: #ffffff;
}

html[data-theme="light"] .btn-action-caution:hover {
    background: linear-gradient(135deg, #b91c1c, #991b1b);
    color: #ffffff;
}

html[data-theme="light"] .btn-outline-small {
    background: rgba(96, 165, 250, 0.08);
    border-color: rgba(96, 165, 250, 0.35);
    color: #2563eb;
    font-weight: 600;
}

html[data-theme="light"] .btn-outline-small:hover {
    background: rgba(96, 165, 250, 0.15);
    border-color: #60a5fa;
    color: #1d4ed8;
    box-shadow: 0 2px 12px rgba(96, 165, 250, 0.2);
}

html[data-theme="light"] .btn-unsubscribe {
    border-color: rgba(59, 130, 246, 0.25);
    color: #3b6cb5;
}

html[data-theme="light"] .btn-danger-small {
    background: rgba(30, 58, 138, 0.06);
    border-color: rgba(30, 58, 138, 0.3);
    color: #1e3a8a;
}
html[data-theme="light"] .btn-danger-small:hover {
    background: rgba(30, 58, 138, 0.12);
    border-color: rgba(30, 58, 138, 0.5);
    color: #1e3a8a;
    box-shadow: 0 2px 10px rgba(30, 58, 138, 0.15);
}

html[data-theme="light"] .btn-primary-large {
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.3);
}

html[data-theme="light"] .dashboard-section {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(59, 130, 246, 0.12);
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.06);
}

html[data-theme="light"] .preference-group {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(59, 130, 246, 0.12);
}

html[data-theme="light"] .time-picker select {
    background-color: #ffffff;
    border-color: rgba(59, 130, 246, 0.25);
    color: #1e3a5f;
}

html[data-theme="light"] .advanced-toggle {
    background: rgba(59, 130, 246, 0.06);
    border-color: rgba(59, 130, 246, 0.20);
    color: #2563eb;
}

html[data-theme="light"] .advanced-toggle:hover {
    background: rgba(59, 130, 246, 0.10);
}

html[data-theme="light"] .manage-nav {
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.08);
}

html[data-theme="light"] .manage-nav::before,
html[data-theme="light"] .manage-nav::after {
    opacity: 0.3;
}

html[data-theme="light"] .modal-content {
    background: #ffffff;
    border-color: rgba(59, 130, 246, 0.15);
    box-shadow: 0 8px 40px rgba(59, 130, 246, 0.15);
}
html[data-theme="light"] .modal-content a,
html[data-theme="light"] .news-item a,
html[data-theme="light"] .dashboard-section a,
html[data-theme="light"] .tab-pane a {
    color: #2563eb;
}
html[data-theme="light"] .modal-content a:hover,
html[data-theme="light"] .news-item a:hover {
    color: #1d4ed8;
}
html[data-theme="light"] .modal-content a:visited,
html[data-theme="light"] .news-item a:visited {
    color: #7c3aed;
}

html[data-theme="light"] .intel-card {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(59, 130, 246, 0.12);
}

html[data-theme="light"] .period-select {
    background: #ffffff;
    border-color: rgba(59, 130, 246, 0.25);
    color: #1e3a5f;
}

html[data-theme="light"] .settings-actions .btn-primary {
    box-shadow: 0 2px 12px rgba(59, 130, 246, 0.25);
}

html[data-theme="light"] body::after {
    opacity: 0.5;
}

html[data-theme="light"] .score-bar-track {
    background: rgba(59, 130, 246, 0.12);
}

/* ═══ NAVIGATION, TABS & CONTROLS ═══ */

.tabs {
    display: flex;
    gap: 16px;
    margin-bottom: 45px;
    border-bottom: 3px solid var(--border);
    padding-bottom: 0;
}

.tab-button {
    padding: 8px 12px;
    background: transparent;
    color: var(--text-secondary);
    border: none;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 600;
    transition: color 0.18s ease, background 0.18s ease;
    letter-spacing: 0.2px;
    border-radius: 8px;
    white-space: nowrap;
    flex: 1 1 0;
    text-align: center;
    min-width: 0;
    position: relative;
}

.tab-button:hover {
    color: var(--accent-light, #93c5fd);
    background: rgba(96,165,250,0.07);
}

.tab-button.active {
    color: #ffffff;
    background: rgba(59, 130, 246, 0.18);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.07);
}

.tab-pane {
    display: none;
}

.tab-pane.active {
    display: block;
}

.filing-filters {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.tab-nav {
    display: flex;
    gap: 2px;
    margin-bottom: 24px;
    border-bottom: none;
    overflow-x: auto;
    background: rgba(8, 12, 24, 0.65);
    border: 1px solid rgba(59, 130, 246, 0.10);
    border-radius: 11px;
    padding: 4px;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    flex-wrap: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.tab-nav::-webkit-scrollbar {
    display: none;
}

.tab-content {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.tab-content::-webkit-scrollbar {
    display: none;
}

.tab-content, .tab-pane, .dashboard-section {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.tab-container, .tab-container * {
    scrollbar-width: none;
}

.tab-container *::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.sort-controls {
    display: none;
    gap: 12px;
    align-items: center;
    margin-bottom: 20px;
    flex-wrap: wrap;
    padding: 15px 20px;
    background: var(--section-bg);
    border: 1px solid var(--border-accent);
    border-radius: 10px;
}

.sort-controls label {
    color: #60a5fa;
    font-size: 0.95rem;
    font-weight: 600;
}

.sort-controls select {
    padding: 10px 16px;
    background: var(--input-bg);
    border: 2px solid var(--border-accent);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 0.95rem;
    cursor: pointer;
    min-width: 180px;
}

.sort-controls select:focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 10px rgba(59, 130, 246, 0.3);
}

.sort-controls select:hover {
    border-color: rgba(59, 130, 246, 0.5);
}

.activity-tabs {
    display: flex;
    gap: 5px;
}

.activity-tab {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-muted);
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 13px;
    transition: all 0.2s;
}

.activity-tab:hover {
    border-color: #f0883e;
    color: #f0883e;
}

.activity-tab.active {
    background: linear-gradient(135deg, #f0883e, #d67229);
    border-color: #f0883e;
    color: var(--text-primary);
}

.status-badge.normal, .status-badge.stable {
    background: #3b82f6;
    color: #fff;
}

.details-table {
    width: 100%;
    border-collapse: collapse;
}

.details-table td {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.details-table td:first-child {
    color: var(--text-muted);
}

.details-table td:last-child {
    color: var(--text-primary);
    text-align: right;
    font-weight: 500;
}

.manage-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    padding: 0 2rem;
    background: var(--nav-bg);
    backdrop-filter: blur(28px) saturate(1.3);
    -webkit-backdrop-filter: blur(28px) saturate(1.3);
    border-bottom: 1px solid var(--border-subtle);
    overflow: hidden;
}

.manage-nav::before {
    content: 'NVDA $142.58 ▲+3.2%  ·  AAPL $237.41 ▼-0.8%  ·  MSFT $428.90 ▲+1.1%  ·  AMZN $198.34 ▲+2.4%  ·  TSLA $342.19 ▲+4.7%  ·  META $612.55 ▼-1.3%  ·  GOOG $178.92 ▲+0.6%  ·';
    position: absolute;
    top: 15%;
    left: 0;
    font-family: 'Courier New', monospace;
    font-size: 13px;
    color: rgba(59,130,246,0.12);
    white-space: nowrap;
    animation: scrollData 35s linear infinite;
    letter-spacing: 3px;
    font-weight: 600;
    pointer-events: none;
}

.manage-nav::after {
    content: 'SOFI $14.82 ▲+6.3%  ·  JPM $248.16 ▲+0.9%  ·  BA $178.54 ▼-2.1%  ·  DIS $112.38 ▲+1.7%  ·  NFLX $924.67 ▲+3.4%  ·  COIN $268.91 ▼-4.2%  ·  RIVN $14.28 ▲+8.1%  ·';
    position: absolute;
    bottom: 18%;
    right: 0;
    font-family: 'Courier New', monospace;
    font-size: 14px;
    color: rgba(59,130,246,0.10);
    white-space: nowrap;
    animation: scrollDataReverse 40s linear infinite;
    letter-spacing: 4px;
    font-weight: 600;
    pointer-events: none;
}

.manage-nav-inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    position: relative;
    z-index: 1;
}

.manage-nav-inner .site-logo {
    width: 360px;
    height: auto;
    max-width: none;
    display: block;
}

.manage-nav-inner .nav-tagline {
    font-size: 0.95rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.sort-inline {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
    font-size: 0.92rem;
    color: var(--text-secondary);
}

.sort-inline label {
    white-space: nowrap;
    font-size: 0.92rem;
}

.sort-inline select {
    padding: 6px 10px;
    font-size: 0.92rem;
    background: var(--input-bg);
    border: 1px solid var(--border-accent);
    border-radius: 6px;
    color: var(--text-primary);
}

/* ═══ SEVERITY PILLS (Unified Tickers + Pulse) ═══ */

.summary-card.critical:hover {
    box-shadow: 0 0 25px rgba(239, 68, 68, 0.5);
}

.summary-card.warning:hover {
    box-shadow: 0 0 25px rgba(249, 115, 22, 0.5);
}

.summary-card.medium:hover {
    box-shadow: 0 0 25px rgba(234, 179, 8, 0.5), 0 8px 30px rgba(0, 0, 0, 0.3);
}

.dilution-score-badge.severity-critical,
.dilution-score-badge.risk-critical {
    background: linear-gradient(135deg, #7f1d1d 0%, #dc2626 100%);
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
}

.dilution-score-badge.severity-high,
.dilution-score-badge.risk-high {
    background: linear-gradient(135deg, #7c2d12 0%, #ea580c 100%);
    box-shadow: 0 0 20px rgba(249, 115, 22, 0.4);
}

.dilution-score-badge.severity-medium,
.dilution-score-badge.risk-medium {
    background: linear-gradient(135deg, #713f12 0%, #ca8a04 100%);
    box-shadow: 0 0 20px rgba(234, 179, 8, 0.4);
}

.dilution-score-badge.severity-low,
.dilution-score-badge.risk-low {
    background: linear-gradient(135deg, #14532d 0%, #16a34a 100%);
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.4);
}

.watchlist-summary {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.summary-card.critical {
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-red) 100%);
    border-color: #ef4444;
}

.summary-card.critical .summary-value {
    color: #ef4444;
}

.summary-card.critical.active {
    border-color: #ef4444;
    box-shadow: 0 0 25px rgba(239, 68, 68, 0.5);
}

.summary-card.warning {
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-orange) 100%);
    border-color: #f97316;
}

.summary-card.warning .summary-value {
    color: #f97316;
}

.summary-card.warning.active {
    border-color: #f97316;
    box-shadow: 0 0 25px rgba(249, 115, 22, 0.5);
}

.summary-card.medium {
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-yellow) 100%);
    border-color: rgba(234, 179, 8, 0.4);
}

.summary-card.medium .summary-value {
    color: #eab308;
}

.summary-card.medium.active {
    border-color: #eab308;
    box-shadow: 0 0 25px rgba(234, 179, 8, 0.5);
}

.summary-card.total {
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-blue) 100%);
    border-color: rgba(59, 130, 246, 0.4);
}

.summary-card.total .summary-value {
    color: #3b82f6;
}

.summary-card.total.active {
    border-color: #3b82f6;
    box-shadow: 0 0 25px rgba(59, 130, 246, 0.5);
}

.summary-card.dimmed {
    opacity: 0.5;
}

.summary-card.dimmed:hover {
    opacity: 0.8;
}

.summary-card.avg-score.severity-critical {
    border-color: rgba(239, 68, 68, 0.5);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-red) 100%);
}

.summary-card.avg-score.severity-critical .summary-value {
    color: #ef4444;
}

.summary-card.avg-score.severity-high {
    border-color: rgba(249, 115, 22, 0.5);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-orange) 100%);
}

.summary-card.avg-score.severity-high .summary-value {
    color: #f97316;
}

.summary-card.avg-score.severity-medium {
    border-color: rgba(234, 179, 8, 0.5);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-yellow) 100%);
}

.summary-card.avg-score.severity-medium .summary-value {
    color: #eab308;
}

.summary-card.avg-score.severity-low {
    border-color: rgba(34, 197, 94, 0.5);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-green) 100%);
}

.summary-card.avg-score.severity-low .summary-value {
    color: #22c55e;
}

.event-summary {
    color: var(--text-secondary);
    font-size: 13px;
    line-height: 1.4;
    margin: 0 0 8px 0;
}

.chart-summary {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 15px;
}

.summary-text {
    font-size: 13px;
    color: var(--text-muted);
}

.severity-badge {
    font-size: 0.7rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    margin-top: 8px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.severity-badge.critical {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.severity-badge.warning {
    background: rgba(249, 115, 22, 0.2);
    color: #f97316;
}

.severity-badge.normal {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
}

.short-summary {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 25px;
    padding: 20px;
    background: var(--metric-bg);
    border-radius: 12px;
}

.status-badge, .sentiment-badge, .squeeze-badge, .severity-badge {
    font-size: 0.65rem;
    padding: 3px 8px;
}

.severity-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    background: var(--section-bg);
    border: 1px solid rgba(59,130,246,0.08);
    border-radius: 12px;
    padding: 12px 16px;
    margin-bottom: 16px;
}

.severity-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 18px;
    border-radius: 10px;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all 0.25s ease;
    user-select: none;
    background: var(--bg-hover);
}

.severity-pill:hover {
    background: var(--bg-hover);
}

.severity-pill.active {
    background: var(--bg-active);
    outline: 1px solid var(--border);
}

/* Severity-specific glow on hover and active */
.severity-pill.sev-critical:hover,
.severity-pill.sev-critical.active {
    border-color: #ef4444;
    box-shadow: 0 0 18px rgba(239,68,68,0.4);
    background: rgba(239,68,68,0.08);
}
.severity-pill.sev-high:hover,
.severity-pill.sev-high.active {
    border-color: #f97316;
    box-shadow: 0 0 18px rgba(249,115,22,0.4);
    background: rgba(249,115,22,0.08);
}
.severity-pill.sev-medium:hover,
.severity-pill.sev-medium.active {
    border-color: #eab308;
    box-shadow: 0 0 18px rgba(234,179,8,0.35);
    background: rgba(234,179,8,0.08);
}
.severity-pill.sev-low:hover,
.severity-pill.sev-low.active {
    border-color: #22c55e;
    box-shadow: 0 0 18px rgba(34,197,94,0.35);
    background: rgba(34,197,94,0.08);
}
.severity-pill.sev-total:hover,
.severity-pill.sev-total.active {
    border-color: #3b82f6;
    box-shadow: 0 0 18px rgba(59,130,246,0.35);
    background: var(--accent-bg);
}
.severity-pill.sev-score:hover,
.severity-pill.sev-score.active {
    border-color: #8b5cf6;
    box-shadow: 0 0 18px rgba(139,92,246,0.35);
    background: rgba(139,92,246,0.08);
}

.severity-pill .pill-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}

.severity-pill .pill-count {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

.severity-pill .pill-label {
    font-size: 0.78rem;
    color: var(--text-muted);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.severity-pill.sev-total {
    border-color: rgba(96,165,250,0.2);
}

.severity-pill.sev-total .pill-dot {
    background: #3b82f6;
    box-shadow: 0 0 8px rgba(59,130,246,0.4);
}

.severity-pill.sev-total .pill-count {
    color: #93c5fd;
}

.severity-pill.sev-critical {
    border-color: rgba(239,68,68,0.25);
    background: rgba(239,68,68,0.04);
}

.severity-pill.sev-critical .pill-dot {
    background: #ef4444;
    box-shadow: 0 0 8px rgba(239,68,68,0.5);
}

.severity-pill.sev-critical .pill-count {
    color: #f87171;
}

.severity-pill.sev-high {
    border-color: rgba(249,115,22,0.25);
    background: rgba(249,115,22,0.04);
}

.severity-pill.sev-high .pill-dot {
    background: #f97316;
    box-shadow: 0 0 8px rgba(249,115,22,0.4);
}

.severity-pill.sev-high .pill-count {
    color: #fb923c;
}

.severity-pill.sev-medium {
    border-color: rgba(234,179,8,0.25);
    background: rgba(234,179,8,0.04);
}

.severity-pill.sev-medium .pill-dot {
    background: #eab308;
    box-shadow: 0 0 8px rgba(234,179,8,0.35);
}

.severity-pill.sev-medium .pill-count {
    color: #facc15;
}

.severity-pill.sev-low {
    border-color: rgba(34,197,94,0.25);
    background: rgba(34,197,94,0.04);
}

.severity-pill.sev-low .pill-dot {
    background: #22c55e;
    box-shadow: 0 0 8px rgba(34,197,94,0.35);
}

.severity-pill.sev-low .pill-count {
    color: #4ade80;
}

.severity-pill.sev-score {
    border-color: rgba(139,92,246,0.25);
    background: rgba(139,92,246,0.04);
}

.severity-pill.sev-score .pill-dot {
    background: #8b5cf6;
    box-shadow: 0 0 8px rgba(139,92,246,0.4);
}

.severity-pill.sev-score .pill-count {
    color: #a78bfa;
}

.severity-pill.dimmed {
    opacity: 0.35;
}

.severity-bar .sev-sep {
    width: 1px;
    height: 28px;
    background: var(--accent-subtle);
    margin: 0 2px;
    flex-shrink: 0;
}

.severity-bar .sev-meta {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pulse-filter-pill {
    background: var(--section-bg);
    border: 1px solid var(--input-border);
    border-radius: 8px;
    padding: 8px 18px;
    font-size: 0.92rem;
    font-weight: 500;
    color: #7a8ba8;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    user-select: none;
    letter-spacing: 0.01em;
}

.pulse-filter-pill:hover {
    border-color: rgba(59,130,246,0.3);
    color: #b0bfcf;
    background: var(--accent-bg);
}

.pulse-filter-pill.active {
    background: var(--accent-subtle);
    border-color: rgba(59,130,246,0.45);
    color: #93c5fd;
    box-shadow: 0 0 12px rgba(59,130,246,0.1);
}

/* ═══ TICKER CARDS ═══ */

.ticker-symbol {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text-primary);
    letter-spacing: 1px;
}

.add-ticker-container {
    display: flex;
    gap: 10px;
    align-items: center;
    padding: 12px 16px;
    background: var(--section-bg);
    border: 1px solid rgba(59,130,246,0.08);
    border-radius: 10px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.add-ticker-container input {
    flex: 0 0 auto;
    max-width: 160px;
    padding: 8px 12px;
    background: var(--input-bg);
    border: 2px solid var(--border-accent);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 0.92rem;
    text-transform: uppercase;
    width: 180px;
}

.add-ticker-container input:focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.3);
}

.add-ticker-container .btn-add {
    padding: 8px 16px;
    background: linear-gradient(135deg, #3b82f6, #2563eb);
    border: none;
    border-radius: 8px;
    color: white;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    font-size: 0.92rem;
    white-space: nowrap;
}

.add-ticker-container .btn-add:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.ticker-exchange {
    font-size: 12px;
    font-weight: normal;
    color: var(--text-muted);
    background: rgba(255,255,255,0.1);
    padding: 3px 8px;
    border-radius: 4px;
    margin-left: 10px;
    vertical-align: middle;
}

.ticker-card {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
    background: var(--card-bg);
    border: 1px solid var(--border-accent);
    border-radius: 16px;
    padding: 16px 20px;
    margin-bottom: 2px;
    box-shadow: var(--shadow-sm);
}

.ticker-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 24px rgba(0,0,0,0.3), 0 0 20px rgba(59,130,246,0.06);
    border-color: var(--border-accent);
}

.ticker-card.risk-critical:hover {
    box-shadow: 0 4px 25px rgba(239, 68, 68, 0.5);
    border-color: #ef4444;
}

.ticker-card.risk-high:hover {
    box-shadow: 0 4px 25px rgba(239, 68, 68, 0.4);
}

.ticker-card.risk-medium:hover {
    box-shadow: 0 4px 25px rgba(245, 158, 11, 0.4);
}

.ticker-card.risk-low:hover {
    box-shadow: 0 4px 25px rgba(34, 197, 94, 0.4);
    transform: translateY(-3px);
    border-color: #22c55e;
}

.ticker-card.risk-low {
    transition: all 0.3s ease;
    border-left: 4px solid #22c55e;
}

.ticker-card.risk-critical {
    border-left: 4px solid #ef4444;
}

.ticker-card.risk-high {
    border-left: 4px solid #f97316;
}

.ticker-card.risk-medium {
    border-left: 4px solid #eab308;
}

.ticker-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.ticker-identity {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 10px;
}

.company-name {
    font-size: 0.92rem;
    color: var(--text-muted);
    margin-top: 4px;
}

.ticker-metrics {
    display: flex;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin-bottom: 18px;
    flex: 1;
    align-items: stretch;
}

.ticker-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.ticker-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
}

.ticker-header .dilution-score-badge {
    display: none;
}

.ticker-market-info {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #8899ab;
    font-size: 0.9rem;
}

.ticker-market-info .country-flag {
    width: 26px;
    height: 18px;
    border-radius: 3px;
    object-fit: cover;
    border: 1px solid rgba(255,255,255,0.15);
    box-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

.ticker-market-info .ticker-exchange {
    font-weight: 600;
    letter-spacing: 0.4px;
    color: var(--text-secondary);
}

.ticker-metrics .metric {
    flex: 1;
    background: rgba(10, 20, 40, 0.6);
    border: 1px solid rgba(59,130,246,0.12);
    border-radius: 8px;
    padding: 10px 14px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.ticker-metrics .metric:hover {
    border-color: rgba(96,165,250,0.3);
    box-shadow: 0 0 16px rgba(96,165,250,0.12);
    background: rgba(10, 20, 40, 0.8);
}

/* ═══ METRICS, SCORES & BADGES ═══ */

.status-badge {
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-block;
    margin-top: 8px;
}

.status-badge.active {
    background: rgba(16, 185, 129, 0.15);
    color: var(--success);
    border: 1px solid rgba(16, 185, 129, 0.3);
}

.filing-badge {
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.filing-badge.critical {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.filing-badge.important {
    background: rgba(249, 115, 22, 0.2);
    color: #f97316;
}

.filing-badge.moderate {
    background: rgba(234, 179, 8, 0.2);
    color: #eab308;
}

.filing-badge.low {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
}

.metric-label {
    font-size: 0.9rem;
    color: #60a5fa;
    margin-bottom: 6px;
    font-weight: 500;
}

.metric-value {
    font-size: 1.15rem;
    color: #ffffff;
    font-weight: 600;
}

.score-change {
    font-size: 1.1rem;
    font-weight: 700;
    padding: 5px 12px;
    border-radius: 6px;
    display: inline-block;
}

.score-change.positive {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.15);
}

.score-change.negative {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.15);
}

.premium-badge {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #000;
    font-size: 10px;
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 4px;
}

.insider-sentiment {
    margin: 20px 0;
}

.insider-sentiment h3 {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sentiment-badge {
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 12px;
    font-weight: 600;
    text-transform: uppercase;
}

.sentiment-badge.bullish {
    background: rgba(34, 197, 94, 0.2);
    color: #22c55e;
}

.sentiment-badge.bearish {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
}

.sentiment-badge.neutral {
    background: rgba(148, 163, 184, 0.2);
    color: var(--text-secondary);
}

.sentiment-stat .label {
    display: block;
    font-size: 12px;
    color: var(--text-muted);
    margin-bottom: 5px;
}

.sentiment-badge.bullish, .sentiment-badge.accumulating {
    background: #28a745;
    color: #fff;
}

.sentiment-badge.bearish, .sentiment-badge.distributing {
    background: #dc3545;
    color: #fff;
}

.intel-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 18px;
    margin-bottom: 20px;
}

.intel-card {
    background: var(--metric-bg);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s ease;
    min-height: 160px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.intel-card:hover {
    border-color: #1e3a8a;
    transform: translateY(-3px);
    box-shadow: 0 4px 20px rgba(30, 58, 138, 0.7);
}

.intel-card.critical {
    border-color: #dc2626;
    background: rgba(220, 38, 38, 0.12);
}

.intel-card.warning {
    border-color: #d97706;
    background: rgba(217, 119, 6, 0.12);
}

.intel-header {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 10px;
    font-weight: 500;
}

.intel-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.intel-value {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
    margin-bottom: 4px;
}

.intel-value.good {
    color: #22c55e;
}

.intel-value.positive {
    color: #22c55e;
}

.intel-value.negative {
    color: #ef4444;
}

.intel-label {
    font-size: 0.85rem;
    color: var(--text-secondary);
    margin-bottom: 8px;
}

.intel-sub {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 4px;
    margin-bottom: 6px;
}

.intel-change {
    font-size: 0.85rem;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 4px;
    margin-top: 5px;
}

.intel-change.positive {
    color: #22c55e;
    background: rgba(34, 197, 94, 0.15);
}

.intel-change.negative {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.15);
}

.intel-breakdown {
    display: flex;
    gap: 10px;
    font-size: 0.8rem;
    margin-top: 5px;
}

.intel-breakdown .buy {
    color: #22c55e;
}

.intel-breakdown .sell {
    color: #ef4444;
}

.intel-card.cash-position {
    border-left: 3px solid #4ade80;
}

.intel-card.cash-position.critical {
    border-left-color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

.intel-card.cash-position.warning {
    border-left-color: #f59e0b;
    background: rgba(245, 158, 11, 0.1);
}

.intel-card.cash-position.good {
    border-left-color: #4ade80;
}

.cash-flags {
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
}

.flag-item {
    font-size: 0.65rem;
    padding: 3px 6px;
    border-radius: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: 4px;
    display: block;
}

.flag-item.critical {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.flag-item.high {
    background: rgba(251, 191, 36, 0.15);
    color: #fbbf24;
    border: 1px solid rgba(251, 191, 36, 0.3);
}

.status-badge.critical {
    background: #ef4444;
    color: white;
}

.status-badge.warning {
    background: #f59e0b;
    color: white;
}

.status-badge.normal {
    background: #3b82f6;
    color: white;
}

.status-badge.good {
    background: #4ade80;
    color: var(--bg-surface);
}

.intel-card.cash-position .intel-value {
    font-size: 1.5rem;
}

.intel-card .card-action-link {
    display: block;
    margin-top: 10px;
    font-size: 0.75rem;
    color: #60a5fa;
    cursor: pointer;
    text-decoration: underline;
}

.intel-card .card-action-link:hover {
    color: #93c5fd;
}

.intel-card.critical:hover {
    box-shadow: 0 4px 25px rgba(220, 38, 38, 0.7);
    border-color: #ef4444;
}

.intel-card.warning:hover {
    box-shadow: 0 4px 25px rgba(217, 119, 6, 0.7);
    border-color: #f59e0b;
}

.intel-card.good {
    border-color: #16a34a;
    background: rgba(22, 163, 74, 0.12);
}

.intel-card.good:hover {
    box-shadow: 0 4px 25px rgba(22, 163, 74, 0.7);
    border-color: #22c55e;
}

.intel-card.normal {
    border-color: #1e3a8a;
    background: rgba(30, 58, 138, 0.08);
}

.intel-card.normal:hover {
    box-shadow: 0 4px 20px rgba(30, 58, 138, 0.7);
    border-color: #3b82f6;
}

.status-badge.good, .status-badge.fortress {
    background: #22c55e;
    color: #000;
}

.status-badge.warning, .status-badge.fair {
    background: #f59e0b;
    color: #000;
}

.status-badge.critical, .status-badge.poor {
    background: #ef4444;
    color: #fff;
}

.hal-loading .intel-label {
    color: #60a5fa;
    font-style: italic;
    animation: halPulse 2s ease-in-out infinite;
}

.score-value {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

/* Badge-specific: keep score contained in the badge box */
.dilution-score-badge .score-value {
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    position: relative;
}

.score-label {
    font-size: 0.75rem;
    color: rgba(255,255,255,0.8);
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.metric {
    display: flex;
    flex-direction: column;
    background: var(--metric-bg);
    padding: 12px 14px;
    border-radius: 8px;
    border: 1px solid var(--border-accent);
}

.risk-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
}

.risk-badge.risk-critical {
    background: #ef4444;
    color: #fff;
}

.risk-badge.risk-high {
    background: #f97316;
    color: #fff;
}

.risk-badge.risk-medium {
    background: #eab308;
    color: #000;
}

.risk-badge.risk-low {
    background: #22c55e;
    color: #fff;
}

.overall-score {
    text-align: center;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 20px;
}

.overall-score.risk-critical {
    background: linear-gradient(135deg, #7f1d1d 0%, #991b1b 100%);
}

.overall-score.risk-high {
    background: linear-gradient(135deg, #7c2d12 0%, #9a3412 100%);
}

.overall-score.risk-medium {
    background: linear-gradient(135deg, #713f12 0%, #854d0e 100%);
}

.overall-score.risk-low {
    background: linear-gradient(135deg, #14532d 0%, #166534 100%);
}

.big-score {
    font-size: 4rem;
    font-weight: 700;
    color: #fff;
    line-height: 1;
}

.risk-label {
    font-size: 1.1rem;
    color: rgba(255,255,255,0.8);
    margin-top: 8px;
}

.score-bar-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.score-bar-label {
    width: 120px;
    font-size: 0.85rem;
    color: var(--text-muted);
}

.score-bar-track {
    flex: 1;
    height: 8px;
    background: var(--border);
    border-radius: 4px;
    overflow: hidden;
}

.score-bar-fill {
    height: 100%;
    border-radius: 4px;
    transition: width 0.5s ease;
}

.score-bar-value {
    width: 30px;
    text-align: right;
    font-size: 0.85rem;
    color: #fff;
    font-weight: 600;
}

.metrics-score-row {
    display: flex;
    align-items: stretch;
    gap: 10px;
}

.metrics-score-row .dilution-score-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    border-radius: 8px;
    padding: 10px 14px;
    transition: all 0.3s ease;
    box-sizing: border-box;
    box-shadow: none;
}

.metrics-score-row .dilution-score-badge.risk-critical:hover {
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.5);
}

.metrics-score-row .dilution-score-badge.risk-high:hover {
    box-shadow: 0 0 20px rgba(249, 115, 22, 0.5);
}

.metrics-score-row .dilution-score-badge.risk-medium:hover {
    box-shadow: 0 0 20px rgba(234, 179, 8, 0.5);
}

.metrics-score-row .dilution-score-badge.risk-low:hover {
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.5);
}

.metrics-score-row .dilution-score-badge.risk-unknown:hover {
    box-shadow: 0 0 20px rgba(96, 165, 250, 0.4);
}

.metrics-score-row .dilution-score-badge .score-value {
    font-size: 1.5rem;
    font-weight: 800;
    color: white;
}

.metrics-score-row .dilution-score-badge .score-label {
    font-size: 0.6rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: rgba(255,255,255,0.8);
}

/* ═══ BUTTONS ═══ */

.btn-primary-large {
    width: 100%;
    padding: 22px 60px;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);
    color: white;
    box-shadow: 0 6px 30px rgba(59, 130, 246, 0.4);
    font-family: 'Inter', sans-serif;
    display: inline-block;
}

.btn-primary-large:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 40px rgba(59, 130, 246, 0.5);
}

.preset-buttons {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.preset-btn {
    padding: 12px 20px;
    background: var(--input-bg);
    border: 2px solid var(--border-accent);
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-weight: 500;
}

.preset-btn:hover {
    border-color: #22c55e;
    color: #22c55e;
    background: rgba(34, 197, 94, 0.1);
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.3);
}

.filter-btn {
    padding: 8px 16px;
    background: var(--bg-dark);
    border: 1px solid var(--border);
    border-radius: 20px;
    color: var(--text-secondary);
    font-size: 0.85rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.filter-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.filter-btn.active {
    background: var(--primary);
    border-color: var(--primary);
    color: white;
}

.btn-danger-small {
    padding: 10px 16px;
    background: rgba(30, 58, 138, 0.15);
    border: 1.5px solid rgba(30, 58, 138, 0.6);
    color: #6b8fd4;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
}

.btn-danger-small:hover {
    background: rgba(30, 58, 138, 0.3);
    color: #93c5fd;
    border-color: #1e3a8a;
    box-shadow: 0 0 15px rgba(30, 58, 138, 0.4);
}

button.btn-danger-small {
    padding: 12px 24px;
    background: transparent;
    border: 2px solid #3b82f6;
    color: #3b82f6;
    border-radius: 8px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    font-family: 'Inter', sans-serif;
}

button.btn-danger-small:hover {
    background: #3b82f6;
    color: white;
    box-shadow: 0 4px 15px rgba(59, 130, 246, 0.4);
}

.preset-btn.active {
    border-color: #22c55e;
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.4);
}

.btn-premium {
    background: linear-gradient(135deg, #f59e0b, #d97706);
    color: #000;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 14px;
    cursor: pointer;
    transition: transform 0.2s, box-shadow 0.2s;
}

.btn-premium:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.4);
}

.btn-card-action {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 6px 12px;
    background: rgba(96, 165, 250, 0.15);
    border: 1px solid rgba(96, 165, 250, 0.4);
    border-radius: 6px;
    color: #60a5fa;
    font-size: 0.75rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-card-action:hover {
    background: rgba(96, 165, 250, 0.25);
    border-color: #60a5fa;
}

.btn-outline-small {
    background: rgba(59, 130, 246, 0.08);
    border: 1.5px solid rgba(59, 130, 246, 0.4);
    color: #93c5fd;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s;
    -webkit-font-smoothing: antialiased;
}

.btn-outline-small:hover {
    background: rgba(59, 130, 246, 0.15);
    border-color: #3b82f6;
    color: #60a5fa;
    box-shadow: 0 0 15px rgba(59, 130, 246, 0.3);
}

.btn-action-unified {
    background: linear-gradient(135deg, var(--accent-subtle), var(--accent-bg));
    border: 1px solid var(--border-accent);
    color: var(--accent-light);
    border-radius: 10px;
    font-weight: 600;
    letter-spacing: 0.5px;
    padding: 12px 28px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.btn-action-unified:hover {
    background: linear-gradient(135deg, rgba(59,130,246,0.25), rgba(59,130,246,0.15));
    border-color: rgba(96,165,250,0.4);
    box-shadow: 0 0 20px rgba(59,130,246,0.12);
    color: #bfdbfe;
}

.btn-action-caution {
    background: linear-gradient(135deg, rgba(239,68,68,0.1), rgba(239,68,68,0.05));
    border-color: rgba(239,68,68,0.2);
    color: #fca5a5;
}

.btn-action-caution:hover {
    background: linear-gradient(135deg, rgba(239,68,68,0.2), rgba(239,68,68,0.1));
    border-color: rgba(239,68,68,0.35);
    box-shadow: 0 0 20px rgba(239,68,68,0.1);
}

.filing-filters .filter-btn {
    background: var(--section-bg);
    border: 1px solid rgba(59,130,246,0.1);
    border-radius: 8px;
    color: var(--text-muted);
    padding: 8px 16px;
    font-size: 0.88rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.filing-filters .filter-btn:hover {
    border-color: var(--border-accent);
    color: var(--text-secondary);
}

.filing-filters .filter-btn.active {
    background: var(--accent-subtle);
    border-color: rgba(59,130,246,0.3);
    color: #93c5fd;
}

.contact-compact-actions .contact-submit-btn {
    padding: 8px 20px;
    font-size: 13px;
}

.contact-submit-btn {
    background: #3b82f6;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    align-self: flex-start;
}

.contact-submit-btn:hover {
    background: #2563eb;
}

.contact-submit-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.sub-checkout-btn {
    width: 100%;
    padding: 13px 18px;
    border: none;
    border-radius: 10px;
    color: white;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.01em;
    cursor: pointer;
    margin-top: 12px;
    transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s;
}

.sub-checkout-btn:hover {
    transform: translateY(-1px);
    opacity: 0.92;
}

.sub-checkout-btn:active {
    transform: translateY(0);
}

.sub-checkout-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    transform: none;
}

.sub-checkout-btn.basic {
    box-shadow: 0 4px 14px rgba(59, 130, 246, 0.3);
}

.sub-checkout-btn.premium {
    box-shadow: 0 4px 14px rgba(139, 92, 246, 0.35);
}

/* ═══ MODALS ═══ */

.modal-content.wide {
    max-width: 800px;
}

.modal-subtitle {
    color: var(--text-muted);
    margin-bottom: 20px;
    text-align: center;
}

.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

/* Global link colors for dark backgrounds */
.modal-content a,
.ticker-card a,
.news-item a,
.dashboard-section a,
.tab-pane a {
    color: #60a5fa;
    text-decoration: none;
    transition: color 0.2s;
}
.modal-content a:hover,
.ticker-card a:hover,
.news-item a:hover,
.dashboard-section a:hover,
.tab-pane a:hover {
    color: #93c5fd;
    text-decoration: underline;
}
.modal-content a:visited,
.news-item a:visited {
    color: #a78bfa;
}

.modal-content {
    background: var(--bg-surface-gradient);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 30px;
    max-width: 600px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
    position: relative;
}

.modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    color: var(--text-muted);
    font-size: 1.5rem;
    cursor: pointer;
}

.modal-close:hover {
    color: var(--text-primary);
}

.modal-content h2 {
    color: var(--text-primary);
    margin-bottom: 25px;
    padding-right: 30px;
}

.modal-content h3 {
    color: var(--text-secondary);
    font-size: 1rem;
    margin: 20px 0 15px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border);
}

/* ═══ SETTINGS (Sliders, Forms, Categories) ═══ */

.lookup-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group-inline {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.input-large {
    width: 100%;
    padding: 18px 22px;
    font-size: 16px;
    border: 2px solid var(--border);
    border-radius: 12px;
    background: var(--bg-dark);
    color: var(--text-primary);
    font-family: 'Inter', sans-serif;
}

.preference-group {
    background: var(--bg-surface-gradient);
    border: 1px solid var(--border);
    border-radius: 16px;
    padding: 35px;
    margin-bottom: 30px;
}

.preference-group-title {
    color: var(--text-primary);
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--border);
    display: flex;
    align-items: center;
    gap: 12px;
}

.radio-group {
    display: inline-flex;
    flex-direction: row;
    gap: 0;
    background: var(--bg-card, #1a1a2e);
    border: 1px solid var(--border, #2a2a3e);
    border-radius: 8px;
    padding: 3px;
    overflow: hidden;
}

/* Clean toggle-card — selected state is obvious, no weird glows */
.radio-card {
    display: block;
    cursor: pointer;
}

.radio-card input[type="radio"] {
    display: none;
}

.radio-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 8px 16px;
    background: transparent;
    border: none;
    border-radius: 6px;
    transition: all 0.15s ease;
    position: relative;
    cursor: pointer;
    white-space: nowrap;
}

/* Checkmark indicator top-right when selected */
.radio-content::after {
    content: none;
    display: none;
}

.radio-card input[type="radio"]:checked + .radio-content::after {
    content: none;
    display: none;
}

.radio-card:hover .radio-content {
    background: rgba(255, 255, 255, 0.04);
}

.radio-card input[type="radio"]:checked + .radio-content {
    background: rgba(59, 130, 246, 0.18);
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.radio-card input[type="radio"]:checked + .radio-content .radio-text strong {
    color: #fff;
    font-weight: 700;
}

.radio-icon {
    display: none;
}

.radio-text strong {
    display: inline;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
    margin-bottom: 0;
}

.radio-text p {
    display: none;
}

.toggle-switch-horizontal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 10px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.toggle-switch-horizontal:hover {
    border-color: rgba(59, 130, 246, 0.3);
    background: rgba(59, 130, 246, 0.03);
}

.toggle-label {
    flex: 1;
    font-size: 1.05rem;
    color: var(--text-primary);
    font-weight: 500;
    margin-right: 16px;
}

.toggle-switch {
    position: relative;
    width: 44px;
    height: 24px;
    flex-shrink: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.toggle-switch input {
    opacity: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    z-index: 10;
    margin: 0;
}

.toggle-slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(30, 41, 59, 0.8) 0%, rgba(15, 23, 42, 0.9) 100%);
    border: 1px solid rgba(148, 163, 184, 0.1);
    transition: all 0.2s ease;
    border-radius: 6px;
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.03);
}

.toggle-slider:before {
    position: absolute;
    content: "";
    height: 16px;
    width: 18px;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(180deg, rgba(148, 163, 184, 0.5) 0%, rgba(100, 116, 139, 0.4) 100%);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    transition: all 0.2s ease;
    border-radius: 4px;
}

.toggle-switch input:checked + .toggle-slider {
    background: linear-gradient(180deg, rgba(59, 130, 246, 0.12) 0%, rgba(37, 99, 235, 0.2) 100%);
    border-color: rgba(59, 130, 246, 0.3);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 8px rgba(59, 130, 246, 0.15);
}

.toggle-switch input:checked + .toggle-slider:before {
    transform: translateY(-50%) translateX(20px);
    background: linear-gradient(160deg, #60a5fa 0%, #3b82f6 40%, #2563eb 100%);
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.4), 0 1px 2px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.25);
}

.toggle-switch input:focus-visible + .toggle-slider {
    border-color: rgba(59, 130, 246, 0.5);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
/* Toggle hover */
.toggle-switch:hover .toggle-slider {
    border-color: rgba(148, 163, 184, 0.2);
}
.toggle-switch:hover input:checked + .toggle-slider {
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2), 0 0 12px rgba(59, 130, 246, 0.2);
}


.threshold-input-group {
    background: var(--bg-card);
    padding: 20px;
    border-radius: 12px;
    border: 1px solid var(--border);
}

.threshold-input-group label {
    display: block;
    color: var(--primary);
    font-weight: 600;
    margin-bottom: 12px;
    font-size: 1rem;
}

.input-medium {
    width: 100%;
    padding: 14px 16px;
    background: var(--bg-dark);
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
}

.input-medium:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.category-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 20px;
    margin-top: 24px;
}

.category-card {
    background: var(--section-bg);
    border: 1px solid rgba(59,130,246,0.06);
    border-radius: 12px;
    padding: 24px;
    transition: border-color 0.3s ease;
}

.category-card:hover {
    border-color: var(--border-accent);
    transform: translateY(-3px);
    box-shadow: 0 8px 30px rgba(59, 130, 246, 0.15);
}

.category-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 16px;
}

.category-info {
    flex: 1;
}

.category-icon {
    font-size: 1.6rem;
    margin-right: 12px;
}

.category-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: #60a5fa;
}

.category-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-left: 12px;
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.category-badge:contains("INFO") {
    background: var(--accent-subtle);
    color: var(--primary);
}

.category-description {
    color: var(--text-primary);
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 14px;
}

.category-forms {
    color: var(--sky-blue);
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    background: var(--accent-subtle);
    padding: 10px 16px;
    border-radius: 8px;
    display: inline-block;
    margin-bottom: 10px;
    font-weight: 500;
    letter-spacing: 0.5px;
}

.category-warning {
    color: #f97316;
    font-size: 1.05rem;
    font-weight: 600;
    margin: 0;
    margin-top: 12px;
}

.form-actions {
    margin-top: 40px;
    text-align: center;
}

.category-badge.critical {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    text-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
}

.category-badge.high-risk {
    background: rgba(249, 115, 22, 0.2);
    color: #f97316;
    text-shadow: 0 0 10px rgba(249, 115, 22, 0.5);
}

.category-badge.medium-risk {
    background: rgba(234, 179, 8, 0.2);
    color: #eab308;
    text-shadow: 0 0 10px rgba(234, 179, 8, 0.5);
}

.radio-card input[type="radio"]:checked + .radio-content .radio-icon {
    background: rgba(34, 197, 94, 0.2);
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.4);
}

/* duplicate .radio-card checked::after removed */

.category-card:has(.critical) .category-warning {
    color: #ef4444;
}

.advanced-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 18px 28px;
    margin: 30px 0;
    background: var(--bg-surface-gradient);
    border: 2px dashed var(--border-light);
    border-radius: 10px;
    color: var(--text-secondary);
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
}

.advanced-toggle:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-blue) 100%);
}

.advanced-toggle.active {
    border-style: solid;
    border-color: var(--primary);
    color: var(--primary);
    background: var(--accent-subtle);
}

.advanced-toggle .toggle-icon {
    font-size: 1.2rem;
}

.advanced-toggle .toggle-arrow {
    transition: transform 0.3s ease;
}

.advanced-toggle.active .toggle-arrow {
    transform: rotate(180deg);
}

.dilution-slider-container {
    padding: 6px 0 0 0;
    display: flex;
    align-items: center;
    gap: 12px;
}

.slider-value-display {
    text-align: center;
    margin-bottom: 0;
    flex-shrink: 0;
    min-width: 60px;
}

.slider-value-display span {
    font-size: 1.6rem;
    font-weight: 800;
    color: #60a5fa;
    text-shadow: none;
}

.dilution-slider {
    width: 100%;
    height: 6px;
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(59,130,246,0.15) 0%, rgba(59,130,246,0.4) 100%);
    outline: none;
    -webkit-appearance: none;
    cursor: pointer;
    appearance: none;
    pointer-events: auto;
    position: relative;
    z-index: 10;
}

.dilution-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: linear-gradient(160deg, #60a5fa 0%, #3b82f6 40%, #2563eb 100%);
    border: none;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.4), 0 1px 2px rgba(0,0,0,0.2), inset 0 1px 0 rgba(255,255,255,0.25);
    transition: all 0.2s ease;
    appearance: none;
    margin-top: -6px;
}

.dilution-slider::-webkit-slider-thumb:hover {
    transform: scale(1.05);
    box-shadow: 0 4px 8px rgba(59, 130, 246, 0.5), 0 0 12px rgba(59, 130, 246, 0.3), inset 0 1px 0 rgba(255,255,255,0.3);
}

.dilution-slider::-moz-range-thumb {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: linear-gradient(160deg, #60a5fa 0%, #3b82f6 40%, #2563eb 100%);
    border: 4px solid #3b82f6;
    cursor: pointer;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.25),
        0 4px 12px rgba(0, 0, 0, 0.4),
        0 0 20px rgba(59, 130, 246, 0.4);
}

.slider-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.schedule-row .time-input {
    padding: 8px 10px;
    background: var(--bg-elevated);
    border: 2px solid var(--border);
    border-radius: 6px;
    color: var(--text-primary);
    font-size: 1rem;
    font-family: 'Inter', sans-serif;
    width: 120px;
    text-align: center;
}

.schedule-row .time-input:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.schedule-row .time-input:focus {
    border-color: var(--primary);
    outline: none;
}

.filings-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 500px;
    overflow-y: auto;
    padding-right: 10px;
}

.filing-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--section-bg);
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    transition: border-color 0.2s ease;
}

.filing-item:hover {
    border-color: rgba(59,130,246,0.12);
    transform: translateX(4px);
}

.filing-color-bar {
    width: 4px;
    align-self: stretch;
    border-radius: 2px;
    flex-shrink: 0;
    min-height: 40px;
}

.filing-color-bar.critical {
    background: #ef4444;
}

.filing-color-bar.important {
    background: #f97316;
}

.filing-color-bar.moderate {
    background: #eab308;
}

.filing-color-bar.low {
    background: #22c55e;
}

.filing-info {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 200px;
}

.filing-name {
    font-weight: 600;
    color: var(--text-primary);
    font-size: 0.95rem;
}

.filing-desc {
    flex: 1;
    color: var(--text-muted);
    font-size: 0.85rem;
}

.toggle-switch.mini {
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}

.toggle-switch.mini .toggle-slider:before {
    height: 16px;
    width: 16px;
    left: 3px;
}

.toggle-switch.mini input:checked + .toggle-slider:before {
    transform: translateY(-50%) translateX(18px);
}

.filings-list::-webkit-scrollbar {
    width: 8px;
}

.filings-list::-webkit-scrollbar-track {
    background: var(--bg-dark);
    border-radius: 4px;
}

.filings-list::-webkit-scrollbar-thumb {
    background: var(--border-light);
    border-radius: 4px;
}

.filings-list::-webkit-scrollbar-thumb:hover {
    background: var(--primary);
}

.preference-group > .section-description {
    font-size: 1.25rem;
    color: var(--text-secondary);
    margin-bottom: 24px;
}

.dilution-box {
    margin-bottom: 16px;
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.6) 0%, rgba(30, 41, 59, 0.4) 100%);
    border: 1px solid rgba(59, 130, 246, 0.12);
    padding: 12px 16px;
    border-radius: 10px;
}

.dilution-header {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: nowrap;
    margin-bottom: 0;
}

.dilution-header .preference-group-title {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
    white-space: nowrap;
    margin: 0;
    font-size: 1.1rem;
}

.dilution-subtitle {
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 400;
    display: block;
    margin-top: 0;
    opacity: 0.7;
}

.slider-with-ticks {
    position: relative;
    padding-bottom: 24px;
    margin-top: 0;
    pointer-events: auto;
    padding: 0 0 24px 0;
    flex: 1;
}

.tick-marks {
    position: absolute;
    width: 100%;
    top: 22px;
    left: 0;
    pointer-events: none;
}

.tick {
    position: absolute;
    transform: translateX(-50%);
    font-size: 0.65rem;
    color: rgba(96, 165, 250, 0.5);
    font-weight: 500;
    text-align: center;
}

.tick::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 6px;
    background: rgba(96, 165, 250, 0.25);
    border-radius: 1px;
}

.tick[style*="left: 0%"] {
    transform: translateX(0);
}

.tick[style*="left: 100%"] {
    transform: translateX(-100%);
}

.dilution-help-text {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-top: 4px;
    font-weight: 400;
    text-align: left;
    opacity: 0.6;
}

.dilution-slider::-webkit-slider-runnable-track {
    background: linear-gradient(90deg, #22c55e 0%, #eab308 50%, #ef4444 100%);
    height: 12px;
    border-radius: 6px;
}

.dilution-slider::-moz-range-track {
    background: linear-gradient(90deg, #22c55e 0%, #eab308 50%, #ef4444 100%);
    height: 12px;
    border-radius: 6px;
}

.tick-marks, .tick {
    pointer-events: none;
}

.schedule-row .time-input:not(:disabled) {
    border-color: var(--primary);
}

.schedule-row .time-input::-webkit-calendar-picker-indicator {
    filter: invert(1);
    cursor: pointer;
}

.time-picker select {
    padding: 10px 14px;
    background-color: var(--bg-input);
    border: 2px solid var(--border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 0.95rem;
    font-family: 'Inter', -apple-system, sans-serif;
    cursor: pointer;
    min-width: 70px;
    text-align: center;
    transition: all 0.2s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 12L2 6h12l-6 6z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    padding-right: 30px;
}

.time-picker select:hover {
    border-color: #3b82f6;
}

.time-picker select:focus {
    border-color: #3b82f6;
    outline: none;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

.time-picker select:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    background-color: var(--bg-input);
}

.time-picker select.ampm-select {
    min-width: 65px;
    margin-left: 6px;
}

.time-picker select option {
    background-color: var(--bg-surface-alt);
    color: var(--text-primary);
    padding: 10px;
}

.slider-value-display span#dilutionValue {
    font-size: 3.5rem;
    font-weight: 800;
    color: #3b82f6;
    text-shadow: 0 0 30px rgba(59, 130, 246, 0.5);
}

.slider-value-display .percent-sign {
    font-size: 1.5rem;
    font-weight: 700;
    color: #3b82f6;
    text-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
}

.tick:first-child {
    transform: translateX(0);
    left: 0;
}

.tick:last-child {
    transform: translateX(-100%);
    left: 100%;
}

.contact-toggle .toggle-arrow {
    color: #60a5fa;
    font-size: 1rem;
    transition: transform 0.3s;
}

.contact-toggle.active .toggle-arrow {
    transform: rotate(180deg);
}

.contact-form-wrapper.show {
    display: block;
}

.tick:not(:first-child):not(:last-child) {
    transform: translateX(-50%);
}

.slider-value-display #dilutionValue {
    font-size: 2rem;
    font-weight: 700;
    color: #3b82f6;
}

.tick-marks .tick {
    font-size: 0.8rem;
}

.period-select {
    background: #21262d;
    border: 1px solid var(--border);
    color: var(--text-primary);
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 13px;
    cursor: pointer;
}

.period-select:focus {
    outline: none;
    border-color: #f0883e;
}

.dilution-score-badge {
    background: var(--metric-bg);
    border-radius: 12px;
    padding: 14px 20px;
    text-align: center;
    min-width: 100px;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
}

.preference-group, .dilution-box {
    background: var(--section-bg);
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    transition: border-color 0.3s ease;
}

.preference-group:hover, .dilution-box:hover {
    border-color: var(--border-accent);
}

/* checked state handled by .toggle-switch input:checked + .toggle-slider above */

.input-medium, .input-large, input[type="email"], input[type="text"] {
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: 8px;
    color: var(--text-primary);
    transition: border-color 0.25s ease;
}

.input-medium:focus, .input-large:focus, input[type="email"]:focus, input[type="text"]:focus {
    border-color: rgba(59,130,246,0.35);
    outline: none;
    box-shadow: 0 0 12px rgba(59,130,246,0.08);
}

.contact-compact-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.contact-compact-form .contact-input {
    padding: 8px 12px;
    font-size: 13px;
}

.contact-compact-form .contact-textarea {
    min-height: 70px;
}

.contact-input {
    padding: 10px 14px;
    font-size: 14px;
    border: 1px solid var(--input-border);
    border-radius: 8px;
    background: var(--input-bg);
    color: var(--text-primary);
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
}

.contact-input:focus {
    border-color: #3b82f6;
}

.sub-toggle {
    padding: 6px 14px;
    border: 1px solid var(--border-subtle);
    border-radius: 6px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 13px;
    cursor: pointer;
    transition: all 0.2s;
}

.sub-toggle.active {
    background: var(--accent-subtle);
    border-color: #3b82f6;
    color: #3b82f6;
}

/* ═══ UTILITIES ═══ */

.tagline {
    font-size: 1.3rem;
    color: #93c5fd;
    font-weight: 500;
    position: relative;
    z-index: 1;
    letter-spacing: 0.02em;
}

.section-description {
    color: var(--text-secondary);
    font-size: 1.05rem;
    margin-bottom: 28px;
    line-height: 1.7;
}

.features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 28px;
    margin-top: 35px;
    background: var(--bg-card);
    padding: 40px;
    border-radius: 20px;
    margin-bottom: 35px;
    border: 1px solid var(--border);
}

.feature {
    text-align: center;
    background: var(--bg-surface-gradient);
    padding: 25px 20px;
    border-radius: 14px;
    border: 1px solid var(--border);
    transition: all 0.3s ease;
    cursor: pointer;
}

.feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(59, 130, 246, 0.25);
    border-color: var(--primary);
}

.feature h3 {
    color: var(--primary);
    font-size: 1.2rem;
    margin-bottom: 12px;
    font-weight: 700;
}

.feature p {
    color: var(--text-secondary);
    font-size: 0.9rem;
    line-height: 1.5;
    margin: 0;
}

.empty-state {
    text-align: center;
    padding: 70px 40px;
    background: var(--bg-dark);
    border-radius: 16px;
    border: 2px dashed var(--border);
}

.empty-state p {
    font-size: 1.1rem;
    color: var(--text-muted);
    line-height: 1.8;
}

.step {
    background: var(--bg-surface-gradient);
    border-radius: 16px;
    border: 1px solid var(--border);
    padding: 30px 24px;
    text-align: center;
    transition: all 0.3s ease;
}

.step:hover {
    border-color: var(--primary);
    transform: translateY(-5px);
    box-shadow: 0 12px 40px rgba(59, 130, 246, 0.2);
}

.manage-section .section-description {
    margin-bottom: 35px;
    font-size: 1.1rem;
}

.threshold-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin-top: 20px;
}

.threshold-input-group .help-text {
    color: var(--text-muted);
    font-size: 0.85rem;
    margin-top: 10px;
}

.dashboard-section {
    padding: 28px;
    background: var(--section-bg);
    border: 1px solid var(--border-subtle);
    border-radius: 16px;
    backdrop-filter: blur(8px);
}

.help-text, .threshold-input-group p.help-text {
    font-size: 0.95rem;
    color: var(--text-secondary);
    margin-top: 10px;
    line-height: 1.5;
}

.advanced-section {
    animation: slideDown 0.3s ease;
}

.advanced-group {
    border-left: 4px solid var(--primary);
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.05) 0%, transparent 100%);
}

.current-email-display {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--bg-dark);
    border: 1px solid var(--border);
    border-radius: 10px;
    margin-bottom: 20px;
}

.current-email-display .label {
    color: #1e40af;
    font-size: 1rem;
    font-weight: 600;
}

.current-email-display .email-value {
    color: var(--sky-blue);
    font-weight: 700;
    font-size: 1.1rem;
}

.weekly-schedule-grid {
    margin-top: 20px;
    border: 1px solid var(--border);
    border-radius: 12px;
    overflow: hidden;
}

.schedule-row {
    display: grid;
    grid-template-columns: 100px 60px 1fr 1fr;
    gap: 16px;
    padding: 14px 20px;
    align-items: center;
    border-bottom: 1px solid var(--border);
    background: var(--bg-card);
}

.schedule-row:last-child {
    border-bottom: none;
}

.schedule-row.header-row {
    background: var(--bg-dark);
    font-weight: 600;
    color: var(--text-secondary);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.schedule-row .day-label {
    font-weight: 600;
    color: var(--text-primary);
    min-width: 90px;
}

.dashboard-section::-webkit-scrollbar {
    display: none;
    width: 0;
}

.time-picker {
    display: flex;
    align-items: center;
    gap: 6px;
}

.time-picker .time-sep {
    color: var(--text-muted);
    font-weight: 600;
    font-size: 1.1rem;
}

.schedule-row .time-picker {
    justify-content: flex-start;
}

.validation-result {
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 500;
}

.validation-result.valid {
    background: rgba(34, 197, 94, 0.15);
    border: 1px solid rgba(34, 197, 94, 0.4);
    color: #22c55e;
}

.validation-result.invalid {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.4);
    color: #ef4444;
}

.feature h4 {
    color: #60a5fa;
    font-size: 1.1rem;
    margin-bottom: 10px;
    font-weight: 700;
}

.watchlist-stat .stat-count {
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--text-primary);
}

.watchlist-stat .stat-label {
    font-size: 0.85rem;
    color: var(--text-secondary);
    font-weight: 500;
}

.watchlist-stat.critical {
    border-color: rgba(239, 68, 68, 0.4);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-red) 100%);
}

.watchlist-stat.critical.active {
    border-color: #ef4444;
    box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
}

.watchlist-stat.critical .stat-count {
    color: #ef4444;
}

.watchlist-stat.high {
    border-color: rgba(249, 115, 22, 0.4);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-orange) 100%);
}

.watchlist-stat.high.active {
    border-color: #f97316;
    box-shadow: 0 0 20px rgba(249, 115, 22, 0.4);
}

.watchlist-stat.high .stat-count {
    color: #f97316;
}

.watchlist-stat.medium {
    border-color: rgba(234, 179, 8, 0.4);
    background: linear-gradient(135deg, var(--bg-surface) 0%, var(--risk-tint-yellow) 100%);
}

.watchlist-stat.medium.active {
    border-color: #eab308;
    box-shadow: 0 0 20px rgba(234, 179, 8, 0.4);
}

.watchlist-stat.medium .stat-count {
    color: #eab308;
}

.watchlist-stat.safe .stat-count {
    color: #22c55e;
}

.watchlist-stat.all {
    border-color: rgba(59, 130, 246, 0.4);
}

.watchlist-stat.all.active {
    border-color: #3b82f6;
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.4);
}

.watchlist-stat.all .stat-count {
    color: #3b82f6;
}

.sec-insights-section {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.sec-insights-section h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.premium-upgrade-box {
    background: var(--bg-surface-gradient);
    border: 1px solid #f59e0b;
    border-radius: 12px;
    padding: 24px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.premium-upgrade-box .lock-icon {
    font-size: 32px;
}

.premium-upgrade-box .upgrade-message {
    flex: 1;
}

.premium-upgrade-box .upgrade-message strong {
    display: block;
    color: #f59e0b;
    font-size: 16px;
    margin-bottom: 12px;
}

.premium-upgrade-box ul {
    margin: 0 0 16px 0;
    padding-left: 20px;
    color: var(--text-secondary);
}

.premium-upgrade-box ul li {
    margin-bottom: 6px;
}

.insights-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 16px;
}

.insight-card {
    background: #1e1e2e;
    border-radius: 10px;
    padding: 16px;
    border-left: 4px solid #666;
}

.insight-card.shelf {
    border-left-color: #22c55e;
}

.insight-card.atm {
    border-left-color: #f59e0b;
}

.insight-card.warrant {
    border-left-color: #3b82f6;
}

.insight-card.convertible {
    border-left-color: #a855f7;
}

.insight-card.event {
    border-left-color: #ef4444;
}

.insight-header {
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 12px;
    color: var(--text-primary);
}

.insight-body {
    font-size: 13px;
}

.insight-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    color: var(--text-secondary);
}

.insight-row strong {
    color: var(--text-primary);
}

.insight-link {
    display: inline-block;
    margin-top: 12px;
    color: #3b82f6;
    text-decoration: none;
    font-size: 12px;
}

.insight-link:hover {
    text-decoration: underline;
}

.transaction-dot.buy {
    background: #28a745;
}

.transaction-dot.sell {
    background: #dc3545;
}

.transaction-dot.option_exercise {
    background: #ffc107;
}

.legend-item.buy {
    color: #28a745;
}

.legend-item.sell {
    color: #dc3545;
}

.legend-item.option_exercise {
    color: #ffc107;
}

.activity-section {
    margin: 30px 0;
    background: var(--bg-hover);
    border-radius: 12px;
    padding: 15px;
}

.activity-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.buy-text {
    color: #28a745;
}

.sell-text {
    color: #dc3545;
}

.bar-chart-container {
    display: flex;
    gap: 10px;
}

.chart-y-axis {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    font-size: 10px;
    color: var(--text-muted);
    padding: 5px 0;
    width: 30px;
    text-align: right;
}

.bar-chart {
    flex: 1;
    height: 250px;
    display: flex;
    align-items: center;
    gap: 4px;
    position: relative;
    background: linear-gradient(180deg, rgba(40,167,69,0.05) 0%, rgba(40,167,69,0.05) 49%, rgba(220,53,69,0.05) 51%, rgba(220,53,69,0.05) 100%);
    border-radius: 8px;
    padding: 5px;
}

.chart-zero-line {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    border-top: 1px solid var(--border);
}

.bar-wrapper {
    flex: 1;
    height: 100%;
    position: relative;
    cursor: pointer;
}

.bar-wrapper:hover .bar {
    filter: brightness(1.3);
}

.bar {
    position: absolute;
    left: 10%;
    right: 10%;
    border-radius: 3px;
    transition: filter 0.2s;
}

.bar.buy {
    background: linear-gradient(180deg, #28a745, #1e7e34);
    bottom: 50%;
}

.bar.sell {
    background: linear-gradient(0deg, #dc3545, #bd2130);
    top: 50%;
}

.bar.option {
    background: linear-gradient(180deg, #ffc107, #d39e00);
    bottom: 50%;
}

.chart-legend {
    display: flex;
    gap: 20px;
    margin-top: 15px;
    font-size: 13px;
    color: var(--text-muted);
}

.chart-legend .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 4px;
}

.chart-legend .dot.buy {
    background: #28a745;
}

.chart-legend .dot.sell {
    background: #dc3545;
}

.chart-legend .dot.option {
    background: #ffc107;
}

.hedge-item.new_position, .hedge-item.increased {
    border-left-color: #28a745;
}

.hedge-item.decreased {
    border-left-color: #dc3545;
}

.hedge-change.new_position, .hedge-change.increased {
    color: #28a745;
}

.hedge-change.decreased {
    color: #dc3545;
}

.no-activity {
    text-align: center;
    padding: 30px;
    color: var(--text-muted);
    font-style: italic;
}

.ai-processing {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
    padding: 30px;
    background: rgba(0, 100, 200, 0.08);
    border-radius: 12px;
    border: 1px solid rgba(100, 180, 255, 0.2);
}

.ai-processing span {
    color: #7ec8ff;
    font-size: 14px;
    text-align: center;
    animation: textPulse 2s ease-in-out infinite;
}

.hal-eye {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: radial-gradient(circle, #5a9fd4 0%, #1a5a8a 40%, #0d3a5c 70%, #061a2e 100%);
    box-shadow: 0 0 15px rgba(80, 140, 200, 0.4),
        0 0 30px rgba(80, 140, 200, 0.2),
        inset 0 0 10px rgba(200, 220, 255, 0.2);
    animation: halPulse 2s ease-in-out infinite;
}

.country-flag {
    width: auto;
    height: 14px;
    vertical-align: middle;
    margin-right: 4px;
    border-radius: 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

.card-hal-processing {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
}

.card-hal-processing .hal-eye {
    width: 24px;
    height: 24px;
}

.market-intelligence-section {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--border);
}

.market-intelligence-section h3 {
    color: var(--text-primary);
    margin-bottom: 20px;
    font-size: 1.1rem;
}

.short-stat {
    text-align: center;
}

.stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-primary);
}

.stat-label {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 4px;
}

.short-stat.critical .stat-value {
    color: #ef4444;
}

.holders-list {
    max-height: 400px;
    overflow-y: auto;
}

.holder-row {
    display: flex;
    align-items: center;
    padding: 12px 10px;
    border-bottom: 1px solid var(--border);
}

.holder-row:hover {
    background: var(--bg-hover);
}

.holder-rank {
    width: 30px;
    color: var(--text-muted);
    font-weight: 600;
}

.holder-name {
    flex: 1;
    color: var(--text-primary);
    font-weight: 500;
}

.holder-shares {
    width: 120px;
    text-align: right;
    color: var(--text-secondary);
}

.holder-value {
    width: 100px;
    text-align: right;
    color: #60a5fa;
}

.short-history {
    max-height: 300px;
    overflow-y: auto;
}

.history-row {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid var(--border);
}

.history-date {
    width: 100px;
    color: var(--text-muted);
}

.history-si {
    flex: 1;
    color: var(--text-primary);
}

.history-pct {
    width: 80px;
    text-align: right;
    color: var(--text-secondary);
}

.history-change {
    width: 80px;
    text-align: right;
    font-weight: 600;
}

.history-change.positive {
    color: #22c55e;
}

.history-change.negative {
    color: #ef4444;
}

.sec-link {
    display: block;
    text-align: center;
    margin-top: 20px;
    color: #60a5fa;
    text-decoration: none;
}

.sec-link:hover {
    text-decoration: underline;
}

.data-note {
    font-size: 0.8rem;
    color: var(--text-muted);
    text-align: center;
    margin-top: 20px;
    font-style: italic;
}

.hal-loading {
    position: relative;
}

.inst-chart {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 8px 0;
}

.inst-bar-row {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 24px;
}

.inst-bar-label {
    width: 130px;
    min-width: 130px;
    font-size: 0.7rem;
    color: var(--text-secondary);
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inst-bar-track {
    flex: 1;
    height: 20px;
    background: rgba(30, 41, 59, 0.5);
    border-radius: 3px;
    overflow: hidden;
}

.inst-bar {
    height: 100%;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 6px;
    transition: width 0.5s ease;
    min-width: 30px;
}

.inst-bar.buy {
    background: linear-gradient(90deg, rgba(34, 197, 94, 0.3), rgba(34, 197, 94, 0.7));
}

.inst-bar.sell {
    background: linear-gradient(90deg, rgba(239, 68, 68, 0.3), rgba(239, 68, 68, 0.7));
}

.inst-bar.neutral {
    background: linear-gradient(90deg, rgba(100, 116, 139, 0.3), rgba(100, 116, 139, 0.6));
}

.inst-bar-value {
    font-size: 0.65rem;
    color: #fff;
    font-weight: 600;
}

.inst-bar-change {
    width: 65px;
    min-width: 65px;
    font-size: 0.7rem;
    text-align: left;
}

.inst-bar-change.buy {
    color: #22c55e;
}

.inst-bar-change.sell {
    color: #ef4444;
}

.inst-bar-change.neutral {
    color: var(--text-muted);
}

.dot.neutral-dot {
    background-color: var(--text-muted);
}

body.ready {
    visibility: visible;
}

.container {
    padding-top: 100px;
    position: relative;
    z-index: 1;
}

.section-header h2 {
    color: var(--text-primary);
    font-weight: 700;
}

.contact-compact {
    margin-top: 24px;
    padding: 20px 24px;
    border-radius: 10px;
    background: rgba(15,23,42,0.35);
    border: 1px solid rgba(59,130,246,0.1);
    backdrop-filter: blur(6px);
}

.contact-compact-title {
    margin: 0 0 4px 0;
    font-size: 15px;
    font-weight: 600;
    color: #93c5fd;
}

.contact-compact-sub {
    color: var(--text-muted);
    font-size: 12px;
    margin: 0 0 14px 0;
}

.contact-compact-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

/* Sound toggle icons */
.sound-off-icon {
    color: rgba(148, 163, 184, 0.6);
    transition: all 0.2s ease;
    display: inline-block;
    vertical-align: middle;
}
.sound-on-icon {
    color: #3b82f6;
    transition: all 0.2s ease;
    display: none;
    vertical-align: middle;
}
#pulseSoundToggle.active .sound-off-icon {
    display: none;
}
#pulseSoundToggle.active .sound-on-icon {
    display: inline-block;
}

.contact-textarea {
    resize: vertical;
    min-height: 100px;
}

.contact-footnote {
    color: var(--text-muted);
    font-size: 11px;
}

.contact-success {
    color: #22c55e;
    padding: 12px;
    background: rgba(34,197,94,0.1);
    border-radius: 8px;
}

.contact-error {
    color: #ef4444;
    padding: 12px;
    background: rgba(239,68,68,0.1);
    border-radius: 8px;
}

.upgrade-cards {
    display: flex;
    gap: 16px;
    flex-wrap: nowrap;
    align-items: stretch;
}

.upgrade-card {
    flex: 1 1 0;
    min-width: 0;
    border-radius: 14px;
    padding: 24px 20px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.upgrade-card .sub-checkout-btn {
    margin-top: auto;
}

.upgrade-card:hover {
    transform: translateY(-2px);
}

.upgrade-card-basic {
    background: var(--accent-bg);
    border: 1px solid var(--border-accent);
}

.upgrade-card-basic:hover {
    box-shadow: 0 8px 28px rgba(59, 130, 246, 0.14);
}

.upgrade-card-premium {
    background: rgba(139, 92, 246, 0.08);
    border: 1.5px solid rgba(139, 92, 246, 0.35);
    position: relative;
}

.upgrade-card-premium::before {
    content: "MOST POPULAR";
    position: absolute;
    top: -11px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #7c3aed, #a855f7);
    color: white;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    padding: 3px 12px;
    border-radius: 20px;
    white-space: nowrap;
}

.upgrade-card-premium:hover {
    box-shadow: 0 8px 32px rgba(139, 92, 246, 0.2);
}

.upgrade-card-name {
    font-weight: 800;
    margin-bottom: 2px;
    font-size: 1.1rem;
    letter-spacing: -0.01em;
}

.upgrade-card-price {
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--text-primary);
    line-height: 1;
    letter-spacing: -0.02em;
}

.upgrade-card-period {
    font-size: 0.85rem;
    color: var(--text-muted);
    font-weight: 400;
    margin-left: 2px;
}

.upgrade-card-features {
    color: var(--text-secondary);
    font-size: 0.82rem;
    margin: 4px 0 8px;
    line-height: 1.5;
}

/* ═══ PULSE FEED OVERRIDES ═══ */

.pulse-summary-banner {
    display: flex;
    align-items: center;
    gap: 0;
    background: var(--section-bg);
    border: 1px solid rgba(59,130,246,0.08);
    border-radius: 12px;
    padding: 14px 20px;
    margin-bottom: 16px;
}

.pulse-summary-stat {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.pulse-summary-stat:hover {
    background: var(--bg-hover);
}

.pulse-summary-stat.active {
    background: var(--bg-active);
    outline: 1px solid var(--border);
}

.stat-critical .pulse-stat-indicator {
    background: #ef4444;
    box-shadow: 0 0 8px rgba(239,68,68,0.5);
}

.stat-high .pulse-stat-indicator {
    background: #f97316;
    box-shadow: 0 0 8px rgba(249,115,22,0.4);
}

.stat-medium .pulse-stat-indicator {
    background: #eab308;
    box-shadow: 0 0 8px rgba(234,179,8,0.35);
}

.stat-low .pulse-stat-indicator {
    background: #22c55e;
    box-shadow: 0 0 8px rgba(34,197,94,0.35);
}

.pulse-stat-count {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text-primary);
    font-variant-numeric: tabular-nums;
}

.pulse-stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.pulse-summary-meta {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pulse-last-updated {
    font-size: 0.72rem;
    color: var(--text-muted);
    font-variant-numeric: tabular-nums;
}

.pulse-refresh-btn {
    background: var(--accent-bg);
    border: 1px solid rgba(59,130,246,0.12);
    border-radius: 6px;
    padding: 5px 7px;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.25s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pulse-refresh-btn:hover {
    border-color: rgba(59,130,246,0.3);
    color: #93c5fd;
}

.pulse-refresh-btn.spinning svg {
    animation: pulseSpinAnim 0.6s ease;
}

.pulse-controls {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 16px;
    background: var(--section-bg);
    border: 1px solid var(--border-subtle);
    border-radius: 12px;
    overflow: hidden;
}

.pulse-filter-group {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 14px 18px;
    border-bottom: 1px solid rgba(255,255,255,0.04);
}

.pulse-controls-right {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    flex-wrap: wrap;
}

.pulse-toggle {
    background: var(--section-bg);
    border: 1px solid var(--input-border);
    border-radius: 8px;
    padding: 7px 16px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #7a8ba8;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    user-select: none;
}

.pulse-toggle:hover {
    border-color: rgba(59,130,246,0.3);
    color: #b0bfcf;
}

.pulse-toggle.active {
    background: var(--accent-subtle);
    border-color: rgba(59,130,246,0.35);
    color: #93c5fd;
}

.pulse-mark-all-read {
    background: var(--section-bg);
    border: 1px solid var(--input-border);
    border-radius: 8px;
    padding: 7px 16px;
    font-size: 0.85rem;
    font-weight: 500;
    color: #7a8ba8;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    margin-left: auto;
}

.pulse-mark-all-read:hover {
    border-color: rgba(34,197,94,0.35);
    color: #86efac;
    background: rgba(34,197,94,0.08);
}

/* sound toggle handled by icon swap */

#pulseSoundToggle.active .sound-bell {
    color: #93c5fd;
}

.pulse-ticker-select, .pulse-sort-select {
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: 8px;
    padding: 7px 14px;
    font-size: 0.85rem;
    color: var(--text-secondary);
    cursor: pointer;
}

.pulse-ticker-select:focus, .pulse-sort-select:focus {
    border-color: rgba(59,130,246,0.35);
    outline: none;
}

.pulse-card {
    background: var(--section-bg);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
    margin-bottom: 6px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.pulse-card:hover {
    border-color: rgba(59,130,246,0.12);
    background: rgba(10,15,32,0.55);
}

.pulse-card.priority-critical {
    border-left: 3px solid #ef4444;
}

.pulse-card.priority-high {
    border-left: 3px solid #f97316;
}

.pulse-card.priority-medium {
    border-left: 3px solid #eab308;
}

.pulse-card.priority-low {
    border-left: 3px solid #22c55e;
}

.pulse-card.pulse-unread {
    background: rgba(12,18,38,0.55);
    border-color: rgba(59,130,246,0.08);
}

.pulse-card-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    position: relative;
}

.pulse-card-icon {
    font-size: 1.1rem;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--text-muted);
}

.pulse-card.priority-critical .pulse-card-icon {
    color: #ef4444;
}

.pulse-card.priority-high .pulse-card-icon {
    color: #f97316;
}

.pulse-card.priority-medium .pulse-card-icon {
    color: #eab308;
}

.pulse-card.priority-low .pulse-card-icon {
    color: #22c55e;
}

.pulse-card-body {
    flex: 1;
    min-width: 0;
}

.pulse-card-top-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 4px;
}

.pulse-ticker-badge {
    background: var(--accent-subtle);
    border: 1px solid var(--border-accent);
    color: #93c5fd;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    letter-spacing: 0.3px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pulse-ticker-badge:hover {
    background: rgba(59,130,246,0.2);
    border-color: rgba(96,165,250,0.4);
}

.pulse-event-type {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.pulse-score-badge {
    font-size: 0.76rem;
    font-weight: 700;
    color: var(--text-muted);
    background: var(--bg-hover);
    padding: 1px 6px;
    border-radius: 4px;
    font-variant-numeric: tabular-nums;
}

.pulse-timestamp {
    font-size: 0.78rem;
    color: var(--text-muted);
    margin-left: auto;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}

.pulse-headline {
    font-size: 0.95rem;
    color: var(--text-secondary);
    line-height: 1.4;
    margin-bottom: 2px;
}

.pulse-why {
    font-size: 0.85rem;
    color: var(--text-muted);
    line-height: 1.35;
}

.pulse-card-actions {
    flex-shrink: 0;
    padding-top: 2px;
}

.pulse-ack-btn {
    background: transparent;
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 50%;
    width: 26px;
    height: 26px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-muted);
    font-size: 0.8rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pulse-ack-btn:hover {
    border-color: rgba(34,197,94,0.3);
    color: #86efac;
    background: rgba(34,197,94,0.06);
}

.pulse-card-detail {
    display: none;
    padding: 0 16px 14px 56px;
    gap: 12px;
    align-items: center;
}

.pulse-card.expanded .pulse-card-detail {
    display: flex;
}

.pulse-detail-btn {
    background: var(--accent-bg);
    border: 1px solid var(--border-accent);
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 0.84rem;
    color: #93c5fd;
    cursor: pointer;
    transition: all 0.2s ease;
    font-weight: 500;
}

.pulse-detail-btn:hover {
    background: var(--accent-subtle);
    border-color: rgba(96,165,250,0.3);
}

.pulse-detail-link {
    font-size: 0.84rem;
    color: var(--text-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.pulse-detail-link:hover {
    color: #93c5fd;
}

.pulse-cluster .pulse-cluster-children {
    display: none;
    padding: 0 16px 12px 56px;
}

.pulse-cluster.expanded .pulse-cluster-children {
    display: block;
}

.pulse-cluster-child {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-left: 2px solid rgba(59,130,246,0.1);
    margin-bottom: 4px;
    border-radius: 0 6px 6px 0;
    background: rgba(255,255,255,0.015);
    font-size: 0.82rem;
}

.pulse-cluster-badge {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--text-secondary);
    background: var(--accent-bg);
    padding: 2px 8px;
    border-radius: 4px;
}

.pulse-digest-group {
    margin-bottom: 8px;
}

.pulse-digest-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    background: var(--section-bg);
    border: 1px solid rgba(59,130,246,0.06);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.pulse-digest-header:hover {
    border-color: var(--border-accent);
}

.pulse-digest-date {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-secondary);
}

.pulse-digest-counts {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.pulse-digest-arrow {
    margin-left: auto;
    color: var(--text-muted);
    font-size: 0.7rem;
    transition: transform 0.25s ease;
}

.pulse-digest-group.collapsed .pulse-digest-arrow {
    transform: rotate(-90deg);
}

.pulse-digest-group.collapsed .pulse-digest-body {
    display: none;
}

.pulse-digest-body {
    padding-top: 6px;
}

.pulse-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
}

.pulse-empty-icon {
    font-size: 2.5rem;
    margin-bottom: 12px;
    opacity: 0.5;
}

.pulse-empty-text {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-muted);
    margin-bottom: 6px;
}

.pulse-empty-sub {
    font-size: 0.85rem;
    color: var(--text-muted);
}

.pulse-loading {
    text-align: center;
    padding: 60px 20px;
    color: var(--text-muted);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

.pulse-loading-spinner {
    width: 28px;
    height: 28px;
    border: 2px solid rgba(59,130,246,0.12);
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: pulseSpinAnim 0.8s linear infinite;
}

.pulse-load-more {
    text-align: center;
    padding: 16px;
}

.pulse-load-more-btn {
    background: var(--accent-bg);
    border: 1px solid var(--border-accent);
    border-radius: 8px;
    padding: 8px 24px;
    color: #93c5fd;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
}

.pulse-load-more-btn:hover {
    background: rgba(59,130,246,0.14);
    border-color: rgba(96,165,250,0.3);
}

.pulse-tab-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    border-radius: 9px;
    font-size: 0.65rem;
    font-weight: 700;
    color: #fff;
    padding: 0 5px;
    margin-left: 6px;
    vertical-align: middle;
}

.pulse-tab-badge.empty {
    display: none;
}

/* ═══ ANIMATIONS & MEDIA QUERIES ═══ */

@media (max-width: 600px) {
    .ticker-header {
        flex-direction: column;
        gap: 15px;
    }

    .dilution-score-badge {
        align-self: flex-start;
    }

    .ticker-actions {
        flex-wrap: wrap;
    }

    .modal-content {
        padding: 20px;
    }

    .big-score {
        font-size: 3rem;
    }
    
    .ticker-metrics {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

    @keyframes scrollData { 0%{transform:translateX(-50%)} 100%{transform:translateX(50%)} }

    @keyframes scrollDataReverse { 0%{transform:translateX(50%)} 100%{transform:translateX(-50%)} }

    @keyframes pulseSpinAnim { to { transform: rotate(360deg); } }

    @media (max-width: 768px) {
        .pulse-filter-group { gap: 6px; padding: 12px 14px; }
        .pulse-filter-pill { padding: 7px 14px; font-size: 0.82rem; }
        .pulse-controls-right { flex-wrap: wrap; padding: 8px 14px; }
        .pulse-summary-banner { flex-wrap: wrap; gap: 8px; }
        .pulse-summary-meta { width: 100%; justify-content: flex-end; padding-top: 6px; border-top: 1px solid rgba(59,130,246,0.06); }
        .pulse-timestamp { margin-left: 0; }
    }

/* ═══ FEATURE TOGGLES & THRESHOLD SLIDERS ═══ */

/* ============================================
   DILUTIONWATCH - FEATURE TOGGLES & THRESHOLDS CSS
   Add to styles.css or features.css
   ============================================ */

/* ============================================
   FEATURE SETTINGS WRAPPER
   ============================================ */

.feature-settings-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.settings-divider {
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--border), transparent);
    margin: 10px 0;
}

.settings-actions {
    display: flex;
    gap: 15px;
    justify-content: flex-start;
    padding-top: 20px;
    border-top: 1px solid var(--border-subtle);
}

.settings-actions .btn-primary {
    padding: 12px 28px;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    border: none;
    border-radius: 8px;
    color: white;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.settings-actions .btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.4);
}

.settings-actions .btn-primary.save-success {
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);
}

.settings-actions .btn-primary.save-error {
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.settings-actions .btn-secondary {
    padding: 12px 24px;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text-secondary);
    font-weight: 500;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.settings-actions .btn-secondary:hover {
    border-color: var(--text-muted);
    color: var(--text-primary);
}

/* ============================================
   FEATURE TOGGLES SECTION
   ============================================ */

.feature-toggles-section .section-title,
.threshold-sliders-section .section-title {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-primary);
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0 0 8px 0;
}

.title-icon {
    font-size: 1.2rem;
}

.section-desc {
    color: var(--text-muted);
    font-size: 0.85rem;
    margin: 0 0 20px 0;
}

.feature-toggles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 15px;
}

.feature-toggle-card {
    background: var(--bg-surface-gradient);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 18px;
    transition: all 0.3s ease;
}

.feature-toggle-card.enabled {
    border-color: #3b82f6;
    box-shadow: 0 0 20px rgba(59, 130, 246, 0.1);
}

.feature-toggle-card.disabled {
    opacity: 0.6;
}

.feature-toggle-card.disabled .feature-icon {
    filter: grayscale(100%);
}

.feature-toggle-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.feature-icon {
    font-size: 1.8rem;
    transition: filter 0.3s ease;
}

/* Feature Toggle Switch */
.feature-switch {
    position: relative;
    display: inline-block;
    width: 52px;
    height: 28px;
}

.feature-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--border);
    border-radius: 28px;
    transition: 0.3s;
}

.switch-slider:before {
    position: absolute;
    content: "";
    height: 22px;
    width: 22px;
    left: 3px;
    bottom: 3px;
    background-color: var(--text-muted);
    border-radius: 50%;
    transition: 0.3s;
}

.feature-switch input:checked + .switch-slider {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

.feature-switch input:checked + .switch-slider:before {
    transform: translateX(24px);
    background-color: white;
}

.feature-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.feature-name {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 600;
}

.feature-desc {
    color: var(--text-muted);
    font-size: 0.8rem;
    line-height: 1.4;
}

/* ============================================
   THRESHOLD SLIDERS SECTION
   ============================================ */

.threshold-slider-container {
    margin-bottom: 25px;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
}

.threshold-slider-card {
    background: var(--bg-surface-gradient);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
}

.slider-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.slider-label {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 600;
}

.slider-value {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: white;
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 0.9rem;
    font-weight: 700;
    min-width: 70px;
    text-align: center;
}

.slider-desc {
    color: var(--text-muted);
    font-size: 0.8rem;
    margin: 0 0 20px 0;
}

.slider-wrapper {
    position: relative;
    padding: 10px 0 35px 0;
}

/* Custom Range Slider */
.threshold-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(
        to right,
        #3b82f6 0%,
        #3b82f6 var(--slider-progress, 50%),
        var(--border-subtle) var(--slider-progress, 50%),
        var(--border-subtle) 100%
    );
    outline: none;
    cursor: pointer;
}

/* Slider Thumb - WebKit */
.threshold-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    border: 3px solid white;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(59, 130, 246, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.threshold-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.6);
}

.threshold-slider::-webkit-slider-thumb:active {
    transform: scale(1.15);
}

/* Slider Thumb - Firefox */
.threshold-slider::-moz-range-thumb {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    border: 3px solid white;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(59, 130, 246, 0.4);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.threshold-slider::-moz-range-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.6);
}

/* Slider Track - Firefox */
.threshold-slider::-moz-range-track {
    height: 8px;
    border-radius: 4px;
    background: var(--border-subtle);
}

.threshold-slider::-moz-range-progress {
    height: 8px;
    border-radius: 4px;
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
}

/* Tick Marks */
.slider-ticks {
    position: absolute;
    bottom: 10px;
    left: 0;
    right: 0;
    height: 20px;
}

.tick-mark {
    position: absolute;
    transform: translateX(-50%);
    color: var(--text-muted);
    font-size: 0.7rem;
    font-weight: 500;
}

.tick-mark::before {
    content: '';
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 6px;
    background: var(--border);
}

/* Slider Labels */
.slider-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
}

.slider-labels .label-low,
.slider-labels .label-high {
    font-size: 0.7rem;
    color: var(--text-muted);
}

.slider-labels .label-low {
    text-align: left;
}

.slider-labels .label-high {
    text-align: right;
}

/* ============================================
   GRADIENT SLIDERS (Optional - Colored by Risk)
   ============================================ */

/* Float Change Slider - Green to Red (more change = higher alert threshold) */
.threshold-slider-card.float-slider .threshold-slider {
    background: linear-gradient(
        to right,
        #22c55e 0%,
        #22c55e var(--slider-progress, 50%),
        var(--border-subtle) var(--slider-progress, 50%),
        var(--border-subtle) 100%
    );
}

/* Institutional Ownership Slider */
.threshold-slider-card.inst-slider .threshold-slider {
    background: linear-gradient(
        to right,
        #3b82f6 0%,
        #3b82f6 var(--slider-progress, 50%),
        var(--border-subtle) var(--slider-progress, 50%),
        var(--border-subtle) 100%
    );
}

/* DilutionScore Slider - Uses score colors */
.threshold-slider-card.score-slider .threshold-slider {
    background: linear-gradient(
        to right,
        #f59e0b 0%,
        #f59e0b var(--slider-progress, 50%),
        var(--border-subtle) var(--slider-progress, 50%),
        var(--border-subtle) 100%
    );
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .feature-toggles-grid {
        grid-template-columns: 1fr;
    }
    
    .feature-toggle-card {
        padding: 15px;
    }
    
    .feature-icon {
        font-size: 1.5rem;
    }
    
    .slider-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
    
    .slider-value {
        align-self: flex-end;
    }
    
    .slider-labels {
        flex-direction: column;
        gap: 4px;
    }
    
    .slider-labels .label-high {
        text-align: left;
    }
    
    .settings-actions {
        flex-direction: column;
    }
    
    .settings-actions button {
        width: 100%;
    }
    
    .tick-mark {
        font-size: 0.6rem;
    }
}

@media (max-width: 480px) {
    .threshold-slider::-webkit-slider-thumb {
        width: 28px;
        height: 28px;
    }
    
    .threshold-slider::-moz-range-thumb {
        width: 28px;
        height: 28px;
    }
}

/* ═══ FEATURE COMPONENT STYLES (Inst. Ownership, Float, Score, Alerts) ═══ */

/* ============================================
   DILUTIONWATCH - NEW FEATURES CSS
   Institutional Ownership, Float Data, DilutionScore™, Enhanced Alerts
   Add to styles.css
   ============================================ */

/* ============================================
   COMMON STYLES
   ============================================ */

.loading-spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--border-subtle);
    border-top-color: #3b82f6;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 40px auto;
}

@keyframes spin {
}

.empty-state, .error, .no-data {
    text-align: center;
    color: var(--text-muted);
    padding: 30px;
    font-style: italic;
}

.error {
    color: #ef4444;
}

/* Change indicators */
.positive { color: #22c55e !important; }
.negative { color: #ef4444 !important; }

/* ============================================
   INSTITUTIONAL OWNERSHIP STYLES
   ============================================ */

.inst-stat {
    text-align: center;
}

.inst-stat .stat-value {
    display: block;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--text-primary);
}

.inst-stat .stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.inst-stat.positive .stat-value { color: #22c55e; }
.inst-stat.negative .stat-value { color: #ef4444; }

/* Institutional Holdings Table */

.inst-holders-table .holder-name {
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.inst-holders-table .shares,
.inst-holders-table .pct {
    text-align: right;
}

.inst-holders-table .change {
    text-align: right;
    font-weight: 500;
}

/* ============================================
   FLOAT DATA STYLES
   ============================================ */

.float-card.verified {
    border-color: #22c55e;
}

.float-change.up {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.float-change.down {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

.float-stat .value {
    display: block;
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--text-primary);
}

.float-stat .label {
    font-size: 0.7rem;
    color: var(--text-muted);
    text-transform: uppercase;
}

/* Float Breakdown */

.bar-segment.insider { background: #8b5cf6; }
.bar-segment.institutional { background: #3b82f6; }
.bar-segment.public { background: #22c55e; }

.legend-item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.75rem;
    color: var(--text-secondary);
}

.legend-item .dot {
    width: 10px;
    height: 10px;
    border-radius: 2px;
}

.dot.insider { background: #8b5cf6; }
.dot.institutional { background: #3b82f6; }
.dot.restricted { background: #f59e0b; }
.dot.public { background: #22c55e; }

/* ============================================
   DILUTIONSCORE™ STYLES
   ============================================ */

.risk-badge {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 0.75rem;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.score-circle .score-value {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.score-circle .score-value .number {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1;
}

.score-change {
    font-size: 0.8rem;
    font-weight: 600;
}

.score-change.positive { color: #22c55e; }
.score-change.negative { color: #ef4444; }

/* Component Bars */

.score-footer .updated {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Mini Score Badge */

/* ============================================
   ALERT PREFERENCES STYLES
   ============================================ */

.alert-prefs-category-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 0 8px;
    background: transparent;
    color: var(--text-primary);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin: 8px 0 4px;
    border-bottom: 1px solid var(--border-subtle);
}

.category-icon {
    font-size: 1.1rem;
}

/* Toggle Switch — inherits from .toggle-switch rules above */

/* alert-toggle checked: green pill (categories use .toggle-switch which is already green) */

.priority-badge {
    padding: 3px 8px;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.priority-badge.priority-critical {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

.priority-badge.priority-high {
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
}

.priority-badge.priority-medium {
    background: var(--accent-subtle);
    color: #3b82f6;
}

.priority-badge.priority-low {
    background: rgba(34, 197, 94, 0.15);
    color: #22c55e;
}

/* ============================================
   TICKER DETAIL CARD
   ============================================ */

.ticker-detail-card .ticker-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    background: var(--border-subtle);
    border-bottom: 1px solid var(--border);
}

.ticker-detail-card .ticker-header h3 {
    color: var(--text-primary);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
}

/* ============================================
   WATCHLIST DASHBOARD
   ============================================ */

.summary-stat {
    text-align: center;
}

.summary-stat .stat-value {
    display: block;
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-primary);
}

.summary-stat .stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.summary-stat.alert .stat-value { color: #ef4444; }
.summary-stat.warning .stat-value { color: #f97316; }

.watchlist-ticker-row .ticker-symbol {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-primary);
    width: 60px;
}

.watchlist-ticker-row .score-change {
    font-size: 0.8rem;
    margin-left: auto;
}

.watchlist-ticker-row .score-change.up { color: #22c55e; }
.watchlist-ticker-row .score-change.down { color: #ef4444; }

.cash-runway.warning {
    background: rgba(249, 115, 22, 0.15);
    color: #f97316;
}

.cash-runway.critical {
    background: rgba(239, 68, 68, 0.15);
    color: #ef4444;
}

/* ============================================
   RESPONSIVE ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
    
    .inst-stat .stat-value {
        font-size: 1.1rem;
    }
    
    .score-circle .score-value .number {
        font-size: 2rem;
    }
    
    .summary-stat {
        flex: 1 1 45%;
    }
}

@media (max-width: 480px) {
    
    .inst-holders-table .holder-name {
        max-width: 100px;
    }
    
    .priority-badge {
        margin-left: auto;
    }
}

/* ═══ UTILITY CLASSES (for HTML cleanup) ═══ */

.section-pad { padding: 16px; }
.mb-sm { margin-bottom: 12px; }
.mb-md { margin-bottom: 16px; }
.mb-lg { margin-bottom: 24px; }
.mt-sm { margin-top: 10px; }
.mt-md { margin-top: 12px; }
.mt-lg { margin-top: 16px; }
.text-center { text-align: center; }
.text-upper { text-transform: uppercase; }
.flex-row { display: flex; align-items: center; gap: 12px; }
.flex-row-wrap { display: flex; gap: 12px; flex-wrap: wrap; }
.flex-row-gap-lg { display: flex; gap: 24px; flex-wrap: wrap; align-items: end; }
.flex-1 { flex: 1; min-width: 160px; cursor: pointer; }
.no-underline { text-decoration: none; }
.input-min-w { min-width: 140px; }

/* Subscription tier badge */
.sub-tier-badge {
    padding: 6px 16px;
    border-radius: 20px;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Upgrade card name colors */
.upgrade-card-name.basic { color: var(--accent); }
.upgrade-card-name.premium { color: var(--color-purple); }
.sub-checkout-btn.basic { background: var(--accent); }
.sub-checkout-btn.premium { background: var(--color-purple); }
.annual-save { color: var(--color-green); font-size: 11px; }

/* Theme schedule settings panel */
.schedule-settings-panel {
    margin-top: 16px;
    padding: 16px;
    background: var(--accent-bg);
    border: 1px solid var(--border-subtle);
    border-radius: 10px;
}

/* Schedule time label */
.schedule-label {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    margin-bottom: 6px;
    color: var(--text-primary);
}

/* Theme save message */
.save-message {
    margin-left: 12px;
    font-size: 0.85rem;
    color: var(--color-green);
}

/* Contact compact */
.contact-compact {
    background: var(--bg-surface-gradient);
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 20px;
}
.contact-compact-title { color: var(--text-primary); }
.contact-compact-sub { color: var(--text-muted); }

/* Light theme dilution score badge - preserve risk colors */
html[data-theme="light"] .dilution-score-badge {
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
html[data-theme="light"] .dilution-score-badge .score-value {
    text-shadow: none;
    color: #ffffff;
}
html[data-theme="light"] .dilution-score-badge.risk-critical {
    background: linear-gradient(135deg, #991b1b 0%, #ef4444 100%);
    border: 1.5px solid rgba(239,68,68,0.5);
}
html[data-theme="light"] .dilution-score-badge.risk-high {
    background: linear-gradient(135deg, #9a3412 0%, #f97316 100%);
    border: 1.5px solid rgba(249,115,22,0.5);
}
html[data-theme="light"] .dilution-score-badge.risk-medium {
    background: linear-gradient(135deg, #854d0e 0%, #eab308 100%);
    border: 1.5px solid rgba(234,179,8,0.5);
}
html[data-theme="light"] .dilution-score-badge.risk-low {
    background: linear-gradient(135deg, #166534 0%, #22c55e 100%);
    border: 1.5px solid rgba(34,197,94,0.5);
}
html[data-theme="light"] .dilution-score-badge.risk-unknown {
    background: linear-gradient(135deg, rgba(255,255,255,0.85), rgba(240,245,255,0.9));
    border: 1.5px solid rgba(59,130,246,0.25);
}

/* Light theme text visibility fixes */
html[data-theme="light"] .company-name {
    color: #3b6cb5;
}
html[data-theme="light"] .ticker-symbol {
    color: #1e3a5f;
}
html[data-theme="light"] .risk-badge {
    font-weight: 700;
}
html[data-theme="light"] .dilution-score-badge .score-label {
    color: #3b6cb5;
}

/* Send Verification Link & generic btn-primary in email settings */
#sendEmailVerification,
#emailChangeSection .btn-primary {
    padding: 12px 28px;
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);
    border: 1px solid rgba(96, 165, 250, 0.5);
    border-radius: 10px;
    color: #ffffff;
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0.3px;
}
#sendEmailVerification:hover,
#emailChangeSection .btn-primary:hover {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    transform: translateY(-2px);
    box-shadow: 0 4px 20px rgba(96, 165, 250, 0.4);
}

/* ===== COMPACT TICKER CARDS ===== */
.ticker-card {
    padding: 10px 14px !important;
    border-radius: 10px !important;
    margin-bottom: 1px !important;
}
.ticker-card:hover {
    transform: none !important;
}
.ticker-header {
    margin-bottom: 6px !important;
}
.ticker-identity {
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
}
.ticker-symbol {
    font-size: 1.1rem !important;
}
.company-name {
    font-size: 0.8rem !important;
    margin-top: 0 !important;
}
.ticker-metrics {
    gap: 6px !important;
    margin-bottom: 6px !important;
}
.ticker-metrics .metric {
    padding: 6px 10px !important;
    border-radius: 6px !important;
}
.metric-label {
    font-size: 0.7rem !important;
}
.metric-value {
    font-size: 0.85rem !important;
}
.risk-badge {
    padding: 2px 8px !important;
    font-size: 0.7rem !important;
}
.ticker-actions {
    margin-top: 4px !important;
    padding-top: 8px !important;
    gap: 6px !important;
}
.ticker-actions button {
    padding: 4px 10px !important;
    font-size: 0.75rem !important;
}
.dilution-score-badge {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
}
.dilution-score-badge .score-value {
    font-size: 1.2rem !important;
}
.dilution-score-badge .score-label {
    font-size: 0.5rem !important;
}

/* ===== DILUTION SCORE BADGE ===== */
.dilution-score-badge {
    width: 72px !important;
    height: auto !important;
    min-width: 72px !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    padding: 8px 6px !important;
}
.dilution-score-badge .score-value {
    font-size: 1.4rem !important;
}
.dilution-score-badge .score-label {
    font-size: 0.45rem !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    text-align: center !important;
}

/* ===== TICKER CARD SCORE BADGE ===== */
.ticker-header .dilution-score-badge {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 72px !important;
    height: 64px !important;
    min-width: 72px !important;
    border-radius: 10px;
    padding: 6px 8px !important;
}
.ticker-header .dilution-score-badge .score-value {
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.1;
}
.ticker-header .dilution-score-badge .score-label {
    font-size: 0.5rem;
    letter-spacing: 0.5px;
    white-space: nowrap;
    opacity: 0.9;
}

/* ===== COMPACT SETTINGS & SECTIONS ===== */
.preference-group {
    padding: 16px 18px !important;
    margin-bottom: 12px !important;
}
.preference-group-title {
    font-size: 1rem !important;
    margin-bottom: 8px !important;
}
.radio-card {
    padding: 0 !important;
    flex: 1;
}
.radio-card .radio-text p {
    display: none !important;
}
.radio-card .radio-text strong {
    font-size: 0.88rem !important;
}
.radio-card .radio-icon {
    display: none !important;
}
.radio-group {
    gap: 0 !important;
}
.dashboard-section {
    padding: 16px !important;
    margin-bottom: 12px !important;
}
.form-actions {
    margin: 12px 0 !important;
    padding: 0 !important;
}
.form-actions-top {
    margin-bottom: 24px !important;
    margin-top: 8px !important;
    padding-top: 4px !important;
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}
.btn-action-unified {
    padding: 9px 18px !important;
    font-size: 0.82rem !important;
}
.dilution-box {
    padding: 10px 14px !important;
}
.dilution-help-text {
    font-size: 0.78rem !important;
    margin-top: 4px !important;
}
.slider-value-display {
    font-size: 1.6rem !important;
    font-weight: 800 !important;
}
.section-description {
    font-size: 0.82rem !important;
    margin-bottom: 8px !important;
}
.toggle-label {
    font-size: 0.92rem !important;
}
.category-card {
    padding: 12px 14px !important;
}
.severity-bar {
    gap: 4px !important;
    padding: 4px !important;
}
.severity-pill {
    padding: 4px 10px !important;
}
.pill-count {
    font-size: 0.9rem !important;
}
.pill-label {
    font-size: 0.65rem !important;
}

/* Alert Frequency + Quiet Hours side by side */
.alert-freq-quiet-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    align-items: start;
}
.alert-freq-quiet-row .preference-group {
    margin-bottom: 0 !important;
}
@media (max-width: 768px) {
    .alert-freq-quiet-row {
        grid-template-columns: 1fr;
    }
}

/* ===== SIDE-BY-SIDE TWEAKS ===== */
.alert-freq-quiet-row {
    align-items: stretch !important;
}
.alert-freq-quiet-row .radio-card {
    padding: 0 !important;
}
.alert-freq-quiet-row .radio-icon {
    display: none !important;
}
.alert-freq-quiet-row .radio-text p {
    display: none !important;
}
.alert-freq-quiet-row .radio-text strong {
    font-size: 0.82rem !important;
}
.alert-freq-quiet-row .radio-group {
    gap: 0 !important;
}
.alert-freq-quiet-row .toggle-label {
    font-size: 0.78rem !important;
}
.alert-freq-quiet-row .threshold-options {
    gap: 8px !important;
}
.alert-freq-quiet-row .threshold-input-group label {
    font-size: 0.78rem !important;
}
.alert-freq-quiet-row .help-text {
    font-size: 0.7rem !important;
}
.alert-freq-quiet-row #quietHoursSettings {
    margin-top: 8px !important;
}

/* ===== QUIET HOURS STACK TIMES VERTICALLY ===== */
.alert-freq-quiet-row .threshold-options {
    flex-direction: column !important;
    gap: 6px !important;
}
.alert-freq-quiet-row .threshold-input-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.alert-freq-quiet-row .threshold-input-group p.help-text {
    display: none !important;
}

/* ===== FORCE STACK QUIET HOURS TIMES ===== */
.alert-freq-quiet-row .threshold-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-top: 8px !important;
}

/* ===== UNIFORM QUIET HOURS CARDS ===== */
.alert-freq-quiet-row .toggle-switch-horizontal {
    background: var(--card-bg, rgba(10, 20, 40, 0.6)) !important;
    border: 1px solid rgba(59,130,246,0.12) !important;
    border-radius: 8px !important;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}
.alert-freq-quiet-row .threshold-input-group {
    background: var(--card-bg, rgba(10, 20, 40, 0.6)) !important;
    border: 1px solid rgba(59,130,246,0.12) !important;
    border-radius: 8px !important;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.alert-freq-quiet-row .threshold-input-group label {
    font-size: 0.82rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    min-width: auto !important;
}
.alert-freq-quiet-row #quietHoursSettings {
    margin-top: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* ============================================
   LOGIN PAGE — CENTERED CARD LAYOUT
   ============================================ */
.lookup-section {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh;
    padding: 40px 20px;
}

.login-card {
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(96,165,250,0.15);
    border-radius: 16px;
    padding: 40px 36px;
    width: 100%;
    max-width: 420px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.login-logo {
    width: 300px;
    height: auto;
    display: block;
    margin: 0 auto 20px;
    object-fit: contain;
}

.login-heading {
    color: #ffffff;
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin: 0 0 8px;
    line-height: 1.3;
}

.login-tagline {
    color: rgba(148,163,184,0.7);
    font-size: 13px;
    text-align: center;
    margin: 0 0 28px;
    line-height: 1.5;
}

/* Within the login card, make oauth-buttons & magic-link full width */
.login-card .oauth-buttons {
    max-width: 100%;
    width: 100%;
    margin-top: 0;
}

.login-card .oauth-divider {
    max-width: 100%;
    width: 100%;
}

.login-card .magic-link-form {
    max-width: 100%;
    width: 100%;
}

.login-card #lookupMessage {
    width: 100%;
    text-align: center;
}

/* ============================================
   OAUTH SIGN-IN BUTTONS
   ============================================ */
.oauth-buttons {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 360px;
    margin: 24px auto 0;
}
.oauth-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 14px 24px;
    border-radius: 10px;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    border: 1px solid transparent;
}
.oauth-btn svg { flex-shrink: 0; }
.oauth-google {
    background: #fff;
    color: #3c4043;
    border-color: #dadce0;
}
.oauth-google:hover {
    background: #f7f8f8;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    color: #3c4043;
}
.oauth-microsoft {
    background: #fff;
    color: #5e5e5e;
    border-color: #8c8c8c;
}
.oauth-microsoft:hover {
    background: #f3f3f3;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    color: #5e5e5e;
}
.oauth-apple {
    background: #000;
    color: #fff;
    border-color: #333;
}
.oauth-apple:hover {
    background: #1a1a1a;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
    color: #fff;
}

[data-theme="dark"] .oauth-google,
.oauth-google {
    background: rgba(255,255,255,0.05);
    color: #e2e8f0;
    border-color: rgba(255,255,255,0.15);
}
[data-theme="dark"] .oauth-google:hover,
.oauth-google:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(66,133,244,0.5);
    box-shadow: 0 2px 12px rgba(66,133,244,0.15);
    color: #e2e8f0;
}
[data-theme="dark"] .oauth-microsoft,
.oauth-microsoft {
    background: rgba(255,255,255,0.05);
    color: #e2e8f0;
    border-color: rgba(255,255,255,0.15);
}
[data-theme="dark"] .oauth-microsoft:hover,
.oauth-microsoft:hover {
    background: rgba(255,255,255,0.1);
    border-color: rgba(0,164,239,0.5);
    box-shadow: 0 2px 12px rgba(0,164,239,0.15);
    color: #e2e8f0;
}
[data-theme="dark"] .oauth-apple,
.oauth-apple {
    background: rgba(255,255,255,0.08);
    color: #e2e8f0;
    border-color: rgba(255,255,255,0.2);
}
[data-theme="dark"] .oauth-apple:hover,
.oauth-apple:hover {
    background: rgba(255,255,255,0.14);
    border-color: rgba(255,255,255,0.4);
    box-shadow: 0 2px 12px rgba(255,255,255,0.08);
    color: #e2e8f0;
}

[data-theme="light"] .oauth-google { background: #fff; color: #3c4043; border-color: #dadce0; }
[data-theme="light"] .oauth-google:hover { background: #f7f8f8; color: #3c4043; }
[data-theme="light"] .oauth-microsoft { background: #fff; color: #5e5e5e; border-color: #8c8c8c; }
[data-theme="light"] .oauth-microsoft:hover { background: #f3f3f3; color: #5e5e5e; }
[data-theme="light"] .oauth-apple { background: #000; color: #fff; border-color: #000; }
[data-theme="light"] .oauth-apple:hover { background: #1a1a1a; color: #fff; }

@media (max-width: 640px) {
    .oauth-buttons { max-width: 100%; }
    .oauth-btn { font-size: 14px; padding: 12px 16px; }
}

/* ============================================
   EMAIL MAGIC LINK LOGIN
   ============================================ */
.oauth-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 360px;
    margin: 20px auto 0;
    color: rgba(148,163,184,0.7);
    font-size: 13px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.oauth-divider::before,
.oauth-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: rgba(255,255,255,0.08);
}

.magic-link-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 360px;
    margin: 16px auto 0;
}

.magic-link-input {
    width: 100%;
    box-sizing: border-box;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
    color: #e2e8f0;
    font-size: 15px;
    font-family: inherit;
    transition: border-color 0.2s, box-shadow 0.2s;
    outline: none;
}
.magic-link-input::placeholder {
    color: rgba(148,163,184,0.5);
}
.magic-link-input:focus {
    border-color: rgba(16,185,129,0.45);
    box-shadow: 0 0 0 3px rgba(16,185,129,0.08);
    background: rgba(255,255,255,0.06);
}

.oauth-email {
    background: rgba(16,185,129,0.08) !important;
    color: #6ee7b7 !important;
    border-color: rgba(16,185,129,0.25) !important;
    justify-content: center;
    width: 100%;
}
.oauth-email:hover {
    background: rgba(16,185,129,0.15) !important;
    border-color: rgba(16,185,129,0.5) !important;
    box-shadow: 0 2px 12px rgba(16,185,129,0.12) !important;
    color: #a7f3d0 !important;
}
.oauth-email:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

@media (max-width: 640px) {
    .magic-link-form { max-width: 100%; }
    .magic-link-input { font-size: 14px; padding: 12px 14px; }
}

/* ============================================
   DILUTION TIMELINE
   ============================================ */
.timeline-picker { margin-bottom: 16px; }
.timeline-select {
    background: var(--bg-card, rgba(15,23,42,0.6));
    border: 1px solid var(--border-color, rgba(96,165,250,0.15));
    border-radius: 8px;
    padding: 8px 12px;
    color: var(--text-primary, #e2e8f0);
    font-size: 14px;
    min-width: 200px;
    outline: none;
    cursor: pointer;
}
.timeline-select:focus { border-color: rgba(96,165,250,0.4); }
.timeline-select option { background: #0f172a; color: #e2e8f0; }

.timeline-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    flex-wrap: wrap;
    gap: 8px;
}
.timeline-symbol { font-size: 20px; font-weight: 800; color: var(--accent-color, #60a5fa); }
.timeline-company { font-size: 13px; color: var(--text-secondary, #94a3b8); }
.timeline-score-badge {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.3px;
}

.timeline-chart-wrap {
    background: var(--bg-card, rgba(15,23,42,0.6));
    border: 1px solid var(--border-color, rgba(96,165,250,0.08));
    border-radius: 12px;
    padding: 16px 12px 8px;
    margin-bottom: 12px;
    overflow-x: auto;
}
.timeline-chart-wrap svg { min-width: 600px; }

.timeline-legend {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    padding: 4px 0 16px;
    font-size: 11px;
    color: var(--text-muted, #64748b);
}
.tl-legend-item { display: flex; align-items: center; gap: 5px; }
.tl-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

.timeline-events-title {
    font-size: 15px;
    font-weight: 700;
    color: var(--text-primary, #e2e8f0);
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-color, rgba(96,165,250,0.08));
}

.timeline-event-list { display: flex; flex-direction: column; gap: 2px; }
.timeline-event-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 8px;
    transition: background 0.15s;
    flex-wrap: wrap;
}
.timeline-event-row:hover { background: rgba(96,165,250,0.04); }

.tev-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex-shrink: 0; }
.tev-date { font-size: 12px; color: var(--text-muted, #64748b); min-width: 90px; flex-shrink: 0; }
.tev-badge {
    display: inline-block;
    padding: 1px 8px;
    border-radius: 8px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.3px;
    border: 1px solid;
    flex-shrink: 0;
    min-width: 55px;
    text-align: center;
}
.tev-desc { font-size: 13px; color: var(--text-secondary, #94a3b8); flex: 1; min-width: 0; line-height: 1.4; }
.tev-meta-row { display: flex; gap: 12px; width: 100%; padding-left: 18px; }
.tev-meta {
    font-size: 11px;
    font-weight: 600;
    color: var(--text-muted, #64748b);
    font-family: 'Courier New', monospace;
}

/* Event detail popup */
.timeline-detail-popup {
    background: var(--bg-card, rgba(15,23,42,0.95));
    border: 1px solid rgba(96,165,250,0.2);
    border-radius: 12px;
    padding: 16px;
    margin-top: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4);
    animation: tdpFadeIn 0.2s ease;
}
@keyframes tdpFadeIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
.tdp-header { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.tdp-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 8px;
    font-size: 11px;
    font-weight: 700;
    border: 1px solid;
}
.tdp-date { font-size: 12px; color: var(--text-muted, #64748b); flex: 1; }
.tdp-close {
    background: none;
    border: none;
    color: var(--text-muted, #64748b);
    font-size: 20px;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}
.tdp-close:hover { color: var(--text-primary, #e2e8f0); }
.tdp-body { font-size: 13px; color: var(--text-secondary, #94a3b8); line-height: 1.6; margin-bottom: 10px; }
.tdp-metrics { display: flex; gap: 20px; flex-wrap: wrap; }
.tdp-metric { display: flex; flex-direction: column; }
.tdp-metric-label { font-size: 10px; color: var(--text-muted, #64748b); text-transform: uppercase; letter-spacing: 0.5px; }
.tdp-metric-val { font-size: 14px; font-weight: 700; color: var(--text-primary, #e2e8f0); font-family: 'Courier New', monospace; }

@media (max-width: 640px) {
    .timeline-event-row { flex-direction: column; gap: 4px; }
    .tev-meta-row { padding-left: 0; }
    .timeline-header { flex-direction: column; }
    .timeline-select { min-width: 100%; }
}

/* ─── Pulse Toolbar (new mobile-first design) ─── */
.pulse-toolbar {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 16px;
}
.pulse-chip-row {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.pulse-chip-sep {
    width: 1px;
    align-self: stretch;
    background: rgba(255,255,255,0.1);
    margin: 2px 4px;
}
.pulse-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 18px;
    border-radius: 10px;
    border: 1px solid rgba(255,255,255,0.1);
    background: rgba(255,255,255,0.03);
    color: #8892a8;
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.25s ease;
    white-space: nowrap;
    font-family: inherit;
}
.pulse-chip:hover {
    color: #c8d0e0;
    border-color: rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.06);
}
.pulse-chip.active {
    color: #e2e8f0;
    border-color: rgba(59,130,246,0.5);
    background: rgba(59,130,246,0.12);
    box-shadow: 0 0 14px rgba(59,130,246,0.2);
}
.pulse-chip[data-type="filing"].active { color: #ef4444; border-color: rgba(239,68,68,0.4); background: rgba(239,68,68,0.08); box-shadow: 0 0 14px rgba(239,68,68,0.15); }
.pulse-chip[data-type="score"].active { color: #f97316; border-color: rgba(249,115,22,0.4); background: rgba(249,115,22,0.08); box-shadow: 0 0 14px rgba(249,115,22,0.15); }
.pulse-chip[data-type="news"].active { color: #38bdf8; border-color: rgba(56,189,248,0.4); background: rgba(56,189,248,0.08); box-shadow: 0 0 14px rgba(56,189,248,0.15); }
.pulse-chip[data-type="insider"].active { color: #a78bfa; border-color: rgba(167,139,250,0.4); background: rgba(167,139,250,0.08); box-shadow: 0 0 14px rgba(167,139,250,0.15); }
.pulse-chip[data-type="short"].active { color: #eab308; border-color: rgba(234,179,8,0.4); background: rgba(234,179,8,0.08); box-shadow: 0 0 14px rgba(234,179,8,0.15); }
.pulse-chip[data-type="institutional"].active { color: #2dd4bf; border-color: rgba(45,212,191,0.4); background: rgba(45,212,191,0.08); box-shadow: 0 0 14px rgba(45,212,191,0.15); }
.pulse-chip[data-type="cash"].active { color: #22c55e; border-color: rgba(34,197,94,0.4); background: rgba(34,197,94,0.08); box-shadow: 0 0 14px rgba(34,197,94,0.15); }

.pulse-status-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.pulse-counts {
    display: flex;
    align-items: center;
    gap: 14px;
}
.pulse-counts .pulse-summary-stat {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    padding: 0;
    border: none;
    background: none;
    box-shadow: none;
    border-radius: 0;
    transform: none;
}
.pulse-counts .pulse-summary-stat:hover { transform: none; }
.pc-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}
.pulse-counts .pulse-stat-count {
    font-size: 1rem;
    font-weight: 800;
    color: var(--text-primary, #e2e8f0);
}
.pulse-counts .pulse-stat-label {
    font-size: 0.72rem;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--text-muted, #64748b);
}
.pulse-select {
    padding: 7px 12px;
    font-size: 0.82rem;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
    color: #94a3b8;
    font-family: inherit;
}
.pulse-icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.2s;
}
.pulse-icon-btn:hover {
    border-color: rgba(96,165,250,0.4);
    color: #e2e8f0;
}
.pulse-status-row .pulse-last-updated {
    font-size: 0.72rem;
    color: #64748b;
}
/* Light theme */
html[data-theme="light"] .pulse-chip {
    border-color: rgba(0,0,0,0.1);
    background: rgba(0,0,0,0.03);
    color: #475569;
}
html[data-theme="light"] .pulse-chip:hover {
    color: #1e293b;
    border-color: rgba(0,0,0,0.2);
}
html[data-theme="light"] .pulse-select,
html[data-theme="light"] .pulse-icon-btn {
    border-color: rgba(0,0,0,0.1);
    background: #fff;
    color: #475569;
}

/* ── Onboarding Modal ── */
#onboardingModal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
}

.onboarding-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  backdrop-filter: blur(6px);
}

.onboarding-card {
  position: relative;
  background: var(--bg-primary, #050a14);
  border: 1px solid rgba(59, 130, 246, 0.3);
  border-radius: 16px;
  padding: 48px 40px 40px;
  max-width: 480px;
  width: 90%;
  text-align: center;
  box-shadow: 0 0 60px rgba(59, 130, 246, 0.15);
}

.onboarding-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
}

.onboarding-subtitle {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.6);
  margin: 0 0 32px;
  line-height: 1.5;
}

.onboarding-search-row {
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}

.onboarding-input {
  flex: 1;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 1rem;
  text-transform: uppercase;
  outline: none;
  transition: border-color 0.2s;
}

.onboarding-input:focus {
  border-color: #3b82f6;
}

.onboarding-add-btn {
  padding: 12px 24px;
  border-radius: 8px;
  border: none;
  background: #3b82f6;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.2s, background 0.2s;
}

.onboarding-add-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.onboarding-add-btn:not(:disabled):hover {
  background: #2563eb;
}

.onboarding-add-btn.loading {
  pointer-events: none;
  opacity: 0.6;
}

.onboarding-error {
  color: #f87171;
  font-size: 0.85rem;
  margin-bottom: 8px;
  min-height: 1.2em;
}

.onboarding-pills-label {
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.35);
  margin: 20px 0 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.onboarding-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
}

.onboarding-pill {
  padding: 6px 16px;
  border-radius: 20px;
  border: 1px solid rgba(59, 130, 246, 0.3);
  background: rgba(59, 130, 246, 0.08);
  color: #3b82f6;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s;
}

.onboarding-pill:hover {
  background: rgba(59, 130, 246, 0.2);
  border-color: #3b82f6;
}


/* ============================================================
   MANAGE PAGE POLISH — Applied 2026-04-13
   ============================================================ */

/* Category card toggle alignment */
.category-card .category-header .toggle-switch {
    margin-top: 2px;
    flex-shrink: 0;
}

/* Sub-toggle period switcher */
.sub-toggle {
    padding: 7px 16px;
    border: 1px solid var(--border-subtle);
    border-radius: 8px;
    background: transparent;
    color: var(--text-secondary);
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s;
    letter-spacing: 0.01em;
}

.sub-toggle.active {
    background: var(--accent-bg);
    border-color: var(--accent);
    color: var(--accent-light);
}

/* Toggle-switch-horizontal hover state polish */
.toggle-switch-horizontal:has(input:checked) {
    border-color: rgba(34, 197, 94, 0.25);
    background: rgba(34, 197, 94, 0.04);
}

/* Filing item rows — tighter alignment */
.filing-item {
    align-items: center;
}

.filing-item .toggle-switch.mini {
    margin-left: auto;
    flex-shrink: 0;
}

/* Empty state polish */
.empty-state {
    text-align: center;
    padding: 48px 24px;
    color: var(--text-muted);
}

.empty-state p {
    margin-bottom: 16px;
    font-size: 0.95rem;
}

/* Loading spinner polish */
.pulse-loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 48px 24px;
    color: var(--text-muted);
    font-size: 0.9rem;
}

/* Upgrade cards equal height */
.upgrade-card-premium {
    margin-top: 0;
}

/* Form group consistent spacing */
.form-group {
    margin-bottom: 16px;
}

.form-group label {
    display: block;
    margin-bottom: 6px;
    font-size: 0.88rem;
    font-weight: 600;
    color: var(--text-secondary);
}

/* Mobile: upgrade cards stack */
@media (max-width: 600px) {
    .upgrade-cards {
        flex-direction: column;
    }
    .upgrade-card-premium {
        margin-top: 20px;
    }
    .tab-button {
        font-size: 0.75rem !important;
        padding: 7px 8px !important;
    }
    .form-actions-top {
        flex-direction: column !important;
        gap: 8px !important;
    }
    .category-grid {
        grid-template-columns: 1fr !important;
    }
    .alert-freq-quiet-row {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 480px) {
    .dashboard-section {
        padding: 12px !important;
    }
    .preference-group {
        padding: 12px !important;
    }
}

/* Light-theme toggle overrides */
html[data-theme="light"] .toggle-slider {
    background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
    border-color: rgba(0,0,0,0.08);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.06);
}

html[data-theme="light"] .toggle-switch input:checked + .toggle-slider {
    background: linear-gradient(180deg, rgba(59,130,246,0.08) 0%, rgba(59,130,246,0.15) 100%);
    border-color: rgba(59, 130, 246, 0.25);
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05), 0 0 8px rgba(59,130,246,0.1);
}

html[data-theme="light"] .tab-nav {
    background: rgba(248, 250, 252, 0.9);
    border-color: rgba(59, 130, 246, 0.15);
}

html[data-theme="light"] .tab-button {
    color: #475569;
}

html[data-theme="light"] .tab-button:hover {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.08);
}

html[data-theme="light"] .tab-button.active {
    color: #1d4ed8;
    background: rgba(59, 130, 246, 0.12);
}

/* Tool section headings and lookup rows */
.tool-section-title {
    color: var(--text-primary);
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 6px;
}

.tool-section-desc {
    color: var(--text-secondary);
    font-size: 0.85rem;
    margin-bottom: 12px;
    line-height: 1.5;
}

.lookup-row {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}

.lookup-input {
    flex: 1;
    min-width: 160px;
    padding: 10px 14px;
    background: var(--input-bg);
    border: 1px solid var(--input-border);
    border-radius: 8px;
    color: var(--text-primary);
    font-size: 0.95rem;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s;
}

.lookup-input:focus {
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.08);
}

.lookup-btn {
    padding: 10px 20px;
    border: none;
    border-radius: 8px;
    color: white;
    font-weight: 700;
    font-size: 0.9rem;
    cursor: pointer;
    white-space: nowrap;
    transition: opacity 0.15s, transform 0.15s;
}

.lookup-btn:hover {
    opacity: 0.88;
    transform: translateY(-1px);
}

.lookup-btn-blue {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
}

.lookup-btn-amber {
    background: linear-gradient(135deg, #f59e0b, #ef4444);
}
