body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-white:#fff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-400:#9ca3af;--color-gray-600:#4b5563;--color-gray-900:#111827;--color-black:#000}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.App,body{background:#fff}.App{color:#000;min-height:100vh}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{background:#fff;box-shadow:4px 0 20px #00000040,8px 0 40px #0000001a,0 8px 20px #0003;display:flex;flex-direction:column;width:280px}.sidebar-header{background:#fff;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200);box-shadow:8px 0 10px -8px #0003;padding:12px;position:relative;z-index:10}.sidebar-header h2{color:#111827;font-size:16px;font-weight:700;letter-spacing:.5px;margin:0}.sidebar-proyecto-selector{position:relative}.sidebar-proyecto-btn{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;text-align:left;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;width:100%}.sidebar-proyecto-btn:hover{background:#f3f4f6;background:var(--color-gray-100);border-color:#9ca3af;border-color:var(--color-gray-400);box-shadow:0 2px 8px #00000014}.sidebar-proyecto-btn:hover .sidebar-project-name{color:#111827;color:var(--color-gray-900)}.sidebar-proyecto-btn:active{background:#e5e7eb;background:var(--color-gray-200);box-shadow:none}.sidebar-proyecto-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 16px #0000001f;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + 6px);z-index:1000}.sidebar-proyecto-opcion{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:10px 14px;text-align:left;transition:background .15s;width:100%}.sidebar-proyecto-opcion:hover{background:#f9fafb}.sidebar-proyecto-opcion.activo{background:#111827;background:var(--color-gray-900);border-left:3px solid #111827;border-left:3px solid var(--color-gray-900);box-shadow:inset 0 0 0 1px #00000026;color:#fff;color:var(--color-white);font-weight:700}.sidebar-proyecto-opcion-icono{flex-shrink:0;font-size:10px;width:14px}.sidebar-proyecto-dropdown-separator{background:#e5e7eb;height:1px;margin:4px 0}.sidebar-proyecto-opcion.vista-global{color:#111827;font-weight:600}.sidebar-proyecto-opcion.vista-global:hover{background:#f9fafb}.sidebar-proyecto-opcion.nuevo-proyecto{color:#111827;color:var(--color-gray-900);font-weight:600}.sidebar-proyecto-opcion.nuevo-proyecto:hover{background:#f3f4f6;background:var(--color-gray-100)}.tabs-navigation{flex:1 1;flex-direction:column;gap:.75rem;overflow-y:auto;padding:1.5rem 0}.sidebar-bottom-buttons,.tabs-navigation{box-shadow:0 0 10px #0003;display:flex;position:relative;z-index:1}.sidebar-bottom-buttons{flex-direction:column;gap:.5rem;margin-top:auto;padding:1rem 0}.sidebar-bottom-buttons .tab-button:hover{background:#111827;color:#fff}.sidebar-bottom-buttons .tab-button.active{background:#111827;box-shadow:0 4px 12px #1f3a5a59;color:#fff}.tab-button{background:#fff;border:none;border-radius:0;box-shadow:none;color:#000;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;transition:all .3s ease}.tab-button:hover{background:#f3f4f6;background:var(--color-gray-100);box-shadow:0 4px 14px #00000059;color:#111827;color:var(--color-gray-900);transform:translateX(4px)}.tab-button.active{background:#111827;background:var(--color-gray-900);box-shadow:0 4px 12px #00000059;color:#fff;color:var(--color-white)}.sidebar-app-separator{align-items:center;display:flex;gap:10px;margin:12px 0 8px;padding:0 4px}.sidebar-app-separator-line{background:#1a1a1a;border-radius:1px;flex:1 1;height:2px}.sidebar-app-separator-label{color:#4b5563;color:var(--color-gray-600);font-size:12px;font-weight:800;letter-spacing:2px;text-transform:uppercase;white-space:nowrap}.sidebar-app-subseparator{margin:8px 0 4px 12px;padding:0 4px}.sidebar-app-subseparator-label{color:#4b5563;color:var(--color-gray-600);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}.tab-button-sub{padding-left:1rem}.sidebar-modulo-selector{display:flex;flex-direction:column;gap:10px;padding:16px 0}.sidebar-modulo-titulo{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;margin:0 0 4px;text-align:center;text-transform:uppercase}.sidebar-modulo-btn{align-items:center;border:none;border-radius:0;box-shadow:none;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:10px;line-height:1.3;padding:14px;text-align:left;transition:all .2s ease;width:100%}.sidebar-modulo-btn:hover{box-shadow:0 4px 14px #00000059;transform:translateX(2px)}.sidebar-modulo-btn-label{flex:1 1}.sidebar-modulo-btn-proyecto{background:#fff;color:#374151}.sidebar-modulo-btn-proyecto:hover{background:#f9fafb}.sidebar-modulo-btn-gestracoo{background:#fff;color:#374151}.sidebar-modulo-btn-gestracoo:hover{background:#f9fafb}.sidebar-modulo-btn-recepcion{background:#fff;color:#374151}.sidebar-modulo-btn-recepcion:hover{background:#f9fafb}.sidebar-modulo-btn-calidad{background:#fff;color:#374151}.sidebar-modulo-btn-calidad:hover{background:#f9fafb}.sidebar-modulo-btn-programa{background:#fff;color:#374151}.sidebar-modulo-btn-programa:hover{background:#f9fafb}.sidebar-modulo-volver{background:#0000;border:none;color:#9ca3af;cursor:pointer;display:block;font-size:11px;font-weight:600;margin-bottom:4px;padding:6px 12px;text-align:left;transition:color .15s ease;width:100%}.sidebar-modulo-volver:hover{color:#6b7280}.recepcion-tab-button{border-left:3px solid #111827!important;border-left:3px solid var(--color-gray-900)!important}.recepcion-tab-button:hover{background:#f3f4f6!important;background:var(--color-gray-100)!important;color:#111827!important;color:var(--color-gray-900)!important}.recepcion-tab-button.active{background:#111827!important;background:var(--color-gray-900)!important;border-left:3px solid #111827!important;border-left:3px solid var(--color-gray-900)!important;box-shadow:0 4px 12px #0000004d!important;color:#fff!important}.main-content{background:#fff;flex:1 1;overflow-y:auto;padding:2rem}.main-header{margin-bottom:2rem}.hero{background:#0000;border-radius:0;box-shadow:none;margin-bottom:1rem;padding:0;position:relative;text-align:right}.hero-title{color:#fff;font-size:2rem;font-weight:800;letter-spacing:.5px;margin:0 0 .5rem}.hero-subtitle{color:#fff;font-size:1rem;font-weight:300;margin:0}.tab-content{animation:fadeIn .3s ease}.config-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin:0 24px 16px;padding:20px 24px}.config-section h2{color:#111827;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.config-inputs{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.config-inputs div{display:flex;flex-direction:column}.config-inputs label{color:#374151;font-size:11px;font-weight:700;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.config-inputs input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1a1a1a;font-size:13px;font-weight:600;padding:8px 10px;transition:all .2s ease}.config-inputs input:focus{border-color:#9ca3af;border-color:var(--color-gray-400);box-shadow:0 0 0 3px #0000000f;outline:none}.tasks-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin:0 24px 16px;padding:20px 24px}.tasks-section h2{color:#111827;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 16px;text-transform:uppercase}.task-form{grid-gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px;padding:16px}.date-input,.made-by-select,.task-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1a1a1a;font-size:13px;padding:8px 10px;transition:all .2s ease}.date-input:focus,.made-by-select:focus,.task-input:focus{border-color:#9ca3af;border-color:var(--color-gray-400);box-shadow:0 0 0 3px #0000000f;outline:none}.made-by-select option{background:#fff;color:#000}.add-button{background:#fff;background:var(--color-white);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:6px;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.3px;padding:8px 16px;text-transform:uppercase;transition:all .2s ease}.add-button,.add-button:hover{color:#111827;color:var(--color-gray-900)}.add-button:hover{background:#f3f4f6;background:var(--color-gray-100)}.table-wrapper{border-radius:8px;margin:0 24px 16px;max-height:calc(100vh - 280px);overflow-x:auto;overflow-y:auto;position:relative}.completed-table,.tasks-table{background:#fff;border-collapse:collapse;border-top:1px solid #e5e7eb;color:#1a1a1a;font-family:Arial,sans-serif;font-size:13px;width:100%}.completed-table tbody tr,.tasks-table tbody tr{transition:background .2s ease}.completed-table tbody tr:nth-child(2n),.tasks-table tbody tr:nth-child(2n){background:#fff}.completed-table tbody tr:nth-child(odd),.tasks-table tbody tr:nth-child(odd){background:#fafafa}.completed-table tbody tr:hover,.tasks-table tbody tr:hover{background-color:#f9fafb}.tasks-table thead tr{background:#f9fafb}.completed-table th,.tasks-table th{background:#f9fafb;border:none;border-bottom:2px solid #e5e7eb;color:#374151;font-size:11px;font-weight:600;letter-spacing:.3px;padding:10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.completed-table td,.tasks-table td{border-bottom:1px solid #eee;color:#1a1a1a;font-size:12.5px;padding:9px 10px;text-align:left}.made-by-cell,.specialty-cell,.task-name{color:#1a1a1a!important;font-weight:600;text-align:left}.task-name,.task-name strong{color:#1a1a1a!important;font-weight:700!important}.process-date{color:#1a1a1a;font-weight:600;min-width:90px;text-align:center!important;vertical-align:middle;white-space:nowrap}.completed-process{text-align:center!important;vertical-align:middle!important}.process-critical{background-color:#fef2f2!important;color:#dc2626!important}.process-urgent{background-color:#fff7ed!important;color:#ea580c!important}.process-warning{background-color:#fefce8!important;color:#ca8a04!important}.process-good{background-color:#f0fdf4!important;color:#16a34a!important}.due-date{background:#fbbf2426!important;color:#000!important;font-weight:700;text-align:center!important;vertical-align:middle}.made-by-cell,.specialty-cell{background-color:#fff!important;color:#1a1a1a!important;font-weight:600}.section-row{background:#f9fafb}.section-header{background:#e5e7eb!important;border:none!important;color:#111827!important;font-size:12px;font-weight:700;letter-spacing:.5px;padding:8px!important;text-align:left!important;text-transform:uppercase}.priority-critical{background-color:#fee2e2!important;border-left:4px solid #dc2626}.priority-critical td{color:#7f1d1d;font-weight:600}.priority-high{background-color:#fef3c7!important;border-left:4px solid #f59e0b}.priority-high td{color:#78350f;font-weight:500}.priority-medium{background-color:#f3f4f6!important;border-left:4px solid #374151}.priority-low{background-color:#f0fdf4!important;border-left:4px solid #10b981}.delete-button{background:#fef2f2;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;margin-left:2px;padding:4px 10px;text-transform:uppercase;transition:all .2s ease}.delete-button:hover{background:#fecaca;color:#991b1b}.complete-button{background:#f0fdf4;border:none;border-radius:4px;color:#16a34a;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;margin-right:2px;padding:4px 10px;text-transform:uppercase;transition:all .2s ease}.complete-button:hover{background:#dcfce7;color:#15803d}.restore-button{background:#fef3c7;border:none;border-radius:4px;color:#a16207;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase;transition:all .2s ease}.restore-button:hover{background:#fde68a;color:#92400e}.progress-section-v2{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.config-page-title{color:#111827;font-size:24px;font-weight:700;margin:0}.progress-header-bar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:10px 24px}.progress-badge{border-radius:3px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.progress-header-date{color:#6b7280;font-size:12px}.progress-cards-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);padding:20px 24px}.progress-stat-card{align-items:center;background:#fff;border:none;border-radius:10px;box-shadow:0 2px 8px #00000014;display:flex;gap:12px;padding:16px;transition:box-shadow .2s ease}.progress-stat-card:hover{box-shadow:0 6px 16px #0000001f}.progress-stat-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.progress-stat-info{display:flex;flex-direction:column;gap:2px}.progress-stat-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.progress-stat-number{color:#1a1a1a;font-size:28px;font-weight:800;line-height:1}.progress-table-section{padding:0 24px 24px}.btn-action{border:none;border-radius:4px;cursor:pointer;font-size:11px;font-weight:700;letter-spacing:.3px;padding:4px 10px;text-transform:uppercase;transition:all .2s ease;white-space:nowrap}.btn-restore{background:#fef3c7;color:#a16207}.btn-restore:hover{background:#fde68a;color:#92400e}.btn-delete{background:#fef2f2;color:#dc2626}.btn-delete:hover{background:#fecaca;color:#991b1b}@media (max-width:1024px){.progress-cards-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.progress-cards-row{grid-template-columns:1fr}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{border-radius:4px}::-webkit-scrollbar-thumb,::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#374151,#374151)}@media (max-width:1024px){.sidebar{width:240px}.main-content{padding:1.5rem}.completed-table,.tasks-table{font-size:12px}.completed-table th,.tasks-table th{font-size:10px;padding:8px 6px}.completed-table td,.tasks-table td{font-size:11.5px;padding:7px 6px}}@media (max-width:768px){.app-container{flex-direction:column;height:auto}.sidebar{align-items:center;border-bottom:2px solid #374151;border-right:none;flex-direction:row;justify-content:space-between;max-height:auto;padding:1rem;width:100%}.sidebar-header{background:#0000;border:none;margin-right:2rem;padding:0}.tabs-navigation{flex-direction:row;gap:.5rem;padding:0}.tab-button{font-size:.85rem;padding:.75rem 1rem}.main-content{flex:1 1;overflow-y:auto;padding:1rem}.hero{margin-bottom:1rem;padding:1.5rem}.hero-title{font-size:1.5rem}.hero-subtitle{font-size:.9rem}.config-inputs,.progress-cards-row,.progress-stats,.task-form{grid-template-columns:1fr}.completed-table,.tasks-table{font-size:11px}.completed-table th,.tasks-table th{font-size:9px;padding:6px 4px}.completed-table td,.tasks-table td{font-size:10.5px;padding:6px 4px}.complete-button,.delete-button{font-size:.65rem;padding:.3rem .5rem}}.modal-overlay{align-items:flex-start;background:#0000;justify-content:flex-start;pointer-events:none}.modal-content{background:#fff;border:none;border-radius:0;box-shadow:2px 0 20px #00000026;height:100vh;margin:0;overflow-y:auto;pointer-events:all;width:650px}.modal-header{align-items:center;background:linear-gradient(135deg,#111827,#2d4a6d);border-bottom:none;border-radius:0;padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}.modal-header h3{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.8px;margin:0;text-transform:uppercase}.modal-close{align-items:center;background:#ffffff26;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:1rem;height:24px;justify-content:center;transition:all .2s ease;width:24px}.modal-close:hover{background:#ffffff4d;transform:rotate(90deg)}.modal-body{background:#fff;padding:.875rem}.modal-section{background:#fff;border:none;border-radius:4px;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;margin-bottom:.75rem;padding:.625rem}.modal-section h4{color:#111827;font-size:.7rem;font-weight:700;letter-spacing:.5px;margin:0 0 .5rem;text-transform:uppercase}.modal-section p{color:#374151;font-size:.7rem;line-height:1.3;margin:.25rem 0}.modal-section p strong{color:#000;font-weight:600}.file-input{background:#fff;border:2px dashed #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:.65rem;padding:.5rem .625rem;transition:all .2s ease;width:100%}.file-input:hover{background:#f9fafb;background:var(--color-gray-50);border-color:#9ca3af;border-color:var(--color-gray-400)}.file-input::-webkit-file-upload-button{background:#111827;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.65rem;font-weight:600;margin-right:6px;padding:.3rem .625rem;-webkit-transition:all .2s ease;transition:all .2s ease}.file-input::file-selector-button{background:#111827;border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.65rem;font-weight:600;margin-right:6px;padding:.3rem .625rem;transition:all .2s ease}.file-input::-webkit-file-upload-button:hover{background:#2d4a6d;box-shadow:0 2px 6px #1f3a5a40;transform:translateY(-1px)}.file-input::file-selector-button:hover{background:#2d4a6d;box-shadow:0 2px 6px #1f3a5a40;transform:translateY(-1px)}.file-info{color:#6b7280!important;font-size:.8rem!important;margin-top:.5rem!important}.files-list{background:#f9fafb;border:none;border-radius:4px;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;margin-top:.5rem;padding:.625rem}.files-list h5{color:#111827;font-size:.65rem;font-weight:700;letter-spacing:.5px;margin:0 0 .375rem;text-transform:uppercase}.files-list ul{list-style:none;margin:0;padding:0}.file-item{align-items:center;background:#fff;border:none;border-radius:4px;box-shadow:0 2px 6px #0000001a,0 1px 3px #0000000f;display:flex;justify-content:space-between;margin-bottom:.3rem;padding:.5rem .625rem;transition:all .2s ease}.file-item:hover{box-shadow:0 4px 12px #00000026,0 2px 6px #f28c2833;transform:translateY(-1px)}.file-item span{color:#374151;flex:1 1;font-size:.65rem;font-weight:500;word-break:break-all}.file-actions{display:flex;flex-shrink:0;gap:.3rem;margin-left:.375rem}.file-download-btn,.file-open-btn{align-items:center;background:#111827;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:.65rem;height:22px;justify-content:center;transition:all .2s ease;width:22px}.file-open-btn:hover{background:#2d4a6d;box-shadow:0 4px 8px #1f3a5a40;transform:translateY(-2px)}.file-download-btn:hover{background:#10b981;box-shadow:0 4px 8px #10b98140;transform:translateY(-2px)}.file-remove-btn{align-items:center;background:#ef4444;border:none;border-radius:3px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;height:22px;justify-content:center;transition:all .2s ease;width:22px}.file-remove-btn:hover{background:#dc2626;transform:scale(1.1)}.comments-chat{background:#f9fafb;border:none;border-radius:8px;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014;margin-bottom:1rem;max-height:320px;overflow-y:auto;padding:1rem}.chat-message{background:#fff;border-left:3px solid #9ca3af;border-left:3px solid var(--color-gray-400);border-radius:8px;box-shadow:0 2px 6px #0000001a,0 1px 3px #0000000f;margin-bottom:.75rem;padding:.875rem 1rem;transition:all .2s ease}.chat-message:hover{box-shadow:0 3px 10px #00000026,0 2px 4px #00000014}.chat-message:last-child{margin-bottom:0}.message-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.message-time{color:#6b7280;font-size:.75rem;font-weight:600}.message-delete-btn{align-items:center;background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;height:22px;justify-content:center;padding:0;transition:all .2s ease;width:22px}.message-delete-btn:hover{background:#dc2626;box-shadow:0 2px 6px #ef44444d;transform:translateY(-1px)}.message-text{color:#374151;font-size:.9rem;line-height:1.4;margin:0;word-break:break-word}.comment-input-section{display:flex;flex-direction:column;gap:.75rem}.btn-add-comment{background:#111827;border:none;border-radius:4px;box-shadow:0 2px 8px #1f3a5a33;color:#fff;cursor:pointer;font-size:.65rem;font-weight:600;letter-spacing:.5px;padding:.4rem .875rem;text-transform:uppercase;transition:all .2s ease}.btn-add-comment:hover:not(:disabled){background:#2d4a6d;box-shadow:0 4px 12px #1f3a5a4d;transform:translateY(-2px)}.btn-add-comment:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;opacity:.6}.comment-textarea{background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#000;font-family:inherit;font-size:.65rem;min-height:50px;padding:.5rem .625rem;resize:vertical;transition:all .2s ease;width:100%}.comment-textarea::placeholder{color:#9ca3af}.comment-textarea:focus{background:#fff;border-color:#9ca3af;border-color:var(--color-gray-400);box-shadow:0 0 0 3px #0000000f;outline:none}.modal-footer{background:#f9fafb;border-radius:0;border-top:1px solid #e5e7eb;gap:.5rem;padding:.75rem .875rem}.btn-cancel{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.8px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease}.btn-cancel:hover{background:#f3f4f6;border-color:#9ca3af;box-shadow:0 2px 8px #0000001a;transform:translateY(-2px)}.btn-save{background:#10b981;border:none;border-radius:8px;box-shadow:0 2px 8px #10b98133;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.8px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease}.btn-save:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b9814d;transform:translateY(-2px)}.btn-save:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed;opacity:.6}.btn-revert{align-items:center;background:#ef4444;border:none;border-radius:8px;box-shadow:0 2px 8px #ef444433;color:#fff;cursor:pointer;display:flex;font-size:.85rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.8px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease}.btn-revert:hover:not(:disabled){background:#dc2626;box-shadow:0 4px 12px #ef44444d;transform:translateY(-2px)}.btn-revert:disabled{background:#fca5a5;cursor:not-allowed;opacity:.6;transform:none}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f3f4f6;border-radius:0 16px 16px 0}.modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.comments-chat::-webkit-scrollbar{width:6px}.comments-chat::-webkit-scrollbar-track{background:#f3f4f6;border-radius:8px}.comments-chat::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.comments-chat::-webkit-scrollbar-thumb:hover{background:#9ca3af}.checkbox-label{align-items:center;background:#f9fafb;background:var(--color-gray-50);border:none;border-radius:8px;box-shadow:0 2px 6px #0000001a,0 1px 3px #0000000f;padding:.875rem 1rem;transition:all .2s ease}.checkbox-label:hover{background:#f3f4f6;background:var(--color-gray-100);box-shadow:0 3px 10px #00000026,0 2px 4px #0000001a}.checkbox-label input[type=checkbox]{accent-color:#111827;accent-color:var(--color-gray-900);height:18px;margin-right:12px;width:18px}.checkbox-label span{color:#111827;color:var(--color-gray-900);font-size:.9rem;font-weight:600}.completed-section{background:linear-gradient(135deg,#334155,#1e293b);border:1px solid #475569;border-radius:12px;box-shadow:0 4px 12px #0000004d;margin:2rem auto 3rem;max-width:1400px;padding:2rem;width:100%}.completed-section h2{color:#e2e8f0;font-size:1.5rem;letter-spacing:1px;margin-bottom:1.5rem;margin-top:0;text-transform:uppercase}.completed-row{background:linear-gradient(135deg,#f0fdf4,#dcfce7)}.completed-date{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);color:#374151;font-weight:700}.critical-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;padding:0}.critical-header-bar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:10px 24px}.critical-badge-orange{background:#111827;background:var(--color-gray-900);border-radius:3px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.critical-date{color:#6b7280;font-size:12px}.critical-title-row{align-items:center;display:flex;gap:8px;padding:16px 24px 8px}.critical-square{font-size:18px;line-height:1}.critical-title-text{color:#1a1a1a;font-size:16px;font-weight:700}.critical-count-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px}.critical-table-email{border-collapse:collapse;border-top:1px solid #e5e7eb;color:#1a1a1a;font-family:Arial,sans-serif;font-size:13px;width:100%}.critical-table-email thead tr{background:#111827}.critical-table-email th{border:none;color:#fff;font-size:11px;font-weight:600;letter-spacing:.3px;padding:10px;text-align:left;text-transform:uppercase;white-space:nowrap}.critical-table-email td{border-bottom:1px solid #eee;font-size:12.5px;padding:9px 10px;text-align:left}.critical-table-email tbody tr{transition:background .2s ease}.critical-table-email tbody tr.row-even{background:#fff}.critical-table-email tbody tr.row-odd{background:#fafafa}.critical-table-email tbody tr:hover{background:#f0f4ff}.critical-table-email .cell-name{word-wrap:break-word;font-weight:600;max-width:280px}.critical-table-email .cell-process{color:#374151;font-weight:600}.status-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 8px;white-space:nowrap}@media (max-width:1024px){.task-form{grid-template-columns:repeat(2,1fr)}.table-wrapper{font-size:12px}.tasks-table td,.tasks-table th{padding:8px 6px}}@media (max-width:768px){.hero-title{font-size:1.8rem}.task-form{grid-template-columns:1fr}}.team-actions-row{display:flex;flex-wrap:wrap;gap:10px;padding:0 24px 16px}.team-action-btn{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;flex:1 1;font-size:13px;font-weight:700;min-width:160px;padding:10px 20px;text-align:center;transition:all .2s ease}.team-action-btn:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);opacity:1}.team-action-btn.amber,.team-action-btn.blue,.team-action-btn.purple{background:#fff;background:var(--color-white,#fff)}.team-action-btn.green{background:#16a34a;border-color:#16a34a;color:#fff}.team-action-btn.green:hover{background:#15803d;border-color:#15803d}.team-action-btn.active-red{background:#111827;background:var(--color-gray-900,#111827);color:#fff;color:var(--color-white,#fff)}.team-form-container-v2{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin:0 24px 16px;padding:20px 24px}.team-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.team-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1a1a1a;flex:1 1;font-size:13px;min-width:180px;padding:10px 12px;transition:all .2s ease}.team-input:focus{border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.team-members-container{padding:0 24px 16px}.team-empty-state{background:#fafafa;border:1px dashed #e5e7eb;border-radius:8px;margin-top:12px;padding:48px 24px;text-align:center}.team-empty-state h3{color:#374151;font-size:15px;font-weight:700;margin:0 0 6px}.team-empty-state p{color:#6b7280;font-size:13px;margin:0}.member-avatar-table{align-items:center;border-radius:50%;box-shadow:0 1px 4px #00000026;color:#fff;display:inline-flex;font-size:15px;font-weight:700;height:38px;justify-content:center;width:38px}.team-notif-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000000a;margin:0 24px 16px;padding:20px 24px}.team-notif-desc{color:#6b7280;font-size:13px;margin:0 0 12px}.team-notif-config-form{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.team-notif-schedule-card{background:#f9fafb;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200);border-radius:8px;margin-bottom:16px;padding:16px;text-align:center}.team-notif-toggle{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .2s ease}.team-notif-toggle:hover{border-color:#10b981}.team-notif-info-box{border-radius:6px;font-size:12px;padding:12px 16px}.team-notif-info-box.green{background:#f0fdf4;border-left:3px solid #16a34a}.team-notif-status-panel{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;padding:16px}.proyecto-field-label{color:#374151;display:block;font-size:12px;font-weight:700;letter-spacing:.2px;margin-bottom:6px}.proyecto-field-hint{color:#6b7280;display:block;font-size:11px;margin-top:4px}.proyecto-resumen-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000000a;margin-top:10px;overflow:hidden}.proyecto-resumen-row{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;padding:12px 20px}.proyecto-resumen-row:last-child{border-bottom:none}.proyecto-resumen-label{color:#6b7280;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;width:110px}.proyecto-resumen-value{color:#1a1a1a;flex:1 1;font-size:14px;font-weight:600}@media (max-width:768px){.team-actions-row{flex-direction:column;padding:0 16px 12px}.team-action-btn{min-width:100%}.team-form-container-v2,.team-notif-panel{margin:0 16px 12px}.team-members-container{padding:0 16px 12px}.team-form{flex-direction:column}.team-input{min-width:100%}.member-avatar-table{font-size:13px;height:32px;width:32px}}.filtros-panel-mejorado{background:#fff;border-radius:8px;box-shadow:none;margin-bottom:12px;overflow:hidden;padding:0}.filtros-header{background:#fff;box-shadow:0 1px 3px #0000000d;padding:10px 16px}.filtros-titulo{align-items:center;color:#111827;display:flex;font-size:14px;font-weight:600;gap:8px;letter-spacing:.3px;margin:0}.filtros-icono{font-size:16px}.filtros-grid{grid-gap:10px;background:#fff;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:14px 16px}.filtro-campo{display:flex;flex-direction:column;gap:4px}.filtro-label{color:#64748b;display:block;font-size:11px;letter-spacing:.3px;margin-bottom:0}.filtro-input{background:#f9fafb;border:none;border-radius:6px;box-shadow:0 1px 3px #00000014,inset 0 1px 2px #00000008;color:#1e293b;font-size:13px;padding:8px 10px;transition:all .2s ease;width:100%}.filtro-input:focus{background:#fff;box-shadow:0 2px 8px #f28c2826,0 1px 3px #0000001a,inset 0 1px 2px #f28c280d;outline:none}.filtro-input::placeholder{color:#9ca3af;font-size:12px}.filtro-select{-webkit-appearance:none;appearance:none;background:#f9fafb;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:none;border-radius:6px;box-shadow:0 1px 3px #00000014,inset 0 1px 2px #00000008;color:#1e293b;cursor:pointer;font-size:13px;padding:8px 28px 8px 10px;transition:all .2s ease;width:100%}.filtro-select:hover{background:#fff;box-shadow:0 2px 5px #0000001a,inset 0 1px 2px #00000008}.filtro-select:focus{background:#fff;box-shadow:0 2px 8px #f28c2826,0 1px 3px #0000001a,inset 0 1px 2px #f28c280d;outline:none}.filtro-campo-especial{align-items:flex-end;display:flex}.filtro-checkbox-label{align-items:center;background:#f9fafb;border:none;border-radius:6px;box-shadow:0 1px 3px #00000014,inset 0 1px 2px #00000008;color:#374151;cursor:pointer;display:flex;font-size:12px;font-weight:500;gap:6px;padding:8px 10px;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:100%}.filtro-checkbox-label:hover{background:#f3f4f6;background:var(--color-gray-100);box-shadow:0 2px 5px #00000014,inset 0 1px 2px #00000008}.filtro-checkbox{accent-color:#111827;accent-color:var(--color-gray-900);cursor:pointer;height:16px;width:16px}.filtro-checkbox-label:has(.filtro-checkbox:checked){background:#e5e7eb;background:var(--color-gray-200);box-shadow:0 2px 8px #00000026,inset 0 1px 2px #0000000f}.checkbox-texto,.filtro-btn-limpiar{font-size:12px;font-weight:500}.filtro-btn-limpiar{align-items:center;background:#f9fafb;border:none;border-radius:6px;box-shadow:0 1px 3px #00000014,inset 0 1px 2px #00000008;color:#64748b;cursor:pointer;display:flex;gap:6px;justify-content:center;padding:8px 12px;transition:all .2s ease;width:100%}.filtro-btn-limpiar:hover{background:#111827;box-shadow:0 3px 10px #1f3a5a4d,0 1px 3px #00000026;color:#fff;transform:translateY(-1px)}.filtro-btn-limpiar:active{transform:scale(.98)}.btn-icono{display:inline-block;font-size:14px}@media (max-width:1200px){.filtros-grid{gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}@media (max-width:768px){.filtros-grid{gap:8px;grid-template-columns:1fr 1fr;padding:12px}.filtros-titulo{font-size:13px}.filtros-header{padding:8px 12px}.filtro-campo-especial{grid-column:span 2}}.sidebar-project-icon{align-items:center;display:flex;gap:12px;margin-bottom:10px}.sidebar-icon-container{align-items:center;background:#111827;background:var(--color-gray-900);border:none;border-radius:8px;color:#fff;display:flex;font-size:18px;font-weight:800;height:40px;justify-content:center;letter-spacing:0;width:40px}.sidebar-project-info{flex:1 1;min-width:0}.sidebar-project-name{color:#111827;font-size:15px;font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-project-user{color:#64748b;font-size:12px;font-weight:500;margin:2px 0 0}.sidebar-project-manager{color:#111827;font-size:11px;font-weight:600;letter-spacing:.2px;margin:0;padding-left:52px}.admin-button-style{background:linear-gradient(135deg,gold,#ffed4e);border:2px solid gold;box-shadow:0 4px 12px #ffd7004d;color:#664d00;font-weight:700}.sidebar-logout-button{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:4px;padding:8px 16px;transition:background-color .2s;width:100%}.sidebar-logout-button:hover{background-color:#dc2626}.config-buttons-container{display:flex;gap:10px;padding:0 24px 12px}.section-header-position{position:relative}.section-name-edit-input{border:1px solid #374151;border-radius:4px;font-size:1.05rem;font-weight:700;padding:6px}.save-edit-button{margin-left:8px}.cancel-edit-button{margin-left:4px}.section-name-clickable{cursor:pointer;padding-right:28px}.delete-icon-button{background:none;border:none;border-radius:4px;color:#e63946;cursor:pointer;font-size:18px;padding:4px 8px;position:absolute;right:10px;top:50%;transform:translateY(-50%);transition:background-color .2s,transform .2s}.delete-icon-button:hover{background-color:#e639461a;transform:translateY(-50%) scale(1.1)}.dropdown-icon-container{cursor:pointer;padding-right:22px;position:relative}.dropdown-icon{color:#666;font-size:14px;position:absolute;right:0;top:50%;transform:translateY(-50%);transition:transform .3s ease;-webkit-user-select:none;user-select:none}.dropdown-icon.expanded{transform:translateY(-50%) rotate(180deg)}.material-item-full-width{display:inline-block;position:relative;width:100%}.material-delete-icon{background:none;border:none;border-radius:3px;color:#e63946;cursor:pointer;font-size:14px;padding:2px 6px;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:background-color .2s}.material-delete-icon:hover{background-color:#e639461a}.cell-cursor-pointer{cursor:pointer}.project-header-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.project-header-title{margin:0}.project-edit-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;transition:all .3s ease}.project-edit-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.project-form-field{margin-bottom:15px}.project-form-label{color:#1e293b;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.project-form-input{border:2px solid #e2e8f0;border-radius:8px;font-size:14px;padding:10px 12px;transition:border-color .2s;width:100%}.project-form-input:focus{border-color:#667eea;outline:none}.project-form-help-text{color:#6b7280;display:block;font-size:12px;margin-top:5px}.project-form-actions{display:flex;gap:10px;margin-top:20px}.project-save-button{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease}.project-save-button:hover{box-shadow:0 4px 12px #10b98166;transform:translateY(-2px)}.project-cancel-button{background:#e2e8f0;border:none;border-radius:8px;color:#475569;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .3s ease}.project-cancel-button:hover{background:#cbd5e1;transform:translateY(-2px)}.member-avatar-blue{background-color:#374151}.team-form-margin-top{margin-top:30px}.team-form-description{color:#666;font-size:14px;margin-bottom:15px}.team-success-message{background-color:#d1fae5;border-left:4px solid #10b981;border-radius:8px;margin-bottom:20px;padding:12px 16px}.team-success-title{color:#166534;font-size:14px;margin:0}.team-success-detail{color:#166534;font-size:12px;margin:5px 0 0}.section-list-container,.section-list-margin{margin-top:10px}.section-list-item{align-items:center;background:#f9f9f9;border:1px solid #ddd;border-radius:4px;display:flex;justify-content:space-between;margin-bottom:5px;padding:8px}.section-list-name{color:#000}.critical-section-margin{margin-top:3rem}.empty-state-cell{padding:2rem;text-align:center}.notifications-config-container{background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;box-shadow:0 8px 32px #0003;color:#fff;padding:2rem}.notifications-form-style{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:2rem}.notifications-schedule-card{background:#ffffff14;border:2px solid #fff3;border-radius:12px;margin-bottom:2rem;padding:1.5rem;text-align:center}.notifications-icon{font-size:2rem;margin-bottom:.5rem}.notifications-day{color:#fff;font-size:1.2rem;font-weight:700;margin-bottom:.25rem}.notifications-time{color:#cbd5e1;font-size:.9rem}.notifications-timezone{color:#94a3b8;font-size:.85rem;margin-top:.5rem}.notifications-field-container{margin-bottom:1.5rem}.notifications-label{color:#cbd5e1;display:block;font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.notifications-member-list{background:#0003;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;max-height:300px;overflow-y:auto;padding:.5rem}.notifications-checkbox-label{align-items:center;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;transition:all .2s}.notifications-checkbox-label:hover{background:#ffffff1a;border-color:#60a5fa80}.notifications-member-info{flex:1 1}.notifications-member-name{font-weight:600;margin-bottom:.25rem}.notifications-member-role{color:#94a3b8;font-size:.85rem}.spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-top-color:#111827}.process-ticket{align-items:center;animation:ticketAppear .6s cubic-bezier(.34,1.56,.64,1);color:#10b981;display:inline-flex;font-size:1.2rem;font-weight:700;justify-content:center;width:100%}@keyframes ticketAppear{0%{opacity:0;transform:scale(0) rotate(-180deg)}50%{transform:scale(1.3) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}.responsable-avatar-assigned{animation:avatarAssigned .5s cubic-bezier(.68,-.55,.265,1.55)}.responsable-avatar-empty{animation:avatarPulse 1.5s ease-in-out infinite}@keyframes avatarAssigned{0%{opacity:0;transform:scale(0) rotate(-90deg)}50%{transform:scale(1.15) rotate(5deg)}to{opacity:1;transform:scale(1) rotate(0deg)}}@keyframes avatarPulse{0%,to{box-shadow:0 2px 8px #0000001a;transform:scale(1)}50%{box-shadow:0 4px 12px #9ca3af66;transform:scale(1.05)}}.config-page .progress-section-v2{border:none}.config-page .critical-header-bar{border-bottom:none}.equipo-page .progress-section-v2{border:none;box-shadow:none}.equipo-page .critical-header-bar{border-bottom:none}.documentos-page .progress-section-v2{border:none;box-shadow:none}.documentos-page .progress-header-bar{border-bottom:none}.documentos-page-title,.equipo-page-title{color:#111827;font-size:24px;font-weight:700;margin:0}.matriz-materiales-page .progress-section-v2,.matriz-subcontrato-page .progress-section-v2{border:none;box-shadow:none}.matriz-materiales-page .critical-header-bar,.matriz-subcontrato-page .critical-header-bar{border-bottom:none}.matriz-materiales-page .table-wrapper,.matriz-subcontrato-page .table-wrapper{box-shadow:none}.matriz-page-title{color:#111827;font-size:24px;font-weight:700;margin:0}.config-card{border-radius:10px;box-shadow:0 2px 8px #00000014;margin:0 24px 20px;padding:24px}.config-card-title{color:#111827;font-size:15px;font-weight:700;margin:0 0 20px;padding-bottom:12px}.config-card-title-toggle{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:0;-webkit-user-select:none;user-select:none}.config-card-title-toggle.open{margin-bottom:20px}.config-card-chevron{color:#9ca3af;font-size:13px;transition:transform .2s ease}.config-card-title-toggle.open .config-card-chevron{transform:rotate(90deg)}.config-form-group{margin-bottom:18px}.config-label{color:#374151;display:block;font-size:13px;font-weight:600;margin-bottom:6px}.config-hint{color:#9ca3af;display:block;font-size:11px;margin-top:4px}.config-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;box-sizing:border-box;color:#1a1a1a;font-size:14px;outline:none;padding:10px 14px;transition:border-color .2s,box-shadow .2s;width:100%}.config-input:focus{border-color:#9ca3af;border-color:var(--color-gray-400);box-shadow:0 0 0 3px #0000000f}.config-input-disabled{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;cursor:not-allowed;font-size:14px;font-weight:600;padding:10px 14px;width:100%}.config-input-disabled.gray{background:#f3f4f6;color:#6b7280}.config-input-disabled.blue{background:#f3f4f6;color:#374151}.config-input-disabled.indigo{background:#e0e7ff;color:#4338ca}.config-input-disabled.amber{background:#fef3c7;color:#92400e}.config-input-disabled.green{background:#d1fae5;color:#065f46}.config-password-box{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:8px;padding:16px}.config-password-label{color:#111827;display:block;font-size:13px;font-weight:700;margin-bottom:2px}.config-password-sublabel{color:#9ca3af;font-size:11px}.config-password-display{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;margin-top:10px;padding:8px 14px}.config-password-text{color:#1a1a1a;flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.config-password-text.hidden{font-family:monospace;letter-spacing:3px;-webkit-user-select:none;user-select:none}.config-password-text.visible{font-family:Segoe UI,sans-serif;font-weight:500;letter-spacing:.5px;-webkit-user-select:text;user-select:text}.config-password-toggle{align-items:center;background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:5px;justify-content:center;min-width:90px;padding:6px 14px;transition:all .2s ease}.config-password-toggle.active{background:#111827;background:var(--color-gray-900)}.config-password-toggle:hover{opacity:.9}.config-password-warning{align-items:center;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;color:#9a3412;display:flex;font-size:11px;gap:6px;margin-top:8px;padding:8px 12px}.config-security-tip{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:18px;padding:12px 16px}.config-security-tip p{color:#4b5563;color:var(--color-gray-600);font-size:12px;margin:0}.config-submit-btn{background:#111827;border:none;border-radius:8px;box-shadow:0 2px 6px #1e3a5f33;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 28px;transition:all .2s ease}.config-submit-btn:hover{background:#1f2937;box-shadow:0 4px 10px #1e3a5f4d;transform:translateY(-1px)}.config-submit-btn.orange{background:#111827;background:var(--color-gray-900);box-shadow:0 2px 6px #0003}.config-submit-btn.orange:hover{background:#1f2937;box-shadow:0 4px 10px #0000004d}.resumen-proyecto-contenedor{box-sizing:border-box;padding:28px 32px;width:100%}@media (max-width:768px){.resumen-proyecto-contenedor{padding:20px 16px}}.resumen-proyecto-header{margin-bottom:24px}.resumen-proyecto-titulo{color:#111827;font-size:22px;font-weight:700;margin:0 0 4px}.resumen-proyecto-subtitulo{color:#9ca3af;font-size:13px;margin:0}.resumen-proyecto-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}@media (max-width:1100px){.resumen-proyecto-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:680px){.resumen-proyecto-grid{grid-template-columns:1fr}}.resumen-card{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000014,0 4px 12px #0000000d;display:flex;flex-direction:column;gap:12px;padding:20px}.resumen-card-header{align-items:center;display:flex;justify-content:space-between}.resumen-card-badge{border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.8px;padding:3px 8px}.resumen-card-badge-azul,.resumen-card-badge-naranja{background:#0000;color:#111827;padding:3px 0}.resumen-card-badge-azul{color:var(--color-gray-900)}.resumen-card-pct{font-size:22px;font-weight:800}.resumen-card-kpis{display:flex;flex-direction:column}.resumen-card-btn{background:#fff;border:none;border-radius:8px;box-shadow:0 0 8px #0000001f;color:#374151;cursor:pointer;font-size:12px;font-weight:600;margin-top:auto;padding:8px 14px;text-align:center;transition:all .15s ease}.resumen-card-btn:hover{background:#f9fafb;box-shadow:0 0 10px #0003;color:#111827;color:var(--color-gray-900)}.btn-modo-partida{background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;cursor:pointer;font-size:11px;font-weight:600;padding:2px 8px;transition:all .15s ease}.btn-modo-partida:hover{border-color:#9ca3af;border-color:var(--color-gray-400);color:#111827;color:var(--color-gray-900)}.btn-modo-partida.activo{background:#111827;background:var(--color-gray-900);border-color:#111827;border-color:var(--color-gray-900);color:#fff}.btn-editar-tabla{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;font-size:13px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.btn-editar-tabla:hover{background:#f3f4f6;background:var(--color-gray-100);color:#111827;color:var(--color-gray-900)}.documentos-section{padding:0 24px 24px}.documentos-tabla-wrapper{margin-bottom:0;overflow-x:auto}.documentos-no-aplica{background:#fefce8;border-radius:12px;color:#ca8a04;cursor:help;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 8px;white-space:nowrap}.documentos-pdf-container{align-items:center;display:flex;flex-direction:column;gap:4px}.documentos-pdf-button{align-items:center;background:#f3f4f6;border:none;border-radius:6px;color:#374151;cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;gap:4px;padding:4px 10px;text-decoration:none;transition:all .2s ease;white-space:nowrap}.documentos-pdf-button:hover{background:#e5e7eb;color:#1f2937}.documentos-pdf-button.materiales{background:#f0fdf4;color:#16a34a}.documentos-pdf-button.materiales:hover{background:#dcfce7;color:#15803d}.documentos-sin-archivo{color:#d1d5db;font-size:14px}.documentos-mensaje-vacio{background:#fafafa;border:1px dashed #e5e7eb;border-radius:8px;margin:0 24px 24px;padding:48px 24px;text-align:center}.documentos-mensaje-vacio-icono{color:#9ca3af;display:flex;justify-content:center;margin-bottom:12px}.documentos-mensaje-vacio h3{color:#374151;font-size:16px;font-weight:700;margin-bottom:8px}.documentos-mensaje-vacio p{color:#6b7280;font-size:13px;margin:0 auto;max-width:400px}.documentos-section-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding-top:20px}.documentos-acciones-globales{display:flex;gap:8px}.btn-expandir-colapsar{align-items:center;background:#fff;border:none;border-radius:6px;box-shadow:0 1px 4px #00000014;color:#374151;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:6px;padding:6px 14px;transition:all .2s ease}.btn-expandir-colapsar:hover{background:#f9fafb;box-shadow:0 2px 8px #0000001f}.documentos-acordeon-container{display:flex;flex-direction:column;gap:10px;margin-bottom:0}.seccion-acordeon{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 8px #0000000f;overflow:hidden;transition:all .2s ease}.seccion-acordeon:hover{box-shadow:0 4px 12px #0000001a}.seccion-header{align-items:center;background:#fff;border-bottom:1px solid #0000;cursor:pointer;display:flex;justify-content:space-between;padding:14px 20px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.seccion-header:hover{background:#fafafa}.seccion-header.expanded{background:#f9fafb;border-bottom-color:#e5e7eb}.seccion-header-izquierda{align-items:center;display:flex;gap:10px}.seccion-chevron{color:#6b7280;font-size:12px;transition:transform .3s ease}.seccion-nombre{color:#1a1a1a;font-size:15px;font-weight:700;margin:0}.seccion-header-derecha{align-items:center;display:flex;gap:8px}.seccion-badge{border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.3px;padding:3px 10px;white-space:nowrap}.seccion-badge.documentos,.seccion-badge.subcontratos{background:#f3f4f6;border:none;color:#374151}.seccion-content{animation:slideDown .3s ease;padding:0}.seccion-content .documentos-tabla-wrapper{border-radius:0;margin-bottom:0}@media (max-width:1024px){.documentos-pdf-button{font-size:10px;padding:4px 8px}.seccion-header{padding:12px 16px}.seccion-nombre{font-size:14px}.seccion-badge{font-size:10px;padding:3px 8px}}@media (max-width:768px){.documentos-section{padding:0 16px 16px}.documentos-pdf-button{font-size:10px;padding:3px 6px}.documentos-section-header{align-items:flex-start;flex-direction:column}.documentos-acciones-globales{width:100%}.btn-expandir-colapsar{flex:1 1;justify-content:center}.seccion-header{flex-direction:column;gap:8px;padding:10px 14px}.seccion-header-derecha,.seccion-header-izquierda{justify-content:space-between;width:100%}.seccion-nombre{font-size:13px}.seccion-badge{font-size:10px;padding:3px 6px}}.tasks-table thead th{background:#f9fafb;box-shadow:0 2px 4px #0000000f;position:-webkit-sticky;position:sticky;top:0;z-index:10}.tasks-table thead th:after{background:#e5e7eb;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.section-header{position:relative}.section-header-content{cursor:pointer;padding-right:28px}.section-edit-input{background:#1e293b;border:1px solid #374151;border-radius:4px;color:#e2e8f0;font-size:1.05rem;font-weight:700;padding:6px;width:200px}.section-button-save{margin-left:8px}.section-button-cancel{margin-left:4px}.edit-icon-wrapper{opacity:0;pointer-events:none;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .2s ease}.section-header-content:hover .edit-icon-wrapper{opacity:1}.edit-icon{color:#6b7280;cursor:pointer;font-size:16px}.editable-cell{cursor:pointer;padding-right:22px;position:relative}.editable-cell .edit-icon-wrapper{right:4px}.material-specialty-cell{display:inline-block;position:relative;width:100%}.tasks-table .process-critical,.tasks-table td.process-critical{background-color:#ef444466!important;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;color:#000!important;font-weight:600!important}.tasks-table .process-urgent,.tasks-table td.process-urgent{background-color:#f9731680!important;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;color:#000!important;font-weight:600!important}.tasks-table .process-warning,.tasks-table td.process-warning{background-color:#eab30880!important;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;color:#000!important;font-weight:600!important}.tasks-table .process-good,.tasks-table td.process-good{background-color:#22c55e66!important;box-shadow:0 1px 3px #0000001f,0 1px 2px #00000014;color:#000!important;font-weight:600!important}.tasks-table .process-critical:hover,.tasks-table .process-good:hover,.tasks-table .process-urgent:hover,.tasks-table .process-warning:hover,.tasks-table td.process-critical:hover,.tasks-table td.process-good:hover,.tasks-table td.process-urgent:hover,.tasks-table td.process-warning:hover{box-shadow:0 4px 6px #00000026,0 2px 4px #0000001a;transform:translateY(-1px);transition:all .2s ease}.process-date{background-color:#fff!important;color:#000;font-weight:400}.completed-process{background-color:#22c55e26!important;color:#10b981!important}.tasks-table td{border:none;box-shadow:0 1px 2px #0000000d}.tasks-table td strong{color:#000;font-weight:700}.tasks-table tbody tr{background-color:#fff}.tasks-table tbody tr:hover{background-color:#f9fafb}.process-button{border-radius:6px;cursor:pointer;padding:8px 12px;transition:all .2s ease}.process-button:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.process-checkbox{cursor:pointer;height:16px;margin-right:6px;width:16px}@media (max-width:1400px){.tasks-table td,.tasks-table th{font-size:.85rem;padding:10px 8px}.editable-cell{padding-right:20px}}@media (max-width:1024px){.section-edit-input{font-size:.95rem;width:150px}.tasks-table td,.tasks-table th{font-size:.8rem;padding:8px 6px}}.modal-overlay{animation:fadeIn .2s ease;background-color:#000000bf;pointer-events:auto;z-index:1000}.modal-container{animation:slideUp .3s ease;background:#fff;border:2px solid #374151;border-radius:16px;box-shadow:0 20px 60px #00000080;max-height:90vh;max-width:600px;overflow-y:auto;padding:30px;width:90%}.modal-header{align-items:flex-start;border-bottom:2px solid #374151;display:flex;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.etapa-modal-header{background:#000;border-bottom:none;margin:0 0 25px;padding:16px 20px}.etapa-modal-header h3{color:#fff}.proceso-modal{box-shadow:none}.proceso-modal .modal-body{background:#fafafa}.proceso-modal .chat-message,.proceso-modal .checkbox-label,.proceso-modal .comments-chat,.proceso-modal .files-list,.proceso-modal .modal-section{border:none;box-shadow:none}.proceso-modal .comment-textarea,.proceso-modal .file-input{border:1px solid #e5e7eb}.proceso-modal .comment-textarea:focus{box-shadow:none}.proceso-modal .file-input::-webkit-file-upload-button:hover{box-shadow:none;transform:none}.proceso-modal .btn-cancel:hover,.proceso-modal .btn-revert:hover:not(:disabled),.proceso-modal .btn-save:hover:not(:disabled),.proceso-modal .chat-message:hover,.proceso-modal .checkbox-label:hover,.proceso-modal .file-input::file-selector-button:hover,.proceso-modal .file-item:hover{box-shadow:none;transform:none}.proceso-modal .btn-cancel{border:1px solid #e5e7eb}.proceso-modal .modal-footer{border-top:none}.modal-title-section{flex:1 1}.modal-title{color:#111827;font-size:24px;font-weight:700;margin:0 0 8px}.modal-subtitle{color:#94a3b8;font-size:14px;line-height:1.4;margin:0}.modal-close-button{background:#0000;border:none;color:#6b7280;cursor:pointer;font-size:32px;line-height:1;margin-left:20px;padding:0;transition:all .2s ease}.modal-close-button:hover{color:#ef4444;transform:rotate(90deg)}.modal-content{margin-top:20px}.modal-process-section{background:#1e293b80;border:1px solid #334155;border-radius:12px;margin-bottom:25px;padding:20px;transition:all .3s ease}.modal-process-section:hover{background:#1e293bb3;border-color:#94a3b8}.modal-process-title{align-items:center;color:#e2e8f0;display:flex;font-size:16px;font-weight:600;gap:8px;margin:0 0 15px}.modal-textarea{background:#0f172a;border:1px solid #475569;border-radius:8px;color:#e2e8f0;font-family:inherit;font-size:14px;margin-bottom:10px;min-height:80px;padding:12px;resize:vertical;transition:all .2s ease;width:100%}.modal-textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826;outline:none}.modal-textarea::placeholder{color:#64748b}.modal-file-input{background:#0f172a;border:2px dashed #475569;border-radius:8px;color:#e2e8f0;cursor:pointer;padding:10px;transition:all .2s ease;width:100%}.modal-file-input:hover{background:#94a3b814;border-color:#94a3b8}.modal-file-input::-webkit-file-upload-button{background:#374151;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-right:10px;padding:8px 16px;-webkit-transition:all .2s ease;transition:all .2s ease}.modal-file-input::file-selector-button{background:#374151;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;margin-right:10px;padding:8px 16px;transition:all .2s ease}.modal-file-input::-webkit-file-upload-button:hover{background:#111827}.modal-file-input::file-selector-button:hover{background:#111827}.modal-files-list{margin-top:12px}.modal-file-item{align-items:center;background:#374151;border-radius:6px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;gap:8px;margin-bottom:8px;margin-right:8px;padding:6px 12px;text-decoration:none;transition:all .2s ease}.modal-file-item:hover{background:#111827;box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.modal-save-button{background:linear-gradient(135deg,#374151,#111827);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;margin-top:20px;padding:14px;transition:all .3s ease;width:100%}.modal-save-button:hover{box-shadow:0 8px 24px #0000004d;transform:translateY(-2px)}.modal-save-button:active{transform:translateY(0)}.modal-label{color:#94a3b8;display:block;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.modal-input{background:#0f172a;border:1px solid #475569;border-radius:8px;box-sizing:border-box;color:#e2e8f0;font-family:inherit;font-size:14px;padding:10px 12px;transition:all .2s ease;width:100%}.modal-input:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826;outline:none}.modal-input::placeholder{color:#64748b}.modal-input:disabled{cursor:not-allowed;opacity:.5}.modal-checkbox-section{align-items:flex-start;background:#1e293b80;border:1px solid #334155;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:border-color .2s ease}.modal-checkbox-section:hover{border-color:#94a3b8}.modal-checkbox-section input[type=checkbox]{accent-color:#6b7280;cursor:pointer;flex-shrink:0;height:16px;margin-top:2px;width:16px}.modal-checkbox-section .modal-checkbox-label{color:#e2e8f0;cursor:pointer;font-size:13px;font-weight:600}.modal-checkbox-section .modal-checkbox-desc{color:#64748b;font-size:12px;line-height:1.4;margin:3px 0 0}.modal-error-box{background:#ef44441a;border:1px solid #ef444466;border-radius:8px;color:#fca5a5;font-size:13px;margin-bottom:4px;padding:10px 14px}.modal-footer{border-top:1px solid #1e293b;display:flex;gap:10px;justify-content:flex-end;margin-top:4px;padding-top:16px}.modal-cancel-button{background:#0000;border:1px solid #475569;border-radius:8px;color:#94a3b8;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.modal-cancel-button:hover:not(:disabled){border-color:#64748b;color:#e2e8f0}.modal-cancel-button:disabled{cursor:not-allowed;opacity:.4}@media (max-width:768px){.modal-container{max-width:95%;padding:20px}.modal-title{font-size:20px}.modal-subtitle{font-size:12px}.modal-close-button{font-size:28px}.modal-process-section{padding:15px}}.tab-button-clickable{cursor:pointer}.tab-button-clickable:active{transform:scale(.98)}.tab-button:focus{outline:2px solid #9ca3af;outline-offset:2px}.tab-content{animation:fadeInContent .3s ease}@keyframes fadeInContent{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-badge{align-items:center;background:#ef4444;border-radius:10px;color:#fff;display:inline-flex;font-size:11px;font-weight:700;height:20px;justify-content:center;margin-left:8px;min-width:20px;padding:0 6px}.tab-button.active .tab-badge{background:#fff;color:#111827}.tab-indicator{background:#111827;border-radius:0 4px 4px 0;height:100%;left:0;position:absolute;transition:all .3s ease;width:4px}.tabs-navigation{scrollbar-color:#9ca3af #f3f4f6;scrollbar-width:thin}.tabs-navigation::-webkit-scrollbar{width:6px}.tabs-navigation::-webkit-scrollbar-track{background:#f3f4f6;border-radius:3px}.tabs-navigation::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:3px}.tabs-navigation::-webkit-scrollbar-thumb:hover{background:#6b7280}.welcome-section{align-items:center;display:flex;gap:10px;margin-bottom:12px}.welcome-avatar{align-items:center;background:linear-gradient(135deg,#374151,#111827);border-radius:50%;box-shadow:0 4px 12px #00000040;display:flex;font-size:32px;height:64px;justify-content:center;width:64px}.welcome-text h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#111827,#374151);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:32px;font-weight:800;margin:0 0 8px}.welcome-text p{color:#94a3b8;font-size:16px;line-height:1.5;margin:0}.info-paragraph{background:#6b72800d;border-left:3px solid #374151;border-radius:6px;color:#374151;font-size:14px;line-height:1.6;margin:10px 0 0;padding:12px}.config-days-container{margin-top:10px}.section-form{background:#1e293b80;border:1px solid #334155;border-radius:12px;margin-bottom:20px;padding:20px}.section-form-title{color:#e2e8f0;font-size:18px;font-weight:600;margin:0 0 15px}.form-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.form-field{display:flex;flex-direction:column;gap:6px}.form-label{color:#cbd5e1;font-size:13px;font-weight:600}.form-input{background:#0f172a;border:1px solid #475569;border-radius:6px;color:#e2e8f0;font-size:14px;padding:10px;transition:all .2s ease}.form-input:focus{border-color:#94a3b8;box-shadow:0 0 0 3px #94a3b826;outline:none}.form-buttons{display:flex;gap:10px;margin-top:20px}.status-message{border-radius:8px;font-size:14px;font-weight:600;margin-top:15px;padding:12px 16px}.status-message.success{background:#22c55e1a;border:1px solid #22c55e;color:#86efac}.status-message.error{background:#ef44441a;border:1px solid #ef4444;color:#fca5a5}.status-message.info{background:#6b72801a;border:1px solid #6b7280;color:#d1d5db}.collapsible-section{margin-bottom:20px}.collapsible-header{align-items:center;background:#1e293b80;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;padding:15px;transition:all .2s ease}.collapsible-header:hover{background:#1e293bb3}.collapsible-content{animation:slideDown .3s ease;background:#0f172a80;border-radius:8px;margin-top:10px;padding:15px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}@media (max-width:768px){.welcome-text h1{font-size:24px}.welcome-text p{font-size:14px}.welcome-avatar{font-size:24px;height:48px;width:48px}.form-grid{grid-template-columns:1fr}}.barra-acciones-seleccion{animation:slideUp .3s ease-out;bottom:24px;left:50%;position:fixed;transform:translateX(-50%);z-index:1000}.barra-acciones-contenido{align-items:center;background:linear-gradient(135deg,#111827,#1f2937);border:1px solid #ffffff1a;border-radius:12px;box-shadow:0 8px 32px #00000040,0 4px 12px #00000026;display:flex;gap:20px;padding:14px 24px}.barra-acciones-contador{color:#fff;font-size:14px;white-space:nowrap}.barra-acciones-contador strong{color:#fff;font-size:16px}.barra-acciones-botones{display:flex;gap:10px}.barra-btn-cancelar,.barra-btn-eliminar{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:10px 16px;transition:all .2s ease}.barra-btn-eliminar{background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff}.barra-btn-eliminar:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #dc262666;transform:translateY(-1px)}.barra-btn-eliminar:disabled{cursor:not-allowed;opacity:.7}.barra-btn-cancelar{background:#ffffff1a;border:1px solid #fff3;color:#fff}.barra-btn-cancelar:hover:not(:disabled){background:#fff3;border-color:#ffffff4d}.barra-btn-cancelar:disabled{cursor:not-allowed;opacity:.5}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:14px;width:14px}.checkbox-seleccion{text-align:center;width:40px}.checkbox-seleccion-input{accent-color:#4b5563;cursor:pointer;height:18px;margin:0;transition:transform .15s ease;width:18px}.checkbox-seleccion-input:hover{transform:scale(1.1)}.checkbox-seleccion-input:checked{animation:checkPop .2s ease}@keyframes checkPop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.checkbox-header-container{align-items:center;display:flex;gap:4px;justify-content:center}.checkbox-header-label{color:#64748b;font-size:10px;font-weight:500}tr.fila-seleccionada{background-color:#6b728014!important}tr.fila-seleccionada:hover{background-color:#6b72801f!important}@media (max-width:768px){.barra-acciones-seleccion{bottom:16px;left:16px;right:16px;transform:none}.barra-acciones-contenido{flex-direction:column;gap:12px;padding:12px 16px}.barra-acciones-botones{width:100%}.barra-btn-cancelar,.barra-btn-eliminar{flex:1 1;justify-content:center}}.dashboard-container{margin:0;max-width:100%;padding:0}.dashboard-wrapper{background:#fff;border-radius:12px;overflow:hidden}.dashboard-header-bar{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:10px 24px}.dashboard-badge{background:#111827;border-radius:3px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.5px;padding:3px 10px;text-transform:uppercase}.dashboard-header{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 24px}.dashboard-title-section{flex:1 1;min-width:200px}.dashboard-title-section h2{color:#111827;font-size:18px;font-weight:700;margin:0}.dashboard-subtitle{color:#64748b;font-size:13px;margin-bottom:0;margin-top:4px}.btn-descargar-pdf{align-items:center;background:#111827;border:none;border-radius:8px;box-shadow:0 2px 6px #0003;color:#fff;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.btn-descargar-pdf:hover{background:#1f2937;box-shadow:0 4px 10px #0000004d;transform:translateY(-1px)}.btn-descargar-pdf:active{transform:translateY(0)}.btn-descargar-pdf:focus{box-shadow:0 0 0 3px #00000026,0 2px 6px #0003;outline:none}.dashboard-header-buttons{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.btn-enviar-reporte{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 2px 6px #00000014;color:#111827;cursor:pointer;display:flex;font-size:13px;font-weight:600;gap:6px;padding:8px 20px;transition:all .2s ease;white-space:nowrap}.btn-enviar-reporte:hover{background:#f3f4f6;box-shadow:0 4px 10px #0000001f;transform:translateY(-1px)}.btn-enviar-reporte:active{transform:translateY(0)}.reporte-form-panel{animation:reporteSlideDown .2s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;margin-bottom:16px;padding:20px 24px}@keyframes reporteSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.reporte-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.reporte-form-titulo{color:#111827;font-size:15px;font-weight:700}.reporte-form-cerrar{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;transition:all .15s;width:28px}.reporte-form-cerrar:hover{background:#f3f4f6;color:#1f2937}.reporte-form-desc{color:#6b7280;font-size:12px;line-height:1.4;margin:0 0 14px}.reporte-form-row{align-items:center;display:flex;gap:10px}.reporte-form-input{border:1px solid #d1d5db;border-radius:8px;flex:1 1;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.reporte-form-input:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #9ca3af26}.reporte-form-input:disabled{background:#f9fafb;color:#9ca3af}.reporte-form-btn{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#111827;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:10px 24px;transition:all .15s;white-space:nowrap}.reporte-form-btn:hover:not(:disabled){background:#f3f4f6;transform:translateY(-1px)}.reporte-form-btn:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.reporte-form-btn.enviando{background:#6b7280}.reporte-form-msg{border-radius:8px;font-size:13px;font-weight:500;margin-top:10px;padding:8px 14px}.reporte-form-msg.exito{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.reporte-form-msg.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column}.dashboard-header-buttons{flex-direction:column;width:100%}.btn-descargar-pdf,.btn-enviar-reporte{justify-content:center;width:100%}.reporte-form-row{flex-direction:column}.reporte-form-btn{width:100%}}.dashboard-filters{background:#fafafa;border-bottom:1px solid #f0f0f0;display:flex;flex-direction:column;gap:14px;margin:0;padding:16px 24px}.dashboard-filters>label{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:600;gap:10px}.dashboard-filters select{background-color:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1a1a1a;cursor:pointer;font-size:13px;padding:8px 14px;transition:border-color .2s}.dashboard-filters select:hover{border-color:#9ca3af}.dashboard-filters select:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #9ca3af26;outline:none}.rango-temporal-filtros{align-items:center;display:flex;gap:12px}.filtro-label{color:#374151;font-size:13px;font-weight:600}.rango-buttons{display:flex;gap:6px}.rango-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;outline:none;padding:6px 14px;transition:all .2s ease}.rango-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.rango-btn.active{background:#111827;border-color:#111827;box-shadow:0 2px 6px #0003;color:#fff}.rango-btn:active{transform:scale(.98)}.dashboard-dates-section{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));padding:20px 24px}.date-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 2px 6px #0000000f;display:flex;gap:14px;padding:18px;transition:transform .2s,box-shadow .2s}.date-card:hover{box-shadow:0 4px 10px #0000001a;transform:translateY(-1px)}.date-card.planificada{border-left:4px solid #111827}.date-card.estimada.a-tiempo{border-left:4px solid #10b981}.date-card.estimada.adelantada{background:#f0fdf4;border-left:4px solid #10b981}.date-card.estimada.retrasada{background:#fef2f2;border-left:4px solid #ef4444}.date-icon{align-items:center;border-radius:8px;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:40px;justify-content:center;width:40px}.date-card.planificada .date-icon{background:#e5e7eb;color:#111827}.date-card.estimada .date-icon{background:#f0fdf4;color:#10b981}.date-card.estimada.retrasada .date-icon{background:#fef2f2;color:#ef4444}.date-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.date-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.date-value{color:#111827;font-size:16px;font-weight:700}.date-detail{font-size:12px;font-weight:600;margin-top:2px}.date-card.estimada.adelantada .date-detail{color:#059669}.date-card.estimada.retrasada .date-detail{color:#dc2626}.date-card.estimada.a-tiempo .date-detail{color:#0891b2}.dashboard-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;margin:16px 24px;padding:20px 24px}.dashboard-section h3{color:#111827;font-size:15px;font-weight:700;margin:0 0 4px}.chart-description{color:#9ca3af;font-size:12px;margin-bottom:16px;margin-top:0}.chart-container{height:400px;position:relative;width:100%}.dashboard-stats{border-top:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:24px;margin-top:16px;padding-top:16px}.stat-item{display:flex;flex-direction:column;gap:2px}.stat-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.3px}.stat-value{color:#111827;font-size:20px;font-weight:700}.ruta-critica-columnas{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr}@media (max-width:768px){.ruta-critica-columnas{grid-template-columns:1fr}}.ruta-critica-resumen{margin-top:16px}.ruta-critica-resumen h4{color:#111827;font-size:14px;font-weight:700;margin-bottom:8px}.ruta-critica-lista{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.ruta-critica-lista li{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:10px;padding:8px 12px}.ruta-critica-badge{border-radius:6px;flex-shrink:0;font-size:11px;font-weight:700;padding:3px 8px;text-transform:uppercase}.ruta-critica-badge.vencido{background:#1a1a1a;color:#fff}.ruta-critica-badge.critico{background:#fef2f2;color:#dc2626}.ruta-critica-nombre{color:#1f2937;flex:1 1;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ruta-critica-dias{color:#6b7280;flex-shrink:0;font-size:12px;font-weight:700}.dashboard-loading{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.spinner{border:3px solid #e5e7eb;border-top-color:#4b5563;height:40px;width:40px}.dashboard-loading p{color:#9ca3af;font-size:14px;font-weight:500}.dashboard-error{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;margin:24px;padding:48px 24px;text-align:center}.dashboard-error p{color:#ef4444;font-size:15px;font-weight:600;margin-bottom:8px}.dashboard-hint{color:#9ca3af!important;font-size:13px!important;font-weight:400!important;margin-top:8px}.dashboard-section+.dashboard-section{margin-top:0}.precio-filters{display:flex;gap:8px;margin-bottom:20px}.precio-btn{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#64748b;cursor:pointer;font-size:13px;font-weight:500;padding:7px 16px;transition:all .2s}.precio-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.precio-btn.active{background:#111827;border-color:#111827;box-shadow:0 2px 6px #0003;color:#fff}.precios-kpis{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;transition:transform .2s,box-shadow .2s}.kpi-card:hover{box-shadow:0 4px 10px #00000014;transform:translateY(-1px)}.kpi-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.kpi-value{color:#111827;font-size:20px;font-weight:700}.kpi-value-large{color:#111827;font-size:26px;font-weight:800;margin-bottom:2px}.kpi-percentage{color:#64748b;font-size:14px;font-weight:600}.precios-table-container{border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.precios-table{border-collapse:collapse;font-size:13px;width:100%}.precios-table thead{background:#111827;color:#fff}.precios-table th{font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 14px;text-align:left;text-transform:uppercase}.precios-table tbody tr{background-color:#fff;border-bottom:1px solid #f0f0f0;transition:background-color .15s}.precios-table tbody tr:hover{background-color:#f9fafb}.precios-table tbody tr.row-ahorro,.precios-table tbody tr.row-sobrecosto{background-color:#fff}.precios-table td{color:#374151;padding:10px 14px}.tipo-badge{border-radius:4px;display:inline-block;font-size:11px;font-weight:600;padding:3px 8px}.tipo-badge.tipo-material,.tipo-badge.tipo-subcontrato{background:#f3f4f6;color:#374151}.nombre-cell{color:#111827;font-weight:600}.precio-cell{font-weight:600}.diferencia-cell,.precio-cell{font-family:Courier New,monospace;font-size:12px}.diferencia-cell{font-weight:700}.diferencia-cell.positivo{color:#10b981}.diferencia-cell.negativo{color:#ef4444}.porcentaje-cell{font-size:12px;font-weight:700}.porcentaje-cell.positivo{color:#10b981}.porcentaje-cell.negativo{color:#ef4444}.precios-empty{color:#9ca3af;padding:32px 20px;text-align:center}.precios-empty p{font-size:14px;margin:6px 0}.precios-hint{color:#9ca3af!important;font-size:12px!important}@media (max-width:768px){.dashboard-container{padding:0}.chart-container{height:300px}.dashboard-stats{flex-direction:column;gap:12px}.dashboard-filters{align-items:flex-start}.dashboard-filters,.precio-filters{flex-direction:column}.precios-kpis{grid-template-columns:1fr}.precios-table{font-size:11px}.precios-table td,.precios-table th{padding:8px 10px}.dashboard-section{margin:12px}.dashboard-dates-section{padding:12px}}.login-container{align-items:center;background:#fff;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:slideIn .5s ease-out;background:#fff;border:none;border-radius:16px;box-shadow:0 4px 24px #0000001a;max-width:480px;padding:48px;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.login-logo{align-items:center;display:flex;flex-direction:column;gap:6px;margin-bottom:28px}.logo-icon{background:#f28c28;border-radius:20px;box-shadow:0 8px 24px #f28c2866;font-size:4rem;padding:20px 30px}.login-title{color:#111827;font-size:2.2rem;font-weight:800;letter-spacing:.5px;margin-bottom:12px;text-align:center}.login-subtitle{color:#64748b;font-size:1rem;font-weight:500;letter-spacing:.3px;margin-bottom:36px;text-align:center}.login-form{margin-bottom:28px}.form-group{margin-bottom:24px}.form-group label{align-items:center;color:#000;display:block;display:flex;font-size:.95rem;font-weight:600;gap:8px;letter-spacing:.3px;margin-bottom:10px}.label-icon{display:inline-block;font-size:1.1rem}.form-group input{background:#fff;border:none;border-radius:10px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;color:#000;font-family:inherit;font-size:1rem;padding:14px 18px;transition:all .3s ease;width:100%}.form-group input::placeholder{color:#64748b}.form-group input:focus{background:#fff;box-shadow:0 6px 20px #f28c284d,0 0 0 4px #f28c281a;outline:none;transform:translateY(-2px)}.form-group input:disabled{background-color:#f3f4f6;cursor:not-allowed;opacity:.6}.error-message{animation:shake .4s ease-in-out;background:#fee2e2;border:2px solid #ef4444;border-radius:10px;box-shadow:0 4px 12px #ef444433;color:#991b1b;font-size:.95rem;font-weight:500;margin-bottom:24px;padding:14px 18px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.login-button{background:#f28c28;border:none;border-radius:10px;box-shadow:0 6px 20px #0003;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;letter-spacing:.5px;padding:16px;transition:all .3s ease;width:100%}.login-button:hover:not(:disabled){background:#d97a1f;box-shadow:0 10px 30px #0000004d;transform:translateY(-3px)}.login-button:active:not(:disabled){transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.spinner{animation:spin .8s linear infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:16px;margin-right:8px;vertical-align:middle;width:16px}.login-footer{border-top:2px solid #e5e7eb;margin-top:28px;padding-top:24px;text-align:center}.toggle-mode-button{background:#111827;border:none;border-radius:8px;box-shadow:0 4px 12px #0003;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;letter-spacing:.3px;padding:12px 24px;transition:all .3s ease}.toggle-mode-button:hover:not(:disabled){background:#f28c28;box-shadow:0 6px 16px #00000040;color:#fff;transform:scale(1.02)}.toggle-mode-button:disabled{cursor:not-allowed;opacity:.5}.login-info{background:#f9fafb;border:none;border-radius:12px;box-shadow:0 4px 12px #0000001a;margin-top:28px;padding:20px;text-align:center}.login-info p{color:#000;font-size:.9rem;line-height:1.6;margin:6px 0}.login-info strong{color:#f28c28;font-weight:700}@media (max-width:768px){.login-card{max-width:100%;padding:32px 24px}.login-title{font-size:1.8rem}.login-subtitle{font-size:.9rem}.logo-icon{font-size:3rem;padding:15px 25px}.form-group input{padding:12px 16px}.login-button{font-size:1rem;padding:14px}}@media (max-width:480px){.login-container{padding:12px}.login-card{padding:24px 16px}.login-title{font-size:1.5rem}.logo-icon{font-size:2.5rem;padding:12px 20px}}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{padding-right:50px}.password-toggle-btn{align-items:center;background:none;border:none;border-radius:5px;color:#64748b;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:5px;position:absolute;right:10px;transition:color .3s ease}.password-toggle-btn:hover{color:#111827}.password-toggle-btn:disabled{cursor:not-allowed;opacity:.5}.recepcion-dash-contenedor{box-sizing:border-box;padding:28px 32px;width:100%}@media (max-width:900px){.recepcion-dash-contenedor{padding:20px 16px}}@media (max-width:600px){.recepcion-dash-contenedor{padding:16px 8px}}.recepcion-dash-hoy{color:#9ca3af;font-size:12px;font-weight:500;margin-left:auto}.recepcion-dash-kpi-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:20px}@media (max-width:860px){.recepcion-dash-kpi-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.recepcion-dash-kpi-grid{grid-template-columns:1fr}}.recepcion-dash-kpi{background:#fff;border:1px solid #e5e7eb;border-radius:8px;border-top:3px solid #e5e7eb;padding:16px 18px 14px}.recepcion-dash-kpi-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.recepcion-dash-kpi-num{font-size:28px;font-weight:800;line-height:1;margin-bottom:5px}.recepcion-dash-kpi-sub{color:#9ca3af;font-size:11px}.recepcion-dash-kpi-barra{background:#f3f4f6;border-radius:2px;height:3px;margin-top:8px;overflow:hidden}.recepcion-dash-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:20px 24px}.recepcion-dash-card-titulo{color:#6b7280;font-size:11px;font-weight:700;letter-spacing:.6px;margin-bottom:16px;text-transform:uppercase}.recepcion-dash-rec-tabla{border-collapse:collapse;font-size:13px;width:100%}.recepcion-dash-rec-tabla th{border-bottom:1px solid #f3f4f6;color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.5px;padding:0 12px 10px 0;text-align:left;text-transform:uppercase}.recepcion-dash-rec-tabla td{border-bottom:1px solid #f9fafb;color:#374151;font-size:13px;padding:9px 12px 9px 0}.recepcion-dash-rec-tabla tr:last-child td{border-bottom:none}.recepcion-dash-rec-fecha{color:#6b7280;font-size:13px}.recepcion-dash-rec-fecha.esperada{color:#111827;font-weight:600}.recepcion-dash-meses{color:#9ca3af;font-size:10px;margin-left:4px}.recepcion-dash-riesgo{align-items:flex-start;background:#fff8f0;border:1px solid #fed7aa;border-left:4px solid #ea580c;border-radius:8px;display:flex;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:18px 22px}.recepcion-dash-riesgo-izq{display:flex;flex:1 1;gap:10px;min-width:260px}.recepcion-dash-riesgo-icono{flex-shrink:0;font-size:18px;margin-top:1px}.recepcion-dash-riesgo-titulo{color:#c2410c;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.recepcion-dash-riesgo-desc{color:#374151;font-size:12px;line-height:1.5;margin-bottom:10px}.recepcion-dash-riesgo-culpables{display:flex;flex-direction:column;gap:4px}.recepcion-dash-riesgo-chip{background:#ea580c14;border-radius:4px;color:#c2410c;display:block;font-size:11px;padding:3px 8px}.recepcion-dash-riesgo-fechas{border-left:1px solid #fed7aa;display:flex;flex-direction:column;gap:6px;min-width:360px;padding-left:20px}.recepcion-dash-riesgo-fila{grid-gap:6px;align-items:center;color:#374151;display:grid;font-size:12px;gap:6px;grid-template-columns:140px 100px 14px 1fr}.recepcion-dash-riesgo-fila.sub{font-size:11px;opacity:.8}.recepcion-dash-riesgo-base{color:#9ca3af}.recepcion-dash-riesgo-proj{color:#dc2626;font-weight:700}.recepcion-dash-ok{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;color:#16a34a;font-size:12px;font-weight:600;margin-bottom:16px;padding:10px 16px}.recepcion-dash-tabla{border-collapse:collapse;font-size:13px;width:100%}.recepcion-dash-tabla th{border-bottom:1px solid #f3f4f6;color:#9ca3af;font-size:10px;font-weight:700;letter-spacing:.5px;padding:0 10px 10px;text-align:left;text-transform:uppercase}.recepcion-dash-tabla td{border-bottom:1px solid #f9fafb;padding:9px 10px;vertical-align:middle}.recepcion-dash-tabla tr:last-child td{border-bottom:none}.recepcion-dash-fila{transition:background .12s}.recepcion-dash-fila:hover{background:#fafafa}.recepcion-dash-fila.abierta{background:#f9fafb}.recepcion-dash-fila-doc td{background:#fafafa;border-bottom:1px solid #f3f4f6}.recepcion-dash-fila-doc:last-child td{border-bottom:1px solid #e5e7eb}.recepcion-header-bar{align-items:center;border-bottom:2px solid #e5e7eb;display:flex;gap:16px;margin-bottom:24px;padding-bottom:16px}.recepcion-badge{align-items:center;background:#111827;background:var(--color-gray-900,#111827);border-radius:6px;box-shadow:0 2px 8px #0003;color:#fff;display:inline-flex;font-size:13px;font-weight:800;justify-content:center;letter-spacing:1.5px;padding:6px 16px}.recepcion-header-title{color:#111827;font-size:20px;font-weight:700}.recepcion-placeholder-section{padding:24px}.recepcion-btn-agregar{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:8px;box-shadow:0 1px 3px #00000014;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:13px;font-weight:700;padding:8px 18px;transition:all .3s ease}.recepcion-btn-agregar:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);box-shadow:0 2px 6px #0000001a;transform:translateY(-1px)}.recepcion-table-wrapper{border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 12px #0000000f;overflow-x:auto}.recepcion-table{border-collapse:collapse;font-size:13px;min-width:1300px;width:100%}.recepcion-table thead tr{background:linear-gradient(135deg,#111827,#2d4a6f)}.recepcion-table thead th{border-right:1px solid #ffffff1a;color:#fff;font-size:11px;font-weight:700;letter-spacing:.8px;padding:12px 10px;position:-webkit-sticky;position:sticky;text-align:center;text-transform:uppercase;top:0;white-space:nowrap;z-index:10}.recepcion-table thead th:last-child{border-right:none}.recepcion-th-numero{width:40px}.recepcion-th-documento{min-width:280px;padding-left:16px!important;text-align:left!important}.recepcion-th-fecha{width:130px}.recepcion-th-archivos,.recepcion-th-observaciones{min-width:180px}.recepcion-th-responsable{width:150px}.recepcion-th-estado{width:130px}.recepcion-th-acciones{width:50px}.recepcion-table-row{border-bottom:1px solid #f1f5f9;transition:background .15s ease}.recepcion-table-row:hover{background:#f8fafc}.recepcion-table-row:nth-child(2n){background:#fff}.recepcion-table-row:nth-child(2n):hover{background:#f8fafc}.recepcion-table tbody td{padding:6px 8px;vertical-align:middle}.recepcion-td-numero{color:#9ca3af;font-size:12px;font-weight:700;text-align:center}.recepcion-td-acciones{text-align:center;vertical-align:middle!important}.recepcion-td-acciones>*{display:inline-flex;margin:0 1px;vertical-align:middle}.recepcion-td-archivos{padding:8px!important;text-align:center;vertical-align:middle!important}.recepcion-archivos-container{align-items:center;display:flex;flex-direction:column;gap:6px}.recepcion-archivos-lista{display:flex;flex-direction:column;gap:4px;max-height:120px;overflow-y:auto}.recepcion-archivo-item{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;display:flex;flex-direction:column;gap:2px;padding:4px 8px}.recepcion-archivo-titulo{color:#111827;color:var(--color-gray-900,#111827);font-size:11px;font-weight:600;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recepcion-archivo-acciones{align-items:center;display:flex;gap:6px}.recepcion-archivo-ver{border-radius:4px;cursor:pointer;font-size:12px;padding:1px 4px;text-decoration:none;transition:background .15s}.recepcion-archivo-ver:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.recepcion-archivo-eliminar{background:#0000;border:none;border-radius:4px;color:#d1d5db;cursor:pointer;font-size:11px;padding:1px 4px;transition:all .15s}.recepcion-archivo-eliminar:hover{background:#fee2e2;color:#ef4444}.recepcion-btn-subir-archivo{background:#fff;border:1px dashed #9ca3af;border:1px dashed var(--color-gray-400,#9ca3af);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:11px;font-weight:600;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.recepcion-btn-subir-archivo:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563)}.recepcion-input{border:none;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;box-sizing:border-box;color:#1f2937;font-size:13px;padding:8px 10px;width:100%}.recepcion-input:focus{box-shadow:0 0 0 3px #10b98126,0 1px 3px #00000014;outline:none}.recepcion-input::placeholder{color:#d1d5db;font-style:italic}.recepcion-observaciones-textarea{font-family:inherit;line-height:1.4;max-height:150px;min-height:38px;resize:vertical;white-space:pre-wrap}.recepcion-input-documento{font-weight:500}.recepcion-input-fecha{font-size:12px;padding:8px 6px;text-align:center}.recepcion-fecha-texto{border-radius:6px;display:inline-block;font-size:12px;font-weight:600;min-width:100px;padding:5px 8px;text-align:center;white-space:nowrap}.recepcion-fecha-clickable{border:1px dashed #d1d5db;cursor:pointer;transition:border-color .2s,background .2s}.recepcion-fecha-clickable:hover{background:#f9fafb;border-color:#374151}.recepcion-input-responsable{text-align:center}.recepcion-actions-row{flex-wrap:wrap;gap:10px}.recepcion-actions-row,.recepcion-banner{align-items:center;display:flex;margin-bottom:16px}.recepcion-banner{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:10px;overflow:hidden;padding:16px 24px}.recepcion-icon{display:none}.recepcion-fields{align-items:center;display:flex;flex:1 1}.recepcion-field{display:flex;flex:1 1;flex-direction:column;gap:4px;justify-content:center}.recepcion-divider{display:none}.recepcion-fecha-casilla{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:8px;color:#111827;display:inline-flex;font-size:22px;font-weight:800;justify-content:center;letter-spacing:.2px;min-width:150px;padding:10px 18px;text-align:center;white-space:nowrap}.recepcion-input{background:#fff;border:1px solid #a7f3d0;border-radius:6px;color:#111827;color-scheme:light;cursor:pointer;font-size:15px;font-weight:700;padding:5px 10px;transition:all .2s ease;width:160px}.recepcion-input:focus,.recepcion-input:hover{border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);box-shadow:0 0 0 2px #00000014;outline:none}.recepcion-field-programada .recepcion-input{border-color:#6ee7b7}.recepcion-fechas-globales{align-items:center;display:flex;gap:12px;margin-left:auto}.recepcion-fecha-global-label{align-items:center;color:#374151;display:flex;font-size:12px;font-weight:600;gap:6px;white-space:nowrap}.recepcion-fecha-global-label .recepcion-input-fecha{width:140px}.recepcion-action-btn{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;flex:1 1;font-size:13px;font-weight:700;min-width:160px;padding:10px 20px;text-align:center;transition:all .2s ease}.recepcion-action-btn:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);opacity:1}.recepcion-action-green,.recepcion-action-purple{background:#fff;background:var(--color-white,#fff)}.recepcion-action-green:disabled{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);color:#9ca3af;color:var(--color-gray-400,#9ca3af);cursor:not-allowed;opacity:.7}.recepcion-spinner{animation:recepcion-spin .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}@keyframes recepcion-spin{to{transform:rotate(1turn)}}.recepcion-action-active{background:#111827;background:var(--color-gray-900,#111827);border-color:#111827;border-color:var(--color-gray-900,#111827);color:#fff;color:var(--color-white,#fff)}.recepcion-config-section{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:16px;padding:20px 24px}.recepcion-config-section h2{color:#111827;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 12px;text-transform:uppercase}.recepcion-config-desc{color:#6b7280;font-size:13px;margin:0 0 16px}.recepcion-config-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.recepcion-config-grid>div{display:flex;flex-direction:column}.recepcion-config-grid label{color:#374151;font-size:11px;font-weight:700;letter-spacing:.3px;margin-bottom:6px;text-transform:uppercase}.recepcion-config-grid input{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1a1a1a;font-size:14px;font-weight:600;padding:8px 10px;transition:all .2s ease}.recepcion-config-grid input:focus{border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);box-shadow:0 0 0 3px #00000014;outline:none}.recepcion-config-hint{color:#4b5563;color:var(--color-gray-600,#4b5563);font-size:11px;margin-top:4px}.recepcion-form-grid{grid-gap:10px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));padding:16px}.recepcion-form-input{background:#fff;border:none;border-radius:6px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;color:#1a1a1a;font-size:13px;padding:10px 12px;transition:all .2s ease}.recepcion-form-input:focus{box-shadow:0 0 0 3px #10b98126,0 1px 3px #00000014;outline:none}.recepcion-form-input::placeholder{color:#9ca3af;font-style:italic}select.recepcion-form-input{-webkit-appearance:auto;appearance:auto;cursor:pointer}.recepcion-form-submit{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.3px;padding:10px 16px;text-transform:uppercase;transition:all .2s ease}.recepcion-section-manager{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-top:16px;padding:16px}.recepcion-section-manager h3{color:#111827;font-size:13px;font-weight:700;letter-spacing:.5px;margin:0 0 10px;text-transform:uppercase}.recepcion-section-inputs{align-items:center;display:flex;gap:8px}.recepcion-section-inputs .recepcion-form-input{flex:1 1}.recepcion-section-inputs .recepcion-form-submit{white-space:nowrap}.recepcion-btn-ver-secciones{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:12px;font-weight:600;margin-top:10px;padding:8px 14px;transition:all .2s ease}.recepcion-btn-ver-secciones:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-section-list{display:flex;flex-direction:column;gap:5px;margin-top:10px}.recepcion-section-list-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#1a1a1a;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px}.recepcion-section-delete{background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;font-size:14px;padding:2px 6px;transition:all .2s ease}.recepcion-section-delete:hover{background:#fee2e2;color:#b91c1c}.recepcion-form-submit:hover:not(:disabled){background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-form-submit:disabled{cursor:not-allowed;opacity:.4}.recepcion-section-header,.recepcion-section-row{background:#f1f5f9!important}.recepcion-section-header{border:none!important;border-bottom:2px solid #e2e8f0!important;padding:0!important}.recepcion-section-header-inner{align-items:center;color:#374151;display:flex;font-size:13px;font-weight:700;gap:12px;letter-spacing:.5px;padding:10px 16px;text-transform:uppercase}.recepcion-section-name{flex:1 1}.recepcion-section-count{align-items:center;display:flex;gap:8px}.recepcion-section-badge{border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.3px;padding:2px 8px}.recepcion-badge-aprobado{background:#10b98140;color:#a7f3d0}.recepcion-badge-pendiente{background:#f59e0b40;color:#fde68a}.recepcion-fila-lider{background:#f9fafb!important;background:var(--color-gray-50,#f9fafb)!important;border-left:4px solid #4b5563;border-left:4px solid var(--color-gray-600,#4b5563)}.recepcion-fila-lider:hover{background:#f3f4f6!important;background:var(--color-gray-100,#f3f4f6)!important}.recepcion-lider-star{color:#111827;color:var(--color-gray-900,#111827);font-size:13px}.recepcion-fecha-lider-badge{background:#111827;background:var(--color-gray-900,#111827);border-radius:4px;color:#fff;display:inline-block;font-size:9px;font-weight:800;letter-spacing:.5px;margin-top:2px;padding:1px 6px;text-transform:uppercase}.recepcion-fecha-wrapper{align-items:center;display:flex;flex-direction:column;gap:2px}.recepcion-fecha-calculada .recepcion-input-fecha{background:#f3f4f6;box-shadow:0 1px 2px #0000000d;color:#6b7280}.recepcion-fecha-calculada .recepcion-input-fecha:focus{background:#fff;box-shadow:0 0 0 3px #10b98126,0 1px 3px #00000014;color:#1f2937}.recepcion-fecha-calc-icon{color:#9ca3af;cursor:default;font-size:10px}.recepcion-select-estado{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m0 0 5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:none;border-radius:16px;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f;cursor:pointer;font-size:11px;font-weight:700;padding:7px 22px 7px 8px;text-align:center;transition:all .2s ease;width:100%}.recepcion-select-estado:focus{box-shadow:0 0 0 3px #10b98126,0 1px 3px #00000014;outline:none}.recepcion-btn-editar{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;font-size:13px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.recepcion-btn-editar:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-btn-eliminar{align-items:center;background:#0000;border:none;border-radius:6px;color:#d1d5db;cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;margin:0 auto;transition:all .2s ease;width:28px}.recepcion-historial-lista{display:flex;flex-direction:column;gap:8px;padding:16px}.recepcion-historial-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;transition:box-shadow .2s}.recepcion-historial-card:hover{box-shadow:0 2px 8px #0000000f}.recepcion-historial-card-open{border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);box-shadow:0 2px 12px #0000001a}.recepcion-historial-card-header{align-items:center;cursor:pointer;display:flex;padding:12px 16px;-webkit-user-select:none;user-select:none}.recepcion-historial-card-header:hover{background:#f9fafb}.recepcion-historial-card-body{border-top:1px solid #f3f4f6;padding:0 16px 16px}.recepcion-historial-detalles{grid-gap:8px 24px;display:grid;gap:8px 24px;grid-template-columns:1fr 1fr;padding:12px 0}.recepcion-historial-campo{display:flex;flex-direction:column;gap:2px}.recepcion-historial-label{color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.recepcion-historial-archivos,.recepcion-historial-observaciones{border-top:1px solid #f3f4f6;padding:10px 0}.recepcion-historial-archivos-lista{display:flex;flex-direction:column;gap:6px;margin-top:8px}.recepcion-historial-archivo-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:6px 10px}.recepcion-btn-eliminar:hover:not(:disabled){background:#fee2e2;color:#ef4444}.recepcion-btn-eliminar:disabled{cursor:not-allowed;opacity:.3}.recepcion-btn-completar{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;color:var(--color-gray-400,#9ca3af);cursor:pointer;display:flex;font-size:16px;font-weight:700;height:28px;justify-content:center;margin:0 auto;transition:all .2s ease;width:28px}.recepcion-btn-completar:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-responsable-display{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:8px;min-height:32px;padding:4px 6px;transition:background .2s}.recepcion-responsable-display:hover{background:#f3f4f6}.recepcion-responsable-name{color:#1f2937;font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recepcion-responsables-container{display:flex;flex-direction:column;gap:4px;min-width:140px;padding:4px}.recepcion-responsable-chip{align-items:center;background:#f9fafb;background:var(--color-gray-50,#f9fafb);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:16px;display:flex;font-size:11px;gap:4px;padding:2px 6px 2px 2px}.recepcion-responsable-chip-externo{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-color:#9ca3af;border-color:var(--color-gray-400,#9ca3af)}.recepcion-responsable-avatar-sm{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:10px;font-weight:700;height:20px;justify-content:center;min-width:20px;width:20px}.recepcion-responsable-avatar-externo{background:#374151}.recepcion-responsable-chip-name{color:#1f2937;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recepcion-responsable-chip-remove{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:14px;font-weight:700;line-height:1;margin-left:auto;padding:0 2px}.recepcion-responsable-chip-remove:hover{color:#ef4444}.recepcion-responsable-selector{width:100%}.recepcion-responsable-add-btns{display:flex;gap:4px}.recepcion-btn-add-externo,.recepcion-btn-add-responsable{background:#fff;border:1px dashed #d1d5db;border-radius:12px;color:#6b7280;cursor:pointer;font-size:10px;font-weight:600;padding:3px 8px;transition:all .2s;white-space:nowrap}.recepcion-btn-add-responsable:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-btn-add-externo:hover{background:#f9fafb;border-color:#374151;color:#374151}.recepcion-externo-form{display:flex;flex-direction:column;gap:4px}.recepcion-externo-input{font-size:11px!important;padding:4px 8px!important}.recepcion-externo-form-btns{display:flex;gap:4px;justify-content:flex-end}.recepcion-btn-externo-ok{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:4px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:12px;font-weight:700;padding:2px 10px}.recepcion-btn-externo-ok:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.recepcion-btn-externo-cancel{background:#f3f4f6;border:none;border-radius:4px;color:#6b7280;cursor:pointer;font-size:12px;font-weight:700;padding:2px 10px}.recepcion-btn-externo-cancel:hover{background:#e5e7eb;color:#374151}.recepcion-footer-actions{display:flex;justify-content:center;margin-top:16px}.recepcion-btn-agregar-footer{background:#fff;border:2px dashed #9ca3af;border:2px dashed var(--color-gray-400,#9ca3af);border-radius:8px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:13px;font-weight:600;padding:10px 24px;transition:all .2s ease}.recepcion-btn-agregar-footer:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563)}@media (max-width:768px){.recepcion-placeholder-section{padding:12px}.recepcion-header-bar{flex-wrap:wrap;gap:10px}.recepcion-table{font-size:12px}}.recepcion-partida-row{background:#f8fafc}.recepcion-partida-row:hover{background:#f1f5f9}.recepcion-btn-toggle-docs{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:12px;font-weight:600;padding:4px 10px;transition:all .2s ease;white-space:nowrap}.recepcion-btn-toggle-docs:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-docs-expandable-row>td{background:#fff;border-left:4px solid #4b5563;border-left:4px solid var(--color-gray-600,#4b5563)}.recepcion-docs-container{padding:8px 12px 12px 20px}.recepcion-docs-table{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:6px;font-size:12px;overflow:hidden;width:100%}.recepcion-docs-table thead tr{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.recepcion-docs-table thead th{border-bottom:2px solid #bbf7d0;color:#111827;color:var(--color-gray-900,#111827);font-size:11px;font-weight:600;letter-spacing:.5px;padding:8px 10px;text-align:left;text-transform:uppercase}.recepcion-doc-row{border-bottom:1px solid #f3f4f6;transition:background .15s ease}.recepcion-doc-row:hover{background:#f9fafb}.recepcion-doc-row td{padding:6px 8px;vertical-align:middle}.recepcion-doc-completado{background:#f9fafb!important;background:var(--color-gray-50,#f9fafb)!important}.recepcion-doc-completado:hover{background:#f3f4f6!important;background:var(--color-gray-100,#f3f4f6)!important}.recepcion-doc-completado .recepcion-input-documento,.recepcion-doc-completado .recepcion-observaciones-textarea{color:#6b7280;text-decoration:line-through}.recepcion-doc-completado .recepcion-fecha-texto{opacity:.6}.recepcion-progreso-barra-container{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden;width:100%}.recepcion-progreso-barra-fill{border-radius:4px;height:100%;transition:width .3s ease}.recepcion-progreso-texto{color:#374151;font-size:12px;font-weight:600;white-space:nowrap}.recepcion-progreso-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:8px;padding:14px 18px;transition:box-shadow .2s}.recepcion-progreso-card:hover{box-shadow:0 2px 8px #0000000f}.recepcion-progreso-card-completada{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-color:#d1d5db}.recepcion-progreso-seccion-header{align-items:center;background:#111827;border-radius:8px;color:#fff;display:flex;font-size:13px;font-weight:700;gap:12px;letter-spacing:.5px;margin-bottom:10px;padding:12px 16px;text-transform:uppercase}.recepcion-progreso-seccion-stats{align-items:center;display:flex;font-size:12px;font-weight:600;gap:12px;margin-left:auto}.recepcion-add-doc-row{padding:8px 0 4px}.recepcion-btn-add-documento{background:#0000;border:1.5px dashed #9ca3af;border:1.5px dashed var(--color-gray-400,#9ca3af);border-radius:6px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:12px;font-weight:600;padding:6px 16px;transition:all .2s ease;width:100%}.recepcion-btn-add-documento:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563)}.recepcion-add-doc-form{align-items:center;display:flex;gap:8px}.recepcion-add-doc-form .recepcion-input{flex:1 1;font-size:12px;padding:6px 10px}.recepcion-btn-add-doc-ok{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:5px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:13px;font-weight:700;padding:6px 12px;transition:background .15s ease}.recepcion-btn-add-doc-ok:hover:not(:disabled){background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.recepcion-btn-add-doc-ok:disabled{cursor:not-allowed;opacity:.4}.recepcion-btn-add-doc-cancel{background:#f3f4f6;border:none;border-radius:5px;color:#6b7280;cursor:pointer;font-size:13px;font-weight:700;padding:6px 12px;transition:all .15s ease}.recepcion-btn-add-doc-cancel:hover{background:#e5e7eb;color:#374151}.recepcion-notificaciones-section{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:16px}.recepcion-notif-buttons-row{display:flex;gap:10px;margin-bottom:0}.recepcion-notif-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 18px;transition:all .15s ease}.recepcion-notif-btn:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-notif-btn-active{background:#111827;background:var(--color-gray-900,#111827);border-color:#111827;border-color:var(--color-gray-900,#111827);color:#fff}.recepcion-notif-btn-active:hover{background:#4b5563;background:var(--color-gray-600,#4b5563);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);color:#fff}.recepcion-notif-panel{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;margin-top:14px;padding:20px}.recepcion-notif-toggle-row{margin-bottom:16px}.recepcion-toggle-label{align-items:center;cursor:pointer;display:inline-flex;gap:10px}.recepcion-toggle-checkbox{display:none}.recepcion-toggle-switch{background:#d1d5db;border-radius:11px;display:inline-block;height:22px;position:relative;transition:background .2s ease;width:40px}.recepcion-toggle-switch:after{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:18px}.recepcion-toggle-on{background:#111827;background:var(--color-gray-900,#111827)}.recepcion-toggle-on:after{transform:translateX(18px)}.recepcion-notif-btn-save{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:8px;color:#111827;color:var(--color-gray-900,#111827);cursor:pointer;font-size:13px;font-weight:700;padding:10px;transition:background .15s ease;width:100%}.recepcion-notif-btn-save:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.recepcion-notif-btn-select-all{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:all .15s ease}.recepcion-notif-btn-select-all:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-color:#4b5563;border-color:var(--color-gray-600,#4b5563);color:#111827;color:var(--color-gray-900,#111827)}.recepcion-member-selector{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;max-height:260px;overflow-y:auto}.recepcion-member-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 14px;transition:all .12s ease}.recepcion-member-item:hover{border-color:#9ca3af;border-color:var(--color-gray-400,#9ca3af)}.recepcion-member-item:hover,.recepcion-member-selected{background:#f9fafb;background:var(--color-gray-50,#f9fafb)}.recepcion-member-selected{border-color:#111827;border-color:var(--color-gray-900,#111827)}.recepcion-member-check{align-items:center;border:2px solid #d1d5db;border-radius:5px;color:#9ca3af;color:var(--color-gray-400,#9ca3af);display:flex;font-size:13px;font-weight:700;height:22px;justify-content:center;min-width:22px;transition:all .12s ease;width:22px}.recepcion-member-selected .recepcion-member-check{background:#111827;background:var(--color-gray-900,#111827);border-color:#111827;border-color:var(--color-gray-900,#111827);color:#fff}.recepcion-member-info{display:flex;flex:1 1;flex-direction:column;min-width:0}.recepcion-member-name{color:#1a1a1a;font-size:13px;font-weight:600}.recepcion-member-email{color:#9ca3af;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recepcion-member-role{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6);border-radius:4px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.recepcion-member-role,.recepcion-notif-btn-send{color:#111827;color:var(--color-gray-900,#111827)}.recepcion-notif-btn-send{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:8px;cursor:pointer;font-size:14px;font-weight:700;padding:12px;transition:all .15s ease;width:100%}.recepcion-notif-btn-send:hover:not(:disabled){background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.recepcion-notif-btn-send:disabled{background:#d1d5db;color:#9ca3af;cursor:not-allowed}.recepcion-notif-result{border-radius:8px;font-size:13px;font-weight:600;margin-top:10px;padding:10px 14px}.recepcion-notif-result-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#16a34a}.recepcion-notif-result-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}:root{--g-arrow-color:#1f2937;--g-bar-color:#fff;--g-bar-border:#fff;--g-tick-color-thick:#ededed;--g-tick-color:#f3f3f3;--g-actions-background:#f3f3f3;--g-border-color:#ebeff2;--g-text-muted:#7c7c7c;--g-text-light:#fff;--g-text-dark:#171717;--g-progress-color:#dbdbdb;--g-handle-color:#37352f;--g-weekend-label-color:#dcdce4;--g-expected-progress:#c4c4e9;--g-header-background:#fff;--g-row-color:#fdfdfd;--g-row-border-color:#c7c7c7;--g-today-highlight:#37352f;--g-popup-actions:#ebeff2;--g-weekend-highlight-color:#f7f7f7}html[data-theme=dark]{--g-arrow-color:#e5e5e5;--g-bar-color:#2a2a2a;--g-bar-border:#3a3a3a;--g-tick-color-thick:#1a1a1a;--g-tick-color:#0a0a0a;--g-actions-background:#1a1a1a;--g-border-color:#2a2a2a;--g-text-muted:#999;--g-text-light:#fff;--g-text-dark:#f5f5f5;--g-progress-color:#4a4a4a;--g-handle-color:#d0d0d0;--g-weekend-label-color:#3a3a3a;--g-expected-progress:#5a5a5a;--g-header-background:#0a0a0a;--g-row-color:#141414;--g-row-border-color:#2a2a2a;--g-today-highlight:#999;--g-popup-actions:#1a1a1a;--g-weekend-highlight-color:#0f0f0f}.gantt-container{border-radius:8px;font-size:12px;height:var(--gv-grid-height);isolation:isolate;line-height:14.5px;overflow:auto;position:relative;width:100%}.gantt-container .popup-wrapper{background:#fff;background:var(--g-header-background);border-radius:5px;box-shadow:0 10px 24px -3px #0003;left:0;padding:10px;position:absolute;top:0;width:-webkit-max-content;width:max-content;z-index:1000}.gantt-container .popup-wrapper .title{color:#171717;color:var(--g-text-dark);font-size:.85rem;font-weight:650;line-height:15px;margin-bottom:2px}.gantt-container .popup-wrapper .subtitle{color:#171717;color:var(--g-text-dark);font-size:.8rem;margin-bottom:5px}.gantt-container .popup-wrapper .details{color:#7c7c7c;color:var(--g-text-muted);font-size:.7rem}.gantt-container .popup-wrapper .actions{margin-left:3px;margin-top:10px}.gantt-container .popup-wrapper .action-btn{background-color:#ebeff2;background-color:var(--g-popup-actions);border:none;border-right:1px solid #ebeff2;border-right:1px solid var(--g-border-color);padding:5px 8px}.gantt-container .popup-wrapper .action-btn:hover{filter:brightness(97%)}.gantt-container .popup-wrapper .action-btn:first-child{border-bottom-left-radius:4px;border-top-left-radius:4px}.gantt-container .popup-wrapper .action-btn:last-child{border-bottom-right-radius:4px;border-right:none;border-top-right-radius:4px}.gantt-container .grid-header{background-color:#fff;background-color:var(--g-header-background);border-bottom:1px solid #c7c7c7;border-bottom:1px solid var(--g-row-border-color);height:calc(var(--gv-lower-header-height) + var(--gv-upper-header-height) + 10px);left:0;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.gantt-container .lower-text,.gantt-container .upper-text{text-anchor:middle}.gantt-container .upper-header{height:var(--gv-upper-header-height)}.gantt-container .lower-header{height:var(--gv-lower-header-height)}.gantt-container .lower-text{align-content:center;color:#7c7c7c;color:var(--g-text-muted);font-size:12px;height:calc(var(--gv-lower-header-height)*.8);margin:0 calc(var(--gv-column-width)*.1);position:absolute;text-align:center;width:calc(var(--gv-column-width)*.8)}.gantt-container .upper-text{color:#171717;color:var(--g-text-dark);font-size:14px;font-weight:500;height:calc(var(--gv-lower-header-height)*.66);position:absolute;width:-webkit-fit-content;width:fit-content}.gantt-container .current-upper{left:0!important;padding-left:17px}.gantt-container .current-upper,.gantt-container .side-header{background:#fff;background:var(--g-header-background);position:-webkit-sticky;position:sticky}.gantt-container .side-header{display:flex;float:right;font-weight:400;line-height:20px;margin-left:auto;padding-right:10px;padding-top:10px;right:0;top:0;width:-webkit-max-content;width:max-content;z-index:1000}.gantt-container .side-header *{background-color:#f3f3f3;background-color:var(--g-actions-background);border:none;border-radius:.5rem;box-sizing:initial;color:#171717;color:var(--g-text-dark);font-size:14px;font-weight:420;letter-spacing:.02em;margin-right:5px;padding:5px 8px;transition-duration:.15s;transition-property:background-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.gantt-container .side-header :last-child{margin-right:0}.gantt-container .side-header :hover{filter:brightness(97.5%)}.gantt-container .side-header select{padding-bottom:2px;padding-top:2px;width:60px}.gantt-container .side-header select:focus{outline:none}.gantt-container .date-range-highlight{background-color:#dbdbdb;background-color:var(--g-progress-color);border-radius:12px;height:calc(var(--gv-lower-header-height) - 6px);position:absolute;top:calc(var(--gv-upper-header-height) + 5px)}.gantt-container .current-highlight{background:#37352f;background:var(--g-today-highlight);position:absolute;width:1px;z-index:999}.gantt-container .current-ball-highlight{background:#37352f;background:var(--g-today-highlight);border-radius:50%;position:absolute;z-index:1001}.gantt-container .current-date-highlight{background:#37352f;background:var(--g-today-highlight);border-radius:5px;color:#fff;color:var(--g-text-light)}.gantt-container .holiday-label{background:#dcdce4;background:var(--g-weekend-label-color);border-radius:5px;left:0;opacity:0;padding:2px 5px;position:absolute;top:0;z-index:1000}.gantt-container .holiday-label.show{opacity:1}.gantt-container .extras{left:0;position:-webkit-sticky;position:sticky}.gantt-container .extras .adjust{background-color:#f3f3f3;background-color:var(--g-actions-background);border:none;border-radius:3px;color:#fff;color:var(--g-text-light);left:8px;padding:8px;position:absolute;top:calc(var(--gv-grid-height) - 60px)}.gantt-container .hide{display:none}.gantt{position:absolute;user-select:none;-webkit-user-select:none}.gantt .grid-background{fill:none}.gantt .grid-row{fill:#fdfdfd;fill:var(--g-row-color)}.gantt .row-line{stroke:#ebeff2;stroke:var(--g-border-color)}.gantt .tick{stroke:#f3f3f3;stroke:var(--g-tick-color);stroke-width:.4}.gantt .tick.thick{stroke:#ededed;stroke:var(--g-tick-color-thick);stroke-width:.7}.gantt .arrow{fill:none;stroke:#1f2937;stroke:var(--g-arrow-color);stroke-width:1.5}.gantt .bar-wrapper .bar{fill:#fff;fill:var(--g-bar-color);stroke:#fff;stroke:var(--g-bar-border);stroke-width:0;transition:stroke-width .3s ease}.gantt .bar-progress{fill:#dbdbdb;fill:var(--g-progress-color);border-radius:4px}.gantt .bar-expected-progress{fill:#c4c4e9;fill:var(--g-expected-progress)}.gantt .bar-invalid{fill:#0000;stroke:#fff;stroke:var(--g-bar-border);stroke-width:1;stroke-dasharray:5}:is(.gantt .bar-invalid)~.bar-label{fill:#fff;fill:var(--g-text-light)}.gantt .bar-label{fill:#171717;fill:var(--g-text-dark);dominant-baseline:central;font-family:Helvetica;font-size:13px;font-weight:400}.gantt .bar-label.big{fill:#171717;fill:var(--g-text-dark);text-anchor:start}.gantt .handle{fill:#37352f;fill:var(--g-handle-color);opacity:0;transition:opacity .3s ease}.gantt .handle.active,.gantt .handle.visible{cursor:ew-resize;opacity:1}.gantt .handle.progress{fill:#7c7c7c;fill:var(--g-text-muted)}.gantt .bar-wrapper{cursor:pointer}.gantt .bar-wrapper .bar{border-radius:3px;outline:1px solid #c7c7c7;outline:1px solid var(--g-row-border-color)}.gantt .bar-wrapper:hover .bar{transition:transform .3s ease}.gantt .bar-wrapper:hover .date-range-highlight{display:block}.gantt .grid-column{fill:#0000;pointer-events:all}.gantt .grid-column:hover{fill:#f7f7f7;fill:var(--g-weekend-highlight-color);transition:fill .1s ease}.programa-container{box-sizing:border-box;padding:0;width:100%}.programa-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.programa-header h2{color:#111827;font-size:1.5rem;font-weight:700;margin:0}.programa-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.programa-btn{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:8px 16px;transition:background .15s}.programa-btn-primary{background:#fff;background:var(--color-white,#fff);border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);color:#111827;color:var(--color-gray-900,#111827)}.programa-btn-primary:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.programa-btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.programa-btn-secondary:hover{background:#e2e8f0}.programa-btn-danger{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.programa-btn-danger:hover{background:#fee2e2}.programa-btn:disabled{cursor:not-allowed;opacity:.5}.programa-version-selector{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:8px}.programa-version-selector select{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;font-size:.875rem;padding:6px 10px}.programa-version-selector select:focus{border-color:#9ca3af;border-color:var(--color-gray-400,#9ca3af);outline:none}.prog-dropdown{display:inline-block;position:relative}.prog-dropdown-trigger{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--color-gray-200,#e5e7eb);border-radius:6px;color:#111827;cursor:pointer;display:flex;font-size:.875rem;gap:8px;max-width:320px;min-width:200px;overflow:hidden;padding:6px 10px;text-align:left;text-overflow:ellipsis;transition:border-color .15s;-webkit-user-select:none;user-select:none;white-space:nowrap}.prog-dropdown-trigger.open,.prog-dropdown-trigger:hover{border-color:#9ca3af;border-color:var(--color-gray-400,#9ca3af);outline:none}.prog-dropdown-trigger .trigger-label{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prog-dropdown-trigger .trigger-badge{border-radius:9px;flex-shrink:0;font-size:.72rem;font-weight:700;line-height:1.5;padding:1px 6px}.prog-dropdown-trigger .trigger-arrow{color:#94a3b8;flex-shrink:0;font-size:.65rem;margin-left:2px;transition:transform .15s}.prog-dropdown-trigger.open .trigger-arrow{transform:rotate(180deg)}.prog-dropdown-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 8px 24px #0000001f;left:0;max-height:320px;max-width:420px;min-width:100%;overflow-x:hidden;overflow-y:auto;position:absolute;top:calc(100% + 4px);z-index:200}.prog-dropdown-item{align-items:center;border-bottom:1px solid #f8fafc;cursor:pointer;display:flex;gap:10px;padding:8px 12px;transition:background .1s}.prog-dropdown-item:last-child{border-bottom:none}.prog-dropdown-item.selected,.prog-dropdown-item:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.prog-dropdown-item.selected{font-weight:700}.prog-dropdown-item.reset-item{border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.82rem;font-style:italic;padding:7px 12px}.prog-dropdown-item.reset-item:hover{background:#f8fafc}.prog-dropdown-item .item-name{color:#1e293b;flex:1 1;font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prog-dropdown-item .item-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:3px;min-width:70px}.prog-dropdown-item .item-pct{font-size:.78rem;font-weight:800;line-height:1}.prog-dropdown-item .item-bar-wrap{background:#e2e8f0;border-radius:2px;height:4px;overflow:hidden;width:60px}.prog-dropdown-item .item-bar-fill{border-radius:2px;height:100%;transition:width .3s ease}.programa-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px}.programa-leyenda{color:#64748b;display:flex;flex-wrap:wrap;font-size:.8rem;gap:20px}.programa-leyenda-item{align-items:center;display:flex;gap:6px}.programa-leyenda-color{border-radius:2px;height:10px;width:16px}.programa-empty{color:#94a3b8;padding:80px 20px;text-align:center}.programa-empty h3{color:#64748b;font-size:1.1rem;margin-bottom:8px}.programa-empty p{font-size:.875rem;margin-bottom:24px}.programa-tabla-wrapper{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0f;overflow-x:auto}.programa-tabla{border-collapse:collapse;font-size:.875rem;width:100%}.programa-tabla th{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-gray-200,#e5e7eb);color:#64748b;font-size:.8rem;font-weight:600;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase;white-space:nowrap}.programa-tabla td{border-bottom:1px solid #f1f5f9;color:#111827;padding:10px 14px;vertical-align:middle}.programa-tabla tr:last-child td{border-bottom:none}.programa-expand-controls{display:flex;gap:6px}.programa-ctrl-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.78rem;font-weight:600;padding:5px 12px;transition:background .15s}.programa-ctrl-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.programa-chevron{color:#4b5563;color:var(--color-gray-600,#4b5563);display:inline-block;font-size:1rem;line-height:1;margin-right:8px;transition:transform .2s ease}.programa-chevron.colapsado{transform:rotate(-90deg)}.programa-chevron-sm{color:#94a3b8;display:inline-block;font-size:.75rem;line-height:1;margin-right:6px;transition:transform .2s ease}.programa-chevron-sm.colapsado{transform:rotate(-90deg)}.programa-fila-seccion td{background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--color-gray-200,#e5e7eb);border-left:3px solid #111827;border-left:3px solid var(--color-gray-900,#111827);color:#111827;color:var(--color-gray-900,#111827);font-size:.875rem;font-weight:700;padding:8px 14px}.programa-fila-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.programa-fila-toggle:hover td{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.programa-seccion-nombre{font-weight:700}.programa-wbs-seccion{color:#4b5563;color:var(--color-gray-600,#4b5563);font-family:monospace;font-size:.8rem;margin-right:8px;opacity:.6}.programa-seccion-count{color:#94a3b8;font-size:.75rem;font-weight:400;margin-left:12px}.programa-fila-actividad{cursor:pointer;transition:background .1s}.programa-fila-actividad:hover{background:#f3f4f6;background:var(--color-gray-100,#f3f4f6)}.programa-fila-grupo td{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#334155;font-weight:600}.programa-fila-grupo:hover td{background:#f1f5f9}.programa-grupo-nombre{color:#334155;font-weight:600}.programa-actividad-nombre{color:#334155}.programa-wbs{color:#cbd5e1;font-family:monospace;font-size:.75rem;font-weight:400;margin-right:8px}.programa-leaf-dot{background:#cbd5e1;border-radius:50%;display:inline-block;height:5px;margin-right:8px;vertical-align:middle;width:5px}.programa-barra-wrapper{align-items:center;display:flex;gap:8px;min-width:160px}.programa-barra-track{background:#e2e8f0;border-radius:5px;flex:1 1;height:10px;overflow:hidden;position:relative}.programa-barra-fill{border-radius:5px;height:100%}.programa-barra-pct{color:#64748b;font-size:.8rem;font-weight:600;min-width:36px;text-align:right}.programa-badge{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;white-space:nowrap}.badge-pendiente{background:#f1f5f9;color:#64748b}.badge-en_progreso{background:#ffedd5;color:#ea580c}.badge-completado{background:#f0fdf4;color:#16a34a}.badge-atrasado{background:#fef2f2;color:#dc2626}.programa-fecha{color:#475569;font-size:.82rem;white-space:nowrap}.programa-resumen{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.programa-resumen-card{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0f;min-width:130px;padding:14px 20px}.programa-resumen-card .valor{color:#111827;font-size:1.5rem;font-weight:700}.programa-resumen-card .etiqueta{color:#94a3b8;font-size:.78rem;margin-top:2px}.programa-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.programa-modal{background:#fff;border-radius:12px;border-top:4px solid #111827;border-top:4px solid var(--color-gray-900,#111827);box-shadow:0 20px 60px #0003;max-width:480px;padding:28px;width:100%}.programa-modal h3{color:#111827;font-size:1.1rem;font-weight:700;margin:0 0 20px}.programa-modal-campo{margin-bottom:16px}.programa-modal-campo label{color:#475569;display:block;font-size:.85rem;font-weight:600;margin-bottom:6px}.programa-modal-campo input[type=date],.programa-modal-campo input[type=file],.programa-modal-campo input[type=number],.programa-modal-campo input[type=text]{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#111827;font-size:.875rem;padding:9px 12px;width:100%}.programa-modal-campo input:focus{border-color:#9ca3af;border-color:var(--color-gray-400,#9ca3af);box-shadow:0 0 0 3px #11182714;outline:none}.programa-modal-campo input[type=range]{accent-color:#111827;accent-color:var(--color-gray-900,#111827);width:100%}.programa-btn-terminado{background:#f8fafc;border:2px dashed #cbd5e1;border-radius:10px;color:#64748b;cursor:pointer;font-size:.95rem;font-weight:600;padding:14px;text-align:center;transition:all .2s ease;width:100%}.programa-btn-terminado:hover{background:#f0fdf4;border-color:#22c55e;color:#16a34a}.programa-btn-terminado.activo{background:#f0fdf4;border:2px solid #22c55e;color:#16a34a}.programa-modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.programa-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin-bottom:16px;padding:10px 14px}.programa-spinner{animation:spin .7s linear infinite;border:2px solid #fff6;border-top-color:#fff;height:16px;width:16px}.programa-fila-spinner,.programa-spinner{display:inline-block;margin-right:6px;vertical-align:middle}.programa-fila-spinner{animation:spin .6s linear infinite;border:2px solid #e5e7eb;border-top-color:#4b5563;border:2px solid var(--color-gray-200,#e5e7eb);border-radius:50%;border-top-color:var(--color-gray-600,#4b5563);flex-shrink:0;height:12px;width:12px}.programa-fila-guardando td{background:#f3f4f6!important;background:var(--color-gray-100,#f3f4f6)!important;opacity:.85}.db-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:900px){.db-grid{grid-template-columns:repeat(2,1fr)}}.db-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;border-top:4px solid #e2e8f0;padding:18px 20px;transition:box-shadow .15s}.db-card:hover{box-shadow:0 4px 16px #00000012}.db-card.naranja{border-top-color:#f97316}.db-card.azul{border-top-color:#3b82f6}.db-card.verde{border-top-color:#22c55e}.db-card.rojo{border-top-color:#ef4444}.db-card.amarillo{border-top-color:#eab308}.db-card.gris{border-top-color:#94a3b8}.db-valor{color:#111827;font-size:2rem;font-weight:800;line-height:1.1;margin-bottom:4px}.db-etiqueta{color:#475569;font-size:.82rem;font-weight:600;margin-bottom:2px}.db-sub{color:#94a3b8;font-size:.75rem}.db-kpi-strip{display:flex;gap:12px;margin-bottom:20px;margin-top:16px}.db-kpi-strip-item{background:#fff;border-radius:10px;box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0f;flex:1 1;padding:14px 18px}.db-kpi-strip-val{color:#111827;font-size:1.35rem;font-weight:800;line-height:1.2}.db-kpi-strip-lbl{color:#94a3b8;font-size:.72rem;font-weight:500;margin-top:3px}.db-barra-dual-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:20px;padding:18px 20px}.db-barra-dual-label{font-size:.85rem;margin-bottom:10px}.db-barra-dual-track{background:#f1f5f9;border-radius:11px;height:22px;overflow:hidden;position:relative}.db-barra-esperado{background:#bfdbfe}.db-barra-esperado,.db-barra-real{border-radius:11px;height:100%;left:0;position:absolute;top:0;transition:width .9s cubic-bezier(.25,.8,.25,1)}.db-barra-real{background:#f97316;opacity:.9}.db-barra-dual-ticks{color:#94a3b8;display:flex;font-size:.72rem;justify-content:space-between;margin-top:6px}.db-resumen-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}@media (max-width:700px){.db-resumen-row{grid-template-columns:1fr}}.db-resumen-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0f;padding:16px 18px}.db-resumen-num{color:#111827;font-size:2rem;font-weight:800;line-height:1}.db-resumen-lbl{color:#334155;font-size:.85rem;font-weight:600;margin-top:4px}.db-resumen-sub{color:#94a3b8;font-size:.75rem;margin-top:2px}.db-badge{border-radius:10px;display:inline-block;font-size:.74rem;font-weight:600;padding:2px 9px;white-space:nowrap}.db-badge-rojo{background:#fef2f2;color:#dc2626}.db-badge-naranja{background:#fff7ed;color:#ea580c}.db-badge-amarillo{background:#fefce8;color:#a16207}.db-mini-barra-wrap{align-items:center;display:flex;gap:6px}.db-mini-barra-track{background:#e2e8f0;border-radius:4px;flex:1 1;height:8px;min-width:60px;overflow:hidden}.db-mini-barra-fill{border-radius:4px;height:100%;transition:width .6s ease}.db-act-nombre{color:#334155;display:block;font-size:.85rem;max-width:300px;overflow:hidden;text-overflow:ellipsis}.db-act-nombre,.db-tabla th{white-space:nowrap}.db-sin-problemas{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:12px;color:#22c55e;margin-top:24px;padding:40px;text-align:center}.db-sin-problemas span{display:block;font-size:2rem;margin-bottom:8px}.db-sin-problemas p{color:#16a34a;font-size:.9rem;margin:0}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.programa-skeleton-block{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:600px 100%;border-radius:6px}@keyframes spin{to{transform:rotate(1turn)}}.programa-spinner-wrap{align-items:center;display:flex;flex-direction:column;gap:18px;justify-content:center;min-height:55vh}.programa-spinner{animation:spin .8s linear infinite;border:5px solid #e2e8f0;border-radius:50%;border-top:5px solid var(--color-gray-600,#4b5563);height:48px;width:48px}.programa-spinner-texto{color:#64748b;font-size:.9rem;font-weight:500}.programa-vista-toggle{display:flex;gap:6px;margin-bottom:16px}.programa-vista-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:.82rem;font-weight:600;padding:7px 16px;transition:background .15s,color .15s,border-color .15s}.programa-vista-btn:hover{background:#f1f5f9}.programa-ctrl-btn.activo,.programa-vista-btn.activo{background:#1e293b;border-color:#1e293b;color:#fff}.programa-gantt-controles{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:16px}.programa-gantt-vista-modo{display:flex;flex-wrap:wrap;gap:6px}.programa-gantt-split{align-items:flex-start;background:#fff;border-radius:10px;box-shadow:0 1px 3px #0f172a14,0 1px 2px #0f172a0f;display:flex;overflow:hidden}.programa-gantt-nombres{border-right:1px solid #e5e7eb;flex-shrink:0;overflow-x:hidden;overflow-y:auto}.programa-gantt-nombres-header{align-items:flex-end;background:#f9fafb;background:var(--color-gray-50,#f9fafb);border-bottom:2px solid #e5e7eb;border-bottom:2px solid var(--color-gray-200,#e5e7eb);color:#64748b;display:flex;font-size:.8rem;font-weight:600;letter-spacing:.04em;padding:0 12px 10px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:2}.programa-gantt-fila-nombre{align-items:center;border-bottom:1px solid #f1f5f9;color:#111827;display:flex;font-size:.84rem;gap:6px;overflow:hidden;padding-right:10px;white-space:nowrap}.programa-gantt-fila-nombre.clicable{cursor:pointer}.programa-gantt-fila-nombre.clicable:hover{background:#f8fafc}.programa-gantt-fila-nombre.es-seccion{background:#f8fafc;font-weight:700}.programa-gantt-nombre-texto{overflow:hidden;text-overflow:ellipsis}.programa-gantt-wrapper{flex:1 1;min-width:0;padding:8px 0}.programa-gantt-wrapper .gantt-container{overflow-x:hidden;overflow-y:auto}.programa-gantt-scrollbar-x{height:16px;margin-top:6px;overflow-x:auto;overflow-y:hidden}.programa-gantt-scrollbar-x>div{height:1px}.programa-gantt-nombres,.programa-gantt-scrollbar-x,.programa-gantt-wrapper .gantt-container{scrollbar-color:#94a3b8 #e2e8f0;scrollbar-width:auto}.programa-gantt-nombres::-webkit-scrollbar,.programa-gantt-scrollbar-x::-webkit-scrollbar,.programa-gantt-wrapper .gantt-container::-webkit-scrollbar{height:12px;width:12px}.programa-gantt-nombres::-webkit-scrollbar-track,.programa-gantt-scrollbar-x::-webkit-scrollbar-track,.programa-gantt-wrapper .gantt-container::-webkit-scrollbar-track{background:#e2e8f0;border-radius:8px}.programa-gantt-nombres::-webkit-scrollbar-thumb,.programa-gantt-scrollbar-x::-webkit-scrollbar-thumb,.programa-gantt-wrapper .gantt-container::-webkit-scrollbar-thumb{background-color:#94a3b8;border:2px solid #e2e8f0;border-radius:8px}.programa-gantt-nombres::-webkit-scrollbar-thumb:hover,.programa-gantt-scrollbar-x::-webkit-scrollbar-thumb:hover,.programa-gantt-wrapper .gantt-container::-webkit-scrollbar-thumb:hover{background-color:#64748b}.programa-gantt-wrapper .bar-wrapper.gantt-avance-verde .bar,.programa-gantt-wrapper .bar-wrapper.gantt-avance-verde-grupo .bar{fill:#22c55e}.programa-gantt-wrapper .bar-wrapper.gantt-avance-amarillo .bar,.programa-gantt-wrapper .bar-wrapper.gantt-avance-amarillo-grupo .bar{fill:#eab308}.programa-gantt-wrapper .bar-wrapper.gantt-avance-naranjo .bar,.programa-gantt-wrapper .bar-wrapper.gantt-avance-naranjo-grupo .bar{fill:#f97316}.programa-gantt-wrapper .bar-wrapper.gantt-avance-rojo .bar,.programa-gantt-wrapper .bar-wrapper.gantt-avance-rojo-grupo .bar{fill:#ef4444}.programa-gantt-wrapper .bar-wrapper .bar-progress{fill:#1e293b;opacity:.35}.programa-gantt-wrapper .bar-wrapper[class*=-grupo] .bar{opacity:.85}.programa-gantt-wrapper .bar-wrapper:hover .bar{cursor:pointer}.calidad-container{box-sizing:border-box;padding:0;width:100%}.calidad-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:24px}.calidad-header h2{color:#111827;font-size:20px;font-weight:700;margin:0}.calidad-header-actions{align-items:center;display:flex;gap:8px}.calidad-filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.calidad-filtro-chip{background:#fff;border:none;border-radius:999px;box-shadow:0 1px 3px #0000001f;color:#374151;cursor:pointer;font-size:12px;font-weight:600;padding:6px 14px;transition:background .15s}.calidad-filtro-chip:hover{background:#f3f4f6}.calidad-filtro-chip.activo{background:#111827;color:#fff}.calidad-btn-primary{background:#16a34a;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .15s}.calidad-btn-primary:hover{background:#15803d}.calidad-btn-primary:disabled{background:#86efac;cursor:not-allowed}.calidad-btn-secondary{background:#f9fafb;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001f;color:#374151;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:background .15s}.calidad-btn-secondary:hover{background:#f3f4f6}.calidad-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:64px 24px;text-align:center}.calidad-empty-icon{font-size:48px;margin-bottom:16px;opacity:.4}.calidad-empty h3{color:#111827;font-size:18px;font-weight:700;margin:0 0 8px}.calidad-empty p{color:#6b7280;font-size:14px;margin:0 0 24px;max-width:380px}.calidad-kpis{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:24px}.calidad-kpi-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:16px}.calidad-kpi-card .kpi-label{color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.05em;margin-bottom:6px;text-transform:uppercase}.calidad-kpi-card .kpi-value{color:#111827;font-size:26px;font-weight:800;line-height:1}.calidad-kpi-card .kpi-value.verde{color:#16a34a}.calidad-kpi-card .kpi-value.rojo{color:#dc2626}.calidad-kpi-card .kpi-value.naranja{color:#ea580c}.calidad-secciones-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:32px;width:100%}.calidad-seccion-card{background:#fff;border-radius:10px;box-shadow:0 2px 8px #00000014;padding:16px}.calidad-seccion-card h4{color:#111827;font-size:14px;font-weight:700;margin:0 0 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calidad-seccion-progress-bar{background:#f3f4f6;border-radius:3px;height:6px;margin-bottom:10px;overflow:hidden}.calidad-seccion-progress-fill{background:#16a34a;border-radius:3px;height:100%;transition:width .3s}.calidad-seccion-chips{display:flex;flex-wrap:wrap;gap:6px}.calidad-chip{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.calidad-chip-total{background:#f3f4f6;color:#374151}.calidad-chip-ok{background:#dcfce7;color:#15803d}.calidad-chip-atrasada{background:#fee2e2;color:#b91c1c}.calidad-seccion-pct{color:#111827;font-size:22px;font-weight:800;margin-bottom:4px}.calidad-grupo{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;overflow:hidden}.calidad-grupo-header{align-items:center;background:#f9fafb;border-bottom:1px solid #e5e7eb;cursor:pointer;display:flex;justify-content:space-between;padding:10px 16px;-webkit-user-select:none;user-select:none}.calidad-grupo-header:hover{background:#f3f4f6}.calidad-grupo-nombre{color:#111827;font-size:13px;font-weight:700}.calidad-grupo-stats{align-items:center;display:flex;gap:8px}.calidad-grupo-toggle{color:#9ca3af;font-size:10px;margin-left:8px}.calidad-ruta-grupos{align-items:center;display:flex;flex-wrap:wrap;gap:2px;margin-top:4px}.calidad-ruta-item{background:#fff;border-radius:3px;color:#000;font-size:10px;font-weight:500;padding:1px 6px}.calidad-ruta-sep{color:#9ca3af;font-size:10px;padding:0 1px}.calidad-obs-ruta-grupos{align-items:center;display:flex;flex-wrap:wrap;gap:2px;margin-bottom:2px}.calidad-obs-ruta-item{color:#000;font-size:10px;font-weight:500}.calidad-obs-ruta-sep{color:#000;font-size:10px;padding:0 1px}.calidad-tabla{border-collapse:collapse;font-size:13px;width:100%}.calidad-tabla th{background:#fafafa;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:11px;font-weight:600;letter-spacing:.04em;padding:8px 12px;text-align:left;text-transform:uppercase}.calidad-tabla td{border-bottom:1px solid #f3f4f6;color:#374151;padding:10px 12px}.calidad-tabla tr:last-child td{border-bottom:none}.calidad-tabla tr:hover{background:#f9fafb}.calidad-tabla tr.calidad-fila-partida-inicio td{border-top:2px solid #e5e7eb}.calidad-tabla tr.calidad-fila-partida-inicio:first-child td{border-top:none}.calidad-estado{border-radius:10px;display:inline-block;font-size:11px;font-weight:600;padding:2px 8px;white-space:nowrap}.calidad-estado-pendiente{background:#f3f4f6;color:#6b7280}.calidad-estado-en_progreso{background:#dbeafe;color:#1d4ed8}.calidad-estado-completado{background:#dcfce7;color:#15803d}.calidad-estado-atrasado{background:#fee2e2;color:#b91c1c}.calidad-estado-rf{background:#fef3c7;color:#92400e}.calidad-avance-bar{align-items:center;display:flex;gap:8px}.calidad-avance-track{background:#f3f4f6;border-radius:3px;flex:1 1;height:6px;min-width:60px;overflow:hidden}.calidad-avance-fill{background:#16a34a;border-radius:3px;height:100%;transition:width .3s}.calidad-avance-fill.en_progreso{background:#2563eb}.calidad-avance-fill.atrasado{background:#dc2626}.calidad-avance-pct{color:#374151;font-size:12px;font-weight:600;min-width:32px;text-align:right}.calidad-btn-editar{background:#fff;border:none;border-radius:4px;box-shadow:0 1px 3px #0000001f;color:#374151;cursor:pointer;font-size:11px;padding:3px 8px;white-space:nowrap}.calidad-btn-editar:hover{background:#f3f4f6}.calidad-btn-editar-verde{background:#16a34a;color:#fff}.calidad-btn-editar-verde:hover{background:#15803d}.calidad-edit-panel{align-items:center;background:#f0fdf4;border-top:1px solid #bbf7d0;display:flex;flex-wrap:wrap;gap:12px;padding:12px 16px}.calidad-edit-panel label{color:#15803d;font-size:12px;font-weight:600}.calidad-edit-panel input[type=range]{accent-color:#16a34a;width:140px}.calidad-edit-panel input[type=number]{border:1px solid #e5e7eb;border-radius:4px;font-size:13px;font-weight:600;padding:4px 6px;text-align:center;width:56px}.calidad-edit-panel-actions{display:flex;gap:6px;margin-left:auto}.calidad-edit-panel textarea{border:1px solid #e5e7eb;border-radius:6px;font-family:inherit;font-size:13px;min-height:60px;padding:8px 10px;resize:vertical;width:100%}.calidad-edit-row{align-items:flex-start;display:flex;gap:8px;width:100%}.calidad-btn-menu{background:none;border:none;border-radius:4px;color:#374151;cursor:pointer;font-size:13px;line-height:1;padding:3px 8px}.calidad-btn-menu:hover{background:#f3f4f6}.calidad-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;min-width:120px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.calidad-dropdown-item{background:none;border:none;color:#374151;cursor:pointer;display:block;font-size:13px;padding:8px 12px;text-align:left;width:100%}.calidad-dropdown-item:hover{background:#f3f4f6}.calidad-observaciones{margin-top:32px}.calidad-observaciones h3{color:#111827;font-size:16px;font-weight:700;margin:0 0 12px}.calidad-modal-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:1000}.calidad-modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;max-height:80vh;max-width:520px;width:100%}.calidad-modal-header{border-bottom:1px solid #f3f4f6;padding:20px 24px 16px}.calidad-modal-header h3{color:#111827;font-size:16px;font-weight:700;margin:0 0 4px}.calidad-modal-header p{color:#6b7280;font-size:13px;margin:0}.calidad-modal-body{flex:1 1;overflow-y:auto;padding:16px 24px}.calidad-seccion-opcion{align-items:center;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:10px;margin-bottom:8px;padding:10px 12px;transition:background .1s,border-color .1s;-webkit-user-select:none;user-select:none}.calidad-seccion-opcion:hover{background:#f9fafb}.calidad-seccion-opcion.seleccionada{background:#f0fdf4;border-color:#86efac}.calidad-seccion-opcion input[type=checkbox]{accent-color:#16a34a;flex-shrink:0;height:16px;width:16px}.calidad-seccion-opcion-label{color:#111827;font-size:13px;font-weight:500}.calidad-seccion-opcion-wbs{color:#9ca3af;font-family:monospace;font-size:11px;margin-left:auto}.calidad-modal-footer{border-top:1px solid #f3f4f6;display:flex;gap:8px;justify-content:flex-end;padding:16px 24px}.calidad-loading{align-items:center;color:#9ca3af;display:flex;font-size:14px;justify-content:center;padding:48px}@media (max-width:640px){.calidad-container{padding:16px}.calidad-kpis{grid-template-columns:repeat(2,1fr)}.calidad-secciones-grid{grid-template-columns:1fr}.calidad-tabla td:nth-child(3),.calidad-tabla th:nth-child(3){display:none}}.ayuda-titulo-seccion{color:#111827;font-size:20px;font-weight:700;margin-bottom:12px}.ayuda-buscador{border:1px solid #d1d5db;border-radius:10px;box-sizing:border-box;font-size:14px;margin-bottom:16px;padding:12px 16px;width:100%}.ayuda-buscador:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #11182714;outline:none}.ayuda-sin-resultados{color:#6b7280;font-size:14px;padding:24px;text-align:center}.ayuda-indice,.ayuda-sin-resultados{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.ayuda-indice{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding:14px}.ayuda-indice-btn{background:#fff;border:1px solid #d1d5db;border-radius:20px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.ayuda-indice-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#111827}.ayuda-categoria{margin-bottom:16px;scroll-margin-top:20px}.ayuda-categoria-titulo{background:linear-gradient(135deg,#f0f4f8,#e8ecf1);border-left:4px solid #111827;border-radius:8px;color:#111827;font-size:16px;font-weight:700;margin-bottom:8px;padding:10px 16px}.ayuda-faq-item{border:1px solid #e5e7eb;border-radius:8px;margin-bottom:4px;overflow:hidden;transition:box-shadow .3s}.ayuda-faq-item.abierto{box-shadow:0 2px 12px #00000014}.ayuda-faq-pregunta{align-items:center;background:#fff;border:none;color:#1f2937;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:12px;justify-content:space-between;padding:14px 18px;text-align:left;transition:background .2s;width:100%}.ayuda-faq-pregunta:hover{background:#fafafa}.ayuda-faq-pregunta.abierta{background:#f3f4f6}.ayuda-faq-flecha{color:#111827;flex-shrink:0;font-size:18px;transition:transform .3s}.ayuda-faq-flecha.abierta{transform:rotate(180deg)}.ayuda-faq-respuesta{animation:ayudaFadeIn .2s ease-in;background:#fefefe;border-top:1px solid #f3f4f6;color:#4b5563;font-size:14px;line-height:1.7;padding:14px 18px}@keyframes ayudaFadeIn{0%{opacity:0}to{opacity:1}}.ayuda-contacto{background:linear-gradient(135deg,#111827,#2d4a6f);border-radius:16px;box-shadow:0 8px 32px #1f3a5a4d;color:#fff;margin-top:40px;padding:32px}.ayuda-contacto-titulo{font-size:22px;font-weight:700;margin-bottom:8px}.ayuda-contacto-subtitulo{color:#cbd5e1;font-size:14px;line-height:1.6;margin-bottom:24px}.ayuda-contacto-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.ayuda-contacto-card{background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;padding:20px}.ayuda-contacto-card h4{font-size:15px;font-weight:700;margin-bottom:6px}.ayuda-contacto-card p{color:#94a3b8;font-size:13px;margin-bottom:14px}.ayuda-contacto-boton{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000040;color:#111827;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 20px;text-decoration:none;transition:all .3s}.ayuda-contacto-boton:hover{background:#f3f4f6;transform:translateY(-2px)}.ayuda-horario-fila{display:flex;font-size:14px;justify-content:space-between;line-height:2}.ayuda-horario-activo{color:#cbd5e1}.ayuda-horario-hora{color:#10b981;font-weight:600}.ayuda-horario-cerrado{color:#f87171;font-weight:600}.ayuda-contacto-lista{color:#cbd5e1;font-size:13px;line-height:2;margin:0;padding-left:18px}.ayuda-contacto-urgente{background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;margin-top:24px;padding:14px;text-align:center}.ayuda-contacto-urgente p{color:#e5e7eb;font-size:13px;margin:0}.ayuda-footer{color:#9ca3af;font-size:13px;margin-top:32px;padding:16px;text-align:center}.ayuda-footer p{margin:0}.ayuda-footer p+p{margin-top:4px}.modal-overlay{align-items:center;animation:fadeIn .3s ease;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:9999}.modal-contenido{-webkit-overflow-scrolling:touch;animation:slideUp .3s ease;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-x:hidden;overflow-y:auto;pointer-events:auto;position:relative;scrollbar-color:#999 #f0f0f0;scrollbar-width:thin;width:90%;z-index:10000}.modal-contenido::-webkit-scrollbar{width:8px}.modal-contenido::-webkit-scrollbar-track{background:#f0f0f0;border-radius:0 16px 16px 0}.modal-contenido::-webkit-scrollbar-thumb{background:#999;border-radius:4px}.modal-contenido::-webkit-scrollbar-thumb:hover{background:#666}.modal-header-peligro{background:linear-gradient(135deg,#ff5252,#d32f2f);border-radius:16px 16px 0 0;color:#fff;padding:30px;text-align:center}.icono-advertencia{animation:pulse 2s infinite;display:block;font-size:60px;margin-bottom:15px}.modal-header-peligro h2{font-size:24px;font-weight:700;letter-spacing:1px;margin:0;text-transform:uppercase}.usuario-info-eliminar{background:#fff8e1;border-bottom:3px solid #ffd54f;padding:25px 30px}.usuario-info-eliminar h3{color:#f57c00;font-size:18px;margin:0 0 15px}.usuario-datos{background:#fff;border-left:4px solid #ff9800;border-radius:8px;padding:15px}.usuario-datos p{font-size:14px;margin:8px 0}.usuario-datos strong{color:#666;display:inline-block;min-width:80px}.estadisticas-eliminacion{background:#f5f5f5;padding:25px 30px}.estadisticas-eliminacion h3{color:#d32f2f;font-size:18px;margin:0 0 20px;text-align:center}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.stat-item{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;text-align:center;transition:transform .2s ease}.stat-item:hover{transform:translateY(-5px)}.stat-numero{color:#d32f2f;display:block;font-size:32px;font-weight:700;margin-bottom:8px}.stat-label{color:#666;display:block;font-size:12px;letter-spacing:.5px;text-transform:uppercase}.advertencia-critica{background:#ffebee;border-bottom:3px solid #ef5350;border-top:3px solid #ef5350;padding:25px 30px}.advertencia-critica p{color:#c62828;font-size:15px;line-height:1.6;margin:0;text-align:center}.advertencia-critica strong{display:block;font-size:16px;margin-bottom:10px}.confirmacion-checkbox{padding:25px 30px;pointer-events:auto}.checkbox-label{align-items:flex-start;cursor:pointer;display:flex;gap:12px;pointer-events:auto;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{cursor:pointer;flex-shrink:0;height:24px;margin-top:2px;pointer-events:auto;width:24px}.checkbox-label span{color:#333;font-size:14px;line-height:1.6}.verificacion-texto{padding:0 30px 25px;pointer-events:auto}.verificacion-texto label{color:#666;display:block;font-size:14px;margin-bottom:10px}.verificacion-texto strong{color:#d32f2f;font-size:16px;font-weight:700}.verificacion-texto input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-weight:600;letter-spacing:2px;padding:12px 15px;pointer-events:auto;text-transform:uppercase;transition:border-color .3s ease;width:100%}.verificacion-texto input:focus{border-color:#ff9800;outline:none}.verificacion-texto input.input-valido{background:#f1f8f4;border-color:#4caf50}.modal-acciones{background:#fafafa;border-radius:0 0 16px 16px;display:flex;gap:15px;padding:25px 30px;pointer-events:auto}.btn-cancelar,.btn-eliminar{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:15px 25px;pointer-events:auto;transition:all .3s ease}.btn-cancelar{background:#e0e0e0;color:#666}.btn-cancelar:hover{background:#bdbdbd}.btn-eliminar{background:linear-gradient(135deg,#ff5252,#d32f2f);box-shadow:0 4px 15px #d32f2f4d;color:#fff}.btn-eliminar:hover:not(.disabled){background:linear-gradient(135deg,#e64545,#c62828);box-shadow:0 6px 20px #d32f2f66;transform:translateY(-2px)}.btn-eliminar.disabled{background:#ccc;box-shadow:none;cursor:not-allowed;opacity:.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){.modal-contenido{margin:20px;width:95%}.stats-grid{grid-template-columns:repeat(2,1fr)}.modal-header-peligro{padding:20px}.icono-advertencia{font-size:40px}.modal-header-peligro h2{font-size:18px}.modal-acciones{flex-direction:column}.stat-numero{font-size:24px}}.admin-panel{background:#f9fafb;min-height:100vh}.admin-panel.admin-panel-inline{background:#0000;min-height:auto}.admin-panel.admin-panel-inline .main-content{height:auto!important;overflow:visible!important}.admin-panel .app-container{display:flex;height:100vh;overflow:hidden}.admin-panel .sidebar{background:#111827;color:#fff;display:flex;flex-direction:column;min-width:270px;width:270px}.admin-panel .sidebar-header{border-bottom:1px solid #ffffff1a;padding:1.75rem 1.5rem}.admin-panel .sidebar-brand{align-items:center;display:flex;gap:12px;margin-bottom:0}.admin-panel .sidebar-brand-icon{align-items:center;background:#374151;border-radius:10px;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:800;height:44px;justify-content:center;letter-spacing:-.5px;width:44px}.admin-panel .sidebar-brand-text h2{color:#000;font-size:16px;font-weight:700;letter-spacing:.2px;margin:0}.admin-panel .sidebar-brand-text p{color:#000;font-size:12px;font-weight:400;margin:3px 0 0}.admin-panel .tabs-navigation{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:1rem .75rem}.admin-panel .tab-button{align-items:center;background:#0000;border:none;border-radius:8px;color:#ffffffb3;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:10px;letter-spacing:.3px;padding:.85rem 1rem;text-align:left;transition:all .2s ease}.admin-panel .tab-button:hover{background:#ffffff14;color:#fff}.admin-panel .tab-button.active{background:#ffffff1f;border-left:3px solid #fff;color:#fff;font-weight:600;padding-left:calc(1rem - 3px)}.admin-panel .tab-icon{align-items:center;background:#ffffff14;border-radius:7px;color:#ffffffa6;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:32px;justify-content:center;transition:all .2s ease;width:32px}.admin-panel .tab-button.active .tab-icon{background:#ffffff2e;color:#fff}.admin-panel .tab-button:hover .tab-icon{background:#ffffff1f;color:#fff}.admin-panel .main-content{background:#f9fafb;flex:1 1;overflow-y:auto;padding:2rem}.admin-panel .tab-content{background:#fff;border-radius:12px;box-shadow:0 1px 4px #0000000f;padding:28px}.admin-panel .section-title{color:#111827;font-size:22px;font-weight:700;letter-spacing:-.3px;margin:0 0 28px}.admin-panel .section-subtitle{color:#111827;font-size:18px;font-weight:600;margin:0 0 16px}.admin-panel .mensaje-error,.admin-panel .mensaje-exito{align-items:center;animation:adminSlideIn .3s ease;border-radius:8px;display:flex;font-size:14px;font-weight:500;justify-content:space-between;margin-bottom:20px;padding:14px 20px}.admin-panel .mensaje-error{background:#fef2f2;border-left:4px solid #ef4444;color:#991b1b}.admin-panel .mensaje-exito{background:#f0fdf4;border-left:4px solid #22c55e;color:#166534}.admin-panel .mensaje-error button,.admin-panel .mensaje-exito button{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;height:28px;line-height:28px;opacity:.6;padding:0;transition:opacity .2s;width:28px}.admin-panel .mensaje-error button:hover,.admin-panel .mensaje-exito button:hover{opacity:1}.admin-panel .admin-info-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #111827;border-radius:10px;margin-bottom:28px;padding:24px}.admin-panel .admin-info-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.admin-panel .admin-info-header-icon{align-items:center;background:#111827;border-radius:8px;color:#fff;display:flex;font-size:14px;font-weight:700;height:40px;justify-content:center;width:40px}.admin-panel .admin-info-header h3{color:#111827;font-size:17px;font-weight:600;margin:0}.admin-panel .admin-info-details{grid-gap:12px;background:#f9fafb;border-radius:8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:16px 20px}.admin-panel .admin-info-item{color:#374151;font-size:14px}.admin-panel .admin-info-item strong{color:#6b7280;font-weight:500;margin-right:6px}.admin-panel .admin-info-role-badge{background:#111827;border-radius:5px;color:#fff;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:3px 12px}.admin-panel .stats-divider{border-top:1px solid #e5e7eb;margin:28px 0;padding-top:28px}.admin-panel .metric-name{color:#111827;font-weight:600}.admin-panel .totals-row{background:#111827!important;color:#fff!important;font-size:14px;font-weight:700}.admin-panel .totals-row td{border-bottom:none;color:#fff!important}.admin-panel .totals-label{font-size:13px;letter-spacing:.5px;padding-right:20px!important;text-align:right;text-transform:uppercase}.admin-panel .totals-value{background:#ffffff26;border-radius:6px;display:inline-block;font-size:15px;font-weight:700;padding:6px 14px}.admin-panel .badge-stat{border-radius:6px;font-size:15px;font-weight:700;padding:6px 16px}.admin-panel .badge-blue{background:#f3f4f6;color:#374151}.admin-panel .badge-green{background:#dcfce7;color:#15803d}.admin-panel .badge-orange{background:#ffedd5;color:#c2410c}.admin-panel .badge-purple{background:#f3f4f6;color:#4b5563}.admin-panel .badge-teal{background:#e5e7eb;color:#374151}.admin-panel .filtros-contenedor{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-sizing:border-box;margin-bottom:20px;padding:20px;width:100%}.admin-panel .filtro-busqueda{margin-bottom:14px}.admin-panel .input-busqueda{border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#374151;font-size:14px;padding:11px 16px;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.admin-panel .input-busqueda::placeholder{color:#9ca3af}.admin-panel .input-busqueda:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #9ca3af26;outline:none}.admin-panel .filtros-row{display:flex;flex-wrap:wrap;gap:10px}.admin-panel .filtro-select{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;flex:1 1;font-size:14px;min-width:180px;padding:10px 14px;transition:border-color .2s ease}.admin-panel .filtro-select:focus{border-color:#9ca3af;box-shadow:0 0 0 3px #9ca3af26;outline:none}.admin-panel .btn-refrescar{background:#111827;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.3px;padding:10px 20px;transition:background .2s ease}.admin-panel .btn-refrescar:hover{background:#374151}.admin-panel .tabla-contenedor{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:20px;overflow-x:auto;width:100%}.admin-panel .grupo-constructora{background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;margin-bottom:32px;overflow:hidden;padding:14px}.admin-panel .grupo-constructora-header{align-items:center;background:#1e3a8a;border-radius:8px;color:#fff;display:flex;font-size:15px;font-weight:700;justify-content:space-between;margin-bottom:14px;padding:14px 20px}.admin-panel .grupo-proyecto-anidado{margin-bottom:16px;margin-left:12px}.admin-panel .grupo-proyecto-anidado:last-child{margin-bottom:0}.admin-panel .grupo-proyecto{border:1px solid #e5e7eb;border-radius:10px;margin-bottom:28px;overflow:hidden;transition:box-shadow .2s ease}.admin-panel .grupo-proyecto:hover{box-shadow:0 4px 12px #0000000f}.admin-panel .grupo-proyecto-header{align-items:center;background:#111827;color:#fff;display:flex;font-size:14px;font-weight:600;justify-content:space-between;padding:12px 20px}.admin-panel .grupo-proyecto-count{background:#ffffff26;border-radius:5px;color:#fff;font-size:12px;font-weight:500;padding:4px 12px}.admin-panel .grupo-proyecto .tabla-contenedor{border:none;border-radius:0;margin-bottom:0}.admin-panel .grupo-proyecto .tabla-usuarios{border-radius:0}.admin-panel .grupo-proyecto .tabla-usuarios thead{background:#374151}.admin-panel .tabla-logs,.admin-panel .tabla-usuarios{border-collapse:collapse;min-width:900px;width:100%}.admin-panel .tabla-logs thead,.admin-panel .tabla-usuarios thead{background:#111827;color:#fff}.admin-panel .tabla-logs th,.admin-panel .tabla-usuarios th{font-size:12px;font-weight:600;letter-spacing:.6px;padding:13px 16px;text-align:left;text-transform:uppercase}.admin-panel .tabla-logs td,.admin-panel .tabla-usuarios td{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:13px 16px}.admin-panel .tabla-logs tbody tr:hover,.admin-panel .tabla-usuarios tbody tr:hover{background:#f9fafb}.admin-panel .tabla-logs tbody tr:last-child td,.admin-panel .tabla-usuarios tbody tr:last-child td{border-bottom:none}.admin-panel .badge{border-radius:5px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.2px;padding:4px 12px;white-space:nowrap}.admin-panel .badge-superadmin{background:#111827;color:#fff}.admin-panel .badge-admin{background:#f3f4f6;color:#374151}.admin-panel .badge-usuario{background:#f3f4f6;color:#4b5563}.admin-panel .badge-eliminar{background:#fef2f2;color:#991b1b}.admin-panel .badge-desactivar{background:#fefce8;color:#854d0e}.admin-panel .badge-activar{background:#f0fdf4;color:#166534}.admin-panel .badge-modificar{background:#f9fafb;color:#1f2937}.admin-panel .badge-crear{background:#ecfdf5;color:#047857}.admin-panel .estado{border-radius:5px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.admin-panel .estado.activo{background:#dcfce7;color:#15803d}.admin-panel .estado.inactivo{background:#fef2f2;color:#991b1b}.admin-panel .acciones{align-items:center;display:flex;gap:6px}.admin-panel .btn-accion{align-items:center;border:1px solid #0000;border-radius:7px;cursor:pointer;display:flex;font-size:14px;font-weight:600;height:34px;justify-content:center;transition:all .2s ease;width:34px}.admin-panel .btn-toggle{background:#fff;border-color:#e5e7eb;color:#374151}.admin-panel .btn-toggle:hover{background:#f3f4f6;border-color:#9ca3af}.admin-panel .btn-eliminar{background:#fef2f2;border-color:#fecaca;color:#dc2626}.admin-panel .btn-eliminar:hover{background:#fee2e2;border-color:#f87171}.admin-panel .protegido{color:#9ca3af;font-size:12px;font-style:italic;font-weight:500}.admin-panel .paginacion{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:16px;justify-content:center;margin-top:16px;padding:18px}.admin-panel .btn-paginacion{background:#111827;border:none;border-radius:7px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:9px 18px;transition:background .2s ease}.admin-panel .btn-paginacion:hover:not(:disabled){background:#374151}.admin-panel .btn-paginacion:disabled{background:#d1d5db;cursor:not-allowed;opacity:.6}.admin-panel .info-paginacion{color:#6b7280;font-size:13px;font-weight:500}.admin-panel .cargando,.admin-panel .sin-datos{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#9ca3af;font-size:15px;font-weight:500;padding:56px 20px;text-align:center}.admin-panel .loading-spinner{animation:adminSpin .7s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#4b5563;display:inline-block;height:24px;margin-right:10px;vertical-align:middle;width:24px}.admin-panel .logs-contenedor details{cursor:pointer}.admin-panel .logs-contenedor summary{color:#111827;font-size:13px;font-weight:500;-webkit-user-select:none;user-select:none}.admin-panel .logs-contenedor summary:hover{color:#4b5563}.admin-panel .logs-contenedor pre{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:12px;margin-top:8px;overflow-x:auto;padding:12px}.admin-login-wrapper{align-items:center;background:#f9fafb;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:20px}.admin-login-card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 20px #00000014;max-width:400px;padding:40px;width:100%}.admin-login-card h1{color:#111827;font-size:24px;font-weight:700;margin-bottom:6px;text-align:center}.admin-login-card p{color:#9ca3af;font-size:13px;font-weight:400;margin-bottom:28px;text-align:center}.admin-login-icon{align-items:center;background:#111827;border-radius:12px;color:#fff;display:flex;font-size:22px;font-weight:800;height:56px;justify-content:center;letter-spacing:-.5px;margin:0 auto 20px;width:56px}.admin-app-wrapper{background:#f9fafb;min-height:100vh;position:relative}.admin-app-topbar{align-items:center;background:#111827;box-shadow:0 2px 8px #0000001a;display:flex;gap:10px;height:56px;justify-content:flex-end;left:0;padding:0 24px;position:fixed;right:0;top:0;z-index:1000}.admin-topbar-btn{border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;letter-spacing:.2px;padding:8px 18px;transition:all .2s ease}.admin-topbar-btn-back{background:#ffffff1f;color:#fff}.admin-topbar-btn-back:hover{background:#fff3}.admin-topbar-btn-logout{background:#ef4444;color:#fff}.admin-topbar-btn-logout:hover{background:#dc2626}.admin-app-body{padding:56px 0 0}.admin-loading{align-items:center;background:#f9fafb;color:#6b7280;display:flex;font-size:16px;font-weight:500;gap:12px;height:100vh;justify-content:center}@keyframes adminSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes adminSpin{to{transform:rotate(1turn)}}.admin-panel .correo-descripcion{color:#6b7280;font-size:14px;line-height:1.5;margin:-8px 0 24px}.admin-panel .correo-layout{display:flex;flex-direction:column;gap:24px}.admin-panel .correo-paso{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.admin-panel .correo-paso-header{align-items:center;display:flex;gap:12px;margin-bottom:16px}.admin-panel .correo-paso-header h3{color:#1a1a1a;font-size:16px;font-weight:700;margin:0}.admin-panel .correo-paso-numero{align-items:center;background:#1a1a1a;border-radius:50%;color:#fff;display:flex;font-size:13px;font-weight:700;height:28px;justify-content:center;min-width:28px;width:28px}.admin-panel .correo-contador-badge{background:#f9fafb;border-radius:12px;color:#374151;font-size:12px;font-weight:600;margin-left:auto;padding:3px 10px}.admin-panel .correo-proyectos-lista{display:flex;flex-direction:column;gap:8px}.admin-panel .correo-proyecto-item{align-items:center;background:#fafafa;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;display:flex;gap:12px;padding:12px 16px;transition:all .15s ease}.admin-panel .correo-proyecto-item:hover{background:#f3f4f6;border-color:#9ca3af}.admin-panel .correo-proyecto-item.selected{background:#f9fafb;border-color:#374151}.admin-panel .correo-proyecto-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.admin-panel .correo-proyecto-nombre{color:#1a1a1a;font-size:14px;font-weight:700}.admin-panel .correo-proyecto-meta{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-panel .correo-checkbox{accent-color:#374151;cursor:pointer;height:18px;min-width:18px;width:18px}.admin-panel .loading-spinner-small{animation:spin .6s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#374151;height:16px;width:16px}.admin-panel .correo-placeholder{background:#fafafa;border:1px dashed #d1d5db;border-radius:8px;color:#9ca3af;font-size:13px;padding:24px;text-align:center}.admin-panel .correo-destinatarios-lista{display:flex;flex-direction:column;gap:16px}.admin-panel .correo-proyecto-grupo{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.admin-panel .correo-grupo-header{align-items:center;background:#f3f4f6;border-bottom:1px solid #e5e7eb;display:flex;font-size:13px;justify-content:space-between;padding:10px 16px}.admin-panel .correo-btn-toggle-all{background:none;border:none;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;font-weight:600;padding:4px 8px;transition:background .15s}.admin-panel .correo-btn-toggle-all:hover{background:#f3f4f6}.admin-panel .correo-destinatario-item{align-items:center;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;gap:12px;padding:10px 16px;transition:background .1s}.admin-panel .correo-destinatario-item:last-child{border-bottom:none}.admin-panel .correo-destinatario-item.selected,.admin-panel .correo-destinatario-item:hover{background:#f9fafb}.admin-panel .correo-dest-info{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.admin-panel .correo-dest-nombre{color:#1a1a1a;font-size:13px;font-weight:600}.admin-panel .correo-dest-email{color:#6b7280;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-panel .correo-badge-rol{background:#f3f4f6;border-radius:6px;color:#4b5563;font-size:11px;font-weight:600;max-width:140px;overflow:hidden;padding:3px 8px;text-overflow:ellipsis;white-space:nowrap}.admin-panel .correo-formulario{display:flex;flex-direction:column;gap:16px}.admin-panel .correo-campo{display:flex;flex-direction:column;gap:6px;position:relative}.admin-panel .correo-label{color:#374151;font-size:13px;font-weight:700}.admin-panel .correo-input{border:2px solid #e5e7eb;border-radius:8px;color:#1a1a1a;font-family:inherit;font-size:14px;outline:none;padding:10px 14px;transition:border-color .15s}.admin-panel .correo-input:focus{border-color:#374151}.admin-panel .correo-textarea{border:2px solid #e5e7eb;border-radius:8px;color:#1a1a1a;font-family:inherit;font-size:14px;line-height:1.6;min-height:120px;outline:none;padding:12px 14px;resize:vertical;transition:border-color .15s}.admin-panel .correo-textarea:focus{border-color:#374151}.admin-panel .correo-char-count{bottom:8px;color:#9ca3af;font-size:11px;position:absolute;right:10px}.admin-panel .correo-resumen{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px}.admin-panel .correo-resumen-linea{color:#6b7280;font-size:13px;margin:0 0 14px;text-align:center}.admin-panel .correo-btn-enviar{align-items:center;background:#374151;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:14px 24px;transition:all .15s;width:100%}.admin-panel .correo-btn-enviar:hover:not(:disabled){background:#1f2937;transform:translateY(-1px)}.admin-panel .correo-btn-enviar:disabled{background:#9ca3af;cursor:not-allowed;transform:none}.admin-panel .correo-btn-enviar.enviando{background:#6b7280}.admin-panel .plantillas-correo-bar{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px;padding:10px 0 16px}.admin-panel .plantillas-correo-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:pointer;font-family:inherit;font-size:13px;padding:7px 10px}.admin-panel .plantillas-correo-link{background:none;border:none;color:#374151;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;padding:0;text-decoration:underline;text-underline-offset:2px}.admin-panel .plantillas-correo-link:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}.admin-panel .plantillas-correo-link.fuerte{background:#374151;border-radius:6px;color:#fff;padding:6px 12px;text-decoration:none}.admin-panel .plantillas-correo-link.fuerte:disabled{background:#9ca3af;color:#fff}.admin-panel .plantillas-correo-editando{color:#6b7280;font-size:12px}.admin-panel .plantillas-correo-editando strong{color:#374151}.admin-panel .plantillas-correo-guardar-inline{align-items:center;display:flex;gap:8px}.admin-panel .plantillas-correo-input-nombre{border:1px solid #d1d5db;border-radius:6px;font-family:inherit;font-size:13px;outline:none;padding:7px 10px}.admin-panel .plantillas-correo-input-nombre:focus{border-color:#374151}.admin-panel .plantillas-correo-cerrar{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;width:24px}.admin-panel .plantillas-correo-cerrar:hover{background:#f3f4f6;color:#1f2937}.admin-panel .correo-variables-lista{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.admin-panel .correo-variables-hint{color:#6b7280;font-size:12px}.admin-panel .correo-variable-chip{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-family:Courier New,monospace;font-size:12px;font-weight:600;padding:3px 8px}.admin-panel .correo-variable-chip:hover{background:#e5e7eb}.admin-panel .correo-preview{border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.admin-panel .correo-preview-header{align-items:center;background:#f3f4f6;border-bottom:1px solid #e5e7eb;color:#374151;display:flex;font-size:13px;font-weight:600;justify-content:space-between;padding:10px 16px}.admin-panel .correo-preview-dest{color:#6b7280;font-size:11px;font-weight:400}.admin-panel .correo-preview-body{background:#fafafa;color:#374151;font-size:13px;line-height:1.7;max-height:300px;overflow-y:auto;padding:16px}@media (max-width:1024px){.admin-panel .sidebar{min-width:220px;width:220px}}@media (max-width:768px){.admin-panel .app-container{flex-direction:column;height:auto}.admin-panel .sidebar{flex-direction:row;min-width:100%;overflow-x:auto;width:100%}.admin-panel .sidebar-header{display:none}.admin-panel .tabs-navigation{flex-direction:row;gap:4px;padding:.5rem}.admin-panel .tab-button{font-size:.8rem;padding:.6rem .8rem;white-space:nowrap}.admin-panel .tab-button.active{border-bottom:3px solid #fff;border-left:none;padding-left:.8rem}.admin-panel .main-content{padding:1rem}.admin-panel .tab-content{padding:16px}.admin-panel .filtros-row{flex-direction:column}.admin-panel .filtro-select{min-width:100%}.admin-panel .paginacion{flex-direction:column;gap:10px}.admin-panel .admin-info-details{grid-template-columns:1fr}.admin-app-topbar{padding:0 12px}.admin-topbar-btn{font-size:12px;padding:7px 12px}}
/*# sourceMappingURL=main.bbe6e421.css.map*/