:root{--uka-blue:#0074c9;--uka-blue-dark:#005ba0;--uka-yellow:#ffcd00;--uka-yellow-hover:#e6b800;--uka-white:#fff;--uka-bg:#f8f9fa;--uka-bg-soft:#e8f1fb;--uka-text:#212529;--uka-gray:#6c757d;--uka-success:#28a745;--uka-warning:#fd7e14;--uka-danger:#c62828;--uka-border:#dde3ec;--color-primary:var(--uka-blue);--color-primary-dark:var(--uka-blue-dark);--color-primary-light:#3397df;--color-secondary:var(--uka-yellow);--color-secondary-dark:var(--uka-yellow-hover);--color-secondary-light:#ffe082;--color-success:var(--uka-success);--color-success-light:#e8f5e9;--color-warning:var(--uka-warning);--color-warning-light:#fff3e0;--color-danger:var(--uka-danger);--color-danger-light:#ffebee;--color-info:var(--uka-blue);--color-info-light:var(--uka-bg-soft);--color-white:#fff;--color-black:#000;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-background:var(--uka-bg);--color-surface:var(--uka-white);--color-border:var(--uka-border);--color-text-primary:var(--uka-text);--color-text-secondary:var(--uka-gray);--color-text-disabled:#9ca3af;--header-height:70px;--sidebar-width:250px;--sidebar-width-mobile:200px;--border-radius:8px;--border-radius-lg:12px;--border-radius-full:9999px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:48px;--font-family-base:"Segoe UI",Roboto,Arial,sans-serif;--font-family-mono:"Consolas","Monaco","Menlo","Ubuntu Mono",monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #0000001f;--transition-fast:150ms ease-in-out;--transition-base:300ms ease-in-out;--transition-slow:500ms ease-in-out;--z-dropdown:1000;--z-modal:1100;--z-popover:1200;--z-tooltip:1300;--z-notification:1400}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{background-color:var(--uka-bg)!important;max-width:100%;overflow-x:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);line-height:1.6}#root{background-color:var(--uka-bg)!important;min-height:100vh}code{font-family:var(--font-family-mono)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-gray-100)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}::selection{background-color:var(--color-primary);color:var(--color-white)}h1,h2,h3,h4,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);line-height:1.3}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5,h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark);text-decoration:underline}.container{margin:0 auto;max-width:1200px;padding:var(--spacing-lg)}.page{margin:0 auto;max-width:960px;padding:24px 16px}.card{background:var(--uka-white);border-radius:12px;box-shadow:var(--shadow-md);margin-bottom:20px;padding:20px 24px}.card-uka{border:none;border-radius:15px;border-top:5px solid var(--uka-blue);box-shadow:0 4px 20px #00000014}.btn{border-radius:6px;display:inline-block;font-size:13px;font-weight:600;padding:9px 20px;text-decoration:none;transition:opacity .15s,transform .1s}.btn:active{transform:scale(.97)}.btn:hover{opacity:.9}.btn-primary{background:var(--uka-blue);color:var(--uka-white)}.btn-success{background:var(--uka-success);color:var(--uka-white)}.btn-danger{background:var(--uka-danger);color:var(--uka-white)}.btn-ghost{background:#0000;border:1px solid var(--uka-border);color:var(--uka-text)}.btn-salir{background:#0000;border:1.5px solid #dee2e6;border-radius:50px;color:var(--uka-gray);cursor:pointer;font-size:13px;padding:.4rem 1.1rem;transition:.2s}.btn-salir:hover{border-color:var(--uka-blue);color:var(--uka-blue)}.badge{border-radius:20px;font-size:11px;font-weight:600;padding:3px 9px}.badge-enviada{background:#e3f2fd;color:#1565c0}.badge-aprobada{background:#e8f5e9;color:#2e7d32}.badge-rechazada{background:#ffebee;color:#c62828}.badge-finalizada{background:#f3e5f5;color:#6a1b9a}.badge-cancelada{background:#eceff1;color:#546e7a}.badge-tramite{background:#fff8e1;color:#e65100}.form-group{margin-bottom:16px}.form-group label{color:var(--uka-gray);display:block;font-size:12px;margin-bottom:5px}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--uka-border);border-radius:6px;font-family:inherit;font-size:13px;padding:9px 12px;transition:border .15s,box-shadow .15s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--uka-blue);box-shadow:0 0 0 3px #0074c91f;outline:none}@media (max-width:768px){.container{padding:var(--spacing-md)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width:767px){.hide-mobile{display:none!important}.show-mobile{display:block!important}}.page-container{background:#f8fafc;min-height:100vh;padding:24px}@media (max-width:767px){.page-container{padding:12px}}@media (max-width:575px){.page-container{padding:8px}}.page-header-responsive{align-items:flex-start;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.page-header-responsive h1{align-items:center;color:#1f2937;display:flex;font-size:28px;font-weight:800;gap:12px;margin:0}.page-header-responsive p{color:#6b7280;font-size:14px;margin:4px 0 0}@media (max-width:767px){.page-header-responsive{align-items:stretch;flex-direction:column;gap:12px;margin-bottom:16px}.page-header-responsive h1{font-size:22px;gap:8px}.page-header-responsive h1 svg{font-size:20px}.page-header-responsive p{font-size:13px}}@media (max-width:575px){.page-header-responsive h1{font-size:20px}}.tabs-responsive{-webkit-overflow-scrolling:touch;border-bottom:2px solid #e5e7eb;display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding-bottom:0;scrollbar-width:thin}.tabs-responsive::-webkit-scrollbar{height:3px}.tabs-responsive::-webkit-scrollbar-track{background:#f3f4f6}.tabs-responsive::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}.tab-responsive{align-items:center;background:#0000;border:none;border-bottom:3px solid #0000;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;font-weight:600;gap:8px;margin-bottom:-2px;padding:12px 20px;transition:all .2s ease;white-space:nowrap}.tab-responsive:hover{background:#f3f4f6;color:#2e4799}.tab-responsive.active{background:#f9fafb;border-bottom-color:#2e4799;color:#2e4799}.tab-responsive svg{font-size:16px}@media (max-width:767px){.tabs-responsive{gap:4px;margin-bottom:16px}.tab-responsive{font-size:13px;gap:6px;padding:10px 16px}.tab-responsive svg{font-size:14px}}@media (max-width:575px){.tab-responsive{font-size:12px;padding:8px 12px}}.grid-responsive-2{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}@media (max-width:767px){.grid-responsive-2{gap:16px;grid-template-columns:1fr}}.grid-responsive-3{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:991px){.grid-responsive-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.grid-responsive-3{gap:16px;grid-template-columns:1fr}}.grid-responsive-4{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}@media (max-width:991px){.grid-responsive-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:575px){.grid-responsive-4{gap:16px;grid-template-columns:1fr}}.grid-auto-fit{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (max-width:767px){.grid-auto-fit{gap:16px;grid-template-columns:1fr}}@media (max-width:575px){.grid-auto-fit{gap:12px}}.card-responsive{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-bottom:24px;padding:24px}@media (max-width:767px){.card-responsive{border-radius:8px;margin-bottom:16px;padding:16px}}@media (max-width:575px){.card-responsive{padding:12px}}.kpi-card-responsive{align-items:center;background:#fff;border-left:4px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;display:flex;gap:16px;padding:20px;transition:all .3s ease}.kpi-card-responsive:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.kpi-icon-responsive{align-items:center;border-radius:10px;display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;width:48px}.kpi-content-responsive{flex:1 1;min-width:0}.kpi-label-responsive{color:#6b7280;font-size:12px;font-weight:600;letter-spacing:.3px;margin:0 0 4px;text-transform:uppercase}.kpi-value-responsive{color:#1f2937;font-size:24px;font-weight:700;margin:0;word-break:break-word}@media (max-width:767px){.kpi-card-responsive{gap:12px;padding:16px}.kpi-icon-responsive{font-size:18px;height:40px;width:40px}.kpi-label-responsive{font-size:11px}.kpi-value-responsive{font-size:20px}}@media (max-width:575px){.kpi-card-responsive{gap:10px;padding:12px}.kpi-icon-responsive{font-size:16px;height:36px;width:36px}.kpi-value-responsive{font-size:18px}}.table-container-responsive{-webkit-overflow-scrolling:touch;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.table-responsive{border-collapse:collapse;min-width:600px;width:100%}.table-responsive thead{background-color:#f9fafb;border-bottom:2px solid #e5e7eb}.table-responsive th{color:#374151;font-size:12px;font-weight:700;letter-spacing:.5px;padding:14px 16px;text-align:left;text-transform:uppercase;white-space:nowrap}.table-responsive td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:14px;padding:14px 16px}.table-responsive tbody tr{transition:background-color .2s ease}.table-responsive tbody tr:hover{background-color:#f9fafb}.table-responsive tbody tr:last-child td{border-bottom:none}@media (max-width:767px){.table-container-responsive{border-radius:6px}.table-responsive td,.table-responsive th{font-size:12px;padding:10px 12px}.table-responsive th{font-size:11px}}@media (max-width:575px){.table-responsive{min-width:500px}.table-responsive td,.table-responsive th{padding:8px 10px}}.btn-responsive{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:14px;font-weight:700;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.btn-responsive-primary{background:linear-gradient(135deg,#2e4799,#1e3a8a);color:#fff}.btn-responsive-primary:hover{background:linear-gradient(135deg,#1e3a8a,#1e40af);box-shadow:0 8px 16px #2e47994d;transform:translateY(-2px)}.btn-responsive-secondary{background:#fff;border:2px solid #e5e7eb;color:#2e4799}.btn-responsive-secondary:hover{background:#f9fafb;border-color:#2e4799}@media (max-width:767px){.btn-responsive{font-size:13px;gap:6px;padding:10px 20px;width:100%}.btn-responsive svg{font-size:14px}}@media (max-width:575px){.btn-responsive{font-size:12px;padding:8px 16px}}.filters-responsive{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}.filter-group-responsive{flex:1 1;min-width:150px}.filter-group-responsive label{align-items:center;color:#374151;display:flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.filter-select-responsive{background-color:#fff;border:1.5px solid #e5e7eb;border-radius:8px;color:#1f2937;font-size:14px;padding:10px 14px;transition:all .2s ease;width:100%}.filter-select-responsive:focus{border-color:#2e4799;box-shadow:0 0 0 3px #2e47991a;outline:none}@media (max-width:767px){.filters-responsive{align-items:stretch;flex-direction:column;gap:12px}.filter-group-responsive{min-width:100%}.filter-select-responsive{font-size:13px;padding:8px 12px}}.modal-overlay-responsive{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal-content-responsive{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}@media (max-width:767px){.modal-overlay-responsive{align-items:flex-start;padding:10px}.modal-content-responsive{border-radius:8px;margin-top:20px;max-height:95vh;max-width:100%}}@media (max-width:575px){.modal-overlay-responsive{padding:0}.modal-content-responsive{border-radius:0;margin-top:0;max-height:100vh}}.badge-responsive{align-items:center;border-radius:6px;display:inline-flex;font-size:11px;font-weight:700;gap:4px;letter-spacing:.3px;padding:6px 12px;text-transform:uppercase;white-space:nowrap}@media (max-width:575px){.badge-responsive{font-size:10px;gap:3px;padding:4px 8px}}.action-buttons-responsive{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-icon-responsive{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:14px;height:36px;justify-content:center;transition:all .2s ease;width:36px}@media (max-width:767px){.action-buttons-responsive{gap:6px}.btn-icon-responsive{font-size:12px;height:32px;width:32px}}@media (max-width:575px){.btn-icon-responsive{font-size:11px;height:28px;width:28px}}@media (max-width:767px){.mb-md-2{margin-bottom:16px}.mb-md-3{margin-bottom:24px}.p-md-2{padding:16px}.p-md-3{padding:24px}}@media (max-width:575px){.mb-sm-2{margin-bottom:12px}.mb-sm-3{margin-bottom:16px}.p-sm-2{padding:12px}.p-sm-3{padding:16px}}.page-container{max-width:100%;min-height:calc(100vh - 70px);overflow-x:hidden;padding:32px;width:100%}.page-header{align-items:flex-start;gap:24px;margin-bottom:32px}.page-header>div:first-child{flex:1 1}.page-header h1{color:#2e4799!important;font-size:32px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.page-header p{color:#64748b!important;font-size:15px;margin:0}.filters-container{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px;width:100%}.search-bar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex:1 1;gap:12px;min-width:250px;padding:12px 16px}.search-bar svg{color:#6b7280;font-size:16px}.search-bar input{background:#0000;color:#1f2937;font-size:14px;width:100%}.search-bar input::placeholder{color:#9ca3af}.filter-group{align-items:center;display:flex;gap:8px}.filter-group label{color:#1f2937;font-size:13px;font-weight:600;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.filter-group select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;font-size:14px;min-width:150px;padding:10px 16px;transition:all .2s ease}.filter-group select:focus,.filter-group select:hover{border-color:#2e4799;box-shadow:0 0 0 3px #2e47991a;outline:none}.table-container{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-width:100%;overflow-x:auto}.table{background:#fff;font-size:13px}.table thead{background:linear-gradient(135deg,#f1f5f9,#e0e7ff);border-bottom:3px solid #cbd5e1;position:sticky;top:0;z-index:10}.table th{background-clip:padding-box;color:#1f2937;font-size:11px;font-weight:700;padding:16px 12px;white-space:nowrap}.table td{border-bottom:1px solid #e5e7eb;color:#1f2937;font-size:13px;padding:14px 12px;vertical-align:middle}.table tbody tr{transition:all .2s ease}.table tbody tr:hover{background-color:#f9fafb}.id-badge{background:#e0e7ff;border:1px solid #c7d2fe;border-radius:6px;color:#2e4799;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;padding:6px 10px;white-space:nowrap}.badge{border:1px solid;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:.5px;padding:6px 12px;text-transform:uppercase}.badge-success{background:#d1fae5;border-color:#6ee7b7;color:#065f46}.badge-info{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.badge-secondary{background:#e5e7eb;border-color:#d1d5db;color:#374151}.badge-warning{background:#fef3c7;border-color:#fde68a;color:#92400e}.badge-danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}.action-buttons{display:flex;gap:4px}.action-buttons,.btn-icon{align-items:center;justify-content:center}.btn-icon{border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:14px;height:32px;margin:0 2px;padding:0;transition:all .2s ease;width:32px}.btn-icon:hover{transform:scale(1.05)}.btn-view{background-color:#f3e8ff;color:#7c3aed}.btn-view:hover{background-color:#e9d5ff}.btn-pdf{background-color:#fed7aa;color:#c2410c}.btn-pdf:hover{background-color:#fdba74}.btn-edit{background-color:#dbeafe;color:#0369a1}.btn-edit:hover{background-color:#bfdbfe}.btn-delete{background-color:#fee2e2;color:#991b1b}.btn-delete:hover{background-color:#fecaca}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-right{font-weight:600;text-align:right}.text-center{text-align:center}.empty-state{color:#6b7280;padding:60px 20px}.empty-state p{color:#9ca3af;font-size:16px;margin-bottom:24px}.btn{align-items:center;border:none;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background-color:var(--color-primary);color:var(--color-white)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark)}.btn-secondary{background-color:var(--color-secondary);color:var(--color-white)}.btn-secondary:hover:not(:disabled){background-color:var(--color-secondary-dark)}.btn-success{background-color:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background-color:#059669}.btn-warning{background-color:var(--color-warning);color:var(--color-white)}.btn-warning:hover:not(:disabled){background-color:#d97706}.btn-danger{background-color:var(--color-danger);color:var(--color-white)}.btn-danger:hover:not(:disabled){background-color:var(--color-danger-dark)}.btn-outline{background-color:initial;border:2px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.btn-ghost{background-color:initial;color:var(--color-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-gray-100)}.btn-sm{font-size:var(--font-size-xs);padding:var(--spacing-sm) var(--spacing-md)}.btn-lg{font-size:var(--font-size-base);padding:var(--spacing-lg) var(--spacing-xl)}.btn-block{width:100%}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{background-color:var(--color-gray-50);border-bottom:1px solid var(--color-border)}.card-body,.card-footer,.card-header{padding:var(--spacing-lg)}.card-footer{background-color:var(--color-gray-50);border-top:1px solid var(--color-border)}.card-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.card-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-sm) 0 0 0}.form-group{margin-bottom:var(--spacing-lg)}.form-group:last-child{margin-bottom:0}.form-label{color:var(--color-text-primary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.form-label.required:after{color:var(--color-secondary);content:" *"}.form-control{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-fast);width:100%}.form-control:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2e47991a;outline:none}.form-control::placeholder{color:var(--color-text-disabled)}.form-control:disabled{background-color:var(--color-gray-50);cursor:not-allowed;opacity:.6}textarea.form-control{min-height:100px;resize:vertical}select.form-control{cursor:pointer}.form-help{color:var(--color-text-secondary)}.form-error,.form-help{font-size:var(--font-size-xs);margin-top:var(--spacing-sm)}.form-error{color:var(--color-secondary)}.form-control.is-invalid{border-color:var(--color-secondary)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #e5222f1a}.table{background-color:var(--color-surface);border-collapse:collapse;border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.table thead{background-color:var(--color-gray-100);border-bottom:2px solid var(--color-border)}.table th{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:.5px;text-align:left;text-transform:uppercase}.table td,.table th{font-size:var(--font-size-sm);padding:var(--spacing-md) var(--spacing-lg)}.table td{border-bottom:1px solid var(--color-border)}.table tbody tr:hover{background-color:var(--color-gray-50)}.table tbody tr:last-child td{border-bottom:none}.badge{border-radius:var(--border-radius-full);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--spacing-xs) var(--spacing-md);white-space:nowrap}.badge-primary{background-color:var(--color-info-light);color:var(--color-primary)}.badge-success{background-color:var(--color-success-light);color:var(--color-success)}.badge-warning{background-color:var(--color-warning-light);color:var(--color-warning)}.badge-danger{background-color:var(--color-danger-light);color:var(--color-secondary)}.alert{align-items:flex-start;border-left:4px solid;border-radius:var(--border-radius);display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding:var(--spacing-lg)}.alert-primary{background-color:var(--color-info-light);border-left-color:var(--color-primary);color:var(--color-primary)}.alert-success{background-color:var(--color-success-light);border-left-color:var(--color-success);color:var(--color-success)}.alert-warning{background-color:var(--color-warning-light);border-left-color:var(--color-warning);color:var(--color-warning)}.alert-danger{background-color:var(--color-danger-light);border-left-color:var(--color-secondary);color:var(--color-secondary)}.alert-title{font-weight:var(--font-weight-semibold)}.alert-text{font-size:var(--font-size-sm)}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--z-modal)}.modal-content{background-color:var(--color-surface);border-radius:var(--border-radius);box-shadow:var(--shadow-xl);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.modal-title{font-weight:var(--font-weight-semibold);margin:0}.modal-close,.modal-title{font-size:var(--font-size-xl)}.modal-close{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--color-text-secondary);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:all var(--transition-fast);width:32px}.modal-close:hover{background-color:var(--color-gray-100);color:var(--color-text-primary)}.modal-body,.modal-footer{padding:var(--spacing-lg)}.modal-footer{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:flex-end}.progress{background-color:var(--color-gray-200);border-radius:var(--border-radius-full);height:8px;overflow:hidden;width:100%}.progress-bar{align-items:center;background-color:var(--color-primary);color:var(--color-white);display:flex;font-size:var(--font-size-xs);justify-content:center;transition:width var(--transition-base)}.progress-bar.success{background-color:var(--color-success)}.progress-bar.warning{background-color:var(--color-warning)}.progress-bar.danger{background-color:var(--color-secondary)}.spinner{animation:spin 1s linear infinite;border-top:3px solid var(--color-gray-200);border:3px solid var(--color-gray-200);border-radius:50%;border-top-color:var(--color-primary);height:40px;width:40px}.empty-state{color:var(--color-text-secondary);padding:var(--spacing-3xl) var(--spacing-lg);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-lg);opacity:.3}.empty-state-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.empty-state-text{color:var(--color-text-secondary);font-size:var(--font-size-sm)}@media (max-width:768px){.btn{padding:var(--spacing-sm) var(--spacing-md)}.btn,.table{font-size:var(--font-size-xs)}.table td,.table th{padding:var(--spacing-sm) var(--spacing-md)}.modal-content{max-width:100%}}.header{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-dark) 100%);box-shadow:var(--shadow-lg);color:var(--color-white);height:var(--header-height);justify-content:space-between;left:0;padding:0 var(--spacing-lg);position:fixed;right:0;top:0;z-index:100}.header,.header-left{align-items:center;display:flex}.header-left{gap:var(--spacing-lg)}.header-logo{align-items:center;display:flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-md);white-space:nowrap}.header-logo img{height:50px;object-fit:contain;transition:transform var(--transition-base);width:auto}.header-logo img:hover{transform:scale(1.05)}.header-logo h1{margin:0}.header-logo h1,.menu-toggle{color:var(--color-white);font-size:var(--font-size-lg)}.menu-toggle{background:none;border:none;border-radius:var(--border-radius);cursor:pointer;padding:var(--spacing-sm);transition:background-color var(--transition-fast)}.menu-toggle:hover{background-color:#ffffff1a}.header-right{gap:var(--spacing-lg)}.header-icon-btn,.header-right{align-items:center;display:flex}.header-icon-btn{background:none;border:none;border-radius:var(--border-radius);color:var(--color-white);cursor:pointer;font-size:var(--font-size-lg);justify-content:center;padding:var(--spacing-sm);position:relative;transition:background-color var(--transition-fast)}.header-icon-btn:hover{background-color:#ffffff1a}.notification-badge{background-color:var(--color-secondary);border:2px solid var(--color-white);border-radius:50%;color:var(--color-white);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:20px;justify-content:center;position:absolute;right:4px;top:4px;width:20px}.notification-badge,.user-menu{align-items:center;display:flex}.user-menu{border-radius:var(--border-radius);cursor:pointer;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);position:relative;transition:background-color var(--transition-fast)}.user-menu:hover{background-color:#ffffff1a}.user-menu span{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.user-dropdown{animation:slideDown .2s ease-out;background:#fff!important;border-radius:var(--border-radius);box-shadow:var(--shadow-lg);color:#1f2937!important;min-width:250px;padding:var(--spacing-md);position:absolute;right:0;top:calc(100% + 10px);z-index:1000}.user-dropdown *{color:inherit}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.user-info{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md)}.user-info strong{color:#1f2937!important;font-size:var(--font-size-base)}.user-info small{color:#6b7280!important;font-size:var(--font-size-xs)}.user-info .user-role{color:var(--color-primary);margin-top:4px}.logout-btn,.user-info .user-role{font-weight:var(--font-weight-medium)}.logout-btn{align-items:center;background:var(--color-danger);border:none;border-radius:var(--border-radius);color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-md);transition:background-color var(--transition-fast);width:100%}.logout-btn:hover{background:var(--color-danger-dark)}.sidebar{background-color:var(--color-surface);border-right:1px solid var(--color-border);box-shadow:var(--shadow-md);height:calc(100vh - var(--header-height));left:0;overflow-y:auto;position:fixed;top:var(--header-height);transition:transform var(--transition-base);width:var(--sidebar-width);z-index:90}.sidebar.open{transform:translateX(0)}.sidebar.closed{transform:translateX(-100%)}.sidebar-nav{padding:var(--spacing-lg) 0}.sidebar-link{align-items:center;border-left:3px solid #0000;color:var(--color-text-secondary);display:flex;font-weight:var(--font-weight-medium);gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;transition:all var(--transition-fast)}.sidebar-link:hover{background-color:var(--color-gray-50);color:var(--color-primary)}.sidebar-link.active{background-color:#2e479914;border-left-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-icon{align-items:center;display:flex;font-size:var(--font-size-lg);justify-content:center;min-width:24px}.sidebar-label{font-size:var(--font-size-sm)}.layout{flex-direction:column;min-height:100vh}.layout,.layout-container{background-color:#fff!important;display:flex}.layout-container{flex:1 1;padding-top:var(--header-height)}.main-content{background-color:#fff!important;flex:1 1;max-width:100%;min-height:calc(100vh - var(--header-height));overflow-x:hidden;padding:var(--spacing-lg);transition:margin-left var(--transition-base);width:100%}.main-content.sidebar-open{margin-left:var(--sidebar-width)}.main-content.sidebar-closed{margin-left:0}.page-header{align-items:center;display:flex;gap:var(--spacing-lg);justify-content:space-between;margin-bottom:var(--spacing-xl)}.page-header h1{color:var(--color-text-primary);font-size:var(--font-size-2xl);margin:0}.page-header-actions,.search-bar{align-items:center;display:flex;gap:var(--spacing-md)}.search-bar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-xs);padding:var(--spacing-md) var(--spacing-lg)}.search-bar input{background-color:initial;border:none;color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-sm);outline:none}.search-bar input::placeholder{color:var(--color-text-disabled)}.search-bar svg{color:var(--color-text-secondary);font-size:var(--font-size-lg)}@media (max-width:1024px){.sidebar{width:var(--sidebar-width-mobile)}.main-content.sidebar-open{margin-left:var(--sidebar-width-mobile)}}@media (max-width:768px){.header{padding:0 var(--spacing-md)}.header-logo h1{display:none}.sidebar{box-shadow:var(--shadow-lg);width:250px;z-index:999}.sidebar.closed{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar.open:after{background-color:#00000080;bottom:0;content:"";left:250px;position:fixed;right:0;top:var(--header-height);z-index:-1}.main-content{margin-left:0!important;padding:var(--spacing-md)}.page-header{align-items:flex-start;flex-direction:column;margin-bottom:var(--spacing-lg)}.page-header h1{font-size:var(--font-size-xl)}.page-header-actions{flex-wrap:wrap;width:100%}.btn-block{width:100%}}@media (max-width:640px){.sidebar{width:220px}.sidebar.open:after{left:220px}.header{padding:0 var(--spacing-sm)}.header-logo img{height:35px}.header-right{gap:var(--spacing-md)}.user-menu span{display:none}}.page-container{background-color:#fff!important;min-height:calc(100vh - var(--header-height));padding:var(--spacing-lg)}.dashboard-grid{grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:40px}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #0000000d;padding:28px}.dashboard-card:hover{box-shadow:0 8px 16px #0000001a}.card-header-section{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px}.card-title{color:#1f2937;font-size:16px;font-weight:800;margin:0}.card-link{color:#2e4799;font-size:13px;font-weight:600;text-decoration:none;transition:color .2s ease;white-space:nowrap}.card-link:hover{color:#1e3a8a;text-decoration:underline}.projects-list{gap:16px}.project-item,.projects-list{display:flex;flex-direction:column}.project-item{border-bottom:1px solid #e5e7eb;gap:12px;padding-bottom:20px}.project-item:last-child{border-bottom:none;padding-bottom:0}.project-info{flex:1 1}.project-name{color:#1f2937;font-size:14px;font-weight:700;margin:0 0 4px}.project-client{color:#6b7280;font-size:12px;margin:0}.project-progress-container{align-items:center;display:flex;gap:12px;min-width:120px}.progress-bar-container{background:#e5e7eb;border-radius:4px;height:6px;overflow:hidden;width:100%}.progress-bar{border-radius:4px;height:100%;transition:width .3s ease}.progress-text{color:#374151;font-size:12px;font-weight:700;min-width:35px}.project-status-badge{background:#fff;border:1.5px solid;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.3px;padding:6px 12px;text-transform:uppercase}.milestones-list{display:flex;flex-direction:column;gap:16px}.milestone-item{align-items:flex-start;background:#f9fafb;border-radius:10px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.milestone-item:hover{background:#f3f4f6}.milestone-date{align-items:center;color:#374151;display:flex;font-size:12px;font-weight:700;gap:8px;min-width:120px;white-space:nowrap}.milestone-date svg{font-size:14px}.milestone-content{flex:1 1}.milestone-project{color:#111827;font-size:13px;font-weight:700;margin:0 0 4px}.milestone-description{color:#6b7280;font-size:12px;margin:0}.milestone-status{align-items:center;display:flex;font-size:12px;font-weight:700;gap:6px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}.milestone-status svg{font-size:16px}.dashboard-footer-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(450px,1fr))}.financial-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.financial-item{background:linear-gradient(135deg,#f8fafc,#f0f4ff);border:1px solid #e0e7ff;border-radius:10px;padding:20px;text-align:center}.financial-label{color:#6b7280;display:block;font-size:12px;font-weight:600;letter-spacing:.4px;margin-bottom:8px;text-transform:uppercase}.financial-value{color:#111827;font-size:22px;font-weight:800;margin:0}.alerts-list{display:flex;flex-direction:column;gap:12px}.alert-item{align-items:flex-start;border-left:4px solid;border-radius:10px;display:flex;gap:14px;padding:14px}.alert-item svg{flex-shrink:0;font-size:18px;margin-top:2px}.alert-warning{background:#fefce8;border-left-color:#f59e0b;color:#b45309}.alert-info{background:#dbeafe;border-left-color:#3b82f6;color:#1e40af}.alert-success{background:#dcfce7;border-left-color:#10b981;color:#065f46}.alert-content{flex:1 1}.alert-title{font-size:13px;font-weight:700;margin:0 0 4px}.alert-message{font-size:12px;margin:0;opacity:.9}.page{animation:fadeIn .3s ease-in}.module-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:var(--spacing-lg) 0}.module-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);transition:all var(--transition-base)}.module-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.table-wrapper{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);overflow-x:auto}.page-toolbar{justify-content:space-between;margin-bottom:var(--spacing-lg)}.page-toolbar,.page-toolbar-left,.page-toolbar-right{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.stats-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-xl)}.stat-box{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);text-align:center}.stat-number{color:var(--color-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:var(--spacing-md) 0}.stat-label{color:var(--color-text-secondary);font-size:var(--font-size-sm);letter-spacing:.5px;text-transform:uppercase}.integrated-search{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.integrated-search input{flex:1 1;max-width:400px}.page-state-empty,.page-state-loading{align-items:center;display:flex;justify-content:center;min-height:400px}.page-state-empty{flex-direction:column;gap:var(--spacing-lg)}.page-state-error{background-color:var(--color-danger-light);border:1px solid var(--color-secondary);border-radius:var(--border-radius);color:var(--color-secondary);padding:var(--spacing-lg)}.row-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.standard-modal{min-width:500px}@media (max-width:1024px){.module-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.page-container{padding:var(--spacing-md)}.page-toolbar{align-items:stretch;flex-direction:column}.page-toolbar-left,.page-toolbar-right{justify-content:center;width:100%}.module-grid,.stats-grid{grid-template-columns:1fr}.integrated-search input{max-width:100%}.standard-modal{max-width:100%;min-width:auto}}body{font-family:var(--font-family-base)}#root,body,html{background-color:#fff!important}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}}.Toastify__toast{--y:0;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;touch-action:none;z-index:0}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease;z-index:1}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.login-container{background:linear-gradient(135deg,var(--uka-bg-soft) 0,var(--uka-bg) 100%);overflow-y:auto;padding:24px}.login-card{animation:slideUp .35s ease-out;background:var(--uka-white);border-radius:16px;border-top:5px solid var(--uka-yellow);box-shadow:0 8px 32px #0000001f;margin:auto;max-width:430px;padding:28px 32px 26px}.login-card-verificando{align-items:center;display:flex;flex-direction:column;padding:48px 32px;text-align:center}.login-card-verificando .logo-container{margin-bottom:24px}.login-card-verificando .brand-logo{height:80px;max-width:100%;width:auto}.login-spinner{animation:spin .8s linear infinite;border:3px solid var(--uka-bg-soft);border-radius:50%;border-top-color:var(--uka-blue);height:32px;margin-bottom:16px;width:32px}.login-verificando-texto{color:var(--uka-gray);font-size:14px;margin:0}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:14px}.login-header .logo-container{margin-bottom:10px}.login-header .logo-container .brand-logo,.login-header .logo-container img{display:block;height:80px;margin:0 auto;max-width:100%;object-fit:contain;width:auto}.login-header .system-title{color:var(--uka-blue);font-size:26px;font-weight:800;letter-spacing:-.5px;margin:0 0 4px}.login-header .system-tagline{margin-bottom:4px}.login-header .tagline-text{color:var(--uka-gray);font-size:14px;font-weight:500;margin:0}.login-form{gap:14px}.form-group,.login-form{display:flex;flex-direction:column}.form-group input,.form-group label{color:var(--uka-text);font-size:14px}.form-group input{background:var(--uka-white);border:1.5px solid var(--uka-border);border-radius:8px;transition:border .15s,box-shadow .15s}.form-group input::placeholder{color:#aaa}.form-group input:focus{border-color:var(--uka-blue);box-shadow:0 0 0 3px #0074c91f;outline:none}.form-group input:disabled{cursor:not-allowed;opacity:.6}.btn-login{background:var(--uka-yellow);border-radius:8px;color:var(--uka-blue);font-size:14px;letter-spacing:.06em;margin-top:8px;padding:13px;text-transform:uppercase;transition:background .15s,transform .1s}.btn-login:hover:not(:disabled){background:var(--uka-yellow-hover)}.btn-login:active:not(:disabled){transform:scale(.98)}.btn-login:disabled{background:#ddd;color:#999}.login-divider{align-items:center;color:#aaa;display:flex;font-size:12px;letter-spacing:.06em;margin:14px 0;text-transform:uppercase}.login-divider:after,.login-divider:before{background:#e5e5e5;content:"";flex:1 1;height:1px}.login-divider span{padding:0 12px}.btn-login-microsoft{align-items:center;background:#fff;border:1px solid #8c8c8c;border-radius:4px;color:#5e5e5e;cursor:pointer;display:flex;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;font-size:15px;font-weight:600;gap:12px;justify-content:center;letter-spacing:normal;margin-top:8px;padding:11px 12px;text-transform:none;transition:background .15s,border-color .15s;width:100%}.btn-login-microsoft:hover:not(:disabled){background:#f5f5f5;border-color:#5e5e5e}.btn-login-microsoft:active:not(:disabled){background:#ebebeb}.btn-login-microsoft:disabled{cursor:not-allowed;opacity:.6}.btn-login-microsoft-logo{flex-shrink:0}.hint{color:#aaa;font-size:12px;line-height:1.5;margin-top:16px;text-align:center}.badge-primer{background:#fff8e1;border:1px solid #ffcc02;border-radius:6px;color:#e65100;font-size:13px;margin-bottom:18px;padding:10px 14px}.link-recuperar{color:#888;display:block;font-size:12px;margin-top:14px;text-align:center;text-decoration:none;transition:color .15s}.link-recuperar:hover{color:var(--uka-blue)}@media (max-width:600px){.login-card{padding:22px 20px 20px}.login-header .logo-container img{height:64px}.form-group input{font-size:16px}}.login-container{align-items:center;background:#f4f7fb;display:flex;justify-content:center;min-height:100vh;padding:1.5rem}.login-card{background:#fff;border-radius:24px;box-shadow:0 20px 70px #16234114;max-width:420px;padding:34px 32px;width:100%}.login-header{margin-bottom:24px;text-align:center}.system-title{color:#102a43;font-size:1.75rem;font-weight:700;margin:0}.tagline-text{color:#53687f;font-size:.95rem;margin:10px auto 0}.login-form{grid-gap:16px;display:grid;gap:16px}.form-group{grid-gap:8px;display:grid;gap:8px}.form-group label{color:#334e68;font-weight:600}.form-group input{background:#f9fbfd;border:1px solid #d9e2ec;border-radius:14px;color:#102a43;font-size:1rem;padding:12px 14px;width:100%}.btn-login{background:#0f4c81;border:none;border-radius:14px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:14px 18px;width:100%}.btn-login:disabled{cursor:not-allowed;opacity:.65}.cp-card{max-width:480px}.cp-fortaleza{align-items:center;display:flex;gap:10px;margin-top:8px}.cp-fortaleza-barras{display:flex;flex:1 1;gap:4px}.cp-fortaleza-barra{border-radius:99px;flex:1 1;height:5px;transition:background .25s}.cp-fortaleza-label{font-size:12px;font-weight:700;min-width:72px;text-align:right;transition:color .25s}.cp-reglas{grid-gap:6px;background:#f8f9fa;border-radius:10px;display:grid;gap:6px;list-style:none;margin:6px 0 0;padding:10px 12px}.cp-regla{align-items:center;color:#9ca3af;display:flex;font-size:13px;gap:8px;transition:color .2s}.cp-regla.ok{color:#28a745}.cp-regla-icon{flex-shrink:0;font-size:11px}.app-topbar{background:var(--uka-white);border-bottom:3px solid var(--uka-yellow);box-shadow:0 2px 8px #0000000f;justify-content:space-between;min-height:64px;padding:0 20px;position:sticky;top:0;width:100%;z-index:var(--z-dropdown)}.app-topbar,.app-topbar-left{align-items:center;display:flex}.app-topbar-left{gap:14px;min-width:0}.hamburger-btn{align-items:center;background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);color:var(--uka-blue-dark);cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:38px;justify-content:center;transition:background .2s;width:38px}.hamburger-btn:hover{background:var(--uka-bg-soft)}.app-topbar-logo{flex-shrink:0;height:48px;max-width:220px;object-fit:contain;width:auto}.app-topbar-brand{color:var(--uka-blue-dark);font-size:17px;font-weight:700;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-topbar-right{flex-shrink:0;position:relative}.user-menu-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:8px;padding:6px 10px}.user-menu-btn:hover{background:var(--uka-bg-soft)}.user-menu-avatar{align-items:center;background:var(--uka-blue);border-radius:50%;color:var(--uka-white);display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.user-menu-name{color:var(--uka-text);font-size:14px;font-weight:600;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-chevron{color:var(--uka-gray);font-size:11px}.user-menu-overlay{background:#0000;inset:0;position:fixed;z-index:1499}.user-menu-dropdown{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);width:240px;z-index:1500}.user-menu-dropdown-header{border-bottom:1px solid var(--uka-border);display:flex;flex-direction:column;padding:14px 16px}.user-menu-dropdown-header strong{color:var(--uka-text);font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown-header span{color:var(--uka-gray);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown-item{align-items:center;background:none;border:none;color:var(--uka-danger);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:10px;padding:12px 16px;text-align:left;width:100%}.user-menu-dropdown-item:hover{background:var(--uka-bg-soft)}.page-title-row{display:flex;justify-content:center;padding:24px 20px 0;width:100%}.page-title-row-inner{border-left:4px solid var(--uka-blue);max-width:600px;padding-left:16px;text-align:left;width:100%}.page-title-heading{align-items:center;color:var(--uka-blue-dark);display:flex;font-size:22px;font-weight:700;gap:10px;margin:0 0 4px}.page-title-subtitle{color:var(--uka-gray);font-size:14px;margin:0}.drawer-overlay{background:#00000080;inset:0;position:fixed;z-index:1500}.drawer{background:var(--uka-white);box-shadow:4px 0 24px #0003;display:flex;flex-direction:column;height:100%;left:0;max-width:85vw;overflow:hidden;position:fixed;top:0;transform:translateX(-100%);transition:transform .25s ease,visibility 0s linear .25s;visibility:hidden;width:300px;z-index:1501}.drawer-open{transform:translateX(0);transition:transform .25s ease,visibility 0s;visibility:visible}.drawer-header{align-items:center;background:var(--uka-bg-soft);border-bottom:1px solid var(--uka-border);display:flex;gap:12px;justify-content:space-between;padding:16px 16px 16px 20px}.drawer-logo{height:56px;max-width:calc(100% - 46px);min-width:0;object-fit:contain;object-position:left center;width:auto}.drawer-close{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--uka-gray);cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:34px;justify-content:center;width:34px}.drawer-close:hover{background:#0000000f}.drawer-user{align-items:center;border-bottom:1px solid var(--uka-border);display:flex;gap:12px;padding:16px 20px}.drawer-user-avatar{align-items:center;background:var(--uka-bg-soft);border-radius:50%;color:var(--uka-blue);display:flex;flex-shrink:0;font-size:18px;height:42px;justify-content:center;width:42px}.drawer-user-info{display:flex;flex-direction:column;line-height:1.3;min-width:0}.drawer-user-info strong{color:var(--uka-text);font-size:14px}.drawer-user-info span,.drawer-user-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-user-info span{color:var(--uka-gray);font-size:12px}.drawer-nav{display:flex;flex:1 1;flex-direction:column;padding:8px 0}.drawer-item{align-items:center;background:none;border:none;color:var(--uka-text);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:14px;padding:14px 22px;text-align:left;transition:background .15s;width:100%}.drawer-item-active,.drawer-item:hover{background:var(--uka-bg-soft)}.drawer-item-active{border-right:4px solid var(--uka-blue);color:var(--uka-blue-dark)}.drawer-icon{color:var(--uka-blue);flex-shrink:0;font-size:19px}.drawer-item-active .drawer-icon{color:var(--uka-blue-dark)}.drawer-footer{border-top:1px solid var(--uka-border);padding:8px 0}.drawer-logout .drawer-icon{color:var(--uka-danger)}@media (max-width:560px){.user-menu-chevron,.user-menu-name{display:none}}@media (max-width:480px){.app-topbar{height:56px;padding:0 12px}.app-topbar-left{gap:10px}.hamburger-btn{font-size:14px;height:34px;width:34px}.app-topbar-logo{height:40px;max-width:170px}.app-topbar-brand{font-size:15px}.page-title-row{padding:18px 14px 0}.page-title-heading{font-size:19px}}@media (max-width:380px){.app-topbar-brand{display:none}}.dashboard-container{color:var(--uka-text);margin:0 auto;max-width:1100px;padding:24px 16px 40px;width:100%}.dashboard-loading{color:var(--uka-gray);padding:30px;text-align:center}.dashboard-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.dashboard-card{align-items:center;background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);cursor:pointer;display:flex;gap:14px;padding:18px 20px;transition:box-shadow .15s,transform .15s}.dashboard-card:hover{box-shadow:0 4px 14px #00000014;transform:translateY(-1px)}.dashboard-card-icon{align-items:center;border-radius:12px;display:flex;font-size:20px;height:46px;justify-content:center;min-width:46px;width:46px}.dashboard-icon-blue{background:#e6f0ff;color:#2f6fd6}.dashboard-icon-green{background:var(--color-success-light);color:var(--color-success)}.dashboard-icon-orange{background:#fff1e0;color:#d97b1f}.dashboard-icon-purple{background:#f1e6ff;color:#7a3fd6}.dashboard-card-valor{color:var(--uka-blue-dark);font-size:22px;font-weight:800;line-height:1.2}.dashboard-card-label{color:var(--uka-gray);font-size:var(--font-size-sm);margin-top:2px}.dashboard-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.dashboard-panel{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);padding:18px 20px}.dashboard-panel-titulo{align-items:center;color:var(--uka-blue-dark);display:flex;font-size:var(--font-size-sm);font-weight:700;gap:8px;letter-spacing:.02em;margin-bottom:12px;text-transform:uppercase}.dashboard-lista{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.dashboard-lista li{border-bottom:1px solid var(--uka-border);display:flex;font-size:var(--font-size-sm);gap:12px;justify-content:space-between;padding:8px 0}.dashboard-lista li:last-child{border-bottom:none}.dashboard-barras{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.dashboard-barra-label{display:flex;font-size:var(--font-size-sm);justify-content:space-between;margin-bottom:4px}.dashboard-barra-track{background:var(--uka-bg-soft);border-radius:var(--border-radius-full);height:8px;overflow:hidden}.dashboard-barra-fill{background:#2f6fd6;border-radius:var(--border-radius-full);height:100%}.checador-page{align-items:center;background:var(--uka-bg);display:flex;flex-direction:column;min-height:100vh}.brand-logo{height:120px;object-fit:contain;width:auto}.brand-logo-small{height:92px}.checador-container{align-items:center;color:var(--uka-text);display:flex;flex-direction:column;padding:24px 16px 40px;width:100%}.reloj-card{background:linear-gradient(135deg,var(--uka-blue) 0,var(--uka-blue-dark) 100%);border-radius:18px;box-shadow:0 10px 30px #00376e40;margin-bottom:20px;max-width:500px;padding:28px 24px 22px;text-align:center;width:100%}.checador-reloj{font-feature-settings:"tnum";color:var(--uka-white);font-size:56px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:1.5px;margin-bottom:6px;text-shadow:0 2px 10px #00000040}.checador-fecha{color:#ffffffe0;font-size:15px;text-transform:capitalize}.checador-empleado,.checador-estado,.checador-no-empleado{background:var(--uka-white);border-radius:16px;box-shadow:0 8px 24px #00000014;max-width:500px;width:100%}.checador-empleado{margin-bottom:20px;padding:28px 20px 22px;text-align:center}.checador-empleado .emp-foto{align-items:center;background:#f3f4f6;border:4px solid var(--uka-white);border-radius:50%;box-shadow:0 0 0 3px var(--uka-blue),0 10px 24px #00376e38;display:flex;height:132px;justify-content:center;margin:0 auto 16px;overflow:hidden;width:132px}.checador-empleado .emp-foto img{height:100%;object-fit:cover;width:100%}.checador-empleado .emp-nombre{color:var(--uka-blue);font-size:22px;font-weight:700;margin:0 0 4px}.checador-empleado .emp-puesto{color:var(--uka-gray);font-size:14px;margin:0}.checador-empleado .emp-numero{color:#7a8794;font-size:13px;margin:4px 0 0}.checador-accion{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;max-width:500px;width:100%}.checador-accion button{align-items:center;border-radius:16px;cursor:pointer;display:flex;font-weight:700;gap:12px;justify-content:center;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.checador-accion .accion-principal{background:linear-gradient(135deg,var(--uka-blue) 0,var(--uka-blue-dark) 100%);border:none;box-shadow:0 12px 28px #00376e47;color:var(--uka-white);font-size:19px;min-height:72px}.checador-accion .accion-secundaria{background:var(--uka-white);border:2px solid var(--uka-blue);color:var(--uka-blue);font-size:16px;min-height:56px}.checador-accion button:hover:not(:disabled){transform:translateY(-2px)}.checador-accion button:disabled{cursor:not-allowed;opacity:.6}.checador-accion .accion-icono{display:inline-flex;font-size:22px}.accion-completa{align-items:center;background:#e8f5e9;border-radius:16px;color:var(--uka-success);display:flex;font-size:16px;font-weight:700;gap:10px;justify-content:center;min-height:64px}.checador-estado{margin-bottom:20px;padding:18px 20px 14px}.estado-encabezado{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:16px}.estado-encabezado h3{letter-spacing:1px;margin:0;text-transform:uppercase}.estado-encabezado h3,.estado-encabezado span{color:var(--uka-gray);font-size:13px}.estado-encabezado strong{font-feature-settings:"tnum";color:var(--uka-blue);font-size:15px;font-variant-numeric:tabular-nums}.estado-linea{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:0}.estado-linea li{align-items:center;display:flex;flex-direction:column;gap:6px;position:relative;text-align:center}.estado-linea li+li:before{background:var(--uka-border);content:"";height:2px;position:absolute;right:50%;top:10px;width:100%;z-index:0}.estado-linea li.hecho+li.hecho:before{background:var(--uka-blue)}.estado-punto{align-items:center;background:var(--uka-white);border:2px solid var(--uka-border);border-radius:50%;display:flex;height:22px;justify-content:center;position:relative;width:22px;z-index:1}.estado-linea li.hecho .estado-punto{background:var(--uka-white);border:none;color:var(--uka-blue);font-size:22px}.estado-nombre{color:var(--uka-gray);font-size:12px}.estado-hora{font-feature-settings:"tnum";color:#b0bac5;font-size:14px;font-variant-numeric:tabular-nums;font-weight:700}.estado-linea li.hecho .estado-nombre{color:var(--uka-text)}.estado-linea li.hecho .estado-hora{color:var(--uka-blue)}.checador-historial-link{background:none;border:none;color:var(--uka-blue);cursor:pointer;display:block;font-size:14px;font-weight:600;margin:14px auto 0;padding:6px 10px}.checador-historial-link:hover{text-decoration:underline}.camera-overlay{align-items:center;background:#000000f2;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:9999}.camera-preview{border:4px solid var(--uka-blue);border-radius:50%;height:280px;margin-bottom:20px;overflow:hidden;width:280px}.camera-preview video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.camera-instructions{margin-bottom:20px}.camera-estado-rostro,.camera-instructions{color:#fff;font-size:16px;text-align:center}.camera-estado-rostro{font-weight:600;margin:16px 0 0;min-height:22px}.checador-aviso-texto{color:var(--uka-text);font-size:15px;line-height:1.5;margin:0 0 16px}.camera-ubicacion{color:#ffffffb3;font-size:14px;margin:14px 0 0}.camera-ubicacion.lista{color:#7ee2a0}.camera-btn-capture{background:#fff;border:4px solid var(--uka-blue);border-radius:50%;cursor:pointer;height:72px;transition:transform .2s;width:72px}.camera-btn-capture:hover{transform:scale(1.1)}.camera-btn-cancel{background:#0000;border:1px solid #ffffff80;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-top:16px;padding:10px 24px}.processing-overlay{align-items:center;background:#000c;color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:9998}.processing-overlay .spinner-large{animation:spin 1s linear infinite;border:4px solid #fff3;border-radius:50%;border-top-color:#fff;height:48px;margin-bottom:16px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.checador-success{align-items:center;animation:fadeIn .3s ease;background:#28a745e6;color:#fff;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:9998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.checador-success .success-icon{font-size:72px;margin-bottom:16px}.checador-success h2{font-size:24px;margin:0 0 8px}.justificacion-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:10000}.justificacion-modal{background:var(--uka-white);border-radius:16px;box-shadow:0 12px 32px #00000040;color:var(--uka-text);display:flex;flex-direction:column;gap:12px;max-width:440px;padding:22px 20px;width:100%}.justificacion-aviso{background:#fff4e5;border-radius:10px;color:#8a5300;font-size:14px;line-height:1.4;margin:0;padding:12px 14px}.justificacion-modal label{color:var(--uka-blue);font-size:14px;font-weight:700}.justificacion-modal textarea{border:1px solid var(--uka-border);border-radius:10px;box-sizing:border-box;font:inherit;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.justificacion-acciones{display:flex;gap:10px;justify-content:flex-end}.justificacion-acciones button{border-radius:10px;cursor:pointer;font-size:14px;font-weight:700;padding:10px 16px}.justificacion-acciones button:disabled{cursor:not-allowed;opacity:.5}.justificacion-btn-omitir{background:#0000;border:1px solid var(--uka-border);color:var(--uka-gray)}.justificacion-btn-enviar{background:var(--uka-blue);border:1px solid var(--uka-blue);color:var(--uka-white)}.checador-no-empleado{padding:32px;text-align:center}.checador-no-empleado p{color:var(--uka-gray);font-size:14px;margin:12px 0 0}@media (max-width:480px){.checador-container{padding:16px}.reloj-card{padding:22px 16px 18px}.checador-reloj{font-size:42px}.checador-empleado .emp-foto{height:116px;width:116px}.checador-empleado .emp-nombre{font-size:20px}.checador-accion .accion-principal{font-size:17px;min-height:64px}.checador-estado{padding:16px 12px 12px}.estado-hora{font-size:13px}}.historial-container{margin:0 auto;max-width:1100px;padding:20px 16px 40px;width:100%}.historial-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:20px}.historial-date{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);color:var(--uka-text);font-size:var(--font-size-sm);padding:8px 12px}.historial-buscar{align-items:center;background:var(--uka-blue);border:none;border-radius:var(--border-radius);color:var(--uka-white);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:6px;padding:8px 16px}.historial-buscar:hover{background:var(--uka-blue-dark)}.historial-buscar:disabled{cursor:not-allowed;opacity:.6}.historial-resumen-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:16px}.historial-resumen-card{align-items:center;background:var(--uka-white);border:1px solid #e6ebf1;border-radius:14px;box-shadow:0 1px 2px #1026460a;display:flex;gap:14px;padding:16px 18px}.historial-resumen-card>div{display:flex;flex-direction:column;gap:2px}.historial-resumen-icono{align-items:center;background:#eaf2fb;border-radius:12px;color:var(--uka-blue);display:flex;flex-shrink:0;font-size:17px;height:40px;justify-content:center;width:40px}.historial-resumen-valor{font-feature-settings:"tnum";color:var(--uka-blue-dark);font-size:22px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1}.historial-resumen-etiqueta{color:var(--uka-gray);font-size:12px}.historial-resumen-card-ok .historial-resumen-icono{background:#e8f5ec;color:#2e7d4f}.historial-resumen-card-alerta .historial-resumen-icono{background:#fff4e5;color:#c47d0e}.historial-resumen-card-alerta .historial-resumen-valor{color:#9a5b00}.historial-table-wrapper{background:var(--uka-white);border:1px solid #e6ebf1;border-radius:14px;box-shadow:0 1px 2px #1026460a;overflow-x:auto}.historial-table{border-collapse:initial;border-spacing:0;font-size:14px;width:100%}.historial-table td,.historial-table th{border-bottom:1px solid #eef1f5;padding:14px 16px;text-align:left;vertical-align:middle;white-space:nowrap}.historial-table th{background:#f8fafc;border-bottom:1px solid #e6ebf1;color:#6b7a8c;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.historial-table tbody tr{transition:background .12s ease}.historial-table tbody tr:hover{background:#f8fbff}.historial-table tbody tr:last-child td{border-bottom:none}.historial-table tbody td:first-child{border-left:3px solid #0000}.historial-table tbody tr.historial-fila-alerta td:first-child{border-left-color:#f0a73a}.historial-fecha{align-items:center;background:var(--uka-white);border:1px solid #e6ebf1;border-radius:10px;display:flex;flex-direction:column;line-height:1.1;overflow:hidden;width:48px}.historial-fecha-dia{background:var(--uka-blue);color:var(--uka-white);font-size:10px;font-weight:700;letter-spacing:.06em;padding:2px 0;text-align:center;text-transform:uppercase;width:100%}.historial-fecha-num{color:var(--uka-blue-dark);font-size:18px;font-weight:700;padding-top:4px}.historial-fecha-mes{color:var(--uka-gray);font-size:11px;padding-bottom:4px}.historial-hora-celda{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.historial-hora{font-feature-settings:"tnum";background:#f1f5fa;border:1px solid #0000;border-radius:8px;color:var(--uka-text);display:inline-block;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;padding:5px 10px}.historial-hora-vacia{background:#0000;border:1px dashed #d5dce4;color:#a3adb8;font-size:12px;font-weight:500}.historial-hora-fuera{background:#fff8ec;border-color:#f5d29a}.historial-hora-editada{background:#fdeeee;border-color:#f3c2c2;color:var(--uka-danger)}.historial-hora-nota{align-items:center;color:var(--uka-gray);display:inline-flex;font-size:11px;gap:4px}.historial-hora-nota-fuera{color:#9a5b00;font-weight:600}.historial-hora-nota svg{font-size:10px}.historial-col-total,.historial-table th.historial-col-total{text-align:right}.historial-total{font-feature-settings:"tnum";background:#eaf2fb;border-radius:999px;color:var(--uka-blue-dark);display:inline-block;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;padding:5px 10px}.historial-total-incompleto{background:#f1f3f6;color:#8a96a3;font-size:12px;font-weight:600}.historial-table td.historial-justificacion{color:var(--uka-gray);font-size:13px;max-width:300px;min-width:200px;white-space:normal}.historial-justificacion-linea{-webkit-line-clamp:2;-webkit-box-orient:vertical;border-left:3px solid #f0a73a;display:-webkit-box;overflow:hidden;padding:2px 0 2px 10px}.historial-justificacion-linea+.historial-justificacion-linea{margin-top:6px}.historial-justificacion-tipo{color:var(--uka-text);font-weight:600}.historial-sin-justificar{font-style:italic;opacity:.8}.historial-sin-observaciones{align-items:center;color:#2e7d4f;display:inline-flex;font-size:12px;gap:6px}.historial-sin-observaciones svg{font-size:12px}.historial-msg{color:var(--uka-gray);font-size:var(--font-size-sm);padding:32px 0;text-align:center}.historial-incidencias{background:var(--uka-white);border-left:3px solid var(--uka-warning);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin-top:20px;padding:14px 16px}.historial-incidencias-titulo{align-items:center;color:var(--uka-warning);display:flex;font-size:var(--font-size-sm);font-weight:600;gap:8px;margin:0 0 12px}.historial-incidencias-lista{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.historial-incidencias-lista li{align-items:center;color:var(--uka-text);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.historial-inc-fecha{color:var(--uka-blue-dark);font-weight:600}.historial-inc-tipo{background:var(--uka-bg-soft);border-radius:var(--border-radius-full);color:var(--uka-gray);font-size:12px;padding:2px 8px}.historial-inc-hora{color:var(--uka-danger);font-weight:700}.historial-inc-autor{color:var(--uka-gray);font-size:12px;font-style:italic}.historial-inc-texto{color:var(--uka-gray);font-size:12px;padding-left:2px;width:100%}@media (max-width:480px){.historial-container{padding:16px 12px 32px}.historial-date{width:100%}.historial-buscar{justify-content:center;width:100%}.historial-resumen-grid{grid-template-columns:1fr}}.empleado-combobox{max-width:300px;min-width:240px;position:relative}.empleado-combobox-input{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);box-sizing:border-box;color:var(--uka-text);font-size:var(--font-size-sm);outline:none;padding:8px 14px;transition:border-color .15s;width:100%}.empleado-combobox-input:focus{border-color:var(--uka-blue)}.empleado-combobox-lista{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);left:0;list-style:none;margin:0;max-height:260px;overflow-y:auto;padding:4px 0;position:absolute;right:0;top:calc(100% + 4px);z-index:var(--z-dropdown)}.empleado-combobox-opcion{align-items:center;color:var(--uka-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);gap:8px;padding:9px 14px}.empleado-combobox-opcion:hover{background:var(--uka-bg-soft)}.empleado-combobox-opcion.seleccionado{background:var(--uka-bg-soft);color:var(--uka-blue-dark);font-weight:600}.empleado-combobox-num{color:var(--uka-blue);font-size:12px;font-weight:700;min-width:48px}.asistencias-fecha{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);color:var(--uka-text);font-size:var(--font-size-sm);padding:8px 12px}.admin-toolbar .asistencias-btn-pdf{background:var(--uka-danger)}.admin-toolbar .asistencias-btn-pdf:hover{background:#a31f1f}.admin-toolbar .asistencias-btn-excel{background:#1d6f42}.admin-toolbar .asistencias-btn-excel:hover{background:#155233}.asistencias-celda{align-items:center;display:flex;gap:8px}.asistencias-celda-vacia{align-items:center;color:var(--uka-gray);display:inline-flex;gap:6px}.asistencias-celda.incidencia{background:#e74c3c14;border-radius:var(--border-radius);flex-wrap:wrap;opacity:.92;padding:2px 6px}.asistencias-hora{color:var(--uka-text);font-weight:600}.asistencias-hora.asistencias-hora-incidencia{color:var(--uka-danger);font-weight:700}.asistencias-comentario-icon{color:var(--uka-blue);cursor:help;font-size:10px;margin-left:5px;vertical-align:middle}.asistencias-celda-acciones{align-items:center;display:flex;gap:4px}.asistencias-celda.incidencia .asistencias-icon-btn{color:var(--uka-danger)}.asistencias-icon-btn{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--uka-blue);cursor:pointer;display:flex;font-size:13px;height:26px;justify-content:center;width:26px}.asistencias-icon-btn:hover:not(:disabled){background:var(--uka-bg-soft)}.asistencias-icon-btn:disabled{color:var(--color-gray-300);cursor:not-allowed}.asistencias-leyenda{color:#8a96a3;display:flex;flex-wrap:wrap;font-size:11.5px;gap:4px 18px;list-style:none;margin:0 0 8px;padding:0 2px}.asistencias-leyenda li{align-items:center;display:inline-flex;gap:5px}.asistencias-leyenda svg{font-size:11px}.leyenda-gps{color:var(--uka-blue)}.leyenda-kiosco{color:#6b7a8c}.leyenda-sin-ubicacion{color:var(--color-gray-300)}.leyenda-hora-corregida{font-feature-settings:"tnum";color:var(--uka-danger);font-variant-numeric:tabular-nums;font-weight:700}.asistencias-icon-info{color:#6b7a8c;cursor:help}.asistencias-icon-sin-ubicacion{color:var(--color-gray-300);cursor:help}.asistencias-foto-modal{max-width:420px;text-align:center}.asistencias-foto-modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.asistencias-foto-modal-header h3{margin:0}.asistencias-foto-modal-close{align-items:center;background:none;border:none;border-radius:var(--border-radius);color:var(--uka-gray);cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;width:32px}.asistencias-foto-modal-close:hover{background:var(--uka-bg)}.asistencias-foto-imagen{background:var(--color-gray-100);border-radius:var(--border-radius);max-height:60vh;object-fit:contain;width:100%}.asistencias-edit-modal{max-width:520px}.asistencias-edit-meta{background:var(--uka-bg-soft);border-radius:var(--border-radius);margin-bottom:14px;padding:12px 14px}.asistencias-edit-meta strong{color:var(--uka-blue-dark);display:block;margin-bottom:4px}.asistencias-edit-field,.asistencias-edit-meta span{color:var(--uka-gray);font-size:var(--font-size-xs)}.asistencias-edit-field{display:flex;flex-direction:column;font-weight:700;gap:6px;margin-bottom:12px}.asistencias-edit-field input,.asistencias-edit-field select,.asistencias-edit-field textarea{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);font:inherit;padding:10px 12px}.asistencias-edit-footer{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:8px}.asistencias-edit-footer span{color:var(--uka-gray);font-size:var(--font-size-xs)}.asistencias-edit-footer div{display:flex;gap:10px}.admin-modal-cancel{background:none;border:1px solid var(--uka-border);border-radius:var(--border-radius);cursor:pointer;padding:10px 16px}.admin-container{align-items:center;background:var(--uka-bg);color:var(--uka-text);display:flex;flex-direction:column;padding:24px 16px 40px;width:100%}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;max-width:1100px;min-width:0;width:100%}.admin-tab{align-items:center;background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);color:var(--uka-gray);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:8px;padding:10px 18px;transition:background .15s,color .15s}.admin-tab:hover{background:var(--uka-bg-soft)}.admin-tab-active{background:var(--uka-blue);border-color:var(--uka-blue);color:var(--uka-white)}.admin-tab-active:hover{background:var(--uka-blue-dark)}.admin-toolbar{flex-wrap:wrap;gap:12px;margin:0 auto 16px;max-width:1100px;min-width:0;width:100%}.admin-search,.admin-toolbar{align-items:center;display:flex}.admin-search{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);flex:1 1;gap:8px;min-width:220px;padding:8px 14px}.admin-search input{border:none;flex:1 1;font-size:var(--font-size-sm);outline:none}.admin-toolbar select{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);font-size:var(--font-size-sm);padding:8px 12px}.admin-btn-primary{align-items:center;background:var(--uka-blue);border:none;border-radius:var(--border-radius);color:var(--uka-white);cursor:pointer;display:flex;font-weight:600;gap:6px;padding:10px 16px}.admin-btn-primary:hover{background:var(--uka-blue-dark)}.admin-btn-primary:disabled{cursor:not-allowed;opacity:.6}.admin-table-wrapper{-webkit-overflow-scrolling:touch;background:var(--uka-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);margin:0 auto;max-width:1100px;min-width:0;overflow-x:auto;width:100%}.admin-table{border-collapse:collapse;font-size:var(--font-size-sm);width:100%}.admin-table td,.admin-table th{border-bottom:1px solid var(--uka-border);padding:12px 14px;text-align:left;white-space:nowrap}.admin-table th{background:var(--uka-bg-soft);color:var(--uka-blue-dark);font-weight:700;text-align:center}.admin-empty{color:var(--uka-gray);padding:30px;text-align:center}.admin-badge{align-items:center;border-radius:var(--border-radius-full);display:inline-flex;font-size:var(--font-size-xs);font-weight:700;gap:5px;padding:4px 10px}.badge-activo{background:var(--color-success-light);color:var(--color-success)}.badge-baja{background:var(--color-danger-light);color:var(--color-danger)}.badge-pendiente{background:#fff4e5;color:#9a5b00}.badge-super-admin{background:#eaf2fb;color:var(--uka-blue-dark)}.colaboradores-cuenta-protegida{align-items:center;color:#a3adb8;display:inline-flex;height:34px;justify-content:center;width:34px}.kioscos-tabla td{text-align:center;vertical-align:middle}.kioscos-acciones{justify-content:center}.kioscos-rostros-resumen{color:var(--uka-gray);display:flex;flex-wrap:wrap;font-size:13px;gap:8px 20px;margin:6px 0 4px}.kioscos-rostros-resumen strong{color:var(--uka-blue-dark);font-size:15px}.kioscos-revision-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.kioscos-revision-card{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:10px;text-align:center}.kioscos-revision-card img{aspect-ratio:1;background:#f1f5fa;border-radius:8px;object-fit:cover;width:100%}.kioscos-revision-acciones{display:flex;gap:6px;margin-top:6px}.kioscos-revision-acciones button{flex:1 1;font-size:12px;padding:6px 4px}.kioscos-btn-rechazar{background:var(--uka-white);border:1px solid #f3c2c2;border-radius:var(--border-radius);color:var(--uka-danger);cursor:pointer;font-weight:600}.kioscos-codigo-modal{text-align:center}.kioscos-codigo{font-feature-settings:"tnum";background:#eaf2fb;border-radius:14px;color:var(--uka-blue-dark);font-size:44px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:.2em;margin:12px 0;padding:12px}.kioscos-pasos{color:var(--uka-text);font-size:14px;line-height:1.6;padding-left:20px;text-align:left}.asistencias-verificacion{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px}.asistencias-verificacion-coincide{background:#e8f5ec;color:#2e7d4f}.asistencias-verificacion-dudoso{background:#fff4e5;color:#9a5b00}.asistencias-verificacion-no_coincide{background:#fdeeee;color:var(--uka-danger)}.asistencias-verificacion-otro{background:#f1f3f6;color:#6b7a8c}.asistencias-fotos-comparar{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.asistencias-fotos-comparar figure{color:var(--uka-gray);display:flex;flex-direction:column;font-size:12px;gap:6px;margin:0;text-align:center}.asistencias-fotos-comparar img{aspect-ratio:1;background:#f1f5fa;border-radius:12px;object-fit:cover;width:100%}.admin-actions{display:flex;gap:8px}.admin-actions button{align-items:center;background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);color:var(--uka-blue);cursor:pointer;display:flex;height:34px;justify-content:center;width:34px}.admin-actions button:hover{background:var(--uka-bg-soft)}.admin-loading{color:var(--uka-gray);padding:40px;text-align:center}.admin-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:clamp(8px,3vw,16px);position:fixed;z-index:var(--z-modal)}.admin-modal{background:var(--uka-bg-soft);border:1px dashed var(--uka-border);border-radius:var(--border-radius-lg);max-height:90vh;max-width:520px;overflow-y:auto;padding:clamp(16px,4vw,24px);width:100%}@media (max-width:480px){.admin-form-row{flex-direction:column;gap:4px}}.admin-modal h3{color:var(--uka-blue-dark);margin:0 0 16px}.admin-modal form{display:flex;flex-direction:column;gap:4px}.admin-form-section label,.admin-modal label{color:var(--uka-gray);display:block;font-size:11px;font-weight:600;letter-spacing:.04em;margin:10px 0 4px;text-transform:uppercase}.admin-form-section input,.admin-form-section select,.admin-modal input,.admin-modal select{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);color:var(--uka-text);font-size:var(--font-size-sm);padding:9px 12px;transition:border-color .15s,box-shadow .15s;width:100%}.admin-form-section input:hover,.admin-form-section select:hover,.admin-modal input:hover,.admin-modal select:hover{border-color:var(--uka-gray)}.admin-form-section input:focus,.admin-form-section select:focus,.admin-modal input:focus,.admin-modal select:focus{border-color:var(--uka-blue);box-shadow:0 0 0 3px #2563eb1f;outline:none}.admin-form-section input:disabled,.admin-modal input:disabled{background:var(--uka-bg-soft);color:var(--uka-gray);cursor:not-allowed}.admin-modal-actions{border-top:1px solid var(--uka-border);display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.admin-form-row{display:flex;gap:12px}.admin-form-row>div{flex:1 1;min-width:0}.admin-form-section{background:var(--uka-bg-soft);border:1px dashed var(--uka-border);border-radius:var(--border-radius-lg);box-shadow:none;display:flex;flex-direction:column;gap:2px;margin-top:16px;padding:18px 20px}.admin-form-section:first-child{margin-top:0}.admin-form-section-title{border-bottom:1px solid var(--uka-border);color:var(--uka-blue-dark);font-size:12px;font-weight:700;letter-spacing:.06em;margin:0 0 12px;padding-bottom:10px;text-transform:uppercase}.admin-btn-secondary{align-items:center;align-self:flex-start;background:var(--uka-white);border:1px solid var(--uka-blue);border-radius:var(--border-radius);color:var(--uka-blue);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:600;gap:6px;margin-top:6px;padding:8px 14px;transition:background .15s,color .15s}.admin-btn-secondary:hover{background:var(--uka-blue);color:var(--uka-white)}.admin-btn-secondary:disabled{background:var(--uka-white);color:var(--uka-blue);cursor:not-allowed;opacity:.5}.admin-hint{color:var(--uka-gray);font-size:12px;line-height:1.5;margin:4px 0}.ficha-programado{align-items:center;background:#fff7e6;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:10px 12px}label.admin-checkbox-inline{align-items:center;cursor:pointer;display:flex;font-size:13px;font-weight:400;gap:6px;margin:6px 0}label.admin-checkbox-inline input{margin:0;width:auto}.admin-hint-warning{color:#b45309}.admin-modal-actions button[type=button]:not(.admin-btn-primary){background:none;border:1px solid var(--uka-border);border-radius:var(--border-radius);cursor:pointer;padding:10px 16px}.admin-password-box{align-items:center;background:var(--uka-bg-soft);border-radius:var(--border-radius);display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding:12px 16px}.admin-password-box code{color:var(--uka-blue-dark);font-family:var(--font-family-mono);font-size:var(--font-size-lg)}.colaboradores-fila{cursor:pointer}.colaboradores-fila:hover{background:var(--uka-bg-soft)}.colaboradores-foto{width:40px}.colaboradores-foto img{border-radius:50%;height:32px;object-fit:cover;width:32px}.colaboradores-foto svg{color:var(--uka-gray);height:32px;width:32px}.ficha-colaborador{display:flex;flex-direction:column;gap:16px;margin:0 auto;max-width:1100px;width:100%}.ficha-volver{align-self:flex-start;background:none;border:none;color:var(--uka-blue);cursor:pointer;font-weight:600;gap:6px;padding:0}.ficha-header,.ficha-volver{align-items:center;display:flex}.ficha-header{background:var(--uka-white);border-left:4px solid var(--uka-blue);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);flex-wrap:wrap;gap:20px;padding:22px 24px}.ficha-header-foto{align-items:center;background:var(--uka-bg-soft);border-radius:50%;display:flex;flex-shrink:0;height:64px;justify-content:center;overflow:hidden;width:64px}.ficha-header-foto img{border-radius:50%;height:64px;object-fit:cover;width:64px}.ficha-header-foto svg{color:var(--uka-gray);height:40px;width:40px}.ficha-header-info{flex:1 1;min-width:200px}.ficha-foto-header{flex-shrink:0;position:relative}.ficha-header-foto-editable{border:none;cursor:pointer;padding:0;position:relative}.ficha-foto-overlay{align-items:center;background:var(--uka-blue);border:2px solid var(--uka-white);border-radius:50%;bottom:-2px;color:var(--uka-white);display:flex;font-size:10px;height:22px;justify-content:center;pointer-events:none;position:absolute;right:-2px;width:22px}.ficha-foto-menu-overlay{inset:0;position:fixed;z-index:20}.ficha-foto-menu{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;left:0;min-width:180px;overflow:hidden;position:absolute;top:72px;z-index:21}.ficha-foto-menu button{align-items:center;background:none;border:none;color:var(--uka-text);cursor:pointer;display:flex;font-size:var(--font-size-sm);font-weight:600;gap:8px;padding:10px 14px;text-align:left}.ficha-foto-menu button:hover{background:var(--uka-bg-soft)}.ficha-foto-camara-overlay{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:30}.ficha-foto-camara-modal{background:var(--uka-white);border-radius:var(--border-radius-lg);max-width:360px;padding:16px;width:100%}.ficha-foto-camara-modal video{background:#000;border-radius:var(--border-radius);width:100%}.ficha-header-info h2{color:var(--uka-blue-dark);margin:0 0 4px}.ficha-header-sub{color:var(--uka-gray);font-size:var(--font-size-sm);margin:2px 0}.ficha-tabs{border-bottom:2px solid var(--uka-border);display:flex;flex-wrap:wrap;gap:4px}.ficha-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--uka-gray);cursor:pointer;font-size:var(--font-size-sm);font-weight:600;margin-bottom:-2px;padding:10px 18px}.ficha-tab-active,.ficha-tab:hover{color:var(--uka-blue)}.ficha-tab-active{border-bottom-color:var(--uka-blue)}.ficha-contenido{width:100%}.ficha-asistencia,.ficha-expediente,.ficha-general,.ficha-laboral,.ficha-movimientos{display:flex;flex-direction:column;gap:16px}.ficha-general-toolbar{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.ficha-subtabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.ficha-export-actions{display:flex;flex-shrink:0;gap:8px}.ficha-export-actions .admin-btn-secondary{margin-top:0}.ficha-subtab{background:var(--uka-bg-soft);border:1px solid var(--uka-border);border-radius:999px;color:var(--uka-gray);cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 14px;transition:background .15s,color .15s,border-color .15s}.ficha-subtab:hover{border-color:var(--uka-blue);color:var(--uka-blue)}.ficha-subtab-active{background:var(--uka-blue);border-color:var(--uka-blue);color:var(--uka-white)}.ficha-grupo-titulo{color:var(--uka-gray);font-size:13px;font-weight:700;letter-spacing:.04em;margin:12px 0 -4px;text-transform:uppercase}.ficha-grupo-titulo:first-child{margin-top:0}.ficha-mapa-estado{color:var(--uka-gray);font-size:13px;margin:8px 0}.ficha-mapa-toggle{background:none;border:none;color:var(--uka-blue);cursor:pointer;font-size:13px;font-weight:600;padding:0}.ficha-mapa-toggle:hover{text-decoration:underline}.ficha-seccion-header{align-items:center;border-bottom:1px solid var(--uka-border);display:flex;justify-content:space-between;margin-bottom:4px;padding-bottom:10px}.ficha-seccion-header .admin-form-section-title{border:none;margin:0;padding:0}.ficha-item{align-items:center;border-bottom:1px solid var(--uka-border);display:flex;gap:12px;justify-content:space-between;padding:12px 4px;transition:background .15s}.ficha-item:hover{background:var(--uka-bg-soft)}.ficha-item:last-child{border-bottom:none}.ficha-checkbox,.ficha-item strong{color:var(--uka-text);font-size:var(--font-size-sm)}.ficha-checkbox{align-items:center;display:flex;gap:8px;margin-top:8px}.ficha-checkbox input{width:auto}.ficha-direccion-valida{align-items:center;color:var(--uka-success);display:flex;gap:6px;margin-top:4px}.ficha-datos-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.ficha-datos-grid label{color:var(--uka-gray);display:block;font-size:var(--font-size-xs);font-weight:600;margin:0}.ficha-datos-grid p{font-size:var(--font-size-sm);margin:2px 0 0}.ficha-filtro-fecha{align-items:center;color:var(--uka-gray);display:flex;font-size:var(--font-size-sm);gap:6px}.expediente-resumen{background:var(--uka-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);padding:20px}.expediente-resumen-titulo{align-items:baseline;color:var(--uka-blue-dark);display:flex;font-weight:700;justify-content:space-between;margin-bottom:8px}.expediente-completitud{font-size:var(--font-size-xl)}.expediente-completitud-ok{color:var(--color-success)}.expediente-completitud-warning{color:#b45309}.expediente-completitud-danger{color:var(--color-danger)}.expediente-barra{background:var(--uka-bg-soft);border-radius:var(--border-radius-full);height:8px;margin-bottom:16px;overflow:hidden}.expediente-barra-relleno{height:100%;transition:width .3s ease}.expediente-barra-ok{background:var(--color-success)}.expediente-barra-warning{background:#b45309}.expediente-barra-danger{background:var(--color-danger)}.expediente-categoria{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:var(--border-radius-lg);box-shadow:0 1px 2px #0f172a0a;margin-top:16px;padding:18px 20px;width:100%}.expediente-categoria-conteo{font-size:var(--font-size-xs);padding:3px 10px}.expediente-categoria-conteo,.expediente-pill-opcional{background:var(--uka-bg-soft);border-radius:var(--border-radius-full);color:var(--uka-gray);font-weight:700}.expediente-pill-opcional{display:inline-block;font-size:10px;letter-spacing:.03em;margin-left:8px;padding:2px 8px;text-transform:uppercase;vertical-align:middle}.admin-actions .expediente-btn-cargar{align-items:center;background:var(--uka-blue);border:1px solid var(--uka-blue);border-radius:var(--border-radius);color:var(--uka-white);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:var(--font-size-sm);font-weight:600;gap:6px;height:auto;padding:8px 16px;transition:background .15s,border-color .15s;white-space:nowrap;width:auto}.admin-actions .expediente-btn-cargar:hover{background:var(--uka-blue-dark);border-color:var(--uka-blue-dark)}.expediente-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));text-align:center}.expediente-stats strong{color:var(--uka-blue-dark);display:block;font-size:var(--font-size-xl)}.expediente-stats span{color:var(--uka-gray);font-size:var(--font-size-xs)}.expediente-fila{align-items:center;border-bottom:1px solid var(--uka-border);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:12px 4px;transition:background .15s}.expediente-fila:hover{background:var(--uka-bg-soft)}.expediente-fila:last-child{border-bottom:none}.expediente-fila-info{align-items:center;display:flex;gap:10px}.expediente-icono{flex-shrink:0;height:18px;width:18px}.expediente-icono-ok{color:var(--color-success)}.expediente-icono-pendiente{color:var(--uka-gray)}.expediente-icono-warning{color:#b45309}.expediente-icono-danger{color:var(--color-danger)}.admin-password-box button{background:var(--uka-blue);border:none;border-radius:var(--border-radius);color:var(--uka-white);cursor:pointer;padding:8px 14px}.location-picker{flex-direction:column}.location-picker,.location-picker-search{display:flex;gap:8px}.location-picker-search input{border:1px solid #d1d5db;border-radius:6px;flex:1 1;font-size:13px;min-width:0;padding:8px 10px}.location-picker-search button{background:#fff;border:1px solid #2563eb;border-radius:6px;color:#2563eb;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;white-space:nowrap}.location-picker-search button:hover{background:#eff6ff}.location-picker-search button:disabled{cursor:not-allowed;opacity:.6}.location-picker-map{border:1px solid #d1d5db;border-radius:8px;overflow:hidden}.location-picker-hint{color:#6b7280;font-size:12px;margin:0}.location-picker-error{color:#dc2626;font-size:12px;margin:0}.etiqueta-direccion{display:flex;flex-direction:column;gap:6px}.etiqueta-direccion-sugerencias{display:flex;flex-wrap:wrap;gap:6px}.etiqueta-direccion-chip{background:var(--uka-white);border:1px solid var(--uka-border);border-radius:999px;color:var(--uka-gray);cursor:pointer;font-size:12px;padding:3px 12px}.etiqueta-direccion-chip:hover{border-color:var(--uka-blue);color:var(--uka-blue)}.etiqueta-direccion-chip.activa{background:var(--uka-blue);border-color:var(--uka-blue);color:var(--uka-white)}.kiosco{background:linear-gradient(160deg,#f4f8fc,#e8f0f9);color:var(--uka-text);display:flex;flex-direction:column;min-height:100vh;user-select:none;-webkit-user-select:none}.kiosco-header{align-items:center;background:var(--uka-white);border-bottom:3px solid var(--uka-yellow);box-shadow:0 2px 8px #0000000d;display:flex;gap:16px;justify-content:space-between;padding:14px 28px}.kiosco-logo{height:52px;max-width:220px;object-fit:contain;width:auto}.kiosco-reloj{align-items:center;display:flex;flex-direction:column;line-height:1.1}.kiosco-reloj strong{font-feature-settings:"tnum";color:var(--uka-blue-dark);font-size:34px;font-variant-numeric:tabular-nums}.kiosco-reloj span{color:var(--uka-gray);font-size:14px;text-transform:capitalize}.kiosco-centro{background:#eaf2fb;border-radius:999px;color:var(--uka-blue-dark);font-size:16px;font-weight:700;padding:8px 14px;white-space:nowrap}.kiosco-main{flex:1 1;justify-content:center;padding:24px 16px}.kiosco-main,.kiosco-panel{align-items:center;display:flex}.kiosco-panel{background:var(--uka-white);border-radius:24px;box-shadow:0 12px 40px #1026461f;flex-direction:column;gap:16px;max-width:520px;padding:32px 28px;text-align:center;width:100%}.kiosco-panel h1{color:var(--uka-blue-dark);font-size:28px;margin:0}.kiosco-ayuda{color:var(--uka-gray);font-size:17px;margin:0}.kiosco-mensaje{color:var(--uka-blue-dark);font-size:22px}.kiosco-display{font-feature-settings:"tnum";background:#f4f7fb;border:2px solid #dbe4ee;border-radius:16px;color:var(--uka-blue-dark);font-size:44px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.15em;min-height:76px;padding:10px;width:100%}.kiosco-placeholder{color:#c3ccd6}.kiosco-teclado{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);width:100%}.kiosco-teclado button{background:#eef3f9;border:none;border-radius:16px;color:var(--uka-blue-dark);cursor:pointer;font-size:30px;font-weight:700;height:72px;touch-action:manipulation}.kiosco-teclado button:active{background:#d6e4f3;transform:scale(.97)}.kiosco-teclado .kiosco-tecla-secundaria{color:var(--uka-gray);font-size:26px}.kiosco-btn-principal,.kiosco-btn-secundario{border-radius:16px;cursor:pointer;font-size:20px;font-weight:700;min-height:64px;padding:0 28px;touch-action:manipulation}.kiosco-btn-principal{background:var(--uka-blue);border:none;color:var(--uka-white);width:100%}.kiosco-btn-principal:disabled{cursor:not-allowed;opacity:.4}.kiosco-btn-secundario{background:var(--uka-white);border:2px solid #dbe4ee;color:var(--uka-gray)}.kiosco-acciones{display:flex;gap:12px;width:100%}.kiosco-acciones .kiosco-btn-principal{flex:1 1}.kiosco-error{color:var(--uka-danger);font-size:16px;font-weight:600;margin:0}.kiosco-aviso{align-items:center;background:#fff4e5;border-radius:12px;color:#8a5300;display:flex;font-size:15px;gap:8px;margin:0;padding:10px 14px;text-align:left}.kiosco-avatar{color:var(--uka-blue);font-size:64px}.kiosco-avatar-exito{color:var(--uka-success)}.kiosco-avatar-aviso{color:#e39a1c}.kiosco-avatar-rechazo{color:var(--uka-danger)}.kiosco-aviso-legal{background:#f4f7fb;border-radius:12px;color:var(--uka-text);font-size:15px;line-height:1.5;margin:0;max-height:40vh;overflow-y:auto;padding:14px 16px;text-align:left}.kiosco-tipos{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);width:100%}.kiosco-tipo{align-items:center;background:var(--uka-white);border:2px solid #dbe4ee;border-radius:16px;color:var(--uka-blue-dark);cursor:pointer;display:flex;flex-direction:column;font-size:17px;font-weight:700;gap:6px;justify-content:center;min-height:92px;touch-action:manipulation}.kiosco-tipo-icono{font-size:26px}.kiosco-tipo:disabled{cursor:not-allowed;opacity:.35}.kiosco-tipo.hecho{background:#f1faf4;border-color:#cfe9d8;color:var(--uka-success);opacity:.55}.kiosco-tipo.seleccionado{background:#eaf2fb;border-color:var(--uka-blue);box-shadow:0 0 0 3px #0073c633}.kiosco-camara{background:#0f1d2e;border-radius:50%;height:320px;max-height:80vw;max-width:80vw;overflow:hidden;position:relative;width:320px}.kiosco-camara video{height:100%;object-fit:cover;transform:scaleX(-1);width:100%}.kiosco-camara-guia{border:6px solid var(--uka-blue);border-radius:50%;inset:0;pointer-events:none;position:absolute}.kiosco-estado-camara{color:var(--uka-blue-dark);font-size:20px;font-weight:700;margin:0;min-height:28px}.kiosco-textarea{border:2px solid #dbe4ee;border-radius:12px;box-sizing:border-box;font:inherit;font-size:17px;padding:12px;resize:none;width:100%}@media (max-width:600px){.kiosco-header{flex-wrap:wrap;padding:10px 16px}.kiosco-centro{order:3;text-align:center;width:100%}.kiosco-panel{padding:24px 18px}.kiosco-display{font-size:36px}.kiosco-teclado button{height:60px}}