*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#162a5a;--primary-dark:#0d1e42;--primary-darker:#08122b;--primary-light:#1e3a7a;--primary-ultralight:#e8eff9;--primary-50:#f0f4fa;--primary-100:#e1e8f4;--primary-200:#c2d0e9;--primary-300:#a3b9de;--primary-400:#84a1d3;--primary-500:#162a5a;--primary-600:#12244f;--primary-700:#0d1e42;--accent:#4aade3;--accent-dark:#2d8ec4;--accent-light:#e0f4ff;--sidebar-bg-start:#0d1e42;--sidebar-bg-end:#162a5a;--success:#2e7d32;--success-dark:#1b5e20;--success-light:#e8f5e9;--warning:#e65100;--warning-dark:#bf360c;--warning-light:#fff3e0;--danger:#b71c1c;--danger-dark:#7f0000;--danger-light:#ffebee;--info:#0891b2;--info-light:#cffafe;--purple:#7c3aed;--purple-light:#ede9fe;--teal:#0d9488;--teal-light:#ccfbf1;--state-borrador:#6b7280;--state-evaluacion:#d97706;--state-verificacion:#0891b2;--state-aprobado:#0d9488;--state-enviado:#1e3a5f;--state-recibido:#0f766e;--state-rechazado:#b91c1c;--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;--white:#fff;--bg:#eef4fc;--bg-card:#fff;--bg-subtle:#f8fafc;--text:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border:#e2e8f0;--border-light:#f1f5f9;--shadow-xs:0 1px 2px 0 #0f172a0a;--shadow-sm:0 1px 3px 0 #0f172a0f, 0 1px 2px -1px #0f172a0f;--shadow:0 4px 6px -1px #0f172a14, 0 2px 4px -2px #0f172a14;--shadow-md:0 10px 15px -3px #0f172a14, 0 4px 6px -4px #0f172a14;--shadow-lg:0 20px 25px -5px #0f172a1a, 0 8px 10px -6px #0f172a1a;--shadow-xl:0 25px 50px -12px #0f172a26;--radius-xs:6px;--radius-sm:8px;--radius:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.35s cubic-bezier(.34, 1.56, .64, 1);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Fira Code", ui-monospace, SFMono-Regular, monospace;--header-height:72px;--sidebar-width:270px;--sidebar-collapsed:72px}[data-theme=dark]{--bg:#1a1c23;--bg-card:#252836;--bg-subtle:#2d303e;--text:#fff;--text-secondary:#e0e0e0;--text-muted:#d0d0d0;--border:#374151;--border-light:#2d303e;--primary-ultralight:#252836;--primary-50:#1a1c23;--primary-100:#2d303e;--primary-200:#374151;--shadow-xs:none;--shadow-sm:none;--shadow:none;--shadow-md:none;--shadow-lg:none;--shadow-xl:none}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}::selection{background:var(--primary-light);color:var(--primary-darker)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:var(--radius-full);transition:var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.layout-content{margin-top:var(--header-height);flex:1;display:flex}.main-content{background:var(--bg);min-height:calc(100vh - var(--header-height));margin-left:var(--sidebar-width);flex:1;padding:24px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.loading:before{content:"";border:3px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.header{height:var(--header-height);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 50%, var(--primary-darker) 100%);color:var(--white);box-shadow:var(--shadow-md);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:fixed;top:0;left:0;right:0}.header:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);height:1px;position:absolute;bottom:0;left:0;right:0}.logo{letter-spacing:-.5px;text-shadow:0 2px 4px #0000001a;margin:0;font-size:20px;font-weight:800}.subtitle{opacity:.85;letter-spacing:.3px;font-size:12px;font-weight:400}.user-info{align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.user-avatar{border-radius:var(--radius-full);width:36px;height:36px;transition:var(--transition);background:#fff3;border:2px solid #ffffff4d;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.user-avatar:hover{background:#ffffff4d;transform:scale(1.05)}.user-role{opacity:.75;border-radius:var(--radius-full);background:#ffffff26;padding:2px 8px;font-size:11px;font-weight:400}.btn-logout{color:var(--white);border-radius:var(--radius);cursor:pointer;transition:var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border:1px solid #fff3;padding:8px 16px;font-size:13px;font-weight:500}.btn-logout:hover{background:#fff3;border-color:#fff6;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-logout:active{transform:translateY(0)}.sidebar{width:var(--sidebar-width);background:var(--bg-card);border-right:1px solid var(--border);box-shadow:var(--shadow-xs);top:var(--header-height);z-index:100;transition:var(--transition);padding:16px 0;position:fixed;bottom:0;left:0;overflow-y:auto}.menu li a{color:var(--gray-600);transition:var(--transition);border-radius:var(--radius);align-items:center;gap:12px;margin:4px 12px;padding:12px 20px;font-size:14px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.menu li a:before{content:"";background:var(--primary);width:3px;transition:var(--transition);border-radius:0 2px 2px 0;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.menu li a:hover{background:var(--gray-50);color:var(--primary);transform:translate(4px)}.menu li a.active{background:var(--primary-ultralight);color:var(--primary);font-weight:600}.menu .icon{text-align:center;width:24px;transition:var(--transition);font-size:18px}.card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition);border:1px solid var(--border);padding:24px}.card:hover{box-shadow:var(--shadow)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px;display:grid}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:var(--transition);align-items:center;gap:16px;padding:20px;display:flex}.stat-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.stat-icon{border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:22px;display:flex}.stat-icon.primary{background:var(--primary-ultralight);color:var(--primary)}.stat-icon.success{background:var(--success-light);color:var(--success)}.stat-icon.warning{background:var(--warning-light);color:var(--warning)}.stat-icon.danger{background:var(--danger-light);color:var(--danger)}.stat-icon.info{background:var(--info-light);color:var(--info)}.stat-content{flex:1;min-width:0}.stat-card h3{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.stat-number{color:var(--text);font-size:28px;font-weight:700;line-height:1}.table-container{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{text-align:center;text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;border-bottom:none;padding:14px 18px;font-weight:600;background-color:var(--primary)!important;color:#fff!important;font-size:13px!important}.table td{border-bottom:1px solid var(--border-light);color:var(--text-secondary);vertical-align:middle;padding:16px 18px;font-size:14px}.table tbody tr{transition:var(--transition)}.table tbody tr:nth-child(2n){background:var(--bg-subtle)}.table tbody tr:hover{background:var(--primary-ultralight)}.table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--radius-full);letter-spacing:.3px;transition:var(--transition);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge:hover{transform:scale(1.05)}.badge-primary{background:var(--primary-ultralight);color:var(--primary)}.badge-success{background:var(--success-light);color:var(--success-dark)}.badge-warning{background:var(--warning-light);color:var(--warning-dark)}.badge-danger{background:var(--danger-light);color:var(--danger-dark)}.badge-info{background:var(--info-light);color:var(--info)}.badge-purple{background:var(--purple-light);color:var(--purple)}.badge-teal{background:var(--teal-light);color:var(--teal)}.estado-badge{border-radius:var(--radius-full);transition:var(--transition);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;width:max-content;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.estado-badge:hover{transform:scale(1.05)}.estado-badge.borrador{background:var(--gray-100);color:var(--state-borrador);border-color:var(--gray-200)}.estado-badge.en_evaluacion_factibilidad{background:var(--warning-light);color:var(--state-evaluacion);border-color:var(--warning)}.estado-badge.verificacion_final{background:var(--info-light);color:var(--state-verificacion);border-color:var(--info)}.estado-badge.aprobado_para_envio{background:var(--success-light);color:var(--state-aprobado);border-color:var(--success)}.estado-badge.enviado{background:var(--primary-ultralight);color:var(--state-enviado);border-color:var(--primary-200)}.estado-badge.recibido{background:var(--teal-light);color:var(--state-recibido);border-color:var(--teal)}.estado-badge.rechazado{background:var(--danger-light);color:var(--state-rechazado);border-color:var(--danger)}.role-badge{text-align:center;border-radius:var(--radius-full);background:var(--primary-ultralight);color:var(--primary);transition:var(--transition);white-space:nowrap;justify-content:center;align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge{border-radius:var(--radius-full);transition:var(--transition);align-items:center;gap:6px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge.activo{background:var(--success-light);color:var(--success-dark)}.status-badge.inactivo{background:var(--danger-light);color:var(--danger-dark)}.tipo-badge{border-radius:var(--radius-full);transition:var(--transition);align-items:center;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.tipo-badge.emisora{background:var(--primary-ultralight);color:var(--primary);border:1px solid var(--primary-200)}.tipo-badge.receptora{background:var(--purple-light);color:var(--purple);border:1px solid var(--purple)}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:600;font-family:var(--font-sans);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none!important;transform:none!important}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 1px 3px #1e3a5f33,0 1px 2px #0000000f}.btn-primary:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px #1e3a5f40,0 2px 4px #00000014}.btn-secondary{color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:var(--shadow-xs);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300);color:var(--text);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff;box-shadow:0 1px 3px #0d948833,0 1px 2px #0000000f}.btn-success:hover:not(:disabled){background:var(--success-dark);transform:translateY(-1px);box-shadow:0 4px 12px #0d948840,0 2px 4px #00000014}.btn-danger{background:var(--danger);color:#fff;box-shadow:0 1px 3px #b91c1c33,0 1px 2px #0000000f}.btn-danger:hover:not(:disabled){background:var(--danger-dark);transform:translateY(-1px);box-shadow:0 4px 12px #b91c1c40,0 2px 4px #00000014}.btn-warning{background:var(--warning);color:#fff;box-shadow:0 1px 3px #d9770633,0 1px 2px #0000000f}.btn-warning:hover:not(:disabled){background:var(--warning-dark);transform:translateY(-1px);box-shadow:0 4px 12px #d9770640,0 2px 4px #00000014}.btn-info{background:var(--info);color:#fff;box-shadow:0 1px 3px #0891b233,0 1px 2px #0000000f}.btn-info:hover:not(:disabled){background:#0e7490;transform:translateY(-1px);box-shadow:0 4px 12px #0891b240,0 2px 4px #00000014}.btn-outline{color:var(--text-secondary);border:1.5px solid var(--border);box-shadow:var(--shadow-xs);background:#fff}.btn-outline:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-900);box-shadow:var(--shadow-sm);background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-1px);box-shadow:0 2px 4px #00000014}.btn-ghost{color:var(--gray-600);background:0 0;border:1.5px solid #0000}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-900)}.btn-soft-primary{background:var(--primary-light);color:var(--primary-dark);border:1px solid #0000}.btn-soft-primary:hover:not(:disabled){background:var(--primary);color:#fff}.btn-soft-success{background:var(--success-light);color:var(--success-dark);border:1px solid #0000}.btn-soft-success:hover:not(:disabled){background:var(--success);color:#fff}.btn-soft-danger{background:var(--danger-light);color:var(--danger-dark);border:1px solid #0000}.btn-soft-danger:hover:not(:disabled){background:var(--danger);color:#fff}.btn-link{color:var(--primary);transition:var(--transition);border-radius:var(--radius-xs);background:0 0;border:none;padding:4px 8px;font-size:14px;font-weight:500;text-decoration:none}.btn-link:hover{background:var(--primary-ultralight);color:var(--primary-dark)}.btn-small,.btn-sm{border-radius:var(--radius-sm);padding:6px 12px;font-size:13px;font-weight:500}.btn-lg{border-radius:var(--radius-md);padding:14px 28px;font-size:16px}.btn-approve{background:var(--success-light);color:var(--success-dark);border:1px solid var(--success)}.btn-approve:hover:not(:disabled){background:var(--success);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #0d948840}.btn-reject{background:var(--danger-light);color:var(--danger-dark);border:1px solid var(--danger)}.btn-reject:hover:not(:disabled){background:var(--danger);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #b91c1c40}.btn-edit{background:var(--warning-light);color:var(--warning-dark);border:1px solid var(--warning)}.btn-edit:hover:not(:disabled){background:var(--warning);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #d9770640}.btn-password{background:var(--purple-light);color:var(--purple);border:1px solid var(--purple)}.btn-password:hover:not(:disabled){background:var(--purple);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #7c3aed40}.btn-view{background:var(--primary-ultralight);color:var(--primary);border:1px solid var(--primary-200)}.btn-view:hover:not(:disabled){background:var(--primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #1e3a5f40}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--gray-700);font-size:13px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--border);border-radius:var(--radius);transition:var(--transition);background:var(--white);font-size:14px;font-family:var(--font-sans);padding:10px 14px}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--gray-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none;transform:translateY(-1px)}.form-group input:disabled,.form-group select:disabled{background:var(--gray-100);cursor:not-allowed;opacity:.7}.form-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.error-message{background:var(--danger-light);color:var(--danger-dark);border-radius:var(--radius);border-left:4px solid var(--danger);margin-bottom:16px;padding:14px 16px;font-size:14px;animation:.3s slideInLeft}.empty-message{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:12px;padding:60px 24px;font-size:16px;display:flex}.empty-message:before{content:"📋";opacity:.5;font-size:48px}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a99;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-card);border-radius:var(--radius-lg);width:90%;max-width:520px;box-shadow:var(--shadow-xl);border:1px solid var(--border);max-height:90vh;padding:28px;animation:.3s cubic-bezier(.34,1.56,.64,1) modalSlideIn;overflow-y:auto}.modal-content.modal-lg{max-width:720px}.modal-content h3{color:var(--gray-900);margin-bottom:20px;font-size:20px;font-weight:700}.modal-form{flex-direction:column;gap:16px;display:flex}.modal-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.section-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;display:flex}.section-header h3{color:var(--gray-900);font-size:20px;font-weight:700}.filtros-container{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);margin-bottom:24px;padding:20px}.filtros-container h3{color:var(--gray-800);margin-bottom:16px;font-size:16px;font-weight:600}.filtros-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.filtros-rapidos{flex-wrap:wrap;gap:8px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes shimmer{to{left:200%}}.animate-fade-in{animation:.4s fadeIn}.animate-fade-in-up{animation:.5s fadeInUp}.animate-fade-in-down{animation:.4s fadeInDown}.animate-slide-in-left{animation:.4s fadeInLeft}.animate-slide-in-right{animation:.4s fadeInRight}.animate-bounce{animation:.5s bounce}.animate-pulse{animation:2s infinite pulse}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.5s infinite shimmer}@media (width<=1024px){.main-content{padding:20px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.main-content{margin-left:0;padding:16px}.stats-grid{grid-template-columns:1fr;gap:12px}.form-row{grid-template-columns:1fr}.header{padding:0 16px}.subtitle{display:none}.section-header{flex-direction:column;align-items:flex-start;gap:12px}.filtros-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.table{min-width:600px}.modal-content{width:95%;padding:20px}}@media (width<=480px){.header-right{gap:8px}.user-info span:not(.user-avatar):not(.user-role){display:none}.btn-logout{padding:6px 10px;font-size:12px}.stat-card{padding:16px}.stat-number{font-size:28px}}.cedula-input-group{align-items:center;gap:8px;width:100%;display:flex}.cedula-input-group .select-nacionalidad{border-radius:var(--radius-sm,8px);border:1.5px solid var(--border,#cbd5e1);background-color:var(--bg-card,#fff);width:80px;min-width:80px;color:var(--text,#0f172a);transition:var(--transition,all .2s);outline:none;padding:10px 12px;font-weight:600}.cedula-input-group .select-nacionalidad:focus{border-color:var(--primary,#1e3a5f);box-shadow:0 0 0 3px #1e3a5f26}[data-theme=dark] .cedula-input-group .select-nacionalidad{border-color:var(--gray-700,#475569);background-color:var(--gray-800,#1e293b);color:var(--gray-100,#f8fafc)}.cedula-input-group .input-cedula-num{flex:1}.table-card-container{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-top:24px;overflow:hidden}.table-search-bar{border-bottom:1px solid var(--border-light);background:var(--white);padding:15px 24px}.table-search-input{border:1px solid var(--border);width:100%;max-width:400px;transition:var(--transition);background-color:var(--white);color:var(--text);border-radius:8px;outline:none;padding:10px 15px;font-size:14px}.table-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-ultralight)}.table-pagination-bar{border-top:1px solid var(--border-light);background:var(--white);justify-content:space-between;align-items:center;padding:15px 24px;display:flex}.table-pagination-button{border:1px solid var(--border);background:var(--white);cursor:pointer;color:var(--gray-700);transition:var(--transition);border-radius:6px;padding:8px 16px;font-size:13px;font-weight:600}.table-pagination-button:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.table-pagination-button:disabled{background:var(--gray-100);color:var(--text-muted);cursor:not-allowed;border-color:var(--border-light)}.table-pagination-info{color:var(--text-secondary);font-size:14px;font-weight:500}[data-theme=dark] .btn-secondary{background:var(--bg-subtle);color:#fff;border-color:var(--border)}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:var(--primary-100)}[data-theme=dark] .table-card-header{background:var(--bg-card);border-bottom-color:var(--border)}[data-theme=dark] .table-card-header h3{color:#fff}[data-theme=dark] .table th{background:var(--bg-subtle);color:#fff;border-bottom-color:var(--border);font-weight:700}[data-theme=dark] .table td strong{color:#fff;font-weight:700}[data-theme=dark] .table-search-bar{background:var(--bg-card);border-bottom-color:var(--border)}[data-theme=dark] .table-search-input{background:var(--bg-subtle);color:#fff;border-color:var(--border)}[data-theme=dark] .table-pagination-bar{background:var(--bg-card);border-top-color:var(--border)}[data-theme=dark] .table-pagination-button{background:var(--bg-subtle);color:#fff;border-color:var(--border)}[data-theme=dark] .table-pagination-button:disabled{background:var(--bg-card);color:var(--text-muted)}[data-theme=dark] .table-pagination-info,[data-theme=dark] .enviados-header h2{color:#fff}[data-theme=dark] .table-count-pill{color:#fff;background:var(--primary);border:1px solid var(--border)}[data-theme=dark] .btn-link{color:#60a5fa}[data-theme=dark] .btn-link:hover{color:#93c5fd}[data-theme=dark] .form-group input:disabled,[data-theme=dark] .form-group select:disabled{background:var(--bg-subtle);color:var(--text-muted);border-color:var(--border);opacity:.8}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background-color:var(--bg-subtle);color:var(--text);border-color:var(--border)}[data-theme=dark] .form-group input:hover,[data-theme=dark] .form-group select:hover,[data-theme=dark] .form-group textarea:hover{border-color:var(--gray-500)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group select:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #3b82f640}[data-theme=dark] .form-group label{color:var(--text-secondary)}.reporte-tab-btn{cursor:pointer;color:var(--text-muted);background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:12px;font-size:.875rem;font-weight:400;transition:all .2s;display:flex}.reporte-tab-btn.active{color:#0f172a;background:#f1f5f9;font-weight:700}[data-theme=dark] .reporte-tab-btn.active{color:#fff;background:#ffffff1a}[data-theme=dark] .reporte-tab-btn:not(.active){color:var(--text-muted)}[data-theme=dark] .reporte-tab-btn:hover:not(.active){color:#fff;background:#ffffff0d}@media (width<=992px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){:root{--header-height:60px}.layout-content{flex-direction:column}.main-content{width:100vw;padding:16px}.header{padding:0 16px}.logo-hidroven,.user-profile,.btn-logout .logout-text{display:none}.btn-logout{padding:8px}.stats-grid{grid-template-columns:1fr}.table-container{border-radius:var(--radius-sm)}.table th,.table td{padding:12px;font-size:13px}.btn{padding:8px 16px;font-size:13px}}@media (width<=480px){.header-left{gap:8px}.logo-ministerio{height:32px}.main-content{padding:12px}.table th,.table td{padding:10px 8px;font-size:12px}}.login-container{background:linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 50%, var(--accent-dark) 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.bg-circle{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1;background:linear-gradient(135deg,#ffffff1a 0%,#fff0 100%);border-radius:50%;position:absolute}.circle-1{width:600px;height:600px;animation:20s ease-in-out infinite float;top:-200px;right:-100px}.circle-2{width:400px;height:400px;animation:15s ease-in-out infinite reverse float;bottom:-150px;left:-100px}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-30px)rotate(5deg)}}.login-card{background:var(--bg-card);z-index:10;border:1px solid #fff3;border-radius:24px;width:100%;max-width:440px;padding:32px 36px 24px;animation:.6s cubic-bezier(.16,1,.3,1) slideUp;position:relative;box-shadow:0 25px 50px -12px #08122b80}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:20px}.login-logo{justify-content:center;margin-bottom:16px;animation:2s ease-in-out infinite bounceSoft;display:flex}@keyframes bounceSoft{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.login-logo-img{object-fit:contain;filter:drop-shadow(0 4px 6px #0000001a);width:70px;height:70px}.login-header h1{color:var(--primary);letter-spacing:-.5px;margin:0 0 8px;font-size:32px;font-weight:800}.login-header .subtitle{color:var(--gray-600);margin:0 0 4px;font-size:14px;font-weight:500}.login-header .sub-subtitle{color:var(--gray-400);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:12px;font-weight:600}.login-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:var(--gray-700);margin-left:4px;font-size:13px;font-weight:600}.form-group input{border:2px solid var(--border);border-radius:var(--radius);background:var(--gray-50);color:var(--text);outline:none;padding:14px 16px;font-size:15px;transition:all .2s}.form-group input::placeholder{color:var(--gray-400)}.form-group input:focus{border-color:var(--accent);background:var(--bg-card);box-shadow:0 0 0 4px var(--accent-light)}.btn-login{background:linear-gradient(to right, var(--primary), var(--primary-light));color:#fff;border-radius:var(--radius);cursor:pointer;border:none;margin-top:12px;padding:14px;font-size:16px;font-weight:700;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 12px #162a5a33}.btn-login:hover:not(:disabled){background:linear-gradient(to right, var(--primary), var(--accent));transform:translateY(-2px);box-shadow:0 6px 16px #162a5a4d}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.btn-login.btn-loading:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:50%;height:100%;animation:1.5s infinite shimmer;position:absolute;top:0;left:-100%}.login-error{background:var(--danger-light);color:var(--danger-dark);border-radius:var(--radius);text-align:center;border:1px solid #b91c1c33;margin-bottom:24px;padding:12px 16px;font-size:13px;font-weight:500;animation:.5s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.login-footer{text-align:center;border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.login-footer p{color:var(--gray-500);margin:2px 0;font-size:12px;font-weight:500}@media (width<=480px){.login-card{border-radius:16px;width:95%;padding:24px 20px}.login-header h1{font-size:26px}.login-header .subtitle{font-size:13px}.login-logo-img{width:55px;height:55px}}.dashboard{max-width:1400px;margin:0 auto;animation:.4s cubic-bezier(.16,1,.3,1) fadeInUp}.dashboard-header-container{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;margin-bottom:32px;padding-bottom:24px;display:flex}.welcome-banner{flex-direction:column;gap:4px;display:flex}.dashboard-welcome{text-transform:uppercase;letter-spacing:1.5px;color:var(--primary-400);font-size:13px;font-weight:700}.welcome-banner h2{letter-spacing:-1px;color:var(--gray-900);margin:4px 0;font-size:32px;font-weight:800;line-height:1.2}.user-role-badge{border-radius:var(--radius-full);background:var(--primary-ultralight);color:var(--primary);border:1px solid var(--primary-200);align-self:flex-start;align-items:center;margin-top:4px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-actions{gap:12px;display:flex}.clickable-card{overflow:hidden;padding:0!important}.card-link-wrapper{align-items:center;gap:16px;width:100%;height:100%;padding:20px;text-decoration:none;display:flex}.stat-text-link{color:var(--primary);transition:var(--transition);align-items:center;gap:4px;margin-top:4px;font-size:14px;font-weight:600;display:flex}.clickable-card:hover .stat-text-link{color:var(--primary-dark);transform:translate(4px)}.dashboard-widgets-grid{grid-template-columns:1.5fr 1fr;gap:24px;margin-bottom:32px;display:grid}.dashboard-widget-box{background:var(--bg-card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--border);border-top:3px solid var(--accent);transition:var(--transition);overflow:hidden}.dashboard-widget-box:hover{box-shadow:var(--shadow)}.widget-header{background:var(--bg);border-bottom:1px solid var(--border);padding:16px 20px}.widget-header h3{color:var(--gray-800);letter-spacing:-.2px;margin:0;font-size:15px;font-weight:700}.widget-body{padding:20px}.dashboard-widget-column{flex-direction:column;gap:24px;display:flex}.state-progress-list{flex-direction:column;gap:16px;max-height:380px;padding-right:8px;display:flex;overflow-y:auto}.state-progress-item{flex-direction:column;gap:6px;display:flex}.state-progress-label{justify-content:space-between;font-size:13px;font-weight:500;display:flex}.state-name{color:var(--gray-700);font-weight:600}.state-count{color:var(--text-muted)}.progress-bar-container{background:var(--gray-100);border-radius:var(--radius-full);height:8px;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--primary) 0%, var(--accent) 100%);height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.status-badge-list{flex-direction:column;gap:12px;display:flex}.status-count-item{background:var(--gray-50);border-radius:var(--radius);border:1px solid var(--border-light);align-items:center;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.estado-badge-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-right:12px}.status-label{color:var(--gray-700);flex:1}.status-val{color:var(--gray-900);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--border);padding:2px 8px;font-weight:700}.vp-counts-list{flex-direction:column;gap:10px;display:flex}.vp-count-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.vp-count-row:last-child{border-bottom:none}.vp-name{color:var(--gray-700);font-size:13px;font-weight:600}.vp-badge{background:var(--accent-light);color:var(--primary);border-radius:var(--radius-full);padding:4px 10px;font-size:11px;font-weight:700}.requerimientos-table-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);margin-top:32px;overflow:hidden}.table-card-header{background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.table-card-header h3{color:var(--gray-800);margin:0;font-size:16px;font-weight:700}.table-count-pill{text-transform:uppercase;color:var(--text-muted);background:var(--gray-200);border-radius:var(--radius-full);padding:4px 12px;font-size:11px;font-weight:700}.table-responsive{width:100%;overflow-x:auto}.table th{background:var(--white);text-align:center;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);border-bottom:2px solid var(--border);padding:14px 24px;font-size:11px;font-weight:700}.table td{vertical-align:middle;padding:16px 24px}.solicitante-info{flex-direction:column;gap:2px;display:flex}.fullname{color:var(--gray-800);font-weight:600}.cedula{color:var(--text-muted);font-size:11px}.vp-gerencia-info{flex-direction:column;gap:2px;display:flex}.vp-text{color:var(--gray-700);font-size:12px;font-weight:600}.gerencia-text{color:var(--text-muted);font-size:11px}.font-semibold{font-weight:600}.btn-link-action{color:var(--primary);transition:var(--transition);align-items:center;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn-link-action:hover{color:var(--primary-dark);transform:translate(2px)}.empty-state-container{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 24px;display:flex}.empty-state-icon{opacity:.6;margin-bottom:16px;font-size:48px}.empty-state-container h4{color:var(--gray-800);margin:0 0 8px;font-size:18px;font-weight:700}.empty-state-container p{color:var(--text-muted);max-width:400px;margin:0;font-size:14px}.loading-container{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:128px 24px;font-size:15px;font-weight:500;display:flex}.loader{border:3.5px solid var(--gray-200);border-top-color:var(--primary);border-radius:50%;width:44px;height:44px;animation:.8s cubic-bezier(.4,0,.2,1) infinite spin}@media (width<=992px){.dashboard-widgets-grid{grid-template-columns:1fr}}@media (width<=768px){.dashboard-header-container{flex-direction:column;align-items:flex-start;gap:20px}.welcome-banner h2{font-size:26px}}[data-theme=dark] .welcome-banner h2,[data-theme=dark] .dashboard-welcome{color:#fff}[data-theme=dark] .user-role-badge{color:#fff;background:#ffffff1a;border-color:#ffffff4d}[data-theme=dark] .stat-text-link{color:#fff}[data-theme=dark] .clickable-card:hover .stat-text-link{color:#fffc}[data-theme=dark] .btn-link-action{color:#60a5fa}[data-theme=dark] .btn-link-action:hover{color:#93c5fd}[data-theme=dark] .widget-header h3,[data-theme=dark] .state-name,[data-theme=dark] .vp-name,[data-theme=dark] .status-label{color:#fff}[data-theme=dark] .progress-bar-container{background:var(--bg-subtle)}[data-theme=dark] .status-count-item{background:var(--bg-subtle);border-color:var(--border);color:#fff}[data-theme=dark] .status-val{background:var(--bg-card);color:#fff;border-color:var(--border)}@media (width<=768px){.dashboard-actions{flex-direction:column;width:100%}.dashboard-actions .btn{width:100%;margin-left:0!important}.table-card-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=480px){.table-pagination-bar{flex-direction:column;gap:12px}.table-pagination-button{width:100%}}.header{height:var(--header-height);background:var(--sidebar-bg-start);border-bottom:2px solid var(--accent);z-index:1000;justify-content:space-between;align-items:center;padding:0 20px;transition:all .3s;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #0003}.header-left{align-items:center;gap:16px;display:flex}.sidebar-toggle{color:var(--accent);cursor:pointer;border-radius:var(--radius-full);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.sidebar-toggle:hover{color:var(--white);background:#ffffff1a}.theme-toggle{color:var(--accent);cursor:pointer;border-radius:var(--radius-full);transition:var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;display:flex}.theme-toggle:hover{color:var(--white);background:#ffffff1a}.logo-ministerio{object-fit:contain;height:48px}.header-right{align-items:center;gap:20px;display:flex}.logo-hidroven{object-fit:contain;height:40px}.header-divider{background:var(--border);width:1px;height:32px}.user-profile{align-items:center;gap:12px;display:flex}.user-info-text{flex-direction:column;align-items:flex-end;display:flex}.user-name{color:var(--white);font-size:13px;font-weight:700;line-height:1.2}.user-role-pill{color:var(--primary);background:var(--accent-light);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;margin-top:2px;padding:2px 8px;font-size:10px;font-weight:700}.avatar-wrapper{position:relative}.user-avatar{border-radius:var(--radius-full);background:var(--primary-ultralight);width:40px;height:40px;color:var(--primary);transition:var(--transition);border:2px solid #0000;justify-content:center;align-items:center;font-size:14px;font-weight:800;display:flex}.user-profile:hover .user-avatar{border-color:var(--accent);background:var(--white);box-shadow:0 2px 8px #4aade333}.online-indicator{background:var(--success);border:2px solid var(--primary-dark);border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.btn-logout{color:var(--gray-300);border-radius:var(--radius);cursor:pointer;transition:var(--transition);background:#ffffff0d;border:1px solid #ffffff1a;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:flex}.btn-logout:hover{background:var(--danger);border-color:var(--danger);color:var(--white)}@media (width<=992px){.user-info-text{display:none}}@media (width<=768px){.logo-ministerio{height:36px}.logo-hidroven,.header-divider,.logout-text{display:none}.btn-logout{padding:8px}}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--sidebar-bg-start) 0%, var(--sidebar-bg-end) 100%);top:var(--header-height);z-index:100;border-right:none;padding:24px 0;transition:width .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);position:fixed;bottom:0;left:0;overflow:hidden auto;box-shadow:4px 0 16px #0000001a}.sidebar.collapsed{width:var(--sidebar-collapsed);padding:24px 0}.sidebar-content{flex-direction:column;gap:24px;display:flex}.sidebar-section{flex-direction:column;display:flex}.section-title{letter-spacing:.15em;text-transform:uppercase;color:#4aade3b3;white-space:nowrap;margin-bottom:8px;padding:0 24px;font-size:10px;font-weight:800;transition:opacity .2s}.sidebar.collapsed .section-title{opacity:0;height:0;margin:0;overflow:hidden}.menu{margin:0;padding:0;list-style:none}.menu li a{color:#ffffffa6;white-space:nowrap;align-items:center;gap:16px;padding:12px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex;position:relative}.sidebar.collapsed .menu li a{justify-content:center;padding:12px 0}.menu li a:before{content:"";background:var(--accent);width:4px;transition:transform .2s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.menu li a:hover{color:var(--white);background:#ffffff0d}.menu li a:hover:before{transform:scaleY(1)}.menu li a.active{color:var(--white);background:#4aade326;font-weight:600}.menu li a.active:before{transform:scaleY(1)}.menu .icon{color:var(--accent);justify-content:center;align-items:center;min-width:24px;transition:transform .2s,color .2s;display:flex}.menu li a:hover .icon,.menu li a.active .icon{color:var(--accent)}.menu li a:hover .icon{transform:scale(1.1)}.menu .label{opacity:1;font-size:14px;transition:opacity .2s,transform .2s;transform:translate(0)}.sidebar.collapsed .menu .label{opacity:0;pointer-events:none;position:absolute;transform:translate(-10px)}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff40}@media (width<=768px){.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar.mobile-open{padding:24px 0;transform:translate(0)}.sidebar.mobile-open .menu li a{justify-content:flex-start;padding:12px 24px}.sidebar.mobile-open .menu .label{opacity:1;position:static;transform:translate(0)}.sidebar.mobile-open .section-title{opacity:1;height:auto;margin-bottom:8px}}[data-theme=dark] .menu li a{color:#fff}[data-theme=dark] .menu li a:hover{color:#fff;background:#ffffff1a}[data-theme=dark] .menu li a.active,[data-theme=dark] .menu li a.active .icon{color:#fff}.layout{flex-direction:column;min-height:100vh;display:flex}.layout-content{flex:1;display:flex}.main-content{background:var(--bg);margin-left:var(--sidebar-width);flex:1;padding:24px;transition:margin-left .3s cubic-bezier(.4,0,.2,1);overflow-y:auto}.layout-content.collapsed .main-content{margin-left:var(--sidebar-collapsed)}.loading{height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:16px;font-size:16px;display:flex}.sidebar-overlay{display:none}@media (width<=768px){.main-content{margin-left:0;padding:16px}.layout-content.collapsed .main-content{margin-left:0}.sidebar-overlay{top:var(--header-height);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;opacity:0;visibility:hidden;background:#0f172a80;transition:opacity .3s,visibility .3s;display:block;position:fixed;bottom:0;left:0;right:0}.sidebar-overlay.show{opacity:1;visibility:visible}}
