/* CLS Layout Containment & Height Reservation */
#app-layout-header { min-height: 56px; }
#app-layout-macro { min-height: 38px; }
#app-layout-nav { min-height: 48px; }
#verifier-telemetry-bar { min-height: 72px; }

:root {
    --bg-main: #f8fafc;
    --bg-surface: #ffffff;
    --bg-sidebar: #f1f5f9;
    --border-subtle: #e2e8f0;
    --text-primary: #0f172a;
    --text-secondary: #64748b;
    --color-orange: #f97316;
    --color-orange-hover: #ea580c;
    --color-indigo: #6366f1;
    --color-indigo-hover: #4f46e5;
}

html.dark {
    --bg-main: #0b0f19;
    --bg-surface: #111827;
    --bg-sidebar: #0f172a;
    --border-subtle: #1e293b;
    --text-primary: #f8fafc;
    --text-secondary: #94a3b8;
    --color-orange: #f97316;
    --color-orange-hover: #fb923c;
    --color-indigo: #6366f1;
    --color-indigo-hover: #818cf8;
}

body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: var(--bg-main);
    color: var(--text-primary);
    transition: background-color 0.2s ease, color 0.2s ease;
}

.font-mono {
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

/* Modern Minimalist Scrollbars */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
html.dark ::-webkit-scrollbar-thumb {
    background: #334155;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
html.dark ::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* Modern Calm Shadows */
.shadow-calm {
    box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.05), 0 1px 2px -1px rgb(0 0 0 / 0.05);
}

.shadow-card {
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05);
}

html.dark .shadow-card {
    box-shadow: 0 4px 12px 0 rgb(0 0 0 / 0.25);
}

/* Real-Time Price Flash Effects */
@keyframes flash-green {
    0% { background-color: rgba(16, 185, 129, 0.25); color: #10b981; }
    100% { background-color: transparent; }
}

@keyframes flash-red {
    0% { background-color: rgba(239, 68, 68, 0.25); color: #ef4444; }
    100% { background-color: transparent; }
}

.price-flash-up {
    animation: flash-green 0.75s ease-out;
}

.price-flash-down {
    animation: flash-red 0.75s ease-out;
}

/* Sleek Date Picker */
input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.6;
    transition: opacity 0.2s ease;
}
html.dark input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0.8);
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 1;
}

/* Active Tab indicator */
.tab-active {
    border-color: #f97316 !important;
    color: #ea580c !important;
}
html.dark .tab-active {
    color: #f97316 !important;
}

/* Hide scrollbar for clean touch swipe on mobile */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
