@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=JetBrains+Mono:wght@400;500;600&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
    --bg-primary: #0d0e0c;
    --bg-secondary: #11120f;
    --bg-card: #171713;
    --bg-card-hover: #1d1b16;
    --border-color: rgba(232, 216, 184, .12);
    --border-hover: rgba(224, 193, 127, .28);
    --text-primary: #f2ede3;
    --text-secondary: rgba(242, 237, 227, .58);
    --text-muted: rgba(242, 237, 227, .34);
    --accent-gold: #c9a35f;
    --accent-gold-dark: #967544;
    --accent-green: #89a481;
    --accent-red: #c77c6d;
}

body {
    background: var(--bg-primary);
    color: var(--text-primary);
    font-family: 'Manrope', Arial, sans-serif;
}

.sidebar {
    width: 252px;
    padding: 0;
    background:
        linear-gradient(180deg, rgba(201,163,95,.025), transparent 28%),
        #11120f;
    border-right-color: var(--border-color);
}

.sidebar-logo {
    height: 88px;
    margin: 0;
    padding: 0 25px;
    justify-content: flex-start;
    border-bottom: 1px solid var(--border-color);
}

.dashboard-brand {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    color: inherit;
    text-decoration: none;
}

.dashboard-brand-mark {
    width: 43px;
    height: 43px;
    flex-shrink: 0;
    color: var(--accent-gold);
}

.dashboard-brand-mark svg { width: 100%; height: 100%; }
.dashboard-brand-mark path { fill: none; stroke: currentColor; stroke-linecap: round; }
.dashboard-brand-mark path:first-child { stroke-width: 1.6; }
.dashboard-brand-mark path:last-child { stroke-width: 1.35; }
.dashboard-brand-wordmark { display: flex; align-items: baseline; gap: 6px; line-height: 1; letter-spacing: .08em; }
.dashboard-brand-wordmark strong { color: var(--text-primary); font-size: 1.08rem; font-weight: 800; text-decoration: none; }
.dashboard-brand-wordmark span { color: var(--accent-gold); font-family: 'DM Serif Display', Georgia, serif; font-size: 1.13rem; letter-spacing: .06em; text-decoration: none; }

.sidebar-nav {
    padding: 28px 16px;
    gap: 5px;
}

.sidebar-nav a {
    min-height: 46px;
    padding: 0 13px;
    border: 1px solid transparent;
    border-radius: 3px;
    color: var(--text-secondary);
    font-size: .72rem;
    font-weight: 700;
}

.sidebar-nav a .material-symbols-outlined {
    font-size: 19px;
    font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 20;
}

.sidebar-nav a:hover {
    background: rgba(255,255,255,.018);
    border-color: var(--border-color);
}

.sidebar-nav a.active {
    position: relative;
    background: rgba(201,163,95,.07);
    border-color: rgba(201,163,95,.16);
    color: var(--accent-gold);
}

.sidebar-nav a.active::before {
    content: '';
    position: absolute;
    left: -17px;
    width: 2px;
    height: 24px;
    background: var(--accent-gold);
}

.sidebar-logout { padding: 16px; border-top-color: var(--border-color); }
.sidebar-bottom { align-items: stretch; flex-direction: column; gap: 4px; }
.sidebar-bottom-left { display: block; }
.sidebar-bottom a, .sidebar-bottom button {
    width: 100%;
    min-height: 40px;
    padding: 0 12px;
    border-radius: 3px;
    font-size: .68rem;
}

.topbar {
    left: 252px;
    height: 64px;
    padding: 0 24px;
    background: rgba(13,14,12,.92);
    border-bottom-color: var(--border-color);
    backdrop-filter: blur(16px);
}

.ticker-item { font-size: .72rem; }
.ticker-item .price { color: rgba(242,237,227,.82); }
.topbar-btn { border: 1px solid transparent; border-radius: 3px; }
.topbar-btn:hover { border-color: var(--border-color); }
.topbar-btn .material-symbols-outlined { font-size: 21px; }
.topbar-user { min-height: 34px; }
.topbar-user-name { font-size: .72rem; }
.topbar-user-plan { color: var(--accent-gold); font-size: .56rem; }

