html *, html ::before, html ::after { border-color: var(--border, #e2e8f0); }

:root { color-scheme: light; }
html[data-theme="oscuro"] { color-scheme: dark; }

:root {
    --primary: #FF9F43;
    --primary-dark: #C1650B;
    --primary-light: #FFF6EF;
    --primary-soft: #FFB067;
    --sidebar-hover-bg: #FFF1E3;
    --sidebar-active-bg: #FFE4CC;
    --success: #10b981;
    --warning: #f59e0b;
    --danger: #ef4444;
    --dark: #1e293b;
    --gray-50: #f8fafc;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-300: #cbd5e1;
    --gray-400: #94a3b8;
    --gray-500: #64748b;
    --gray-600: #475569;
    --gray-700: #334155;
    --gray-800: #1e293b;
    --gray-900: #0f172a;

    --primary-hover: #C1650B;
    --surface: #ffffff;
    --surface-alt: #f8fafc;
    --border: #e2e8f0;
    --text-primary: #1e293b;
    --text-secondary: #64748b;
    --info: #3b82f6;
    --radius-card: 1rem;
    --shadow-card: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

html[data-theme="oscuro"] {
    --primary-light: rgba(255, 159, 67, 0.16);
    --sidebar-hover-bg: rgba(255, 159, 67, 0.18);
    --sidebar-active-bg: rgba(255, 159, 67, 0.30);
    --dark: #e2e8f0;
    --gray-50: #0f172a;
    --gray-100: #1e293b;
    --gray-200: #334155;
    --gray-300: #475569;
    --gray-400: #64748b;
    --gray-500: #94a3b8;
    --gray-600: #cbd5e1;
    --gray-700: #e2e8f0;
    --gray-800: #f1f5f9;
    --gray-900: #f8fafc;

    --primary-hover: #FFB067;
    --surface: #1e293b;
    --surface-alt: #0f172a;
    --border: #334155;
    --text-primary: #f1f5f9;
    --text-secondary: #cbd5e1;
    --info: #60a5fa;
    --shadow-card: 0 1px 2px 0 rgba(0, 0, 0, 0.4);
}

html[data-theme="oscuro"] body {
    background: var(--surface-alt);
    color: var(--gray-800);
}

html[data-theme="oscuro"] main { background: #0f172a; }

html[data-theme="oscuro"] .bg-white,
html[data-theme="oscuro"] .bg-gray-50 { background: #1e293b !important; }

html[data-theme="oscuro"] .bg-gray-100 { background: #334155 !important; }

html[data-theme="oscuro"] .text-gray-900,
html[data-theme="oscuro"] .text-gray-800 { color: #f1f5f9 !important; }

html[data-theme="oscuro"] .text-gray-700,
html[data-theme="oscuro"] .text-gray-600 { color: #cbd5e1 !important; }

html[data-theme="oscuro"] .text-gray-500,
html[data-theme="oscuro"] .text-gray-400 { color: #94a3b8 !important; }

html[data-theme="oscuro"] .border-gray-100,
html[data-theme="oscuro"] .border-gray-200,
html[data-theme="oscuro"] .border-gray-300 { border-color: #334155 !important; }

html[data-theme="oscuro"] .mobile-header { background: rgba(15, 23, 42, 0.98); border-bottom-color: #334155; }

html[data-theme="oscuro"] table thead { background: #1e293b !important; }

html[data-theme="oscuro"] .hover\:bg-gray-50:hover,
html[data-theme="oscuro"] .hover\:bg-gray-100:hover { background: #334155 !important; }

html[data-theme="oscuro"] .bg-red-50,
html[data-theme="oscuro"] .bg-red-100,
html[data-theme="oscuro"] .bg-red-200 { background: rgba(239, 68, 68, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-red-50:hover,
html[data-theme="oscuro"] .hover\:bg-red-100:hover,
html[data-theme="oscuro"] .hover\:bg-red-200:hover { background: rgba(239, 68, 68, 0.16) !important; }

html[data-theme="oscuro"] .text-red-400,
html[data-theme="oscuro"] .text-red-500,
html[data-theme="oscuro"] .text-red-600,
html[data-theme="oscuro"] .text-red-700,
html[data-theme="oscuro"] .text-red-800,
html[data-theme="oscuro"] .text-red-900 { color: #f87171 !important; }

html[data-theme="oscuro"] .border-red-100,
html[data-theme="oscuro"] .border-red-200,
html[data-theme="oscuro"] .border-red-300 { border-color: rgba(239, 68, 68, 0.4) !important; }

html[data-theme="oscuro"] .bg-green-50,
html[data-theme="oscuro"] .bg-green-100,
html[data-theme="oscuro"] .bg-green-200 { background: rgba(34, 197, 94, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-green-50:hover,
html[data-theme="oscuro"] .hover\:bg-green-100:hover,
html[data-theme="oscuro"] .hover\:bg-green-200:hover { background: rgba(34, 197, 94, 0.16) !important; }

html[data-theme="oscuro"] .text-green-400,
html[data-theme="oscuro"] .text-green-500,
html[data-theme="oscuro"] .text-green-600,
html[data-theme="oscuro"] .text-green-700,
html[data-theme="oscuro"] .text-green-800,
html[data-theme="oscuro"] .text-green-900 { color: #4ade80 !important; }

html[data-theme="oscuro"] .border-green-100,
html[data-theme="oscuro"] .border-green-200,
html[data-theme="oscuro"] .border-green-300 { border-color: rgba(34, 197, 94, 0.4) !important; }

html[data-theme="oscuro"] .bg-amber-50,
html[data-theme="oscuro"] .bg-amber-100,
html[data-theme="oscuro"] .bg-amber-200 { background: rgba(245, 158, 11, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-amber-50:hover,
html[data-theme="oscuro"] .hover\:bg-amber-100:hover,
html[data-theme="oscuro"] .hover\:bg-amber-200:hover { background: rgba(245, 158, 11, 0.16) !important; }

html[data-theme="oscuro"] .text-amber-400,
html[data-theme="oscuro"] .text-amber-500,
html[data-theme="oscuro"] .text-amber-600,
html[data-theme="oscuro"] .text-amber-700,
html[data-theme="oscuro"] .text-amber-800,
html[data-theme="oscuro"] .text-amber-900 { color: #fbbf24 !important; }

html[data-theme="oscuro"] .border-amber-100,
html[data-theme="oscuro"] .border-amber-200,
html[data-theme="oscuro"] .border-amber-300 { border-color: rgba(245, 158, 11, 0.4) !important; }

html[data-theme="oscuro"] .bg-orange-50,
html[data-theme="oscuro"] .bg-orange-100,
html[data-theme="oscuro"] .bg-orange-200 { background: rgba(249, 115, 22, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-orange-50:hover,
html[data-theme="oscuro"] .hover\:bg-orange-100:hover,
html[data-theme="oscuro"] .hover\:bg-orange-200:hover { background: rgba(249, 115, 22, 0.16) !important; }

html[data-theme="oscuro"] .text-orange-400,
html[data-theme="oscuro"] .text-orange-500,
html[data-theme="oscuro"] .text-orange-600,
html[data-theme="oscuro"] .text-orange-700,
html[data-theme="oscuro"] .text-orange-800,
html[data-theme="oscuro"] .text-orange-900 { color: #fb923c !important; }

html[data-theme="oscuro"] .border-orange-100,
html[data-theme="oscuro"] .border-orange-200,
html[data-theme="oscuro"] .border-orange-300 { border-color: rgba(249, 115, 22, 0.4) !important; }

html[data-theme="oscuro"] .bg-blue-50,
html[data-theme="oscuro"] .bg-blue-100,
html[data-theme="oscuro"] .bg-blue-200 { background: rgba(59, 130, 246, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-blue-50:hover,
html[data-theme="oscuro"] .hover\:bg-blue-100:hover,
html[data-theme="oscuro"] .hover\:bg-blue-200:hover { background: rgba(59, 130, 246, 0.16) !important; }

html[data-theme="oscuro"] .text-blue-400,
html[data-theme="oscuro"] .text-blue-500,
html[data-theme="oscuro"] .text-blue-600,
html[data-theme="oscuro"] .text-blue-700,
html[data-theme="oscuro"] .text-blue-800,
html[data-theme="oscuro"] .text-blue-900 { color: #60a5fa !important; }

html[data-theme="oscuro"] .border-blue-100,
html[data-theme="oscuro"] .border-blue-200,
html[data-theme="oscuro"] .border-blue-300 { border-color: rgba(59, 130, 246, 0.4) !important; }

html[data-theme="oscuro"] .bg-purple-50,
html[data-theme="oscuro"] .bg-purple-100,
html[data-theme="oscuro"] .bg-purple-200 { background: rgba(168, 85, 247, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-purple-50:hover,
html[data-theme="oscuro"] .hover\:bg-purple-100:hover,
html[data-theme="oscuro"] .hover\:bg-purple-200:hover { background: rgba(168, 85, 247, 0.16) !important; }

html[data-theme="oscuro"] .text-purple-400,
html[data-theme="oscuro"] .text-purple-500,
html[data-theme="oscuro"] .text-purple-600,
html[data-theme="oscuro"] .text-purple-700,
html[data-theme="oscuro"] .text-purple-800,
html[data-theme="oscuro"] .text-purple-900 { color: #c084fc !important; }

html[data-theme="oscuro"] .border-purple-100,
html[data-theme="oscuro"] .border-purple-200,
html[data-theme="oscuro"] .border-purple-300 { border-color: rgba(168, 85, 247, 0.4) !important; }

html[data-theme="oscuro"] .bg-yellow-50,
html[data-theme="oscuro"] .bg-yellow-100,
html[data-theme="oscuro"] .bg-yellow-200 { background: rgba(234, 179, 8, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-yellow-50:hover,
html[data-theme="oscuro"] .hover\:bg-yellow-100:hover,
html[data-theme="oscuro"] .hover\:bg-yellow-200:hover { background: rgba(234, 179, 8, 0.16) !important; }

html[data-theme="oscuro"] .text-yellow-400,
html[data-theme="oscuro"] .text-yellow-500,
html[data-theme="oscuro"] .text-yellow-600,
html[data-theme="oscuro"] .text-yellow-700,
html[data-theme="oscuro"] .text-yellow-800,
html[data-theme="oscuro"] .text-yellow-900 { color: #facc15 !important; }

html[data-theme="oscuro"] .border-yellow-100,
html[data-theme="oscuro"] .border-yellow-200,
html[data-theme="oscuro"] .border-yellow-300 { border-color: rgba(234, 179, 8, 0.4) !important; }

html[data-theme="oscuro"] .bg-indigo-50,
html[data-theme="oscuro"] .bg-indigo-100,
html[data-theme="oscuro"] .bg-indigo-200 { background: rgba(99, 102, 241, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-indigo-50:hover,
html[data-theme="oscuro"] .hover\:bg-indigo-100:hover,
html[data-theme="oscuro"] .hover\:bg-indigo-200:hover { background: rgba(99, 102, 241, 0.16) !important; }

html[data-theme="oscuro"] .text-indigo-400,
html[data-theme="oscuro"] .text-indigo-500,
html[data-theme="oscuro"] .text-indigo-600,
html[data-theme="oscuro"] .text-indigo-700,
html[data-theme="oscuro"] .text-indigo-800,
html[data-theme="oscuro"] .text-indigo-900 { color: #818cf8 !important; }

html[data-theme="oscuro"] .border-indigo-100,
html[data-theme="oscuro"] .border-indigo-200,
html[data-theme="oscuro"] .border-indigo-300 { border-color: rgba(99, 102, 241, 0.4) !important; }

html[data-theme="oscuro"] .bg-emerald-50,
html[data-theme="oscuro"] .bg-emerald-100,
html[data-theme="oscuro"] .bg-emerald-200 { background: rgba(16, 185, 129, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-emerald-50:hover,
html[data-theme="oscuro"] .hover\:bg-emerald-100:hover,
html[data-theme="oscuro"] .hover\:bg-emerald-200:hover { background: rgba(16, 185, 129, 0.16) !important; }

html[data-theme="oscuro"] .text-emerald-400,
html[data-theme="oscuro"] .text-emerald-500,
html[data-theme="oscuro"] .text-emerald-600,
html[data-theme="oscuro"] .text-emerald-700,
html[data-theme="oscuro"] .text-emerald-800,
html[data-theme="oscuro"] .text-emerald-900 { color: #34d399 !important; }

html[data-theme="oscuro"] .border-emerald-100,
html[data-theme="oscuro"] .border-emerald-200,
html[data-theme="oscuro"] .border-emerald-300 { border-color: rgba(16, 185, 129, 0.4) !important; }

html[data-theme="oscuro"] .bg-sky-50,
html[data-theme="oscuro"] .bg-sky-100,
html[data-theme="oscuro"] .bg-sky-200 { background: rgba(14, 165, 233, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-sky-50:hover,
html[data-theme="oscuro"] .hover\:bg-sky-100:hover,
html[data-theme="oscuro"] .hover\:bg-sky-200:hover { background: rgba(14, 165, 233, 0.16) !important; }

html[data-theme="oscuro"] .text-sky-400,
html[data-theme="oscuro"] .text-sky-500,
html[data-theme="oscuro"] .text-sky-600,
html[data-theme="oscuro"] .text-sky-700,
html[data-theme="oscuro"] .text-sky-800,
html[data-theme="oscuro"] .text-sky-900 { color: #38bdf8 !important; }

html[data-theme="oscuro"] .border-sky-100,
html[data-theme="oscuro"] .border-sky-200,
html[data-theme="oscuro"] .border-sky-300 { border-color: rgba(14, 165, 233, 0.4) !important; }

html[data-theme="oscuro"] .bg-teal-50,
html[data-theme="oscuro"] .bg-teal-100,
html[data-theme="oscuro"] .bg-teal-200 { background: rgba(20, 184, 166, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-teal-50:hover,
html[data-theme="oscuro"] .hover\:bg-teal-100:hover,
html[data-theme="oscuro"] .hover\:bg-teal-200:hover { background: rgba(20, 184, 166, 0.16) !important; }

html[data-theme="oscuro"] .text-teal-400,
html[data-theme="oscuro"] .text-teal-500,
html[data-theme="oscuro"] .text-teal-600,
html[data-theme="oscuro"] .text-teal-700,
html[data-theme="oscuro"] .text-teal-800,
html[data-theme="oscuro"] .text-teal-900 { color: #2dd4bf !important; }

html[data-theme="oscuro"] .border-teal-100,
html[data-theme="oscuro"] .border-teal-200,
html[data-theme="oscuro"] .border-teal-300 { border-color: rgba(20, 184, 166, 0.4) !important; }

html[data-theme="oscuro"] .bg-rose-50,
html[data-theme="oscuro"] .bg-rose-100,
html[data-theme="oscuro"] .bg-rose-200 { background: rgba(244, 63, 94, 0.16) !important; }

html[data-theme="oscuro"] .hover\:bg-rose-50:hover,
html[data-theme="oscuro"] .hover\:bg-rose-100:hover,
html[data-theme="oscuro"] .hover\:bg-rose-200:hover { background: rgba(244, 63, 94, 0.16) !important; }

html[data-theme="oscuro"] .text-rose-400,
html[data-theme="oscuro"] .text-rose-500,
html[data-theme="oscuro"] .text-rose-600,
html[data-theme="oscuro"] .text-rose-700,
html[data-theme="oscuro"] .text-rose-800,
html[data-theme="oscuro"] .text-rose-900 { color: #fb7185 !important; }

html[data-theme="oscuro"] .border-rose-100,
html[data-theme="oscuro"] .border-rose-200,
html[data-theme="oscuro"] .border-rose-300 { border-color: rgba(244, 63, 94, 0.4) !important; }

html[data-theme="oscuro"] .bg-gray-200 { background: #3f4c63 !important; }

html[data-theme="oscuro"] .bg-gray-300 { background: #475569 !important; }

html[data-theme="oscuro"] .text-gray-300 { color: #94a3b8 !important; }

html[data-theme="oscuro"] .hover\:bg-gray-200:hover { background: #3f4c63 !important; }

html[data-theme="oscuro"] .divide-gray-100 > :not([hidden]) ~ :not([hidden]),
html[data-theme="oscuro"] .divide-gray-200 > :not([hidden]) ~ :not([hidden]) { border-color: #334155 !important; }

html[data-theme="oscuro"] .divide-gray-100 > :not(:last-child),
html[data-theme="oscuro"] .divide-gray-200 > :not(:last-child) { border-color: #334155 !important; }


.theme-toggle-btn {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.75rem;
    background: var(--primary-light, #FFF6EF);
    color: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
    border: none;
}

.theme-toggle-btn:hover { background: var(--primary); color: white; }

.sidebar-collapse-btn {
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--text-secondary);
    border: none;
    transition: background-color 0.2s ease, color 0.2s ease;
    cursor: pointer;
}
.sidebar-collapse-btn:hover { background: var(--primary-light, #FFF6EF); color: var(--primary); }

.sidebar-avatar { background: var(--primary-light, #FFF6EF); color: var(--primary); }

body {
    font-family: 'Inter', sans-serif;
    background: var(--gray-100, #f1f5f9);
}

.sidebar {
    background: var(--surface);
    border-right: 1px solid var(--border, #e2e8f0);
    box-shadow: 2px 0 8px rgba(0, 0, 0, 0.04);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition-property: width, transform;
    transition-duration: 300ms;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-brand-ruc {
    font-size: 0.6875rem;
}

.sidebar a,
.sidebar .menu-item {
    color: var(--text-secondary);
    font-size: 0.875rem;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    position: relative;
}

.sidebar a:hover,
.sidebar .menu-item:hover {
    color: var(--primary);
    background: var(--sidebar-hover-bg, var(--primary-light, #FFF6EF));
}

.sidebar a.active,
.sidebar .menu-item.active {
    background: var(--sidebar-active-bg, var(--primary-light, #FFF6EF));
    color: var(--primary);
    font-weight: 700;
    box-shadow: inset 3px 0 0 0 var(--primary);
}

.sidebar a svg,
.sidebar .menu-item svg {
    transition: transform 0.2s ease;
}

.sidebar a:hover svg,
.sidebar .menu-item:hover svg {
    transform: scale(1.1);
}

.sidebar .menu-section {
    color: var(--text-secondary);
    opacity: 0.7;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    font-size: 0.7rem;
    padding: 1rem 1rem 0.5rem;
}

.sidebar .menu-section.menu-section-toggle {
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.sidebar .menu-section-chevron {
    font-size: 0.65rem;
    transition: transform 0.2s ease-in-out;
}
.sidebar .menu-section-chevron.rotated {
    transform: rotate(-90deg);
}
.sidebar .menu-section-items {
    overflow: hidden;
    max-height: 2000px;
    transition: max-height 0.25s ease-in-out;
}
.sidebar .menu-section-items.collapsed {
    max-height: 0;
}

.submenu {
    overflow: hidden;
    margin-left: 1.7rem;
    padding-left: 0.85rem;
    border-left: 1px solid var(--border, #e2e8f0);
}

.submenu a {
    padding-left: 0.75rem !important;
    font-size: 0.8125rem;
    margin-bottom: 0.25rem;
}

.submenu a:last-child {
    margin-bottom: 0;
}

.submenu a i {
    width: 1.2rem;
    font-size: 0.9rem;
}

.entradas-flyout-rail {
    width: 14rem;
    padding: 0.5rem;
    background: var(--surface);
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    z-index: 100;
}
.entradas-flyout-rail a {
    display: flex;
    align-items: center;
    padding: 0.625rem 0.75rem;
    border-radius: 0.625rem;
    color: var(--text-secondary);
    font-size: 0.8125rem;
    margin-bottom: 0.25rem;
    transition: color 0.2s ease, background-color 0.2s ease;
}
.entradas-flyout-rail a:last-child {
    margin-bottom: 0;
}
.entradas-flyout-rail a:hover {
    color: var(--primary);
    background: var(--sidebar-hover-bg, var(--primary-light, #FFF6EF));
}
.entradas-flyout-rail a.active {
    background: var(--sidebar-active-bg, var(--primary-light, #FFF6EF));
    color: var(--primary);
    font-weight: 700;
}
.entradas-flyout-rail a svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
}

::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--gray-100); }
::-webkit-scrollbar-thumb { background: var(--gray-300); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-secondary); }

.mobile-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 60 !important;
    background: rgba(255, 255, 255, 0.98);
    border-bottom: 1px solid rgba(226, 232, 240, 0.5);
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.fixed.inset-0.z-50 { z-index: 65 !important; }

.mobile-menu-btn {
    background: var(--gray-100, #f1f5f9);
    color: var(--gray-700, #334155);
    box-shadow: none;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.mobile-menu-btn:hover {
    background: var(--gray-200, #e2e8f0);
}

.sidebar a,
.sidebar .menu-item,
.sidebar button,
.submenu a {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

.sidebar a:focus,
.sidebar .menu-item:focus,
.sidebar button:focus { outline: none; }

main { min-height: 100vh; }

.app-content-bg { background: #F2F2F2; }
html[data-theme="oscuro"] .app-content-bg { background: var(--surface-alt); }

.page-header-card { min-height: 6.5rem; }

.app-topbar {
    height: 4.5rem;
    background: var(--surface);
    border-bottom: 1px solid var(--border, #e2e8f0);
}
.sidebar-footer-icon-btn {
    width: 1.85rem; height: 1.85rem; border-radius: 0.5rem;
    display: flex; align-items: center; justify-content: center;
    color: var(--text-secondary);
    transition: background-color 0.15s ease, color 0.15s ease;
    border: none; background: transparent; cursor: pointer;
}
.sidebar-footer-icon-btn:hover { background: var(--primary-light, #FFF6EF); color: var(--primary); }

@media (max-width: 1023px) {
    .sidebar { height: 100vh; padding-bottom: 80px; }
}

@media (min-width: 1024px) {
    .sidebar { height: 100vh; position: sticky; top: 0; }
}

@media (min-width: 1024px) {
    .sidebar { width: 18rem; }
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2.25rem !important;
    font-weight: 400;
    cursor: pointer;
}
select option { font-weight: 400; }
html[data-theme="oscuro"] select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23cbd5e1' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
}

.tz-select { position: relative; width: 100%; }
.tz-select.tz-select--inline { display: inline-block; width: auto; vertical-align: middle; max-width: 100%; }
.tz-select-native { position: absolute !important; left: 0; bottom: 0; opacity: 0 !important; pointer-events: none !important; clip-path: inset(50%) !important; }
.tz-select-trigger.tz-select-error { border-color: #dc2626 !important; box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12) !important; }
.tz-select-trigger {
    width: 100%;
    display: block;
    text-align: left;
    background: var(--surface);
    border: 1px solid var(--gray-300);
    border-radius: 0.5rem;
    padding: 0.5rem 2.25rem 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--text-primary);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    transition: border-color 0.15s ease;
}
.tz-select-trigger:hover { border-color: var(--gray-300); }
.tz-select-trigger.is-open,
.tz-select-trigger:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(255, 159, 67, 0.12);
}
.tz-select-trigger.is-open {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23FF9F43' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M14 12l-4-4-4 4'/%3E%3C/svg%3E");
}
.tz-select-trigger.tz-select-disabled {
    background-color: var(--surface-alt, #f9fafb);
    color: var(--text-secondary);
    cursor: not-allowed;
}
.tz-select-listbox {
    display: none;
    position: absolute;
    top: calc(100% + 0.25rem);
    left: 0;
    width: max-content;
    max-height: 15rem;
    overflow-y: auto;
    background: var(--surface);
    border: 1px solid var(--gray-300);
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12);
    z-index: 60;
    padding: 0.25rem;
}
.tz-select-listbox.is-open { display: block; }
.tz-select-buscar { position: sticky; top: -0.25rem; z-index: 1; display: flex; align-items: center; gap: 0.5rem; background: var(--surface); margin: -0.25rem -0.25rem 0.25rem; padding: 0 0.75rem; box-sizing: border-box; border-bottom: 1px solid var(--gray-200, #e2e8f0); border-radius: 0.5rem 0.5rem 0 0; }
.tz-select-buscar[hidden] { display: none !important; }
.tz-select-buscar svg { width: 0.95rem; height: 0.95rem; flex-shrink: 0; color: var(--text-secondary); }
.tz-select .tz-select-listbox .tz-select-buscar input.tz-buscar-in,
html[data-theme="oscuro"] .tz-select .tz-select-listbox .tz-select-buscar input.tz-buscar-in,
.tz-select .tz-select-listbox .tz-select-buscar input.tz-buscar-in:focus,
html[data-theme="oscuro"] .tz-select .tz-select-listbox .tz-select-buscar input.tz-buscar-in:focus {
    flex: 1; min-width: 9rem; width: 100%; height: 2.4rem; min-height: 0; margin: 0; padding: 0;
    border: 0 !important; border-radius: 0 !important; background: transparent !important;
    box-shadow: none !important; outline: none !important;
    font-size: 0.85rem; color: var(--text-primary) !important;
}
.tz-select .tz-select-listbox .tz-select-buscar input.tz-buscar-in::placeholder { color: var(--text-secondary) !important; opacity: .8; }
.tz-select-buscar:focus-within svg { color: var(--primary); }
html[data-theme="oscuro"] .tz-select-buscar { border-bottom-color: var(--border); }
.tz-select-vacio { padding: 0.6rem 0.75rem; font-size: 0.8125rem; color: var(--text-secondary); }
.tz-select-listbox .tz-select-option:hover { background: transparent; }
.tz-select-listbox .tz-select-option.is-activa { background: var(--primary-light, #FFF4EA); color: var(--primary-dark, #C1650B); }
html[data-theme="oscuro"] .tz-select-listbox .tz-select-option.is-activa { background: rgba(255, 159, 67, 0.14); color: #FFB067; }
.tz-select-listbox::-webkit-scrollbar { width: 6px; height: 6px; }
.tz-select-listbox::-webkit-scrollbar-track { background: transparent; }
.tz-select-listbox::-webkit-scrollbar-thumb {
    background: var(--gray-300);
    border-radius: 3px;
}
.tz-select-listbox::-webkit-scrollbar-thumb:hover { background: var(--text-secondary); }
.tz-select-option {
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--text-primary);
    border-radius: 0.375rem;
    cursor: pointer;
    white-space: normal;
    word-break: break-word;
}
.tz-select-option:hover { background: var(--surface-alt, #f8fafc); }
.tz-select-option.tz-select-option--disabled { color: var(--text-secondary); opacity: .55; cursor: not-allowed; }
.tz-select-option.tz-select-option--disabled:hover { background: transparent; }
.tz-select-optgroup-label {
    padding: 0.4rem 0.75rem 0.25rem;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--text-secondary);
    cursor: default;
    user-select: none;
}
.tz-select-optgroup-label:not(:first-child) {
    margin-top: 0.25rem;
    padding-top: 0.5rem;
    border-top: 1px solid var(--gray-100);
}
.tz-select-option.tz-select-option--agrupada {
    padding-left: 1.5rem;
}
.tz-select-option.is-selected {
    background: var(--primary-light, #FFF6EF);
    color: var(--primary-dark, #C1650B);
}
html[data-theme="oscuro"] .tz-select-option.is-selected {
    background: rgba(255, 159, 67, 0.15);
    color: var(--primary);
}
html[data-theme="oscuro"] .tz-select-listbox {
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.5);
}

input[type="text"],
input[type="search"],
input[type="number"],
input[type="date"],
input[type="tel"],
input[type="email"],
input[type="password"],
input:not([type]),
select,
textarea {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.action-menu { position: relative; display: inline-block; }
.action-menu-trigger {
    width: 2rem; height: 2rem; border-radius: 0.5rem;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--text-secondary); background: transparent; border: none; cursor: pointer;
    transition: all 0.15s ease;
}
.action-menu-trigger:hover { background: var(--surface-alt); color: var(--text-primary); }
.action-menu-panel {
    display: none;
    position: absolute; right: 0; top: calc(100% + 4px); min-width: 10rem;
    background: var(--surface); border: 1px solid var(--border); border-radius: 0.75rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12);
    z-index: 50; padding: 0.375rem; text-align: left;
}
.action-menu-panel.is-open { display: block; }
.action-menu-panel a, .action-menu-panel button {
    display: flex; align-items: center; gap: 0.5rem; width: 100%;
    padding: 0.5rem 0.625rem; border-radius: 0.5rem; font-size: 0.8125rem;
    color: var(--text-primary); background: transparent; border: none; cursor: pointer;
    text-align: left; text-decoration: none;
}
.action-menu-panel a:hover, .action-menu-panel button:hover { background: var(--surface-alt); }
.action-menu-panel .text-danger-action { color: var(--danger); }

.stat-pill {
    display: flex; align-items: center; gap: 0.75rem;
    background: var(--surface-alt, #f9fafb); border-radius: var(--radius-card, 12px);
    padding: 0.625rem 1rem;
}
.stat-pill-icon {
    width: 2.5rem; height: 2.5rem; border-radius: 9999px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.05rem; flex-shrink: 0;
}
html[data-theme="oscuro"] .stat-pill { background: var(--surface-alt); }

html[data-theme="oscuro"] .mi-inventario-stat-card { background: var(--surface-alt) !important; }

html[data-theme="oscuro"] .modal-field-card { background: var(--surface-alt) !important; }

html[data-theme="oscuro"] .bitacora-detalle-divisor { border-color: rgba(255, 255, 255, 0.18) !important; }

.badge-dot {
    display: inline-flex; align-items: center; gap: 0.375rem;
}
.badge-dot::before {
    content: ""; width: 0.375rem; height: 0.375rem; border-radius: 9999px;
    background: currentColor; flex-shrink: 0;
}

.pagination-pill {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2.25rem; height: 2.25rem; border-radius: 9999px;
    padding: 0 0.5rem; font-weight: 500;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

table.dataTable { width: 100% !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 2.25rem; height: 2.25rem; border-radius: 9999px !important;
    padding: 0 0.5rem !important; margin-left: 0.25rem;
    font-weight: 500; border: 1px solid var(--border, #d1d5db) !important;
    background: var(--surface, #fff) !important; color: var(--text-primary) !important;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--primary) !important; color: #fff !important;
    border-color: var(--primary) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: var(--primary) !important; color: #fff !important;
    border-color: var(--primary) !important;
}
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
    background: var(--surface-alt, #f3f4f6) !important; color: var(--text-secondary) !important;
    border-color: var(--border, #d1d5db) !important; cursor: not-allowed;
}
.dataTables_wrapper .dataTables_info {
    color: var(--text-secondary); font-size: 0.8125rem;
}
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_processing {
    color: var(--text-secondary); font-size: 0.8125rem;
}
.dataTables_length .tz-select {
    width: auto;
    display: inline-block;
}
.dataTables_length .tz-select-trigger {
    width: auto;
    min-width: 4.75rem;
    padding-right: 2rem;
}
table[id^="tabla"] tbody tr:hover {
    background: var(--surface-alt, #f9fafb);
}

.confirm-modal-overlay {
    position: fixed; inset: 0; z-index: 9998;
    background: rgba(15, 23, 42, 0.5);
    display: flex; align-items: center; justify-content: center;
    padding: 1rem;
}
.confirm-modal-overlay.hidden { display: none !important; }
.confirm-modal {
    background: var(--surface); border-radius: var(--radius-card, 12px);
    box-shadow: var(--shadow-card, 0 10px 40px rgba(0,0,0,0.15));
    max-width: 26rem; width: 100%; padding: 1.75rem; text-align: center;
}
.confirm-modal-icon {
    width: 3rem; height: 3rem; border-radius: 9999px; margin: 0 auto 1rem;
    background: var(--primary); color: white;
    display: flex; align-items: center; justify-content: center; font-size: 1.25rem;
    opacity: 0.9;
}
.confirm-modal-mensaje { color: var(--text-primary); font-size: 0.9375rem; line-height: 1.5; }
.confirm-modal-acciones { display: flex; gap: 0.75rem; justify-content: center; margin-top: 1.5rem; }
.confirm-modal-btn {
    padding: 0.625rem 1.5rem; border-radius: 0.5rem; font-size: 0.875rem; font-weight: 500;
    border: none; cursor: pointer; transition: all 0.15s ease;
}
.confirm-modal-btn-cancelar { background: var(--surface-alt); color: var(--text-secondary); }
.confirm-modal-btn-cancelar:hover { background: var(--border); }
.confirm-modal-btn-confirmar { background: var(--primary); color: white; }
.confirm-modal-btn-confirmar:hover { background: var(--primary-hover); }

select:not([multiple]):not(.flatpickr-monthDropdown-months) {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2.5rem !important;
}
html[data-theme="oscuro"] select:not([multiple]):not(.flatpickr-monthDropdown-months) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='5 8 10 13 15 8'/%3E%3C/svg%3E");
}
.flatpickr-monthDropdown-months {
    background: transparent;
    color: var(--text-primary);
    cursor: pointer;
}
html[data-theme="oscuro"] .flatpickr-monthDropdown-months option {
    background: var(--surface);
    color: var(--text-primary);
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
    border: 1px solid var(--border, #e2e8f0);
    border-radius: 0.625rem;
    padding: 0.55rem 0.85rem;
    font-size: 0.875rem;
    background-color: var(--surface, #fff);
    color: var(--text-primary, #1e293b);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
select:focus,
textarea:focus {
    outline: none !important;
    border-color: var(--primary) !important;
    box-shadow: 0 0 0 3px rgba(18, 77, 199, 0.15) !important;
}
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):disabled,
select:disabled,
textarea:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    background-color: var(--surface-alt, #f8fafc) !important;
}

input[type="radio"] {
    accent-color: var(--primary);
    width: 1.05rem;
    height: 1.05rem;
    cursor: pointer;
}
input[type="checkbox"]:not([hidden]):not(.sr-only) {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 1.25rem;
    height: 1.25rem;
    min-width: 1.25rem;
    margin: 0;
    border-radius: 999px;
    border: 1.5px solid var(--gray-300, #cbd5e1);
    background: var(--surface, #fff) center / .8rem .8rem no-repeat;
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    cursor: pointer;
    transition: background-color .15s, border-color .15s, box-shadow .15s;
}
input[type="checkbox"]:not([hidden]):not(.sr-only):hover:not(:disabled) {
    border-color: var(--primary);
}
input[type="checkbox"]:not([hidden]):not(.sr-only):checked {
    background-color: var(--primary);
    border-color: var(--primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10.5l3.2 3.2L15 7'/%3E%3C/svg%3E");
}
input[type="checkbox"]:not([hidden]):not(.sr-only):indeterminate {
    background-color: var(--primary);
    border-color: var(--primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M5.5 10h9'/%3E%3C/svg%3E");
}
input[type="checkbox"]:disabled,
input[type="radio"]:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}
input[type="checkbox"]:not([hidden]):not(.sr-only):focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(255, 159, 67, .3);
}
input[type="radio"]:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

input[type="file"]::file-selector-button {
    margin-right: 0.75rem;
    padding: 0.4rem 0.9rem;
    border: none;
    border-radius: 0.5rem;
    background-color: var(--primary);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s ease;
}
input[type="file"]::file-selector-button:hover { background-color: #C1650B; }
input[type="file"]:disabled::file-selector-button { cursor: not-allowed; opacity: 0.6; }

button, .btn, a.btn {
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease, opacity 0.15s ease;
}
button:not(:disabled):active, .btn:not(.disabled):active { transform: scale(0.97); }
button:disabled, .btn.disabled { opacity: 0.6; cursor: not-allowed; }
button:focus-visible, a:focus-visible, .btn:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.btn-primary-flat {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: 0.625rem 1.25rem; border-radius: 0.625rem;
    background-color: var(--primary); color: #fff;
    font-weight: 600; font-size: 0.875rem; border: none; box-shadow: none;
}
.btn-primary-flat:hover:not(:disabled) { background-color: var(--primary-dark); }

.btn-ghost {
    display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem;
    padding: 0.625rem 1.125rem; border-radius: 0.625rem;
    background-color: transparent; border: 1px solid var(--gray-200, #e2e8f0);
    color: var(--gray-600, #475569); font-weight: 500; font-size: 0.875rem; box-shadow: none;
}
.btn-ghost:hover:not(:disabled) {
    background-color: var(--gray-50, #f8fafc); border-color: var(--gray-300, #cbd5e1); color: var(--gray-800, #1e293b);
}
.btn-ghost-primary { color: var(--primary-dark); border-color: transparent; }
.btn-ghost-primary:hover:not(:disabled) { background-color: var(--primary-light); border-color: transparent; color: var(--primary-dark); }
.btn-ghost-danger { color: var(--danger); border-color: transparent; }
.btn-ghost-danger:hover:not(:disabled) { background-color: rgba(239, 68, 68, 0.12); border-color: transparent; color: var(--danger, #ef4444); }
.btn-ghost-neutral { border-color: transparent; }
.btn-ghost-neutral:hover:not(:disabled) { background-color: var(--gray-100, #f1f5f9); border-color: transparent; }

.icon-btn {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2rem; height: 2rem; border-radius: 0.5rem; flex-shrink: 0;
    background-color: transparent; color: var(--gray-400, #94a3b8); border: none; box-shadow: none; cursor: pointer;
}
.icon-btn:hover:not(:disabled) { background-color: var(--gray-100, #f1f5f9); color: var(--gray-700, #334155); }
.icon-btn-primary:hover:not(:disabled) { background-color: var(--primary-light); color: var(--primary-dark); }
.icon-btn-danger:hover:not(:disabled) { background-color: rgba(239, 68, 68, 0.12); color: var(--danger, #ef4444); }
.icon-btn-success:hover:not(:disabled) { background-color: rgba(16, 185, 129, 0.12); color: var(--success, #10b981); }
.icon-btn:disabled, .icon-btn.disabled { color: var(--gray-300, #cbd5e1); cursor: not-allowed; background-color: transparent; }

.btn-cta-soft {
    display: inline-flex; align-items: center; gap: .4rem; height: 2rem; padding: 0 .8rem 0 .65rem;
    border-radius: .55rem; border: 1px solid rgba(255, 159, 67, .38); background-color: var(--primary-light);
    color: var(--primary-dark); font-size: .75rem; font-weight: 600; line-height: 1; white-space: nowrap;
    text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s;
    -webkit-tap-highlight-color: transparent;
}
.btn-cta-soft svg { width: .95rem; height: .95rem; flex-shrink: 0; }
.btn-cta-soft .btn-cta-arrow { width: .8rem; height: .8rem; opacity: .7; transition: transform .15s, opacity .15s; }
.btn-cta-soft:hover { background-color: var(--primary); border-color: var(--primary); color: #fff; box-shadow: 0 4px 12px -4px rgba(255, 159, 67, .55); }
.btn-cta-soft:hover .btn-cta-arrow { transform: translateX(2px); opacity: 1; }
.btn-cta-soft:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255, 159, 67, .3); }
html[data-theme="oscuro"] .btn-cta-soft { color: var(--primary-soft, #FFB067); border-color: rgba(255, 159, 67, .3); }
html[data-theme="oscuro"] .btn-cta-soft:hover { color: #fff; }

.btn-filtros { display: inline-flex; align-items: center; gap: .45rem; flex-shrink: 0; }
.btn-filtro, .btn-limpiar {
    position: relative; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;
    width: var(--btn-filtro-size, 2.375rem); height: var(--btn-filtro-size, 2.375rem); padding: 0;
    border-radius: .65rem; border: 1px solid transparent; cursor: pointer; text-decoration: none;
    transition: background-color .15s, color .15s, border-color .15s, box-shadow .15s, transform .15s;
    -webkit-tap-highlight-color: transparent;
}
.btn-filtro svg, .btn-limpiar svg { width: 1.1rem; height: 1.1rem; flex-shrink: 0; }
.btn-filtro i, .btn-limpiar i { font-size: .95rem; margin: 0 !important; }
.btn-filtro { background: var(--primary); border-color: var(--primary); color: #fff; box-shadow: none; }
.btn-filtro:hover { background: var(--primary-dark); border-color: var(--primary-dark); color: #fff; box-shadow: none; }
.btn-limpiar { background: var(--surface); border-color: var(--gray-300, #cbd5e1); color: var(--text-secondary); }
.btn-limpiar:hover { background: rgba(220, 38, 38, .08); border-color: rgba(220, 38, 38, .35); color: #dc2626; }
.btn-limpiar:hover svg { transform: rotate(-90deg); }
.btn-limpiar svg { transition: transform .25s; }
html[data-theme="oscuro"] .btn-limpiar { border-color: var(--border); }
html[data-theme="oscuro"] .btn-limpiar:hover { color: #f87171; border-color: rgba(248, 113, 113, .4); background: rgba(248, 113, 113, .1); }
.btn-filtro:focus-visible, .btn-limpiar:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(255, 159, 67, .35); }
.btn-filtro[disabled], .btn-filtro[aria-busy="true"] { opacity: .65; pointer-events: none; }
.btn-filtro[data-tip]:hover::after, .btn-limpiar[data-tip]:hover::after,
.btn-filtro[data-tip]:focus-visible::after, .btn-limpiar[data-tip]:focus-visible::after {
    content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 8px);
    transform: translateX(-50%); padding: .3rem .55rem; border-radius: .4rem;
    background: #0f172a; color: #fff; font-size: .72rem; font-weight: 500; line-height: 1.2; white-space: nowrap;
    pointer-events: none; z-index: 40; animation: btn-tip-in .15s ease-out;
}
@keyframes btn-tip-in { from { opacity: 0; transform: translate(-50%, 4px); } to { opacity: 1; transform: translateX(-50%); } }
html[data-theme="oscuro"] .btn-filtro[data-tip]:hover::after, html[data-theme="oscuro"] .btn-limpiar[data-tip]:hover::after,
html[data-theme="oscuro"] .btn-filtro[data-tip]:focus-visible::after, html[data-theme="oscuro"] .btn-limpiar[data-tip]:focus-visible::after { background: #f1f5f9; color: #0f172a; }
@media (hover: none) { .btn-filtro[data-tip]::after, .btn-limpiar[data-tip]::after { display: none !important; } }

.icon-status {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2rem; height: 2rem; border-radius: 0.5rem; flex-shrink: 0; cursor: help;
}
.icon-status-muted { color: var(--gray-300, #cbd5e1); }
.icon-status-success { color: #10b981; }
.icon-status-warning { color: #f59e0b; }

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px #fff inset !important;
    -webkit-text-fill-color: var(--text-primary, #1e293b) !important;
}
html[data-theme="oscuro"] input:-webkit-autofill,
html[data-theme="oscuro"] input:-webkit-autofill:hover,
html[data-theme="oscuro"] input:-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 30px #1e293b inset !important;
    -webkit-text-fill-color: #f1f5f9 !important;
}

html[data-theme="oscuro"] input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
html[data-theme="oscuro"] select,
html[data-theme="oscuro"] textarea {
    background-color: #1e293b !important;
    color: #f1f5f9 !important;
    border-color: #334155 !important;
}
html[data-theme="oscuro"] input::placeholder,
html[data-theme="oscuro"] textarea::placeholder { color: #64748b !important; }

html[data-theme="oscuro"] input[type="date"]::-webkit-calendar-picker-indicator,
html[data-theme="oscuro"] input[type="time"]::-webkit-calendar-picker-indicator,
html[data-theme="oscuro"] input[type="datetime-local"]::-webkit-calendar-picker-indicator,
html[data-theme="oscuro"] input[type="month"]::-webkit-calendar-picker-indicator,
html[data-theme="oscuro"] input[type="week"]::-webkit-calendar-picker-indicator {
    filter: invert(1) brightness(1.6);
    cursor: pointer;
}

.flatpickr-calendar {
    background: var(--surface) !important;
    border: 1px solid var(--border, #e2e8f0) !important;
    border-radius: 0.75rem;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.12);
    font-family: 'Inter', sans-serif;
}
.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after { border-bottom-color: var(--surface) !important; }
.flatpickr-calendar.arrowBottom::before,
.flatpickr-calendar.arrowBottom::after { border-top-color: var(--surface) !important; }
.flatpickr-months { padding-bottom: 0.25rem; }
.flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-weekdays { background: transparent !important; color: var(--text-primary) !important; }
.flatpickr-current-month { font-weight: 600; }
.flatpickr-current-month .flatpickr-monthDropdown-months { font-weight: 600; }
.flatpickr-current-month input.cur-year {
    color: var(--text-primary) !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}
.flatpickr-current-month input.cur-year:focus {
    background: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}
.flatpickr-current-month input.cur-year::-webkit-inner-spin-button,
.flatpickr-current-month input.cur-year::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
.numInputWrapper span.arrowUp,
.numInputWrapper span.arrowDown {
    display: none;
}
.flatpickr-weekday {
    color: var(--text-secondary) !important;
    font-weight: 500;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.flatpickr-day {
    color: var(--text-primary) !important;
    font-weight: 400;
    border-radius: 9999px;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: var(--text-secondary) !important; opacity: 0.4 !important; }
.flatpickr-day:hover { background: var(--surface-alt, #f8fafc) !important; }
.flatpickr-day.today {
    border-color: var(--primary) !important;
    background: var(--primary-light, #FFF6EF) !important;
    color: var(--primary-dark, #C1650B) !important;
    font-weight: 500;
}
.flatpickr-day.today:hover {
    background: var(--primary-light, #FFF6EF) !important;
    border-color: var(--primary) !important;
}
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.selected.today {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
    font-weight: 500;
}
.flatpickr-day.inRange,
.flatpickr-day.inRange:hover {
    background: var(--primary-light, #FFF6EF) !important;
    border-color: var(--primary-light, #FFF6EF) !important;
    box-shadow: -5px 0 0 var(--primary-light, #FFF6EF), 5px 0 0 var(--primary-light, #FFF6EF) !important;
    color: var(--text-primary) !important;
}
.flatpickr-day.startRange,
.flatpickr-day.startRange:hover,
.flatpickr-day.endRange,
.flatpickr-day.endRange:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
}
.flatpickr-day.today.startRange,
.flatpickr-day.today.startRange:hover,
.flatpickr-day.today.endRange,
.flatpickr-day.today.endRange:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
    font-weight: 500;
}
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    border-radius: 0.5rem;
    transition: background 0.15s ease;
}
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover { background: var(--surface-alt, #f8fafc) !important; }
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg { fill: var(--text-secondary) !important; }
html[data-theme="oscuro"] .flatpickr-current-month input.cur-year,
html[data-theme="oscuro"] .numInputWrapper input { color: var(--text-primary); background: transparent; }
html[data-theme="oscuro"] .flatpickr-day.today {
    background: rgba(255, 159, 67, 0.15) !important;
    color: var(--primary) !important;
}
html[data-theme="oscuro"] .flatpickr-day.startRange,
html[data-theme="oscuro"] .flatpickr-day.startRange:hover,
html[data-theme="oscuro"] .flatpickr-day.endRange,
html[data-theme="oscuro"] .flatpickr-day.endRange:hover {
    background: rgba(255, 159, 67, 0.28) !important;
    border: 2px solid var(--primary) !important;
    color: var(--primary) !important;
    font-weight: 600;
}
html[data-theme="oscuro"] .flatpickr-day.today.startRange,
html[data-theme="oscuro"] .flatpickr-day.today.startRange:hover,
html[data-theme="oscuro"] .flatpickr-day.today.endRange,
html[data-theme="oscuro"] .flatpickr-day.today.endRange:hover {
    background: rgba(255, 159, 67, 0.28) !important;
    border: 2px solid var(--primary) !important;
    color: var(--primary) !important;
    font-weight: 600;
}
html[data-theme="oscuro"] .flatpickr-day.inRange,
html[data-theme="oscuro"] .flatpickr-day.inRange:hover {
    background: var(--primary-light, #FFF6EF) !important;
    border-color: var(--primary-light, #FFF6EF) !important;
    box-shadow: -5px 0 0 var(--primary-light, #FFF6EF), 5px 0 0 var(--primary-light, #FFF6EF) !important;
    color: var(--text-primary) !important;
}
html[data-theme="oscuro"] .dayContainer + .dayContainer {
    box-shadow: -1px 0 0 var(--border, #334155) !important;
}
html[data-theme="oscuro"] .flatpickr-calendar {
    box-shadow: 0 20px 45px -10px rgba(0, 0, 0, 0.65) !important;
}

table thead th {
    font-size: 0.7rem;
    letter-spacing: 0.06em;
}
table tbody tr { transition: background-color 0.15s ease; }
table tbody tr:hover { background-color: #f8fafc !important; }
html[data-theme="oscuro"] table tbody tr:hover { background-color: rgba(255, 255, 255, 0.035) !important; }

.rounded-xl.shadow-sm {
    box-shadow: none !important;
    border: 1px solid #EAEAEA;
    transition: border-color 0.2s ease;
}
html[data-theme="oscuro"] .rounded-xl.shadow-sm { border-color: #334155; }

[class~="bg-[#124DC7]"][class~="text-white"],
[class~="bg-blue-600"][class~="text-white"] {
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(18, 77, 199, 0.15);
    transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
[class~="bg-[#124DC7]"][class~="text-white"]:hover,
[class~="bg-blue-600"][class~="text-white"]:hover {
    box-shadow: 0 4px 12px rgba(18, 77, 199, 0.25);
    transform: translateY(-1px);
}
[class~="bg-[#124DC7]"][class~="text-white"]:active,
[class~="bg-blue-600"][class~="text-white"]:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(18, 77, 199, 0.15);
}
[class~="bg-[#FF9F43]"][class~="text-white"] {
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(255, 159, 67, 0.25);
    transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}
[class~="bg-[#FF9F43]"][class~="text-white"]:hover {
    box-shadow: 0 4px 12px rgba(255, 159, 67, 0.35);
    transform: translateY(-1px);
}
[class~="bg-[#FF9F43]"][class~="text-white"]:active {
    transform: translateY(0);
    box-shadow: 0 1px 2px rgba(255, 159, 67, 0.25);
}

@media (min-width: 1024px) {
    .sidebar.sidebar-rail,
    html.sidebar-rail-precarga .sidebar {
        width: 5.5rem !important;
    }

    .sidebar.sidebar-rail .sidebar-brand-text,
    html.sidebar-rail-precarga .sidebar .sidebar-brand-text,
    .sidebar.sidebar-rail .menu-section,
    html.sidebar-rail-precarga .sidebar .menu-section,
    .sidebar.sidebar-rail nav a span,
    html.sidebar-rail-precarga .sidebar nav a span,
    .sidebar.sidebar-rail .menu-item span,
    html.sidebar-rail-precarga .sidebar .menu-item span,
    .sidebar.sidebar-rail .menu-item-chevron,
    html.sidebar-rail-precarga .sidebar .menu-item-chevron,
    .sidebar.sidebar-rail .sidebar-user-footer-text,
    html.sidebar-rail-precarga .sidebar .sidebar-user-footer-text,
    .sidebar.sidebar-rail .submenu,
    html.sidebar-rail-precarga .sidebar .submenu {
        display: none !important;
    }

    .sidebar.sidebar-rail .menu-section-items.collapsed,
    html.sidebar-rail-precarga .sidebar .menu-section-items.collapsed {
        max-height: none !important;
        overflow: visible;
    }

    .sidebar.sidebar-rail .sidebar-brand-row,
    html.sidebar-rail-precarga .sidebar .sidebar-brand-row {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
        flex-direction: column;
        justify-content: center;
        gap: 0.625rem;
    }
    .sidebar.sidebar-rail .sidebar-brand-info,
    html.sidebar-rail-precarga .sidebar .sidebar-brand-info { justify-content: center; }

    .sidebar.sidebar-rail nav a,
    html.sidebar-rail-precarga .sidebar nav a,
    .sidebar.sidebar-rail .menu-item,
    html.sidebar-rail-precarga .sidebar .menu-item {
        justify-content: center;
        padding: 0 !important;
        width: 2.75rem;
        height: 2.75rem;
        margin-left: auto;
        margin-right: auto;
    }
    .sidebar.sidebar-rail nav a svg,
    html.sidebar-rail-precarga .sidebar nav a svg,
    .sidebar.sidebar-rail .menu-item svg,
    html.sidebar-rail-precarga .sidebar .menu-item svg {
        margin: 0;
    }

    .sidebar.sidebar-rail .sidebar-user-footer .flex,
    html.sidebar-rail-precarga .sidebar .sidebar-user-footer .flex {
        flex-direction: column;
        gap: 0.5rem;
    }
}

[x-cloak] { display: none !important; }

.pl-8  { padding-left: 2rem !important; }
.pl-9  { padding-left: 2.25rem !important; }
.pl-10 { padding-left: 2.5rem !important; }
.pl-11 { padding-left: 2.75rem !important; }
.pl-12 { padding-left: 3rem !important; }
.left-3 { left: 0.75rem !important; }
.left-4 { left: 1rem !important; }
.top-2\.5 { top: 0.625rem !important; }
.top-3 { top: 0.75rem !important; }

html[data-theme="oscuro"] [class~="bg-gray-50/50"],
html[data-theme="oscuro"] [class~="bg-gray-50/70"],
html[data-theme="oscuro"] [class~="bg-gray-50/80"] { background: #1e293b !important; }

html[data-theme="oscuro"] [class~="bg-[#FFF6EF]"],
html[data-theme="oscuro"] [class~="bg-[#FFF1E3]"] { background: rgba(255, 159, 67, 0.16) !important; }

html[data-theme="oscuro"] [class~="hover:bg-[#FFF6EF]"]:hover,
html[data-theme="oscuro"] [class~="hover:bg-[#FFF1E3]"]:hover { background: rgba(255, 159, 67, 0.16) !important; }

html[data-theme="oscuro"] [class*="bg-[#FFF6EF]/"],
html[data-theme="oscuro"] [class*="bg-[#FFF1E3]/"] { background: rgba(255, 159, 67, 0.16) !important; }

#tablaInventarioDesktop [class~="text-[#124DC7]"],
#tablaMiInventario [class~="text-[#124DC7]"] { color: #FF9F43 !important; }

html[data-theme="oscuro"] [class~="from-gray-50"] { background: #1e293b !important; }

html[data-theme="oscuro"] [class~="from-green-50"] { background: rgba(34, 197, 94, 0.16) !important; }
html[data-theme="oscuro"] [class~="from-amber-50"] { background: rgba(245, 158, 11, 0.16) !important; }
html[data-theme="oscuro"] [class~="from-yellow-50"] { background: rgba(234, 179, 8, 0.16) !important; }

html[data-theme="oscuro"] [class~="from-[#FFF6EF]"] { background: rgba(255, 159, 67, 0.16) !important; }

html[data-theme="oscuro"] [class~="border-[#FFE4CC]"],
html[data-theme="oscuro"] [class~="border-[#FFF1E3]"] { border-color: rgba(255, 159, 67, 0.4) !important; }

html[data-theme="oscuro"] [class~="bg-red-50/20"],
html[data-theme="oscuro"] [class~="bg-red-50/30"],
html[data-theme="oscuro"] [class~="bg-red-50/40"] { background: rgba(239, 68, 68, 0.16) !important; }

html[data-theme="oscuro"] [class~="bg-orange-50/30"],
html[data-theme="oscuro"] [class~="bg-orange-50/40"] { background: rgba(249, 115, 22, 0.16) !important; }

html[data-theme="oscuro"] [class~="bg-purple-50/20"],
html[data-theme="oscuro"] [class~="bg-purple-50/40"] { background: rgba(168, 85, 247, 0.16) !important; }

html[data-theme="oscuro"] [class~="bg-emerald-50/50"] { background: rgba(16, 185, 129, 0.16) !important; }

html[data-theme="oscuro"] [class~="hover:bg-indigo-50/40"]:hover { background: rgba(99, 102, 241, 0.16) !important; }

html[data-theme="oscuro"] [class~="hover:bg-green-50/30"]:hover,
html[data-theme="oscuro"] [class~="hover:bg-green-50/40"]:hover { background: rgba(34, 197, 94, 0.16) !important; }

html[data-theme="oscuro"] [class~="hover:bg-orange-50/40"]:hover { background: rgba(249, 115, 22, 0.16) !important; }

html[data-theme="oscuro"] [class~="hover:bg-gray-50/50"]:hover,
html[data-theme="oscuro"] [class~="hover:bg-gray-50/80"]:hover { background: #334155 !important; }

html[data-theme="oscuro"] [class~="bg-white/60"] { background: rgba(255, 255, 255, 0.06) !important; }
html[data-theme="oscuro"] [class~="bg-white/80"] { background: rgba(30, 41, 59, 0.85) !important; }

html { background: #F2F2F2; overscroll-behavior-x: none; }
html[data-theme="oscuro"] { background: var(--surface-alt); }
html, body { max-width: 100%; overflow-x: hidden; overflow-x: clip; }
