:root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{color:#111214;background:#fff;font-family:Manrope,Plus Jakarta Sans,sans-serif;line-height:1.6}:root{--cgj-white:#fff;--cgj-ivory:#0a1925;--cgj-slate:#e6eff7;--cgj-muted:#9eb4c6;--cgj-border:#274257;--cgj-deep-red:#1f7abf;--cgj-red-soft:#4ea7de;--cgj-gold:#b8c7d4;--cgj-shadow:0 18px 40px #020a1273}.consulting-site{color:var(--cgj-slate);background:radial-gradient(circle at 12% 10%,#27659147,#0000 34%),radial-gradient(circle at 86% 6%,#4395cf2e,#0000 36%),linear-gradient(#0c1d2a 0%,#0a1824 45%,#0f2230 100%);min-height:100vh}.site-container{width:min(1120px,92vw);margin:0 auto}.topbar{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#081723d9;border-bottom:1px solid #5c88a84d;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:1.5rem;padding:.95rem 0;display:flex}.brand-block{color:#e4edf6;align-items:center;gap:.75rem;max-width:460px;text-decoration:none;display:flex}.brand-logo{background:linear-gradient(145deg,#3675a652,#9db8cf3d);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.brand-logo svg{width:34px;height:34px}.brand-copy{flex-direction:column;gap:.2rem;display:flex}.brand-name{letter-spacing:.15em;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:1.05rem;font-weight:800}.brand-tag{text-transform:uppercase;letter-spacing:.08em;color:#9fb5c7;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.72rem}.topnav{align-items:center;gap:1.2rem;display:flex}.topnav a{color:#cad9e6;letter-spacing:.01em;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.92rem;font-weight:600;text-decoration:none}.topnav a:hover{color:#89c5ef}.dashboard-access{background:#5c89ab2e;border:1px solid #4f82a9;border-radius:99px;padding:.5rem .9rem}.language-switcher{color:#9eb6c8;align-items:center;gap:.4rem;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.84rem;display:inline-flex}.language-switcher select{font:inherit;color:#dbe8f2;cursor:pointer;background:#102535;border:1px solid #426d8e;border-radius:999px;padding:.3rem .6rem}.menu-button{background:#122b3e;border:1px solid #38556d;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;width:40px;height:40px;padding:.5rem;display:none}.menu-button span{background:#c3d5e3;border-radius:2px;width:18px;height:2px}.hero-section{border-bottom:1px solid #53758f80;padding:6.4rem 0 4.6rem}.visual-gallery-section{padding:1.2rem 0 .8rem}.visual-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.visual-tile{border:1px solid #35536a;border-radius:16px;min-height:230px;position:relative;overflow:hidden;box-shadow:0 16px 36px #020b1480}.visual-tile img{object-fit:cover;width:100%;height:100%;display:block}.visual-overlay{background:linear-gradient(#08182914 12%,#04111ee6 100%);flex-direction:column;justify-content:flex-end;gap:.45rem;padding:1rem;display:flex;position:absolute;inset:0}.visual-overlay h3{color:#e3edf6;margin:0;font-family:Sora,Manrope,sans-serif;font-size:1.02rem}.visual-overlay p{color:#b7cddd;margin:0;font-size:.88rem;line-height:1.5}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:start;gap:2rem;display:grid}.hero-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#8fb9d8;margin-bottom:1rem;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.76rem}.hero-grid h1{max-width:16ch;margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.95rem,4vw,3.2rem);line-height:1.15}.hero-subtitle{color:#b3c6d6;max-width:64ch;margin-top:1.4rem;font-size:1.04rem;line-height:1.8}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-top:2rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;letter-spacing:.01em;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.4rem;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.94rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-primary{background:linear-gradient(130deg, var(--cgj-deep-red), var(--cgj-red-soft));color:#f7fbff;box-shadow:0 10px 22px #194e7573}.btn-secondary{color:#dfeaf3;background:#132b3d;border-color:#476985}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px)}.btn-primary:disabled{opacity:.75;cursor:not-allowed}.hero-side{box-shadow:var(--cgj-shadow);background:linear-gradient(165deg,#13293af2,#102332fa);border:1px solid #34556e;border-radius:18px;padding:1.55rem;overflow:hidden}.hero-side h2{margin:0;font-family:Sora,Manrope,sans-serif;font-size:1.22rem;line-height:1.5}.hero-side p{color:#abc0d1;margin-top:1rem;line-height:1.75}.hero-side-image{object-fit:cover;border:1px solid #395f7a;border-radius:12px;width:100%;max-height:190px;margin-top:1rem;box-shadow:0 10px 22px #02101c80}.section-block{border-bottom:1px solid #4468837a;padding:4.3rem 0}.section-head{max-width:760px;margin-bottom:1.8rem}.section-eyebrow{text-transform:uppercase;letter-spacing:.11em;color:#97b4c8;margin-bottom:.8rem;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.73rem;font-weight:700}.section-head h2{color:#e4eef7;margin:0;font-family:Sora,Manrope,sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.24}.section-subtitle,.single-paragraph{color:#a8bfd0;margin-top:.95rem;font-size:1.02rem;line-height:1.85}.card-grid{gap:1rem;display:grid}.card-grid-problems,.card-grid-use-cases{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.card-grid-services{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.consulting-card{background:linear-gradient(165deg,#122739 0%,#102333 100%);border:1px solid #37556d;border-radius:16px;padding:1.25rem;animation:.5s both raise-in;box-shadow:0 12px 24px #0a437117}.consulting-card:hover{border-color:#5c86a8;transform:translateY(-4px);box-shadow:0 16px 30px #07467829}.consulting-card h3{margin:0;font-family:Sora,Manrope,sans-serif;font-size:1.07rem;line-height:1.55}.consulting-card p{color:#a4bbcc;margin-top:.7rem;line-height:1.75}.card-grid .consulting-card:nth-child(2n){animation-delay:80ms}.card-grid .consulting-card:nth-child(3n){animation-delay:.14s}.sector-list{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:.75rem;padding:0;list-style:none;display:grid}.sector-list li{text-align:center;background:#132a3d;border:1px solid #3b5a73;border-radius:999px;padding:.65rem 1rem;font-weight:600}.why-list{color:#aec3d3;margin-top:1.1rem;padding-left:1.1rem;line-height:1.8}.methodology-steps{counter-reset:methodology;gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.methodology-steps li{counter-increment:methodology;background:linear-gradient(160deg,#142b3f,#102738);border:1px solid #3a5972;border-radius:12px;align-items:center;gap:.8rem;padding:.95rem 1rem;display:flex}.methodology-steps li:before{content:counter(methodology);color:#fff;background:linear-gradient(120deg,#3d8dc5,#8caec8);border-radius:999px;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-weight:700;display:inline-flex}.contact-layout{grid-template-columns:.88fr 1.12fr;gap:1.2rem;display:grid}.contact-info-panel{background:#132a3d;border:1px solid #3a5a73;border-radius:14px;padding:1.2rem}.contact-info-panel h3{margin:0;font-family:Sora,Manrope,sans-serif}.contact-info-panel p{color:#a9c0d1;margin-top:.7rem;line-height:1.7}.contact-info-panel ul{color:#aec4d4;margin:1rem 0 0;padding-left:1.1rem;line-height:1.7}.diagnostic-form{background:linear-gradient(#142b3f 0%,#102637 100%);border:1px solid #3a5b74;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;padding:1.2rem;display:grid}.diagnostic-form label{color:#bad0df;flex-direction:column;gap:.45rem;font-family:Manrope,Plus Jakarta Sans,sans-serif;font-size:.86rem;display:flex}.diagnostic-form input,.diagnostic-form textarea{font:inherit;color:#dde9f2;background:#0f2231;border:1px solid #466a86;border-radius:10px;padding:.7rem .8rem}.diagnostic-form input:focus,.diagnostic-form textarea:focus{border-color:#6ca2c9;outline:2px solid #568bb040}.full-width,.diagnostic-form .btn-primary,.form-feedback{grid-column:1/-1}.form-feedback{color:#bcd2e2;background:#0f2536;border:1px solid #3c607b;border-radius:10px;margin:.3rem 0 0;padding:.7rem .8rem}.site-footer{color:#e8f5ff;background:linear-gradient(140deg,#081826,#0b2133);padding:2rem 0 2.2rem}.whatsapp-float{z-index:60;color:#fff;background:#25d366;border:1px solid #0000000f;border-radius:50%;justify-content:center;align-items:center;width:54px;height:54px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex;position:fixed;bottom:1.1rem;right:1.1rem;box-shadow:0 14px 32px #25d36659}.whatsapp-float:hover{transform:translateY(-2px);box-shadow:0 16px 34px #25d3666b}.whatsapp-float-icon{object-fit:cover;border-radius:50%;width:32px;height:32px;display:block}.footer-content{flex-direction:column;gap:.4rem;display:flex}.footer-content p{color:#adc4d5;margin:0;font-size:.9rem;line-height:1.65}.dashboard-shell{background:#0d1f2c;min-height:100vh}.dashboard-shell-header{justify-content:space-between;align-items:center;gap:1rem;width:min(1200px,94vw);margin:0 auto;padding:1rem 0;display:flex}.dashboard-shell-link{color:#d4e3ee;font-weight:600;text-decoration:none}.dashboard-shell-logout{color:#dde9f2;cursor:pointer;background:#102637;border:1px solid #44647e;border-radius:999px;padding:.55rem 1rem;font-weight:600}@keyframes raise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=980px){.hero-grid,.contact-layout,.visual-gallery{grid-template-columns:1fr}.topbar-inner{flex-wrap:wrap}.menu-button{margin-left:auto;display:inline-flex}.topnav{border-top:1px solid var(--cgj-border);flex-direction:column;align-items:flex-start;gap:.9rem;width:100%;padding-top:.8rem;display:none}.topnav.open{display:flex}.language-switcher{margin-top:.2rem}}@media (width<=760px){.hero-section{padding-top:4.7rem}.diagnostic-form{grid-template-columns:1fr}.brand-logo{width:36px;height:36px}.brand-logo svg{width:30px;height:30px}.brand-tag{display:none}.whatsapp-float{width:50px;height:50px;bottom:.8rem;right:.8rem}}.problemas-container{max-width:1200px;margin:0 auto;padding:20px}.problemas-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.problemas-header h2{color:var(--primary);margin:0;font-size:24px}.problemas-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px;display:grid}.problema-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .3s}.problema-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.problema-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.problema-header h3{color:#1e293b;flex:1;margin:0;font-size:16px}.badge{white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.estado-abierto{color:#92400e;background:#fef3c7}.estado-en-análisis{color:#1e40af;background:#bfdbfe}.estado-resuelto{color:#166534;background:#dcfce7}.proceso{color:#64748b;margin:8px 0;font-size:13px;font-style:italic}.metrics{grid-template-columns:1fr 1fr;gap:15px;margin:15px 0;display:grid}.metric label{color:#64748b;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.rating{gap:3px;display:flex}.star{border:1px solid #cbd5e1;border-radius:2px;width:18px;height:18px}.priority-score{color:#475569;border-top:1px solid #e2e8f0;margin-top:15px;padding-top:15px;font-size:14px}.priority-score strong{color:var(--primary);font-size:18px}@media (width<=768px){.problemas-header{flex-direction:column;align-items:stretch}.controls{flex-direction:column}.select{width:100%}.problemas-grid,.detail-grid{grid-template-columns:1fr}.modal{padding:20px}}.integraciones-container{max-width:1400px;margin:0 auto;padding:20px}.integraciones-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.integraciones-header h2{color:var(--primary);margin:0;font-size:24px}.legend{flex-wrap:wrap;gap:15px;display:flex}.legend-item{color:#64748b;align-items:center;gap:6px;font-size:13px;display:flex}.legend-box{border-radius:3px;width:16px;height:16px}.integraciones-table-wrapper{border:1px solid #e2e8f0;border-radius:8px;overflow-x:auto}.integraciones-table{border-collapse:collapse;background:#fff;width:100%}.integraciones-table thead{background:#f8fafc;border-bottom:2px solid #e2e8f0}.integraciones-table th{text-align:left;color:#64748b;text-transform:uppercase;white-space:nowrap;padding:12px;font-size:13px;font-weight:600}.integraciones-table td{color:#1e293b;border-bottom:1px solid #e2e8f0;padding:12px;font-size:14px}.integracion-row{cursor:pointer;transition:background-color .2s}.integracion-row:hover{background:#f1f5f9}.integracion-row:hover td{color:var(--primary)}.badge-criticidad{color:#fff;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.badge-estado{border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-block}.estado-planificada{color:#1e40af;background:#dbeafe}.estado-activa{color:#166534;background:#dcfce7}.estado-pausada{color:#4b5563;background:#f3f4f6}@media (width<=1024px){.integraciones-header{flex-direction:column;align-items:stretch}.integraciones-table{font-size:12px}.integraciones-table th,.integraciones-table td{padding:8px}}@media (width<=768px){.integraciones-table-wrapper{overflow-x:auto}.integraciones-table{min-width:800px}.detail-grid{grid-template-columns:1fr}.modal{padding:20px}}.madurez-container{max-width:1200px;margin:0 auto;padding:20px}.madurez-header{margin-bottom:30px}.madurez-header h2{color:var(--primary);margin:0 0 8px;font-size:24px}.dimensiones-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-bottom:30px;display:grid}.dimension-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px;transition:all .3s}.dimension-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.dimension-title{color:#1e293b;margin-bottom:15px;font-size:16px;font-weight:600}.comparison{align-items:center;gap:12px;margin-bottom:15px;display:flex}.score-box{flex:1}.score-box label{color:#64748b;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600;display:block}.score-display{flex-direction:column;gap:6px;display:flex}.score-number{font-size:24px;font-weight:700}.score-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden}.score-fill{border-radius:3px;height:100%;transition:width .3s}.arrow{color:#cbd5e1;flex-shrink:0;font-size:20px}.brecha-indicator{color:#64748b;border-top:1px solid #e2e8f0;padding-top:12px;font-size:13px}.brecha-indicator strong{color:#1e293b;font-size:16px}.score-display-large{flex-direction:column;gap:8px;display:flex}.score-display-large .score-number{font-size:28px;font-weight:700}@media (width<=768px){.dimensiones-grid{grid-template-columns:1fr}.comparison{flex-direction:column}.arrow{transform:rotate(90deg)}.detail-grid{grid-template-columns:1fr}.modal{padding:20px}}.backlog-container{max-width:1200px;margin:0 auto;padding:20px}.backlog-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.backlog-header h2{color:var(--primary);margin:0;font-size:24px}.controls{gap:10px;display:flex}.select{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;font-size:14px;transition:border-color .2s}.select:hover{border-color:var(--primary)}.backlog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px;display:grid}.backlog-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;padding:20px;transition:all .3s;display:flex}.backlog-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.card-header h3{color:#1e293b;flex:1;margin:0;font-size:16px}.badges{flex-wrap:wrap;gap:6px;display:flex}.badge-priority{color:#fff;white-space:nowrap;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.epica-label{color:#64748b;text-transform:uppercase;margin:0 0 6px;font-size:13px;font-weight:600}.modulo-label{color:#94a3b8;margin:0 0 12px;font-size:12px;font-style:italic}.descripcion{color:#475569;flex:1;margin:0 0 15px;font-size:14px;line-height:1.5}.card-footer{border-top:1px solid #e2e8f0;gap:8px;padding-top:12px;display:flex}.badge-complexity{color:#fff;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.estado-badge{text-align:center;border-radius:4px;flex:1;padding:4px 8px;font-size:11px;font-weight:600}.estado-por-hacer{color:#92400e;background:#fef3c7}.estado-en-desarrollo{color:#1e40af;background:#bfdbfe}.estado-en-revisión{color:#0c4a6e;background:#dbeafe}.estado-completado{color:#166534;background:#dcfce7}.estado-pospuesto{color:#4b5563;background:#f3f4f6}@media (width<=768px){.backlog-header{flex-direction:column;align-items:stretch}.controls{flex-direction:column}.select{width:100%}.backlog-grid,.detail-grid{grid-template-columns:1fr}.modal{padding:20px}}.roadmap-container{max-width:1000px;margin:0 auto;padding:20px}.roadmap-header{margin-bottom:40px}.roadmap-header h2{color:var(--primary);margin:0 0 8px;font-size:24px}.subtitle{color:#64748b;margin:0;font-size:14px}.timeline{padding:20px 0;position:relative}.timeline-item{margin-bottom:40px;display:flex;position:relative}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;width:40px;display:flex;position:relative}.timeline-dot{z-index:10;background:#fff;border:3px solid;border-radius:50%;flex-shrink:0;width:24px;height:24px}.timeline-line{background:#e2e8f0;flex:1;width:3px;margin-top:5px}.phase-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-left:4px solid;border-radius:8px;flex:1;margin-left:20px;padding:20px;transition:all .3s}.phase-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001a}.phase-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.phase-header h3{color:#1e293b;margin:0;font-size:16px}.phase-state{white-space:nowrap;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.phase-initiative{color:var(--primary);margin:8px 0 12px;font-size:18px;font-weight:600}.phase-duration{color:#64748b;margin:8px 0;font-size:13px;font-weight:500}.phase-text{color:#475569;margin:8px 0;font-size:13px;line-height:1.5}.phase-impact{color:#059669;margin:8px 0;font-size:13px;font-weight:500}.phase-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.tag-complexity,.tag-priority{color:#475569;background:#f1f5f9;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:100%;max-width:600px;max-height:80vh;padding:30px;position:relative;overflow-y:auto}.close-btn{cursor:pointer;color:#64748b;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:24px;display:flex;position:absolute;top:15px;right:15px}.close-btn:hover{color:#1e293b}.modal h2{color:var(--primary);margin-top:0;margin-bottom:20px}.initiative-title{color:var(--primary);margin:0;font-size:20px}.detail-grid{grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px;display:grid}.detail-item{padding:0}.detail-item label{color:#64748b;text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.detail-item p{color:#1e293b;margin:0;font-size:14px}.state-badge{border-radius:4px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-block}.detail-full{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:20px}.detail-full label{color:#64748b;text-transform:uppercase;margin-bottom:10px;font-size:12px;font-weight:600;display:block}.detail-full p{color:#1e293b;margin:0;line-height:1.6}.loading,.error{text-align:center;color:#64748b;padding:40px;font-size:16px}.error{color:#dc2626}@media (width<=768px){.timeline-item{margin-bottom:30px}.phase-card{margin-left:15px}.phase-header{flex-direction:column;align-items:flex-start}.detail-grid{grid-template-columns:1fr}.modal{padding:20px}.phase-initiative{font-size:16px}}.internal-apps-container{flex-direction:column;gap:1rem;display:flex}.internal-apps-header h2{color:#1e40af;margin:0}.internal-apps-header p{color:#64748b;margin:.4rem 0 0}.internal-subtabs{border-bottom:1px solid #e2e8f0;gap:.5rem;padding-bottom:.75rem;display:flex}.internal-section-grid{grid-template-columns:340px 1fr;align-items:start;gap:1rem;display:grid}.internal-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.internal-card h3{color:#1e293b;margin:0 0 1rem}.internal-table-wrap{overflow-x:auto}.row-actions{gap:.4rem;display:flex}.btn-ghost{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:4px;padding:.35rem .65rem}.btn-ghost:hover{background:#e2e8f0}.btn-danger{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px;padding:.35rem .65rem}.btn-danger:hover{background:#b91c1c}.expenses-topbar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.summary-box{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin:.8rem 0;padding:.7rem}.empty-state{color:#64748b}@media (width<=980px){.internal-section-grid{grid-template-columns:1fr}}.dashboard{max-width:1200px;margin:0 auto;padding:2rem}.dashboard-header{border-bottom:2px solid #1e40af;justify-content:space-between;align-items:center;margin-bottom:0;padding-bottom:1rem;display:flex}.dashboard-header h1{color:#1e40af;margin:0;font-size:2rem}.dashboard-tabs{border-bottom:2px solid #e2e8f0;gap:0;margin-bottom:2rem;display:flex;overflow-x:auto}.tab-button{cursor:pointer;color:#64748b;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;padding:12px 16px;font-size:14px;font-weight:500;transition:all .3s}.tab-button:hover{color:#1e40af}.tab-button.active{color:#1e40af;border-bottom-color:#1e40af}.tab-content{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:.8}to{opacity:1}}.section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.section-header h2{color:#1e40af;margin:0;font-size:18px}.section-actions{align-items:center;gap:.75rem;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#1e40af;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;transition:background .3s}.btn-primary:hover{background:#1e3a8a}.btn-primary:disabled{cursor:not-allowed;background:#94a3b8}.btn-secondary{color:#1e293b;cursor:pointer;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:4px;padding:.75rem 1rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .3s,border-color .3s,color .3s}.btn-secondary:hover{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.dashboard-loading,.dashboard-error{text-align:center;padding:2rem;font-size:1.1rem}.dashboard-error{color:#dc2626;background:#fee2e2;border-radius:4px}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.kpi-card{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .3s;box-shadow:0 1px 3px #0000001a}.kpi-card:hover{border-color:#1e40af;transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.kpi-card h3{color:#1e40af;margin:0 0 .5rem;font-size:1.1rem}.kpi-objetivo{color:#64748b;min-height:2.4em;margin:.5rem 0;font-size:.95rem}.kpi-formula{color:#94a3b8;margin-top:.75rem;font-size:.85rem;font-style:italic}.kpi-meta{margin:.75rem 0}.badge{color:#0c4a6e;background:#dbeafe;border-radius:12px;padding:.25rem .75rem;font-size:.85rem;font-weight:500;display:inline-block}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:600px;max-height:90vh;padding:2rem;position:relative;overflow-y:auto;box-shadow:0 20px 25px #00000026}.modal-close{cursor:pointer;color:#64748b;background:0 0;border:none;font-size:1.5rem;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:#1e40af}.modal-content h2{color:#1e40af;margin:0 0 .5rem;font-size:1.75rem}.modal-objetivo{color:#64748b;margin-bottom:1.5rem;font-size:1rem}.modal-info{background:#f1f5f9;border-radius:4px;margin-bottom:1.5rem;padding:1rem}.modal-info p{color:#334155;margin:.5rem 0}.form-group label{color:#334155;margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;border:1px solid #cbd5e1;border-radius:4px;width:100%;padding:.75rem;font-family:inherit;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#1e40af;outline:none;box-shadow:0 0 0 3px #1e40af1a}.form-group textarea{resize:vertical;min-height:100px}.registros-historico{border-top:2px solid #e2e8f0;margin-top:2rem;padding-top:1.5rem}.registros-historico h3{color:#1e40af;margin-bottom:1rem}table{border-collapse:collapse;width:100%;font-size:.95rem}table thead{background:#f1f5f9}table th{text-align:left;color:#1e40af;border-bottom:2px solid #cbd5e1;padding:.75rem;font-weight:600}table td{color:#334155;border-bottom:1px solid #e2e8f0;padding:.75rem}table tr:hover{background:#f8fafc}.btn-delete-registro{cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.25rem .5rem;font-size:1.1rem;transition:all .2s}.btn-delete-registro:hover{background:#fee2e2;transform:scale(1.2)}.btn-delete-registro:active{transform:scale(.95)}.estado-on\ track{color:#16a34a;font-weight:600}.estado-en\ riesgo{color:#f59e0b;font-weight:600}.estado-crítico{color:#dc2626;font-weight:600}.estado-completado{color:#0891b2;font-weight:600}.modal-actions{border-top:2px solid #fee2e2;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;display:flex}.btn-delete{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .3s}.btn-delete:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 4px 8px #dc26264d}.btn-delete:disabled{cursor:not-allowed;opacity:.7;background:#fca5a5}@media (width<=768px){.dashboard{padding:1rem}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem}.kpi-grid{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:.75rem}.section-actions{flex-wrap:wrap;width:100%;display:flex}.modal-content{width:95%;padding:1.5rem}table{font-size:.85rem}table th,table td{padding:.5rem}}.login-container{background:linear-gradient(135deg,#1e40af 0%,#0369a1 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.login-card{background:#fff;border-radius:12px;width:100%;max-width:400px;overflow:hidden;box-shadow:0 20px 60px #0000004d}.login-header{color:#fff;text-align:center;background:linear-gradient(135deg,#1e40af 0%,#0369a1 100%);padding:2rem 1.5rem}.login-header h1{margin:0 0 .5rem;font-size:1.8rem;font-weight:700}.login-header p{opacity:.95;margin:0;font-size:.95rem}.login-form{padding:2rem 1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#334155;margin-bottom:.75rem;font-size:.95rem;font-weight:600;display:block}.form-group input{box-sizing:border-box;border:2px solid #e2e8f0;border-radius:6px;width:100%;padding:.875rem;font-family:inherit;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:#1e40af;outline:none;box-shadow:0 0 0 3px #1e40af1a}.form-group input:disabled{cursor:not-allowed;background:#f1f5f9}.error-message{color:#991b1b;background:#fee2e2;border-left:4px solid #dc2626;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.95rem}.btn-login{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#1e40af 0%,#0369a1 100%);border:none;border-radius:6px;width:100%;padding:.875rem;font-size:1rem;font-weight:600;transition:all .3s}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #1e40af33}.btn-login:active:not(:disabled){transform:translateY(0)}.btn-login:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;background:#f8fafc;border-top:1px solid #e2e8f0;padding:1.5rem}.login-footer .info{color:#64748b;margin:0;font-size:.9rem;font-style:italic}@media (width<=480px){.login-card{border-radius:8px}.login-header{padding:1.5rem 1rem}.login-header h1{font-size:1.5rem}.login-form{padding:1.5rem 1rem}}
