/* Global link reset */
a, a:visited, a:link {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* MUI components - visited reset */
.MuiLink-root,
.MuiLink-root:visited,
.MuiCardActionArea-root,
.MuiCardActionArea-root:visited,
.MuiBreadcrumbs-li a,
.MuiBreadcrumbs-li a:visited {
    color: inherit;
}

/* Highcharts fixes */
.highcharts-point_hidden, .highcharts-zones_hidden {
    opacity: 0;
}

.highcharts-tooltip-container .chart__tooltip {
    visibility: inherit !important;
}

.highcharts-container {
    overflow: visible !important;
}

/* Premium scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
    background: rgba(0,0,0,0.12);
    border-radius: 3px;
    transition: background 0.2s ease;
}
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,0.22); }

/* Dark mode scrollbar */
@media (prefers-color-scheme: dark) {
    ::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.12); }
    ::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.22); }
}

/* Premium focus ring — indigo-based */
*:focus-visible {
    outline: 2px solid #818CF8;
    outline-offset: 2px;
}

/* Skeleton shimmer animation */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.MuiSkeleton-root {
    background: linear-gradient(90deg,
        rgba(0,0,0,0.04) 25%,
        rgba(0,0,0,0.08) 50%,
        rgba(0,0,0,0.04) 75%
    ) !important;
    background-size: 200% 100% !important;
    animation: shimmer 1.5s ease-in-out infinite !important;
}

@media (prefers-color-scheme: dark) {
    .MuiSkeleton-root {
        background: linear-gradient(90deg,
            rgba(255,255,255,0.04) 25%,
            rgba(255,255,255,0.08) 50%,
            rgba(255,255,255,0.04) 75%
        ) !important;
        background-size: 200% 100% !important;
    }
}

/* Page enter animation */
@keyframes fadeSlideUp {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.page-enter {
    animation: fadeSlideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

/* Smooth scrollbar hide for sidebar */
.sidebar-scroll {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.sidebar-scroll::-webkit-scrollbar {
    display: none;
}

/* DataGrid premium polish */
.MuiDataGrid-root .MuiDataGrid-cell:focus,
.MuiDataGrid-root .MuiDataGrid-cell:focus-within {
    outline: 2px solid #818CF8;
    outline-offset: -2px;
}

/* ── Highcharts Premium Styling ────────────────────────────── */

/* Clean crosshair - barely visible vertical line */
.highcharts-crosshair {
    stroke: rgba(0, 0, 0, 0.06);
    stroke-dasharray: none;
}

/* Minimal grid - nearly invisible */
.highcharts-grid-line {
    stroke: rgba(0, 0, 0, 0.04);
}

/* Smooth series transitions */
.highcharts-series path {
    transition: stroke-width 0.15s ease, opacity 0.15s ease;
}

/* Clean column hover */
.highcharts-point {
    transition: opacity 0.12s ease;
}

/* Subtle marker glow */
.highcharts-halo {
    fill-opacity: 0.1;
}

/* Clean pie borders */
.highcharts-pie-series .highcharts-point {
    stroke-width: 3;
}

/* Area fill - controlled by JS gradient, keep subtle base */
.highcharts-area {
    fill-opacity: 1;
}

/* Tooltip entrance */
.chart__tooltip {
    animation: chartTooltipIn 0.12s ease-out;
}

@keyframes chartTooltipIn {
    from { opacity: 0; transform: translateY(-3px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Clean axis labels */
.highcharts-axis-labels text {
    font-family: 'Inter', -apple-system, sans-serif !important;
    font-feature-settings: 'tnum';
    letter-spacing: 0.01em;
}

/* No scrollbar */
.highcharts-scrollbar {
    display: none;
}

/* NO column shadows - flat is premium */
.highcharts-column-series .highcharts-point {
    filter: none;
}

/* Line cap */
.highcharts-series path[stroke-linecap] {
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* ── Dark Mode ── */
[data-mui-color-scheme="dark"] .highcharts-grid-line {
    stroke: rgba(255, 255, 255, 0.04);
}

[data-mui-color-scheme="dark"] .highcharts-crosshair {
    stroke: rgba(99, 102, 241, 0.08);
}

[data-mui-color-scheme="dark"] .highcharts-pie-series .highcharts-point {
    stroke: rgba(0, 0, 0, 0.5);
}

[data-mui-color-scheme="dark"] .highcharts-column-series .highcharts-point {
    filter: none;
}
