/* public/assets/css/theme.css */
:root {
    --bg-main: #000000;
    --bg-card: #050505;
    --text-primary: #ffffff;
    --text-secondary: #eeeeee;
    --accent-orange: #ea580c;
    --light-orange: #7c2d12;
}

body {
    background-color: var(--bg-main) !important;
    color: var(--text-primary) !important;
    font-family: 'Inter', sans-serif !important;
}

/* Backgrounds: Global Dark Mode Override */
.bg-white, .bg-slate-50, .bg-slate-100, .bg-slate-200, .bg-slate-300 {
    background-color: var(--bg-card) !important;
}

/* Glassmorphism Effect for Modern UI */
.bg-glass {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.05);
}

/* Premium Borders & Spacing */
.border-slate-100, .border-slate-200, .border-slate-300, .border-slate-400, .border-slate-800 {
    border-color: #1a1a1a !important;
}

/* Forced Visibility for Typography (All Shades to White) with premium contrasts */
.text-slate-900, .text-slate-800 { color: #ffffff !important; }
.text-slate-700, .text-slate-600, .text-slate-500 { color: #94a3b8 !important; }
.text-slate-400, .text-slate-300 { color: #cbd5e1 !important; }
.text-slate-200, .text-slate-100, .text-slate-5 { color: #f1f5f9 !important; }

/* Status Behavior: Strictly Naranja & Black/White */
[class*="bg-blue-"], [class*="bg-green-"], [class*="bg-red-"] {
    background-color: var(--light-orange) !important;
    color: #ffffff !important;
}
[class*="text-blue-"], [class*="text-green-"], [class*="text-red-"] {
    color: var(--accent-orange) !important;
}

/* Global Transition Rules for Smooth Experience */
* {
    transition-duration: 0.2s;
    transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Premium Active/Focus States */
button:active:not(:disabled), a:active:not(:disabled) {
    transform: scale(0.96) !important;
}

/* Modern Inputs with Minimalist Aura - Dense & Compact */
input, select, textarea {
    background-color: #000000 !important;
    color: #ffffff !important;
    border: 1px solid #1a1a1a !important;
    border-radius: 0.625rem !important;
    padding: 0.5rem 0.75rem !important; /* Compact padding */
    font-size: 13px !important;
}

input:focus, select:focus, textarea:focus {
    border-color: var(--accent-orange) !important;
    box-shadow: 0 0 0 4px rgba(234, 88, 12, 0.15) !important;
    outline: none !important;
}

/* Custom Scrollbar for Sleek Dark Experience */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #000; }
::-webkit-scrollbar-thumb { background: #1a1a1a; border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent-orange); }

/* HIDE NUMBER SPINNERS */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

input[type=number] {
    -webkit-appearance: none;
    -moz-appearance: textfield;
    appearance: none;
}

/* Table Polish */
thead th {
    background-color: #030303 !important;
    color: #888888 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    font-size: 0.75rem !important; /* Increased from 0.65rem for better readability */
}

/* Legibility Helpers for Micro-copy */
.text-caption { 
    font-size: 0.7rem !important; /* ~11.2px */
    letter-spacing: 0.05em !important;
}

.text-label { 
    font-size: 0.8rem !important; /* ~12.8px */
    letter-spacing: 0.025em !important;
}

/* TOUCH TARGETS & TYPOGRAPHY */
.btn-mobile-touch {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
}

@media (max-width: 640px) {
    .text-title-responsive { font-size: 1.25rem !important; line-height: 1.6rem !important; }
    .text-subtitle-responsive { font-size: 0.75rem !important; color: #94a3b8 !important; }
    .card-touch { padding: 1rem !important; }
    .btn-mobile-touch {
        min-height: 38px !important;
        font-size: 10px !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
    /* Entradas de formulario ultra-compactas en móviles */
    input, select, textarea {
        font-size: 14px !important;
        padding: 0.4rem 0.6rem !important;
        border-radius: 0.5rem !important;
    }
}

@media (min-width: 641px) {
    .text-title-responsive { font-size: 2rem !important; line-height: 2.25rem !important; }
    .text-subtitle-responsive { font-size: 0.9rem !important; }
    .card-touch { padding: 2rem !important; }
}

tbody tr:hover {
    background-color: rgba(234, 88, 12, 0.05) !important;
}
