*{box-sizing:border-box}html,body,#root{width:100%;min-height:100vh;margin:0;padding:0}body{color:#222;background:#fff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font-family:inherit}button{cursor:pointer}a{color:inherit}p,h1,h2,h3,h4,h5,h6{margin-top:0}.login-container{box-sizing:border-box;background:linear-gradient(135deg,#004a99 0%,#002d5d 100%);justify-content:center;align-items:center;width:100vw;min-height:100vh;margin:0;padding:20px;display:flex}.login-card{text-align:center;box-sizing:border-box;background:#fff;border-radius:16px;width:100%;max-width:430px;padding:2.5rem;animation:.6s ease-out fadeIn;box-shadow:0 15px 35px #00000047}@keyframes fadeIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.login-logo{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#004a99,#0072ce);border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.2rem;font-weight:800;display:flex;box-shadow:0 8px 18px #004a9940}.login-card h2{color:#004a99;text-transform:uppercase;letter-spacing:1px;margin-bottom:.6rem;font-size:1.75rem;font-weight:800}.login-card p{color:#666;margin-bottom:1.5rem;font-size:.95rem;line-height:1.45}.login-card form{flex-direction:column;gap:1rem;display:flex}.login-card input{box-sizing:border-box;border:2px solid #e1e1e1;border-radius:9px;outline:none;width:100%;padding:13px 15px;font-size:1rem;transition:all .3s}.login-card input:focus{border-color:#004a99;box-shadow:0 0 8px #004a9933}.login-card button{color:#fff;cursor:pointer;background-color:#004a99;border:none;border-radius:9px;padding:13px;font-size:1.05rem;font-weight:700;transition:background .3s,transform .2s,opacity .2s}.login-card button:hover:not(:disabled){background-color:#036;transform:translateY(-2px)}.login-card button:active:not(:disabled){transform:translateY(0)}.login-card button:disabled{opacity:.65;cursor:not-allowed}.btn-secundario{color:#004a99!important;background-color:#eef3f8!important;border:1px solid #cbd9e8!important}.btn-secundario:hover:not(:disabled){background-color:#ddeaf6!important}.login-message{text-align:left;border-radius:8px;margin-bottom:1rem;padding:11px 13px;font-size:.9rem;line-height:1.4}.login-message.success{color:#1c7c3e;background-color:#e9f8ef;border:1px solid #bde8cb}.login-message.error{color:#b42318;background-color:#fdecec;border:1px solid #f5c2c0}.correo-confirmado{text-align:left;color:#555;word-break:break-word;background-color:#f4f7fb;border:1px solid #d9e4ef;border-radius:9px;padding:11px 13px;font-size:.9rem}.correo-confirmado span{color:#777;margin-bottom:3px;font-size:.78rem;display:block}.correo-confirmado strong{color:#004a99;font-weight:700}.login-footer{color:#555;border-top:1px solid #eee;margin-top:1.8rem;padding-top:1.5rem;font-size:.9rem}.login-footer p{margin:0}.login-footer a{color:#004a99;font-weight:700;text-decoration:none}.login-footer a:hover{text-decoration:underline}@media (width<=480px){.login-card{padding:2rem 1.5rem}.login-card h2{font-size:1.45rem}}.formulario-container{background-color:#f4f7f6;flex-direction:column;align-items:center;min-height:100vh;display:flex}.formulario-header{color:#fff;background:#004a99;width:100%;margin-bottom:30px;padding:20px 0;box-shadow:0 2px 10px #0000001a}.header-content{justify-content:space-between;align-items:center;gap:20px;max-width:1050px;margin:0 auto;padding:0 20px;display:flex}.header-content h2{text-transform:uppercase;letter-spacing:1px;margin:0;font-size:1.5rem}.header-content p{margin:0}.formulario-card{background:#fff;border-radius:12px;width:95%;max-width:1050px;margin-bottom:50px;padding:35px;animation:.5s ease-out slideUp;box-shadow:0 5px 20px #0000000f}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.instrucciones{background:#eef2f7;border-left:5px solid #004a99;border-radius:8px;margin-bottom:25px;padding:20px}.instrucciones h3{color:#004a99;margin:0 0 10px}.instrucciones p{color:#555;margin:8px 0 0;font-size:.95rem;line-height:1.5}.formulario-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:25px;padding:18px;display:grid}.meta-group{flex-direction:column;gap:8px;min-width:0;display:flex}.meta-group label{color:#334155;font-size:.82rem;font-weight:800}.meta-group select{color:#1e293b;background:#fff;border:2px solid #dbe5f0;border-radius:10px;outline:none;height:44px;padding:0 12px;font-weight:600;transition:all .2s}.meta-group select:focus{border-color:#004a99;box-shadow:0 0 0 3px #004a991f}.avance-box{color:#334155;flex-direction:column;align-items:flex-end;display:flex}.avance-box strong{color:#004a99;font-size:1.7rem}.avance-box span{color:#64748b;font-size:.85rem}.alerta-exito{color:#155724;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;margin-bottom:20px;padding:15px;font-weight:600}.alerta-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:15px;font-weight:600}.pregunta-bloque{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:22px;padding:22px;transition:border-color .25s,box-shadow .25s,transform .2s}.pregunta-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.dimension-label{color:#004a99;background:#e0ecff;border-radius:999px;margin-bottom:8px;padding:5px 10px;font-size:.78rem;font-weight:800;display:inline-block}.pregunta-bloque h4{color:#1e293b;margin:0 0 8px;font-size:1.12rem}.pregunta-bloque p{color:#64748b;margin:0;line-height:1.5}.total-dimension{text-align:center;border-radius:999px;min-width:105px;padding:8px 12px;font-size:.9rem;font-weight:800}.total-dimension.valido{color:#166534;background:#dcfce7}.total-dimension.invalido{color:#991b1b;background:#fee2e2}.opciones-grid{grid-template-columns:1fr;gap:14px;display:grid}.opcion-card{background:#f8fafc;border:1px solid #edf2f7;border-radius:10px;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:18px;padding:14px;display:grid}.opcion-texto{align-items:flex-start;gap:12px;display:flex}.opcion-letra{color:#fff;background:#004a99;border-radius:8px;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;font-weight:800;display:flex}.opcion-texto p{color:#334155;font-size:.92rem}.input-group{flex-direction:column;align-items:stretch;gap:7px;display:flex}.input-group label{color:#64748b;text-transform:uppercase;text-align:center;font-size:.78rem;font-weight:800}.input-group input{text-align:center;color:#1e293b;background:#fff;border:2px solid #e1e1e1;border-radius:8px;width:100%;height:44px;padding:11px;font-size:1.05rem;font-weight:800;transition:all .3s}.input-group input:focus{border-color:#004a99;outline:none;box-shadow:0 0 8px #004a991a}.input-group input:disabled{cursor:not-allowed;background:#f1f5f9}.mensaje-total{font-size:.9rem;font-weight:700;color:#991b1b!important;margin-top:12px!important}.mensaje-total.valido{color:#166534!important}.btn-enviar{color:#fff;cursor:pointer;background:#004a99;border:none;border-radius:8px;width:100%;max-width:300px;margin:35px auto 0;padding:15px;font-size:1.05rem;font-weight:700;transition:all .3s;display:block}.btn-enviar:hover:not(:disabled){background:#036;transform:translateY(-2px);box-shadow:0 5px 15px #0000001a}.btn-enviar:disabled{opacity:.55;cursor:not-allowed;transform:none}.etapa-ocai{background:#f3f7fc;border-left:5px solid #004a99;border-radius:12px;margin:18px 0;padding:16px 18px}.etapa-ocai span{color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:.78rem;font-weight:700;display:block}.etapa-ocai strong{color:#004a99;font-size:1.15rem;display:block}.etapa-ocai.deseado{background:#f0fdf4;border-left-color:#15803d}.etapa-ocai.deseado strong{color:#15803d}.badge-disponible{color:#004a99;white-space:nowrap;background:#eaf2ff;border:1px solid #cfe1ff;border-radius:999px;justify-content:center;align-items:center;width:100%;margin-top:7px;padding:6px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.badge-disponible.agotado{color:#64748b;background:#f1f5f9;border-color:#e2e8f0}@media (width<=900px){.formulario-meta,.opcion-card{grid-template-columns:1fr}}@media (width<=700px){.header-content{flex-direction:column;align-items:flex-start}.formulario-card{padding:20px}.avance-box{align-items:flex-start}.pregunta-header{flex-direction:column}.alerta-info{color:#004a99;background:#eaf2ff;border:1px solid #cfe1ff;border-radius:8px;margin-bottom:20px;padding:14px 16px;font-weight:700}}.dashboard-container{background-color:#f0f2f5;min-height:100vh;display:flex}.sidebar{color:#fff;background-color:#002d5d;flex-direction:column;width:260px;padding:20px;display:flex}.sidebar-logo{text-align:center;border-bottom:1px solid #ffffff1a;margin-bottom:40px;padding-bottom:20px;font-size:1.5rem;font-weight:800}.sidebar-nav{flex-direction:column;gap:10px;display:flex}.sidebar-nav a{color:#cbd5e0;border-radius:8px;padding:12px 15px;text-decoration:none;transition:all .3s}.sidebar-nav a.active,.sidebar-nav a:hover{color:#fff;background-color:#004a99}.dashboard-main{flex:1;padding:30px}.dashboard-header{justify-content:space-between;align-items:center;margin-bottom:30px;display:flex}.dashboard-header h1{color:#1a202c;font-size:1.5rem}.user-profile{align-items:center;gap:15px;display:flex}.avatar{color:#fff;background:#004a99;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{background:#fff;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000000d}.stat-card h3{color:#718096;text-transform:uppercase;margin-bottom:10px;font-size:.9rem}.stat-number{color:#004a99;font-size:2rem;font-weight:800}.chart-container{background:#fff;border-radius:12px;padding:30px;box-shadow:0 4px 6px #0000000d}.chart-placeholder{color:#a0aec0;background:#f8fafc;border:2px dashed #cbd5e0;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;height:400px;margin-top:20px;display:flex}.radar-mockup{background:repeating-concentric-gradient(circle, #edf2f7, #edf2f7 20px, #e2e8f0 21px);clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);opacity:.5;width:200px;height:200px;margin-top:20px}.dashboard-subtitle{color:#718096;margin-top:6px;font-size:.95rem}.dashboard-actions{justify-content:flex-end;margin-bottom:25px;display:flex}.stat-info{color:#004a99;margin:0;font-size:1.4rem;font-weight:800}.stat-percent{color:#718096;margin-top:6px;font-size:.9rem;display:block}.dashboard-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:25px;display:flex}.dashboard-action-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;justify-content:center;align-items:center;gap:9px;height:42px;padding:0 16px;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .25s;display:inline-flex;box-shadow:0 5px 14px #0f172a1f}.dashboard-action-btn:hover{transform:translateY(-2px)}.btn-create-form{color:#fff;background:linear-gradient(135deg,#004a99,#06c)}.btn-create-form:hover{color:#fff;background:linear-gradient(135deg,#003b73,#0057b8);box-shadow:0 8px 18px #004a9947}.btn-download-excel{color:#fff;background:linear-gradient(135deg,#107c41,#21a366)}.btn-download-excel:hover{background:linear-gradient(135deg,#0b6334,#16894f);box-shadow:0 8px 18px #107c4147}.btn-refresh-dashboard{color:#334155;background:#fff;border:1px solid #d9e2ec}.btn-refresh-dashboard:hover{color:#004a99;background:#f8fafc;border-color:#b7c6d8}.btn-icon{background:#ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;font-size:.9rem;font-weight:800;display:inline-flex}.btn-refresh-dashboard .btn-icon{color:#004a99;background:#eef4fb}.excel-icon{color:#107c41;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:23px;height:23px;font-family:Arial,sans-serif;font-size:.78rem;font-weight:900;display:inline-flex}@media (width<=768px){.dashboard-actions{justify-content:stretch}.dashboard-action-btn{flex:1;min-width:100%}}.gestion-container{background:#fff;border-radius:12px;margin-top:20px;padding:24px;box-shadow:0 4px 14px #0000000f}.gestion-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.gestion-header h2{color:#1e293b;margin:0;font-size:1.5rem;font-weight:800}.gestion-subtitle{color:#64748b;margin:6px 0 0;font-size:.95rem}.btn-crear{color:#fff;cursor:pointer;white-space:nowrap;background:#004a99;border:none;border-radius:8px;padding:11px 18px;font-weight:700;transition:background .2s,transform .2s}.btn-crear:hover{background:#036;transform:translateY(-1px)}.btn-crear:disabled{opacity:.7;cursor:not-allowed;transform:none}.gestion-error{color:#991b1b;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-bottom:18px;padding:12px 15px;font-weight:600}.sin-datos{text-align:center;color:#64748b;font-weight:600;padding:28px!important}.tabla-container{border:1px solid #e2e8f0;border-radius:10px;width:100%;overflow-x:auto}.tabla-gestion{border-collapse:collapse;text-align:left;background:#fff;width:100%;min-width:980px}.tabla-gestion th{color:#64748b;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 15px;font-size:.78rem}.tabla-gestion td{color:#334155;vertical-align:middle;border-bottom:1px solid #edf2f7;padding:14px 15px;font-size:.9rem}.tabla-gestion tbody tr:hover{background:#f8fafc}.tabla-gestion tbody tr:last-child td{border-bottom:none}.badge{text-transform:capitalize;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 11px;font-size:.75rem;font-weight:800;display:inline-flex}.badge.activo{color:#166534;background:#dcfce7}.badge.cerrado{color:#991b1b;background:#fee2e2}.badge.borrador{color:#92400e;background:#fef3c7}.btn-edit,.btn-view,.btn-delete{cursor:pointer;border-radius:6px;margin:3px 6px 3px 0;padding:7px 11px;font-size:.82rem;font-weight:700;transition:background .2s,border-color .2s,transform .2s}.btn-edit,.btn-view{color:#334155;background:#fff;border:1px solid #e2e8f0}.btn-edit:hover,.btn-view:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.btn-delete{color:#991b1b;background:#fff5f5;border:1px solid #fecaca}.btn-delete:hover{background:#fee2e2;transform:translateY(-1px)}.modal-overlay{z-index:999;background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-formulario{background:#fff;border-radius:14px;width:100%;max-width:660px;padding:25px;animation:.2s modalFadeIn;box-shadow:0 20px 45px #00000040}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.modal-header h3{color:#004a99;margin:0;font-size:1.3rem;font-weight:800}.btn-cerrar-modal{color:#334155;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;width:36px;height:36px;font-size:1.4rem;line-height:1}.btn-cerrar-modal:hover{background:#e2e8f0}.form-crear-formulario{flex-direction:column;gap:16px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:15px;display:grid}.form-group{flex-direction:column;gap:7px;display:flex}.form-group label{color:#334155;font-size:.9rem;font-weight:700}.form-group input,.form-group textarea,.form-group select{color:#1e293b;box-sizing:border-box;background:#fff;border:2px solid #e2e8f0;border-radius:8px;outline:none;width:100%;padding:11px 12px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group textarea{resize:vertical;min-height:95px}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:#004a99;box-shadow:0 0 0 3px #004a991f}.modal-actions{justify-content:flex-end;gap:12px;margin-top:8px;display:flex}.btn-cancelar{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:11px 16px;font-weight:700}.btn-cancelar:hover{background:#f8fafc}.btn-guardar{color:#fff;cursor:pointer;background:#004a99;border:none;border-radius:8px;padding:11px 18px;font-weight:700}.btn-guardar:hover{background:#036}.btn-guardar:disabled{opacity:.7;cursor:not-allowed}@media (width<=768px){.gestion-container{padding:18px}.gestion-header{flex-direction:column;align-items:stretch}.btn-crear{width:100%}.modal-formulario{padding:20px}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn-cancelar,.btn-guardar{width:100%}}
