body {
    background-color: #f8fafc;
    color: #0f172a;
}
.dark body {
    background-color: #0f172a;
    color: #f1f5f9;
}

::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track { background: #f1f5f9; }
.dark ::-webkit-scrollbar-track { background: #0f172a; }

::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 9999px; }
.dark ::-webkit-scrollbar-thumb { background: #334155; }

::-webkit-scrollbar-thumb:hover { background: #94a3b8; }
.dark ::-webkit-scrollbar-thumb:hover { background: #475569; }

html { scrollbar-width: thin; scrollbar-color: #cbd5e1 #f1f5f9; }
html.dark { scrollbar-color: #334155 #0f172a; }

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

.color-scheme-dynamic {
    color-scheme: light;
}
.dark .color-scheme-dynamic {
    color-scheme: dark;
}

input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer;
    opacity: 0.5;
    transition: 0.2s;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 0.8;
}
.dark input[type="date"]::-webkit-calendar-picker-indicator {
    filter: invert(0.8);
}

.model-card { transition: all 0.2s ease-in-out; }
.model-card:hover { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05); }
.dark .model-card:hover { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3); }

.model-card.selected { border-color: #3b82f6 !important; background-color: #eff6ff !important; }
.dark .model-card.selected { border-color: #3b82f6 !important; background-color: rgba(30, 58, 138, 0.2) !important; }

input:focus { box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.1); }
.dark input:focus { box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.2); }