.dashboard-main {
    margin-left: 252px;
    margin-top: 64px;
    height: calc(100vh - 64px);
    padding: clamp(28px, 3vw, 46px);
    background:
        radial-gradient(circle at 85% 4%, rgba(201,163,95,.055), transparent 22%),
        var(--bg-primary);
}

.dashboard-title {
    margin-bottom: 35px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--border-color);
}

.dashboard-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--accent-gold);
    font-size: .6rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dashboard-kicker i { width: 22px; height: 1px; background: currentColor; }
.dashboard-title h1 {
    margin-top: 0;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(2.35rem, 3.4vw, 4rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
}

.dashboard-title p {
    margin-top: 13px;
    color: var(--text-muted);
    font-size: .68rem;
}

.live-badge {
    padding: 5px 10px;
    border-radius: 20px;
    background: rgba(201,163,95,.06);
    border-color: rgba(201,163,95,.18);
    color: var(--accent-gold);
    font-size: .58rem;
}

.live-badge::before { width: 5px; height: 5px; }

.fx-hero, .fx-middle, .fx-bottom { gap: 14px; margin-bottom: 14px; }
.fx-card, .chart-box, .revenue-card, .logistics-card, .metric-card, .data-table-card {
    border-color: var(--border-color);
    border-radius: 5px;
    background: rgba(23,23,19,.82);
    box-shadow: 0 18px 50px rgba(0,0,0,.11);
}

.fx-card, .chart-box, .revenue-card, .logistics-card { padding: 22px; }
.fx-card-glow { box-shadow: none; }
.fx-card-laser { border: 1px solid rgba(201,163,95,.2); }
.fx-card-laser::before { display: none; }
.fx-card-laser::after {
    inset: 0;
    border: 0;
    border-radius: 5px;
    background:
        radial-gradient(circle at 50% 10%, rgba(201,163,95,.08), transparent 45%),
        var(--bg-card);
}

.fx-card-label, .chart-box-header h3, .revenue-card h3, .logistics-card-header h3, .metric-label {
    color: var(--text-muted);
    font-size: .58rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.fx-card-value {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 2.35rem;
    font-weight: 400;
    letter-spacing: -.02em;
}

.fx-card-sub { color: var(--text-secondary); font-size: .68rem; }
.chart-box-header { padding-bottom: 15px; border-bottom: 1px solid var(--border-color); }
.chart-box-header p, .chart-legend-item { color: var(--text-muted); font-size: .6rem; }
.chart-bars { height: 170px; gap: 5px; }
.chart-bar { border-radius: 1px 1px 0 0; }
.chart-bar.green { background: linear-gradient(to top, rgba(137,164,129,.08), rgba(137,164,129,.3)); border-top: 1px solid var(--accent-green); }

.progress-bar { height: 5px; border-radius: 0; background: rgba(255,255,255,.035); }
.progress-bar-fill { border-radius: 0; background: var(--accent-gold); }
.revenue-label { color: var(--text-secondary); font-size: .7rem; }
.progress-pct { color: var(--text-muted); font-size: .6rem; }

.logistics-card [style*="background:var(--bg-secondary)"] {
    border: 1px solid var(--border-color);
    border-radius: 3px !important;
    background: rgba(255,255,255,.014) !important;
}

.metric-card {
    padding: 20px;
    border-left-width: 1px;
    border-top: 2px solid var(--border-color);
}
.metric-card.gold { border-left-color: var(--border-color); border-top-color: var(--accent-gold); }
.metric-card.green { border-left-color: var(--border-color); border-top-color: var(--accent-green); }
.metric-card.red { border-left-color: var(--border-color); border-top-color: var(--accent-red); }
.metric-value { margin-top: 12px; font-size: 1.15rem; }

.data-table-card { overflow-x: auto; }
.data-table-header { min-width: 760px; padding: 18px 22px; background: rgba(255,255,255,.012); }
.data-table-header h3 { color: var(--text-secondary); font-size: .68rem; }
.data-table { min-width: 760px; }
.data-table th { width: 25%; padding: 12px 22px; background: transparent; color: var(--text-muted); font-size: .56rem; text-align: center; }
.data-table td { width: 25%; padding: 14px 22px; color: var(--text-secondary); font-size: .7rem; text-align: center; border-top-color: rgba(232,216,184,.055); }
.destination-cell {
    width: min(100%, 210px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 28px 1fr;
    align-items: center;
    column-gap: 24px;
    text-align: left;
}
.destination-cell img,
.destination-cell .flag {
    width: 24px;
    height: 18px;
    margin: 0;
    display: block;
    border-radius: 2px;
    object-fit: cover;
}
.destination-cell .flag { background: rgba(255,255,255,.025); }
.data-table tr:hover td { background: rgba(201,163,95,.025); }
.status-badge { border-radius: 20px; font-size: .57rem; }

.modal {
    border-color: var(--border-color);
    border-radius: 6px;
    background: var(--bg-card);
}
.modal-search input { border-radius: 3px; }
.modal-item { border-radius: 3px; }
.dashboard-footer { color: var(--text-muted); font-size: .6rem; line-height: 1.7; }
.quote-unavailable{color:var(--text-muted);font-size:.58rem;font-style:normal;white-space:nowrap}
.licensed-data-state{min-height:120px;padding:24px;display:flex;align-items:center;gap:16px;border:1px dashed rgba(201,163,95,.25);border-radius:4px;background:rgba(201,163,95,.025)}.licensed-data-state>.material-symbols-outlined{color:var(--accent-gold);font-size:27px}.licensed-data-state strong{color:var(--text-primary);font-family:'DM Serif Display',Georgia,serif;font-size:1.2rem;font-weight:400}.licensed-data-state p{margin-top:5px;color:var(--text-muted);font-size:.7rem}

/* Shared refinement for every internal area */
.page-title {
    margin-bottom: 32px;
    padding-bottom: 25px;
    border-bottom: 1px solid var(--border-color);
}
.page-title h1 {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: clamp(2.25rem, 3vw, 3.5rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.025em;
}
.page-title p { margin-top: 10px; color: var(--text-muted); font-size: .7rem; }
.content-box,
.stat-card,
.market-card,
.alert-card,
.sim-sidebar,
.sim-kpi,
.sim-chart,
.sim-table-wrap,
.ent-card,
.ent-result,
.plan-card,
.toggle-row {
    border-color: var(--border-color) !important;
    border-radius: 5px !important;
    background: rgba(23,23,19,.82) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.08);
}
.content-box { padding: 24px; }
.content-box h3,
.sim-chart h3,
.sim-table-wrap h3,
.ent-section-title {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.stat-card { padding: 20px; border-top: 2px solid rgba(201,163,95,.28) !important; }
.stat-label, .sim-kpi .kpi-label { color: var(--text-muted); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
.stat-value, .sim-kpi .kpi-value { margin-top: 10px; color: var(--text-primary); font-size: 1.2rem; }
.chart-tabs, .coffee-tabs { gap: 3px; }
.chart-tabs, .coffee-tab, .ent-cat-btn { border-radius: 3px !important; }
.chart-tab, .coffee-tab, .ent-cat-btn, .tab-btn { font-size: .68rem !important; }
.chart-tab.active, .coffee-tab.active, .ent-cat-btn.active { background: var(--accent-gold) !important; color: #18130b !important; }
.form-group label { color: var(--text-secondary) !important; font-size: .66rem !important; font-weight: 800 !important; }
.form-group input, .form-group select, .form-group textarea,
.sim-input, .sim-select {
    border-color: var(--border-color) !important;
    border-radius: 3px !important;
    background: rgba(255,255,255,.018) !important;
    color: var(--text-primary) !important;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus,
.sim-input:focus, .sim-select:focus {
    border-color: var(--accent-gold) !important;
    box-shadow: 0 0 0 3px rgba(201,163,95,.07);
}
.btn, .sim-btn, .logistics-btn {
    border-radius: 3px !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
}
.btn-primary, .sim-btn-gold { background: var(--accent-gold) !important; color: #18130b !important; }
.alert-card { padding: 18px 20px !important; }
.alert-card:hover, .ent-card:hover { border-color: rgba(201,163,95,.3) !important; background: #1a1914 !important; }
.notification-toast { border-radius: 5px !important; background: var(--bg-card) !important; }
.history-table th, .sim-table th { color: var(--text-muted) !important; font-size: .57rem !important; }
.history-table td, .sim-table td { color: var(--text-secondary); font-size: .7rem !important; }
.ia-chat, .chat-container, .sim-chart { border-radius: 5px !important; }
.ent-hero {
    border-color: rgba(201,163,95,.18) !important;
    border-radius: 5px !important;
    background: radial-gradient(circle at 80% 20%, rgba(201,163,95,.08), transparent 42%), var(--bg-card) !important;
}
.ent-hero h1 {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 1.7rem !important;
    font-weight: 400 !important;
}
.ent-chip, .ent-card-icon, .ent-result-content, .sim-badge { border-radius: 3px !important; }
.toggle-slider { background: rgba(242,237,227,.12) !important; }
.toggle input:checked + .toggle-slider { background: var(--accent-gold) !important; }

/* Final visual unification for legacy dashboard components */
.fx-card,
.chart-box,
.revenue-card,
.logistics-card,
.metric-card,
.data-table-card,
.ia-hero,
.ia-content-box,
.sim-hero {
    border: 1px solid var(--border-color) !important;
    border-radius: 5px !important;
    background: rgba(23,23,19,.82) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.08) !important;
}
.fx-card,
.chart-box,
.revenue-card,
.logistics-card,
.metric-card { padding: 20px !important; }
.fx-card-laser::before,
.fx-card-laser::after { opacity: .35; }
.fx-card-value,
.market-card-price {
    color: var(--text-primary) !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
}
.chart-box-header,
.market-card-header,
.logistics-card-header {
    border-color: var(--border-color) !important;
}
.chart-box-header h3,
.market-card-title,
.revenue-card h3,
.logistics-card-header h3,
.data-table-header h3 {
    color: var(--text-secondary) !important;
    font-size: .62rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase;
}
.market-card-badge,
.live-badge,
.status-badge,
.ia-hero .stat-chip {
    border: 1px solid var(--border-color) !important;
    border-radius: 3px !important;
    background: rgba(255,255,255,.025) !important;
    color: var(--text-muted) !important;
    font-size: .5rem !important;
    letter-spacing: .07em;
    text-transform: uppercase;
}
.metric-card { border-left-width: 1px !important; border-top: 2px solid rgba(201,163,95,.2) !important; }
.ia-hero,
.sim-hero {
    padding: 24px !important;
    background: radial-gradient(circle at 82% 18%, rgba(201,163,95,.07), transparent 38%), rgba(23,23,19,.82) !important;
}
.ia-hero h2,
.sim-hero h1 {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 1.55rem !important;
    font-weight: 400 !important;
}
.ia-hero p,
.sim-hero p,
.ent-hero p { color: var(--text-muted) !important; font-size: .65rem !important; }
.ia-content-box,
.ent-result { border-radius: 5px !important; background: rgba(23,23,19,.82) !important; }
.settings-section,
.account-section,
.profile-card {
    border-color: var(--border-color) !important;
    border-radius: 5px !important;
    background: rgba(23,23,19,.82) !important;
}
.data-table-card { overflow: hidden; }
.data-table-card th { color: var(--text-muted) !important; font-size: .54rem !important; letter-spacing: .06em; text-transform: uppercase; }
.data-table-card td { color: var(--text-secondary) !important; font-size: .66rem !important; }

@media (max-width: 768px) {
    .topbar { left: 0; }
    .dashboard-main { margin-left: 0; }
    .dashboard-title p { align-items: flex-start; flex-direction: column; gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
