.login-error{background:#fed7d7;color:#c53030;padding:12px;border-radius:6px;margin-bottom:20px;font-size:.9rem;text-align:center}.dev-section-bloque{background:#fffbeb!important;border:2px dashed #f6ad55}.dev-header{display:flex;align-items:center;gap:10px;margin-bottom:15px;font-size:.85rem;color:#744210}.dev-badge{background:#f6ad55;color:#744210;padding:2px 8px;border-radius:4px;font-weight:700;font-size:.75rem}.quick-login-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:15px}.quick-login-btn{padding:10px 12px;border:2px solid;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;background:#fff}.quick-login-btn.admin{border-color:#9f7aea;color:#553c9a}.quick-login-btn.admin:hover:not(:disabled){background:#9f7aea;color:#fff}.quick-login-btn.user{border-color:#48bb78;color:#276749}.quick-login-btn.user:hover:not(:disabled){background:#48bb78;color:#fff}.quick-login-btn.esa{border-color:#ed8936;color:#c05621}.quick-login-btn.esa:hover:not(:disabled){background:#ed8936;color:#fff}.quick-login-btn:disabled{opacity:.5;cursor:not-allowed}.check-backend-btn{width:100%;padding:8px;background:#edf2f7;border:1px solid #cbd5e0;border-radius:6px;font-size:.8rem;color:#4a5568;cursor:pointer;transition:all .2s}.check-backend-btn:hover{background:#e2e8f0}.backend-status{margin-top:12px;padding:10px;border-radius:6px;font-size:.8rem;text-align:center}.backend-status.online{background:#c6f6d5;color:#276749}.backend-status.offline{background:#fed7d7;color:#c53030}.login-footer{padding:20px 0;text-align:center;margin-top:10px}.login-footer p{margin:0;color:#718096;font-size:.9rem}.login-footer a{color:#3498db;text-decoration:none;font-weight:500}.login-footer a:hover{text-decoration:underline}.loading-container{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#3182ce;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--total-scale-factor));width:100%;min-width:calc(180px * var(--total-scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--total-scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--total-scale-factor)) calc(5px * var(--total-scale-factor)) #888;border-radius:calc(2px * var(--total-scale-factor));padding:calc(6px * var(--total-scale-factor));margin-left:calc(5px * var(--total-scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--total-scale-factor));padding-top:calc(2px * var(--total-scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--total-scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.document-viewer-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.document-viewer-modal{background:#fff;border-radius:8px;width:90%;max-width:900px;height:90vh;max-height:900px;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.document-viewer-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.document-viewer-header h3{margin:0;font-size:18px;color:#333}.document-viewer-content{flex:1;padding:20px;overflow:auto}.document-frame{width:100%;height:100%;border:none;border-radius:4px}.image-preview-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:4px;overflow:auto}.document-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 2px 10px #0000001a}.document-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.document-preview p{margin-bottom:20px;font-size:16px}.document-viewer-footer{padding:20px;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:10px}.download-btn,.close-btn{padding:8px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .2s}.download-btn{background-color:#007bff;color:#fff}.download-btn:hover{background-color:#0056b3}.close-btn{background-color:#6c757d;color:#fff}.close-btn:hover{background-color:#545b62}.docx-preview-container{width:100%;height:100%;overflow:auto;background:#fff}.docx-content{padding:40px;max-width:800px;margin:0 auto;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333}.docx-content h1{font-size:24px;margin-bottom:16px;color:#1a1a1a}.docx-content h2{font-size:20px;margin-bottom:12px;color:#2a2a2a}.docx-content p{margin-bottom:12px}.docx-content table{width:100%;border-collapse:collapse;margin:16px 0}.docx-content table td,.docx-content table th{border:1px solid #ddd;padding:8px}.docx-loading,.docx-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#666}.docx-loading .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.docx-error p{margin-bottom:16px;color:#dc3545}.download-btn.primary{background-color:#28a745;padding:12px 32px;font-size:16px}.download-btn.primary:hover{background-color:#218838}.pdf-viewer-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:pointer}.pdf-viewer-container{background:#fff;border-radius:8px;width:100%;max-width:1200px;height:90vh;max-height:900px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 30px #0000004d;cursor:default}.pdf-viewer-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-bottom:1px solid #dee2e6}.pdf-viewer-header h3{margin:0;color:#2c3e50;font-size:1.2rem}.pdf-viewer-hint{display:flex;align-items:center}.pdf-viewer-hint span{font-size:.85rem;color:#666;font-style:italic}.pdf-viewer-controls{display:flex;align-items:center;gap:10px}.pdf-viewer-controls button{background:#3498db;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s;min-width:35px}.pdf-viewer-controls button:hover:not(:disabled){background:#2980b9}.pdf-viewer-controls button:disabled{background:#bdc3c7;cursor:not-allowed}.pdf-viewer-controls span{font-size:14px;color:#666;min-width:45px;text-align:center}.pdf-viewer-content{flex:1;overflow:auto;display:flex;justify-content:center;align-items:flex-start;padding:20px;background:#525659}.pdf-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:#fff}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.pdf-error{color:#e74c3c;font-size:18px;text-align:center;padding:40px}.react-pdf__Page{margin-bottom:20px;box-shadow:0 4px 10px #0000004d;background:#fff}.react-pdf__Page:last-child{margin-bottom:0}.pdf-viewer-navigation{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#f8f9fa;border-top:1px solid #dee2e6}.nav-button{background:#3498db;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.nav-button:hover:not(:disabled){background:#2980b9}.nav-button:disabled{background:#bdc3c7;cursor:not-allowed}.page-info{font-size:14px;color:#666;font-weight:500}@media(max-width:768px){.pdf-viewer-container{height:100vh;max-height:100vh;border-radius:0}.pdf-viewer-header{padding:10px 15px}.pdf-viewer-header h3{font-size:1rem}.pdf-viewer-controls button{padding:5px 8px;font-size:12px;min-width:30px}.pdf-viewer-content{padding:10px}.pdf-viewer-navigation{padding:10px 15px}.nav-button{padding:6px 12px;font-size:12px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #2c5282;border-radius:50%;animation:spin 1s linear infinite}.loading-small .loading-spinner{width:24px;height:24px}.loading-medium .loading-spinner{width:40px;height:40px}.loading-large .loading-spinner{width:60px;height:60px}.loading-message{margin-top:1rem;color:#4a5568;font-size:.95rem}.loading-fullpage{position:fixed;inset:0;background:#ffffffe6;z-index:9999}.user-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(135deg,#2b6cb0,#1a365d);border-radius:10px;margin-bottom:20px;color:#fff}.user-info{display:flex;align-items:center;gap:12px}.user-email{font-size:.95rem}.admin-badge{background:#f6ad55;color:#744210;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:700}.logout-button{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.logout-button:hover{background:#ffffff40}body{font-family:Roboto,Segoe UI,Arial,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5;margin:0;padding:0;min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8eb)}.form-container{width:80%;max-width:900px;margin:30px auto;padding:30px 20px;background-color:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:15px;box-shadow:0 10px 30px #0000001a}h1{color:#2c3e50;font-size:32px;margin-bottom:25px;border-bottom:2px solid #3498db;padding-bottom:15px;text-align:center;font-weight:600;letter-spacing:-.5px}h2{color:#3498db;font-size:24px;margin:20px 0;font-weight:500;display:flex;align-items:center}h2:before{content:"";display:inline-block;width:6px;height:24px;background-color:#3498db;margin-right:10px;border-radius:3px}.bloque{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #00000014;padding:25px;margin-bottom:25px;transition:all .3s ease}.bloque:hover{box-shadow:0 6px 16px #0000001f}.form-section{margin-bottom:30px;padding-bottom:10px}.form-section h3{text-transform:uppercase}.question{margin-bottom:25px;padding:15px;border-radius:8px;background-color:#f9f9f9;border-left:4px solid #3498db;transition:all .3s ease}.question:hover{background-color:#f0f7fc}.question-text{font-weight:600;margin-bottom:12px;color:#2c3e50;font-size:16px}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=url],input[type=date],textarea,select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:16px;margin-bottom:15px;box-sizing:border-box;transition:all .3s ease;background-color:#f9f9f9}input:hover,textarea:hover,select:hover{border-color:#bbb;background-color:#fff}input:focus,textarea:focus,select:focus{border-color:#3498db;outline:none;box-shadow:0 0 8px #3498db66;background-color:#fff}textarea{min-height:100px;resize:vertical}input[type=date]{padding:10px 12px}.radio-group,.checkbox-group{display:flex;flex-direction:column;gap:12px;margin-bottom:20px;padding:5px 0}label{display:flex;align-items:center;cursor:pointer;padding:5px 0;transition:all .2s ease;font-size:15px}label:hover{color:#3498db}input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #ccc;border-radius:50%;margin-right:10px;position:relative;cursor:pointer;transition:all .2s ease}input[type=radio]:checked{border-color:#3498db}input[type=radio]:checked:after{content:"";position:absolute;width:10px;height:10px;background-color:#3498db;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}input[type=radio]:hover{border-color:#3498db}input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;min-width:20px;border:2px solid #ccc;border-radius:4px;margin-right:10px;position:relative;cursor:pointer;transition:all .2s ease;flex-shrink:0}input[type=checkbox]:checked{background-color:#3498db;border-color:#3498db}input[type=checkbox]:checked:after{content:"✓";position:absolute;color:#fff;font-size:14px;top:50%;left:50%;transform:translate(-50%,-50%)}input[type=checkbox]:hover{border-color:#3498db}.checkbox-group label{display:flex;align-items:flex-start;margin-bottom:5px;line-height:1.4}.conditional-field{margin-left:30px;padding:15px;border-left:3px solid #3498db;background-color:#f8f9fa;border-radius:0 6px 6px 0;margin-bottom:15px;box-shadow:0 2px 5px #0000000d;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.block-header{margin-bottom:25px;border-bottom:1px solid #eee;padding-bottom:15px}.block-header h3{color:#3498db;font-size:20px;font-weight:600;margin:0;display:flex;align-items:center}.block-header h3:before{content:"";display:inline-block;width:4px;height:20px;background-color:#3498db;margin-right:10px;border-radius:2px}.navigation-buttons{display:flex;justify-content:space-between}.form-navigation{display:flex;justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;border-top:1px solid #e2e8f0;gap:15px}.form-navigation .nav-left,.form-navigation .nav-right{display:flex;gap:10px}.btn-cancelar{background-color:#e2e8f0!important;color:#4a5568!important}.btn-cancelar:hover{background-color:#cbd5e0!important}.btn-guardar-borrador{background-color:#ed8936!important;color:#fff!important}.btn-guardar-borrador:hover{background-color:#dd6b20!important}.btn-enviar{background-color:#38a169!important}.btn-enviar:hover{background-color:#2f855a!important}button{background-color:#3498db;color:#fff;border:none;padding:12px 24px;border-radius:4px;cursor:pointer;font-size:16px;transition:all .3s;font-weight:500;box-shadow:0 2px 4px #0000001a;display:flex;align-items:center;gap:8px}button:hover{background-color:#2980b9;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}button:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}button[type=submit]{background-color:#2ecc71;padding:14px 28px}button[type=submit]:hover{background-color:#27ae60}.progress-container{margin-top:30px;padding-top:20px;border-top:1px solid #eee;margin-bottom:20px}.progress-indicator{display:flex;justify-content:center;align-items:center}.step-container{display:flex;align-items:center}.step{width:36px;height:36px;border-radius:50%;background-color:#ddd;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;position:relative;z-index:2;transition:all .3s ease}.step.active{background-color:#3498db;box-shadow:0 0 0 3px #3498db4d;transform:scale(1.1)}.step.completed{background-color:#2ecc71}.step-connector{height:3px;flex-grow:1;background-color:#ddd;margin:0 5px;min-width:50px}@media(max-width:768px){.form-container{width:95%;padding:15px;margin:15px auto}h1{font-size:24px;padding-bottom:10px;margin-bottom:15px}h2{font-size:20px}.block-header h3{font-size:18px}.bloque{padding:15px}.question{padding:12px}button{padding:10px 15px;font-size:14px}.step{width:30px;height:30px;font-size:14px}.step-connector{min-width:20px}.progress-container{margin-top:20px;padding-top:15px}}@media(max-width:480px){.form-container{width:100%;padding:10px;margin:0;border-radius:0}.block-title span{font-size:14px;padding:6px 12px}.navigation-buttons{flex-direction:column;gap:10px}.navigation-buttons button{width:100%;justify-content:center}}.file-uploaded{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;background-color:#e6fffa;border:1px solid #38b2ac;border-radius:5px;margin-bottom:5px}.file-name{color:#234e52;font-weight:500}.btn-remove-file{background-color:#fc8181;color:#fff;border:none;padding:5px 10px;border-radius:3px;cursor:pointer;font-size:.85rem;transition:background-color .2s}.btn-remove-file:hover{background-color:#f56565}.uploading{color:#3182ce;font-style:italic;display:block;margin-top:5px}.field-error-message{color:#e53e3e;font-size:.85rem;margin-top:5px;display:block}.monto-input-wrapper{width:100%}.monto-input-row{display:flex;align-items:stretch;gap:0}.monto-currency-select{width:auto;min-width:72px;border-radius:4px 0 0 4px!important;border-right:none!important;background-color:#e8f0fe!important;font-weight:600;color:#2b6cb0;padding:10px 8px!important;flex-shrink:0}.monto-text-field{flex:1;position:relative;display:flex;align-items:center}.monto-symbol{position:absolute;left:10px;color:#666;font-weight:500;pointer-events:none;z-index:1}.monto-input{border-radius:0 4px 4px 0!important;padding-left:32px!important;width:100%}.monto-currency-select+.monto-text-field .monto-input{border-radius:0 4px 4px 0!important}.monto-error .monto-currency-select,.monto-error .monto-input{border-color:#e74c3c!important}.invalid-field{border:2px solid #e74c3c!important;background-color:#fff0f0!important;box-shadow:0 0 5px #e74c3c4d!important}.invalid-section{border:2px solid #e74c3c!important;background-color:#fff0f0!important;padding:10px!important;border-radius:5px!important}.error-message{color:#e74c3c;font-size:14px;margin-top:5px;margin-bottom:10px;font-weight:500}.validation-errors{background-color:#fff0f0;border-left:4px solid #e74c3c;padding:10px 15px;margin-bottom:20px;border-radius:4px;animation:fadeIn .3s ease-in-out}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{margin-bottom:5px}.required-field:after{content:"*";color:#e74c3c;margin-left:4px}.field-container{position:relative}.error-tooltip{position:absolute;bottom:100%;left:0;background-color:#e74c3c;color:#fff;padding:5px 10px;border-radius:4px;font-size:12px;z-index:10;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.invalid-field:hover+.error-tooltip{opacity:1;visibility:visible}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.invalid-field:focus{animation:shake .5s ease-in-out}.valid-field{border:2px solid #2ecc71!important;background-color:#f0fff0!important}.field-completed:after{content:"✓";color:#2ecc71;margin-left:5px;font-weight:700}label.required:after{content:" *";color:#e74c3c}.field-required-message{display:none;color:#e74c3c;font-size:12px;margin-top:5px}.invalid-field~.field-required-message{display:block}.progress-container{margin:20px 0;padding:15px 0}.progress-indicator{display:flex;justify-content:center;align-items:center;margin-bottom:15px;flex-wrap:wrap}.step-container{display:flex;align-items:center;margin:0 2px}.step{width:30px;height:30px;border-radius:50%;background-color:#ddd;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;position:relative;z-index:2;transition:all .3s ease}.step.active{background-color:#3498db;color:#fff;box-shadow:0 0 0 3px #3498db4d;transform:scale(1.2)}.step.completed{background-color:#2ecc71;color:#fff}.step-connector{height:2px;width:20px;background-color:#ddd}.step-title{text-align:center;font-weight:500;color:#3498db;font-size:16px;margin-top:10px;padding:5px 10px;background-color:#f0f7fc;border-radius:4px;display:inline-block;margin-left:auto;margin-right:auto;width:auto;position:relative;left:50%;transform:translate(-50%)}@media(max-width:768px){.progress-indicator{overflow-x:auto;justify-content:flex-start;padding-bottom:10px}.step{width:25px;height:25px;font-size:12px}.step-connector{width:15px}}@media(max-width:480px){.progress-container{margin:10px 0;padding:10px 0}.step{width:22px;height:22px;font-size:11px}.step-connector{width:10px}.step-title{font-size:14px}}.date-field-container{display:flex;align-items:center;position:relative;width:100%;gap:10px;margin-top:5px}.date-field-container .text-field{flex:1;margin-bottom:0}.date-input-field{margin-bottom:0;padding-bottom:0}.date-input{margin-top:0!important;height:40px;padding:10px;box-sizing:border-box}.date-label{font-weight:500;margin-bottom:5px;display:block;color:#333}.calendar-button{background-color:#3498db;color:#fff;border:none;border-radius:4px;padding:8px 12px;cursor:pointer;height:40px;min-width:40px;display:flex;align-items:center;justify-content:center;transition:background-color .3s;align-self:flex-start}.calendar-button:hover{background-color:#2980b9}.calendar-button span{font-size:18px}@media(max-width:768px){.calendar-button{padding:6px 8px;margin-left:5px}.calendar-button span{font-size:16px}}.autocomplete-container{position:relative;width:100%;margin-bottom:20px}.autocomplete-input{width:100%;padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px;box-sizing:border-box;height:40px;transition:border-color .3s,box-shadow .3s}.autocomplete-container label{position:absolute;top:-20px;left:0;font-size:14px;color:#333;transition:all .3s ease}.autocomplete-input:focus{border-color:#3498db;outline:none;box-shadow:0 0 5px #3498db80}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background-color:#fff;border:1px solid #ccc;border-top:none;border-radius:0 0 4px 4px;z-index:10;box-shadow:0 4px 8px #0000001a}.autocomplete-item{padding:10px;cursor:pointer}.autocomplete-item:hover,.autocomplete-item.highlighted{background-color:#f0f7fc}.autocomplete-item.selected{background-color:#e1f0fa;font-weight:500}.autocomplete-no-results{padding:10px;color:#999;font-style:italic}.highlight{font-weight:700;color:#3498db;background-color:#3498db1a;border-radius:2px}@media(max-width:768px){.autocomplete-dropdown{max-height:150px}.autocomplete-item{padding:8px}}.registros-grid{display:flex;flex-direction:column;gap:15px}.registro-card{display:flex;align-items:center;gap:15px;padding:15px;background:#f8f9fa;border-radius:8px;border-left:4px solid #3498db}.registro-card.completado{border-left-color:#27ae60;background:#f0fff4}.registro-card.borrador{border-left-color:#f39c12;background:#fffbf0}.registro-icono{font-size:2rem}.registro-info{flex:1;display:flex;flex-direction:column;gap:4px}.registro-info strong{color:#2c3e50;font-size:1rem}.registro-info span{color:#666;font-size:.9rem}.registro-estado{color:#27ae60!important;font-weight:500}.registro-estado.estado-borrador{color:#f39c12!important}.registro-estado.estado-vencido{color:#e53e3e!important;font-weight:600}.registro-card.vencido{border-left-color:#e53e3e;background:#fff5f5}.registro-acciones{display:flex;gap:10px;flex-wrap:wrap}.btn-editar{padding:8px 16px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.btn-editar:hover{background:#2980b9}.badge-borrador{display:inline-block;padding:2px 8px;background:#f39c12;color:#fff;border-radius:12px;font-size:.75rem;font-weight:500;margin-top:4px}.formulario-card.borrador{background:#fffbf0;border-left-color:#f39c12}.registro-fecha{font-size:.75rem;color:#718096;font-style:italic}.btn-ver{padding:8px 16px!important;font-size:.85rem!important;background:#3498db!important}.btn-ver:hover{background:#2980b9!important}.docs-dropdown-container{position:relative;display:inline-block}.btn-docs{padding:8px 14px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s;display:flex;align-items:center;gap:4px}.btn-docs:hover{background:#2980b9}.docs-dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;min-width:180px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e2e8f0;margin-top:4px;overflow:hidden}.docs-dropdown-menu button{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;font-size:.9rem;color:#2c3e50;text-align:left;transition:background .2s}.docs-dropdown-menu button:hover{background:#f0f9ff;color:#2563eb}.docs-dropdown-menu button:not(:last-child){border-bottom:1px solid #f1f5f9}.btn-dni{padding:8px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.btn-dni:hover{background:#2980b9}.btn-doc{padding:8px 12px;background:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s;margin-right:5px}.btn-doc:hover{background:#2980b9}.formularios-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.formulario-card{display:flex;align-items:flex-start;gap:15px;padding:20px;background:#fff;border-radius:8px;border-left:4px solid #3498db;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000000d}.formulario-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.formulario-card.registrado{opacity:.7}.formulario-icono{font-size:2.5rem}.formulario-contenido{flex:1}.formulario-contenido h4{margin:0 0 5px;color:#2c3e50;font-size:1.1rem}.formulario-contenido p{margin:0;color:#666;font-size:.85rem;line-height:1.4}.badge-registrado{display:inline-block;margin-top:8px;padding:2px 8px;background:#27ae60;color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.admin-panel{background:linear-gradient(135deg,#f8f4ff,#f0e6ff)!important;border:1px solid #d4c4e8}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 15px;background:#fff;border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid #e0d4f0}.admin-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #805ad526;border-color:#9f7aea}.admin-icono{font-size:1.8rem}.admin-card span:last-child{font-size:.9rem;color:#553c9a;font-weight:500}@media(max-width:768px){.formularios-grid{grid-template-columns:1fr}.admin-grid{grid-template-columns:repeat(2,1fr)}.registro-card{flex-direction:column;text-align:center}.registro-info{align-items:center}}@media(max-width:480px){.admin-grid{grid-template-columns:1fr}}.registro-header{display:flex;align-items:center;gap:15px;padding:20px;background:linear-gradient(135deg,#2b6cb0,#1a365d);border-radius:10px;margin-bottom:20px;color:#fff}.registro-header-icono{font-size:2.5rem}.registro-contenido{padding:25px}.seccion-registro{margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.seccion-registro:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.seccion-registro h4{color:#3498db;font-size:1.1rem;margin:0 0 15px;padding-bottom:8px;border-bottom:2px solid #3498db;display:inline-block}.campos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.campo-registro{display:flex;flex-direction:column;gap:4px;padding:10px;background:#f8f9fa;border-radius:6px;border-left:3px solid #e2e8f0}.campo-label{font-size:.8rem;color:#666;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.campo-valor{font-size:.95rem;color:#2c3e50;font-weight:500}@media(max-width:768px){.campos-grid{grid-template-columns:1fr}.registro-header{flex-direction:column;text-align:center}}.badge-desarrollo{display:inline-block;padding:4px 12px;background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-left:10px;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.badge-en-desarrollo{display:inline-block;margin-top:8px;padding:3px 10px;background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}.formulario-card.en-desarrollo{background:linear-gradient(135deg,#f8f9fa,#ecf0f1);opacity:.85;position:relative;overflow:hidden}.formulario-card.en-desarrollo:before{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 40px 40px 0;border-color:transparent #f39c12 transparent transparent}.formulario-card.en-desarrollo:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014;opacity:.95}.formulario-card.en-desarrollo .formulario-contenido h4{color:#5a6268}.formulario-card.en-desarrollo .formulario-contenido p{color:#7f8c8d}.block-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:15px}.block-header h3{margin:0}.formulario-card.parcial-desarrollo{position:relative;overflow:hidden}.formulario-card.parcial-desarrollo:after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-style:solid;border-width:0 30px 30px 0;border-color:transparent #3498db transparent transparent}.badge-parcial-desarrollo{display:inline-block;margin-top:8px;padding:3px 10px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border-radius:4px;font-size:.75rem;font-weight:500}
