@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-1\/2{top:50%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\[1200\]{z-index:1200}.container{width:100%}.mx-auto{margin-inline:auto}.mt-\[10px\]{margin-top:10px}.mb-\[3px\]{margin-bottom:3px}.ml-\[3px\]{margin-left:3px}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.max-h-\[90vh\]{max-height:90vh}.min-h-\[50px\]{min-height:50px}.min-h-\[60px\]{min-height:60px}.min-h-\[400px\]{min-height:400px}.min-h-screen{min-height:100vh}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-\[1000px\]{width:1000px}.w-full{width:100%}.max-w-full{max-width:100%}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-\[1\.02\]{scale:1.02}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.resize{resize:both}.resize-none{resize:none}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-\[14px\]{gap:14px}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-\[14px\]{border-radius:14px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[28px\]{border-radius:28px}.rounded-\[40px\]{border-radius:40px}.rounded-\[50px\]{border-radius:50px}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#2b6ed7\]{border-color:#2b6ed7}.border-\[\#a8d4be\]{border-color:#a8d4be}.border-\[\#abc1db\]{border-color:#abc1db}.border-\[\#acc4e0\]{border-color:#acc4e0}.border-\[\#b8cee9\]{border-color:#b8cee9}.border-\[\#cbd9ec\]{border-color:#cbd9ec}.border-\[\#ccdae9\]{border-color:#ccdae9}.border-\[\#cfdff0\]{border-color:#cfdff0}.border-\[\#d2e2f5\]{border-color:#d2e2f5}.border-\[\#dae3ed\]{border-color:#dae3ed}.border-\[\#dfe8f2\]{border-color:#dfe8f2}.border-\[\#e2eaf1\]{border-color:#e2eaf1}.border-\[\#e2eaf2\]{border-color:#e2eaf2}.border-\[\#e9edf2\]{border-color:#e9edf2}.border-transparent{border-color:#0000}.bg-\[\#0a1e33\]{background-color:#0a1e33}.bg-\[\#2b6ed7\]{background-color:#2b6ed7}.bg-\[\#6c5ce7\]{background-color:#6c5ce7}.bg-\[\#c3e0d3\]{background-color:#c3e0d3}.bg-\[\#e2edfe\]{background-color:#e2edfe}.bg-\[\#e8f0fe\]{background-color:#e8f0fe}.bg-\[\#edf3fa\]{background-color:#edf3fa}.bg-\[\#f0f7ff\]{background-color:#f0f7ff}.bg-\[\#f2f7fd\]{background-color:#f2f7fd}.bg-\[\#f5f9ff\]{background-color:#f5f9ff}.bg-\[\#f9fbfe\]{background-color:#f9fbfe}.bg-transparent{background-color:#0000}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-\[12px\]{padding:12px}.p-\[16px_18px\]{padding:16px 18px}.p-\[24px_28px\]{padding:24px 28px}.px-\[10px\]{padding-inline:10px}.px-\[14px\]{padding-inline:14px}.px-\[16px\]{padding-inline:16px}.px-\[18px\]{padding-inline:18px}.px-\[20px\]{padding-inline:20px}.px-\[22px\]{padding-inline:22px}.px-\[32px\]{padding-inline:32px}.px-\[38px\]{padding-inline:38px}.py-\[4px\]{padding-block:4px}.py-\[5px\]{padding-block:5px}.py-\[8px\]{padding-block:8px}.py-\[10px\]{padding-block:10px}.py-\[20px\]{padding-block:20px}.pt-\[15px\]{padding-top:15px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[26px\]{font-size:26px}.leading-none{--tw-leading:1;line-height:1}.font-\[500\]{--tw-font-weight:500;font-weight:500}.font-\[600\]{--tw-font-weight:600;font-weight:600}.font-\[650\]{--tw-font-weight:650;font-weight:650}.font-\[700\]{--tw-font-weight:700;font-weight:700}.tracking-\[0\.2px\]{--tw-tracking:.2px;letter-spacing:.2px}.tracking-\[0\.4px\]{--tw-tracking:.4px;letter-spacing:.4px}.whitespace-nowrap{white-space:nowrap}.text-\[\#0b5539\]{color:#0b5539}.text-\[\#1a2b3e\]{color:#1a2b3e}.text-\[\#1a365d\]{color:#1a365d}.text-\[\#1b3f63\]{color:#1b3f63}.text-\[\#1d4a7c\]{color:#1d4a7c}.text-\[\#1f2e41\]{color:#1f2e41}.text-\[\#1f4870\]{color:#1f4870}.text-\[\#2b6ed7\]{color:#2b6ed7}.text-\[\#2b5380\]{color:#2b5380}.text-\[\#2c4c75\]{color:#2c4c75}.text-\[\#2e4d74\]{color:#2e4d74}.text-\[\#3d607f\]{color:#3d607f}.text-\[\#4a6a8a\]{color:#4a6a8a}.text-\[\#5a718b\]{color:#5a718b}.text-\[\#6f95c0\]{color:#6f95c0}.text-\[\#7c98b5\]{color:#7c98b5}.text-\[\#193b5c\]{color:#193b5c}.text-\[\#314d6f\]{color:#314d6f}.text-\[\#7799bb\]{color:#79b}.text-\[\#c92a2a\]{color:#c92a2a}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-\[0_0_0_2px_rgba\(43\,110\,215\,0\.08\)\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,#2b6ed714);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(59\,130\,246\,0\.5\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#3b82f680);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_0_15px_rgba\(168\,85\,247\,0\.5\)\]{--tw-shadow:0 0 15px var(--tw-shadow-color,#a855f780);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_2px_6px_rgba\(0\,0\,0\,0\.02\)\]{--tw-shadow:0 2px 6px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_6px_14px_rgba\(10\,30\,51\,0\.2\)\]{--tw-shadow:0 6px 14px var(--tw-shadow-color,#0a1e3333);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_35px_-10px_rgba\(0\,20\,40\,0\.2\)\,0_5px_12px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0 20px 35px -10px var(--tw-shadow-color,#00142833), 0 5px 12px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-\[\#2b3f5a\]\/50::-moz-placeholder{color:oklab(36.3569% -.0128274 -.0519939/.5)}.placeholder\:text-\[\#2b3f5a\]\/50::placeholder{color:oklab(36.3569% -.0128274 -.0519939/.5)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:border-\[\#4f7eb3\]:hover{border-color:#4f7eb3}.hover\:bg-\[\#1a5bc0\]:hover{background-color:#1a5bc0}.hover\:bg-\[\#5b4bc4\]:hover{background-color:#5b4bc4}.hover\:bg-\[\#152a42\]:hover{background-color:#152a42}.hover\:bg-\[\#ebf4ff\]:hover{background-color:#ebf4ff}.hover\:bg-\[\#ebf5ff\]:hover{background-color:#ebf5ff}.hover\:bg-\[\#f0f7ff\]:hover{background-color:#f0f7ff}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-\[\#2b6ed7\]:focus{border-color:#2b6ed7}.focus\:border-transparent:focus{border-color:#0000}.focus\:shadow-\[0_0_0_3px_rgba\(43\,110\,215\,0\.1\)\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#2b6ed71a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primario:#2563eb;--color-primario-hover:#1d4ed8;--color-primario-light:#dbeafe;--color-primario-dark:#1e40af;--color-exito:#16a34a;--color-exito-light:#dcfce7;--color-advertencia:#f59e0b;--color-advertencia-light:#fef3c7;--color-peligro:#dc2626;--color-peligro-light:#fee2e2;--color-info:#0891b2;--color-info-light:#cffafe;--fondo-pagina:#f1f5f9;--fondo-tarjeta:#fff;--fondo-sidebar:#0f172a;--fondo-sidebar-hover:#1e293b;--fondo-input:#fff;--fondo-tabla-header:#f8fafc;--fondo-tabla-hover:#f0f9ff;--fondo-tabla-stripe:#fafbfc;--texto-principal:#0f172a;--texto-secundario:#475569;--texto-claro:#94a3b8;--texto-blanco:#fff;--borde-color:#e2e8f0;--borde-input:#cbd5e1;--borde-input-focus:#2563eb;--borde-radius:12px;--borde-radius-sm:8px;--borde-radius-lg:16px;--sombra-sm:0 1px 3px #0000000f;--sombra-md:0 4px 12px #00000014;--sombra-lg:0 10px 30px #0000001a;--sombra-input-focus:0 0 0 4px #2563eb1f;--fuente-xs:13px;--fuente-sm:14px;--fuente-base:15px;--fuente-md:17px;--fuente-lg:20px;--fuente-xl:26px;--fuente-2xl:32px;--sidebar-ancho:260px;--transicion:all .2s ease;--transicion-rapida:all .12s ease}html{font-size:var(--fuente-base);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;overflow-x:hidden}body{background-color:var(--fondo-pagina);color:var(--texto-principal);width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;position:relative;overflow-x:hidden;opacity:1!important;filter:none!important}a{color:var(--color-primario);text-decoration:none}a:hover{color:var(--color-primario-hover)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--fondo-pagina)}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.login-container{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);justify-content:center;align-items:center;height:100vh;display:flex}.login-form{background:var(--fondo-tarjeta);border-radius:var(--borde-radius-lg);box-shadow:var(--sombra-lg);width:100%;max-width:400px;padding:2.5rem}@media (max-width:480px){.login-form{padding:1.5rem}}.login-form h2{text-align:center;color:var(--texto-principal);font-weight:700;font-size:var(--fuente-xl);margin-bottom:2rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--texto-secundario);font-weight:600;font-size:var(--fuente-sm);margin-bottom:6px;display:block}.form-group input,.form-group select,.form-group textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=tel],input[type=search],select,textarea{border:1.5px solid var(--borde-input);border-radius:var(--borde-radius-sm);width:100%;font-size:var(--fuente-base);background:var(--fondo-input);color:var(--texto-principal);transition:var(--transicion);outline:none;padding:12px 14px;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--borde-input-focus);box-shadow:var(--sombra-input-focus)}button{border-radius:var(--borde-radius-sm);font-family:inherit;font-size:var(--fuente-sm);cursor:pointer;transition:var(--transicion);background-color:var(--color-primario);color:#fff;border:none;justify-content:center;align-items:center;gap:8px;padding:11px 22px;font-weight:600;line-height:1.2;display:inline-flex}button:hover{background-color:var(--color-primario-hover);box-shadow:var(--sombra-sm);transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}table{border-collapse:separate;border-spacing:0;background:var(--fondo-tarjeta);border-radius:var(--borde-radius);width:100%;box-shadow:var(--sombra-sm);border:1px solid var(--borde-color);overflow:hidden}th{background-color:var(--fondo-tabla-header);color:var(--texto-secundario);text-transform:uppercase;font-weight:600;font-size:var(--fuente-xs);letter-spacing:.05em;text-align:left;border-bottom:2px solid var(--borde-color);padding:14px 16px}td{border-bottom:1px solid var(--borde-color);color:var(--texto-principal);font-size:var(--fuente-sm);vertical-align:middle;padding:14px 16px}tr:last-child td{border-bottom:none}tbody tr:hover{background-color:var(--fondo-tabla-hover)}tbody tr:nth-child(2n){background-color:var(--fondo-tabla-stripe)}.actions{background:var(--fondo-tarjeta);border-radius:var(--borde-radius);box-shadow:var(--sombra-sm);border:1px solid var(--borde-color);flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.actions .form-group{flex:1;min-width:180px;margin-bottom:0}.actions button{white-space:nowrap;width:auto;height:44px}.dashboard{background:var(--fondo-pagina);min-height:100vh;display:flex}.dashboard header.app-header{z-index:100;position:sticky;top:0;background:var(--fondo-tarjeta)!important;color:var(--texto-principal)!important;border-bottom:1px solid var(--borde-color)!important;box-shadow:var(--sombra-sm)!important;justify-content:space-between!important;align-items:center!important;padding:16px 28px!important;display:flex!important}.sidebar-nav{width:var(--sidebar-ancho);min-width:var(--sidebar-ancho);background:var(--fondo-sidebar);z-index:1000;transition:var(--transicion);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.sidebar-menu::-webkit-scrollbar{width:6px}.sidebar-menu::-webkit-scrollbar-thumb{background:#ffffff40;border-radius:4px}.sidebar-logo{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:20px 18px;display:flex}.sidebar-logo .logo-icon{background:var(--color-primario);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:28px;display:flex}.sidebar-logo .logo-text{font-size:var(--fuente-lg);color:var(--texto-blanco);letter-spacing:-.5px;font-weight:800}.sidebar-logo .logo-badge{background:var(--color-primario);color:#fff;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:600}.sidebar-section-title{color:#ffffff4d;text-transform:uppercase;letter-spacing:1.5px;margin-top:6px;padding:18px 18px 6px;font-size:11px;font-weight:700}.sidebar-section-title:first-of-type{margin-top:0;padding-top:12px}.sidebar-menu{flex:1;padding:8px 10px;list-style:none;overflow-y:auto}.sidebar-item{border-radius:var(--borde-radius-sm);color:#ffffff8c;font-size:var(--fuente-sm);cursor:pointer;transition:var(--transicion-rapida);text-align:left;background:0 0;border:none;justify-content:flex-start;align-items:center;gap:12px;width:100%;margin-bottom:2px;padding:12px 14px;font-weight:500;display:flex}.sidebar-item:hover{background:var(--fondo-sidebar-hover);color:var(--texto-blanco);box-shadow:none;transform:translate(3px)translateY(0)}.sidebar-item.active{font-weight:700;transform:none;box-shadow:0 4px 15px #2563eb59;background:var(--color-primario)!important;color:var(--texto-blanco)!important}.sidebar-item .item-icon{text-align:center;flex-shrink:0;width:24px;font-size:18px}.sidebar-item .item-text{white-space:nowrap;flex:1}.sidebar-user{border-radius:var(--borde-radius-sm);background:#ffffff0a;border-top:1px solid #ffffff14;align-items:center;gap:10px;margin:6px 10px 10px;padding:14px;display:flex}.sidebar-user .user-avatar{background:var(--color-primario);color:#fff;width:38px;height:38px;font-weight:700;font-size:var(--fuente-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-user .user-name{font-size:var(--fuente-sm);color:var(--texto-blanco);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.sidebar-user .user-role{color:#fff6;font-size:12px}.sidebar-user .btn-logout{color:#f85149;cursor:pointer;background:0 0;border:1px solid #f8514966;border-radius:6px;margin-left:auto;padding:6px 10px;font-size:14px}.sidebar-user .btn-logout:hover{box-shadow:none;background:#f8514926;transform:none}.main-content{margin-left:var(--sidebar-ancho);background:var(--fondo-pagina);flex-direction:column;flex:1;min-height:100vh;display:flex}.main-container{flex:1;width:100%;max-width:100%;padding:24px 28px}.content{background:0 0}.page-header{background:var(--fondo-tarjeta);border-bottom:1px solid var(--borde-color);box-shadow:var(--sombra-sm);align-items:center;gap:16px;padding:18px 28px;display:flex}.page-header h1{font-size:var(--fuente-xl);color:var(--texto-principal);letter-spacing:-.5px;margin:0;font-weight:800}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:1.5rem;display:flex}.tabs button{background:var(--fondo-tarjeta);width:auto;color:var(--texto-secundario);border:1.5px solid var(--borde-color);font-size:var(--fuente-sm);box-shadow:var(--sombra-sm);padding:10px 20px}.tabs button:hover{border-color:var(--color-primario);color:var(--color-primario);background:var(--color-primario-light);transform:translateY(-1px)}.tabs button.active{background-color:var(--color-primario);color:#fff;border-color:var(--color-primario)}.alerts-container{margin-bottom:1rem}.modal-overlay{z-index:2000;backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--fondo-tarjeta);border-radius:var(--borde-radius-lg);width:90%;max-width:600px;max-height:90vh;box-shadow:var(--sombra-lg);padding:2rem;overflow-y:auto}.dashboard{background-color:var(--fondo-pagina);width:100%;min-height:100vh;display:flex;overflow-x:hidden}.mobile-menu-btn{display:none}@media (max-width:1024px){.mobile-menu-btn{z-index:5001;backdrop-filter:blur(8px);color:#fff;transition:var(--transicion);background:#0f172ae6;border:1px solid #ffffff1a;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;font-weight:600;position:fixed;top:12px;left:12px;box-shadow:0 4px 12px #00000026;display:flex!important}.mobile-menu-btn:active{transform:scale(.95)}.sidebar-nav{z-index:5000;width:280px;height:100vh;box-shadow:none;visibility:hidden;transform:translate(-100%)}.sidebar-nav.open{visibility:visible;transform:translate(0);box-shadow:10px 0 30px #0000004d}.main-content{width:100%!important;min-width:0!important;margin-left:0!important}.main-container{box-sizing:border-box;overflow-x:hidden;width:100%!important;max-width:100%!important;padding:70px 12px 12px!important}.sidebar-overlay{backdrop-filter:blur(2px);z-index:4999;opacity:0;visibility:hidden;background:#00000080;transition:opacity .3s;position:fixed;inset:0}.sidebar-overlay.active{opacity:1;visibility:visible}}.pos-responsive-layout{background-color:#f5f6fa;flex-direction:column;gap:15px;height:calc(100vh - 110px);padding:10px;display:flex}.pos-responsive-header{background:#fff;border-bottom:1px solid #eee;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px;display:flex}.pos-responsive-header-actions{align-items:center;gap:8px;display:flex}.pos-content-wrapper{flex:1;gap:15px;display:flex;overflow:hidden}.cart-view-container{background-color:#fff;border:1px solid #eee;border-radius:12px;flex-direction:column;flex-shrink:0;width:450px;height:100%;display:flex;overflow:hidden;box-shadow:0 8px 20px #00000014}.pos-main-wrapper{flex-direction:column;flex:1;display:flex;overflow-y:auto}.pos-product-card-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-auto-rows:minmax(240px,auto);gap:12px;min-height:0;padding-right:5px;display:grid;overflow:hidden auto}.pos-product-card-grid::-webkit-scrollbar{width:8px}.pos-product-card-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.pos-product-card-grid::-webkit-scrollbar-thumb{background:#00b894;border-radius:10px}@media (max-width:768px){.pos-responsive-layout{gap:8px;height:auto;min-height:calc(100vh - 110px);padding:6px}.pos-responsive-header{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.pos-content-wrapper{flex-direction:column;gap:8px;overflow:visible}.cart-view-container{flex-shrink:1;width:100%;height:auto;max-height:55vh}.pos-main-wrapper{min-height:40vh;overflow-y:auto}.pos-product-card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}:root {
    --bg: #f4f6fb;
    --card-bg: #ffffff;
    --border: #e5e7eb;
    --primary: #2563eb;
    --positive: #16a34a;
    --negative: #dc2626;
    --neutral: #111827;
    --text-muted: #6b7280;
    --radius: 12px;
    --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dashboard-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 16px 24px;
    display: grid;
    gap: 16px;
    box-sizing: border-box;
    background-color: var(--bg);
    min-height: 100vh;
    font-family: var(--font);
    color: var(--neutral);
}

/* HEADER / FILTROS */
.dashboard-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    flex-wrap: wrap;
    background: transparent;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.title-block h1 {
    margin: 0;
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
}

.subtitle {
    font-size: 13px;
    color: var(--text-muted);
}

.filters {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.input-select {
    border-radius: 999px;
    border: 1px solid var(--border);
    padding: 6px 12px;
    font-size: 13px;
    background: #fff;
    min-width: 160px;
    outline: none;
}

.range-buttons {
    display: flex;
    gap: 4px;
    background: #e5e7eb;
    padding: 2px;
    border-radius: 999px;
}

.chip {
    border-radius: 999px;
    border: none;
    padding: 4px 12px;
    font-size: 12px;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-weight: 500;
    text-transform: capitalize;
    transition: all 0.2s;
}

.chip-active {
    background: white;
    color: var(--primary);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.date-range {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    background: white;
    padding: 4px 8px;
    border-radius: 8px;
    border: 1px solid var(--border);
}

.input-date {
    border: none;
    font-family: inherit;
    font-size: 12px;
    color: var(--neutral);
    outline: none;
}

/* CARDS */
.card {
    background: var(--card-bg);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 16px;
    box-sizing: border-box;
    display: flex;
    flex-col: column;
    flex-direction: column;
}

.card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
}

.card-title {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: #374151;
}

.card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.card-value {
    font-size: 24px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 4px;
}

.card-subtitle {
    font-size: 12px;
    color: var(--text-muted);
}

/* KPI GRID */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.icon-blue {
    color: var(--primary);
}

.icon-red {
    color: var(--negative);
}

.icon-green {
    color: var(--positive);
}

.icon-gray {
    color: #6b7280;
}

.positive {
    color: var(--positive);
}

.negative {
    color: var(--negative);
}

.neutral {
    color: var(--neutral);
}

.text-muted {
    color: var(--text-muted);
}

/* DETAIL GRID */
.detail-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    /* 2/3 and 1/3 */
    gap: 16px;
}

.two-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.stats-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.label {
    font-size: 11px;
    text-transform: uppercase;
    color: var(--text-muted);
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}

.amount {
    font-size: 18px;
    font-weight: 700;
    font-family: monospace;
}

.mini-chart-placeholder {
    background: #f9fafb;
    border-radius: 8px;
    border: 1px dashed var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100px;
    padding: 8px;
}

.mini-bars {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 100%;
    width: 100%;
}

.bar-group {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 1px;
}

.bar-inc {
    bg: #93c5fd;
    background: #93c5fd;
    width: 100%;
    min-height: 1px;
    border-radius: 2px 2px 0 0;
}

.bar-exp {
    bg: #fca5a5;
    background: #fca5a5;
    width: 100%;
    min-height: 1px;
    border-radius: 2px 2px 0 0;
}

.empty-text {
    font-size: 12px;
    color: var(--text-muted);
    font-style: italic;
}

/* LIQUIDITY */
.liquidity-body {
    justify-content: flex-start;
}

.liquidity-list {
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.liq-row {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    padding-bottom: 4px;
    border-bottom: 1px solid #f3f4f6;
}

.liq-more {
    font-size: 11px;
    color: var(--text-muted);
    text-align: center;
    margin-top: 4px;
}

/* TABLE */
.full-width {
    grid-column: 1 / -1;
}

.table-wrapper {
    max-height: 250px;
    /* Limits height to avoid page scroll */
    overflow-y: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.dash-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.dash-table thead {
    background: #f9fafb;
    position: sticky;
    top: 0;
    z-index: 10;
}

.dash-table th,
.dash-table td {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 1px solid #f3f4f6;
}

.dash-table th {
    font-weight: 600;
    color: #4b5563;
    font-size: 12px;
    text-transform: uppercase;
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.truncate-cell {
    max-width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.link-btn {
    border: none;
    background: none;
    color: var(--primary);
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
}

.link-btn:hover {
    background: #eff6ff;
}

.badge {
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 700;
}

.bg-pos {
    background: #dcfce7;
    color: #166534;
}

.bg-neu {
    background: #f3f4f6;
    color: #4b5563;
}

/* RESPONSIVE */
@media (max-width: 1024px) {
    .kpi-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .detail-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 640px) {
    .kpi-grid {
        grid-template-columns: 1fr;
    }

    .two-columns {
        grid-template-columns: 1fr;
    }
}


/* ============================================
   CORPORATE THEME — Light Modern v2.0
   Used by: SupplierControlView, ReportsView,
   ProductImportView, AlertsDashboard, CreditNoteTicket
   ============================================ */
/* ===== NAVIGATION ===== */
.app-nav {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 12px 28px;
    background-color: var(--fondo-tarjeta, #fff);
    border-bottom: 1px solid var(--borde-color, #e2e8f0);
    flex-wrap: wrap;
}
.nav-tab {
    padding: 10px 18px;
    border-radius: var(--borde-radius-sm, 8px);
    font-size: var(--fuente-sm, 14px);
    font-weight: 500;
    color: var(--texto-secundario, #475569);
    background: transparent;
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}
.nav-tab:hover {
    background: var(--color-primario-light, #dbeafe);
    color: var(--color-primario, #2563eb);
    transform: translateY(-1px);
}
.nav-tab.active {
    background: var(--color-primario, #2563eb);
    color: white;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3);
    transform: none;
}
/* ===== SUB TABS ===== */
.sub-tab {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    color: var(--texto-secundario, #475569);
    background: var(--fondo-tarjeta, #fff);
    border: 1.5px solid var(--borde-color, #e2e8f0);
    cursor: pointer;
    transition: all 0.15s ease;
}
.sub-tab:hover {
    color: var(--color-primario, #2563eb);
    border-color: var(--color-primario, #2563eb);
    transform: translateY(-1px);
}
.sub-tab.active {
    color: white;
    background: var(--color-primario, #2563eb);
    border-color: var(--color-primario, #2563eb);
}
.sub-tab.action-primary {
    background: var(--color-advertencia, #f59e0b);
    color: #0f172a;
    border-color: var(--color-advertencia, #f59e0b);
    font-weight: 600;
}
/* ===== CONTAINER ===== */
.main-container {
    padding: 24px 28px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden !important;
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
}
/* ===== TEXT UTILITIES ===== */
.text-primary {
    color: var(--texto-principal, #0f172a);
}
.text-secondary {
    color: var(--texto-secundario, #475569);
}
.text-muted {
    color: var(--texto-claro, #94a3b8);
}
.text-accent {
    color: var(--color-advertencia, #f59e0b);
}
.text-success {
    color: var(--color-exito, #16a34a);
}
.text-danger {
    color: var(--color-peligro, #dc2626);
}
.text-warning {
    color: var(--color-advertencia, #f59e0b);
}
/* ===== ALERTS / CARDS ===== */
.alert-card {
    background: var(--fondo-tarjeta, #fff);
    border-radius: var(--borde-radius, 12px);
    border: 1px solid var(--borde-color, #e2e8f0);
    padding: 20px 24px;
    margin-bottom: 16px;
    position: relative;
    overflow: hidden;
    box-shadow: var(--sombra-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}
.alert-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--color-primario, #2563eb);
}
.alert-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--color-primario, #2563eb);
    font-size: var(--fuente-sm, 14px);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.alert-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid var(--borde-color, #e2e8f0);
    font-size: var(--fuente-sm, 14px);
}
.alert-item:last-child {
    border-bottom: none;
}
.alert-product {
    font-weight: 600;
    color: var(--texto-principal, #0f172a);
}
.alert-stock {
    color: var(--color-peligro, #dc2626);
    font-weight: 600;
    margin-top: 2px;
}
/* ===== KPI GRID ===== */
.kpi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 24px;
}
.kpi-card {
    background: var(--fondo-tarjeta, #fff);
    border: 1px solid var(--borde-color, #e2e8f0);
    border-radius: var(--borde-radius, 12px);
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.2s ease;
    box-shadow: var(--sombra-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}
.kpi-card:hover {
    box-shadow: var(--sombra-md, 0 4px 12px rgba(0, 0, 0, 0.08));
    transform: translateY(-2px);
}
.main-content {
    flex: 1 !important;
    min-width: 0 !important;
    max-width: calc(100vw - 260px) !important;
    background: var(--fondo-app, #f8fafc);
    display: flex;
    flex-direction: column;
    overflow-x: hidden !important;
}
@media (max-width: 1024px) {
    .main-content {
        max-width: 100vw !important;
    }
}
.kpi-icon {
    width: 52px;
    height: 52px;
    border-radius: var(--borde-radius-sm, 8px);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}
.kpi-icon.blue {
    background: #dbeafe;
    color: #2563eb;
}
.kpi-icon.green {
    background: #dcfce7;
    color: #16a34a;
}
.kpi-icon.orange {
    background: #fef3c7;
    color: #f59e0b;
}
.kpi-icon.red {
    background: #fee2e2;
    color: #dc2626;
}
.kpi-icon.purple {
    background: #f3e8ff;
    color: #9333ea;
}
.kpi-label {
    font-size: var(--fuente-xs, 13px);
    color: var(--texto-secundario, #475569);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.kpi-value {
    font-size: var(--fuente-xl, 26px);
    font-weight: 700;
    color: var(--texto-principal, #0f172a);
    margin-top: 2px;
}
.kpi-value.positive {
    color: var(--color-exito, #16a34a);
}
.kpi-value.negative,
.kpi-value.warning {
    color: var(--color-advertencia, #f59e0b);
}
/* ===== CONTENT TABS ===== */
.content-tabs {
    display: flex;
    gap: 24px;
    border-bottom: 2px solid var(--borde-color, #e2e8f0);
    margin-bottom: 24px;
}
.content-tab {
    padding: 12px 4px;
    font-size: var(--fuente-sm, 14px);
    font-weight: 500;
    color: var(--texto-claro, #94a3b8);
    background: none;
    border: none;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: all 0.15s ease;
    margin-bottom: -2px;
}
.content-tab:hover {
    color: var(--color-primario, #2563eb);
    transform: none;
}
.content-tab.active {
    color: var(--color-primario, #2563eb);
    border-bottom-color: var(--color-primario, #2563eb);
    font-weight: 600;
    background: none;
    transform: none;
    box-shadow: none;
}
/* ===== SECTION HEADERS ===== */
.section-card {
    background: var(--fondo-tarjeta, #fff);
    border-radius: var(--borde-radius, 12px);
    border: 1px solid var(--borde-color, #e2e8f0);
    overflow: hidden;
    margin-bottom: 24px;
    box-shadow: var(--sombra-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}
.section-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 20px;
    background: var(--fondo-tabla-header, #f8fafc);
    border-bottom: 1px solid var(--borde-color, #e2e8f0);
}
.section-status {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.section-status.success {
    background: var(--color-exito, #16a34a);
    box-shadow: 0 0 8px rgba(22, 163, 74, 0.4);
}
.section-status.warning {
    background: var(--color-advertencia, #f59e0b);
    box-shadow: 0 0 8px rgba(245, 158, 11, 0.4);
}
.section-status.danger {
    background: var(--color-peligro, #dc2626);
    box-shadow: 0 0 8px rgba(220, 38, 38, 0.4);
}
.section-title {
    font-weight: 600;
    font-size: var(--fuente-md, 17px);
    color: var(--texto-principal, #0f172a);
}
.section-body {
    padding: 20px;
}
/* ===== DATA TABLE ===== */
.data-table {
    width: 100%;
    border-collapse: collapse;
}
.data-table th {
    text-align: left;
    padding: 12px 16px;
    font-size: var(--fuente-xs, 13px);
    font-weight: 600;
    color: var(--texto-secundario, #475569);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    background: var(--fondo-tabla-header, #f8fafc);
    border-bottom: 2px solid var(--borde-color, #e2e8f0);
}
.data-table td {
    padding: 12px 16px;
    font-size: var(--fuente-sm, 14px);
    color: var(--texto-principal, #0f172a);
    border-bottom: 1px solid var(--borde-color, #e2e8f0);
    vertical-align: middle;
}
.data-table tr:last-child td {
    border-bottom: none;
}
.data-table tbody tr {
    background: var(--fondo-tarjeta, #fff);
    transition: background-color 0.1s ease;
}
.data-table tbody tr:nth-child(even) {
    background: var(--fondo-tabla-stripe, #fafbfc);
}
.data-table tbody tr:hover {
    background: var(--fondo-tabla-hover, #f0f9ff);
}
/* Cell types */
.cell-provider {
    font-weight: 600;
    color: var(--color-peligro, #dc2626);
}
.cell-amount {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 600;
}
.cell-amount.positive {
    color: var(--color-exito, #16a34a);
}
.cell-amount.negative {
    color: var(--color-peligro, #dc2626);
}
/* Status badges */
.status-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 600;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}
.status-badge.pending {
    background: var(--color-advertencia-light, #fef3c7);
    color: #b45309;
}
.status-badge.paid {
    background: var(--color-exito-light, #dcfce7);
    color: #15803d;
}
.status-badge.overdue {
    background: var(--color-peligro-light, #fee2e2);
    color: #b91c1c;
}
/* ===== ACTION BUTTONS ===== */
.btn-action {
    padding: 8px 16px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.15s ease;
    border: 1.5px solid var(--borde-color, #e2e8f0);
    background: var(--fondo-tarjeta, #fff);
    color: var(--texto-secundario, #475569);
}
.btn-action:hover {
    border-color: var(--color-primario, #2563eb);
    color: var(--color-primario, #2563eb);
    background: var(--color-primario-light, #dbeafe);
    transform: translateY(-1px);
}
.btn-action.primary {
    background: var(--color-primario, #2563eb);
    color: white;
    border-color: var(--color-primario, #2563eb);
}
.btn-action.danger {
    background: var(--color-peligro, #dc2626);
    color: white;
    border-color: var(--color-peligro, #dc2626);
}
/* ===== PREMIUM UTILITIES ===== */
.premium-glass {
    background: rgba(255, 255, 255, 0.7) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07) !important;
}
.premium-hover {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.premium-hover:hover {
    transform: translateY(-5px) scale(1.01) !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
    border-color: var(--color-primario) !important;
}
.bg-faded {
    background-color: #f8fafc;
}
.bg-primary-light {
    background-color: #dbeafe;
}
.glow-warning {
    position: relative;
}
.glow-warning::after {
    content: '';
    position: absolute;
    inset: -1px;
    background: linear-gradient(45deg, transparent, rgba(245, 158, 11, 0.1), transparent);
    border-radius: inherit;
    z-index: -1;
    pointer-events: none;
}
/* ===== UTILITIES & RESPONSIVENESS (FINAL FIX) ===== */
.text-truncate {
    max-width: 100px !important;
    /* Más restrictivo */
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: inline-block !important;
    vertical-align: middle;
}
.table-responsive-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    display: block !important;
    background: #020617 !important;
    border: 1px solid #1e293b !important;
    border-radius: 8px !important;
    margin-bottom: 1rem;
    -webkit-overflow-scrolling: touch;
}
.dashboard {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow-x: hidden !important;
}