:root{--dm-bg:#f3f6f8;--dm-surface:#fff;--dm-border:#dde5e8;--dm-text:#17252b;--dm-muted:#708087;--dm-navy:#0d2933;--dm-navy-2:#123b47;--dm-teal:#0b8f87;--dm-teal-2:#14b8a6;--dm-cyan:#2bc4cf;--dm-soft:#eaf6f4;--dm-shadow:0 8px 26px rgba(13,41,51,.07)}
*{box-sizing:border-box}html,body{min-height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dm-text);background:var(--dm-bg)}
.sidebar{width:270px;min-width:270px;background:linear-gradient(180deg,var(--dm-navy) 0%,#0a222b 100%);min-height:100vh;position:sticky;top:0;align-self:flex-start;color:#fff;box-shadow:8px 0 30px rgba(13,41,51,.08);z-index:10}.sidebar-brand{padding:1.55rem 1.35rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.brand-block{display:flex;align-items:center;gap:.85rem}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(145deg,var(--dm-teal-2),#087a76);color:#fff;font-weight:800;font-size:.85rem;letter-spacing:.02em;box-shadow:0 8px 20px rgba(20,184,166,.2)}.brand-mark-sm{width:36px;height:36px;border-radius:10px;font-size:.72rem}.brand-name{font-size:1.22rem;font-weight:750;line-height:1.05}.brand-subtitle{font-size:.76rem;color:rgba(255,255,255,.52);margin-top:.28rem}.sidebar-nav{padding:1.15rem .9rem}.dm-nav .nav-link{display:flex;align-items:center;gap:.72rem;color:rgba(255,255,255,.68);border-radius:.72rem;padding:.68rem .8rem;font-size:.91rem;font-weight:550;transition:.18s ease}.dm-nav .nav-link:hover{background:rgba(255,255,255,.07);color:#fff}.dm-nav .nav-link.active{background:linear-gradient(90deg,rgba(20,184,166,.22),rgba(20,184,166,.08));color:#fff;box-shadow:inset 3px 0 0 var(--dm-teal-2)}.nav-icon{display:grid;place-items:center;width:22px;min-width:22px;color:#71d9d1;font-size:1rem}.nav-section-label{font-size:.62rem;letter-spacing:.15em;font-weight:800;color:rgba(255,255,255,.28);padding:.95rem .82rem .35rem}.sidebar-footer{padding:.9rem}.demo-note{display:flex;gap:.65rem;align-items:flex-start;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);border-radius:.8rem;padding:.8rem}.demo-dot{width:8px;height:8px;min-width:8px;border-radius:50%;background:#2dd4bf;margin-top:.35rem;box-shadow:0 0 0 4px rgba(45,212,191,.1)}
.main-content{min-width:0;background:var(--dm-bg)}.topbar{height:68px;background:rgba(255,255,255,.94);border-bottom:1px solid var(--dm-border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:9;backdrop-filter:blur(12px)}.topbar-product{display:flex;align-items:center;gap:.55rem;font-size:.83rem;font-weight:650;color:#506269}.topbar-status{width:7px;height:7px;border-radius:50%;background:var(--dm-teal-2);box-shadow:0 0 0 4px rgba(20,184,166,.1)}.demo-badge{font-size:.61rem;letter-spacing:.08em;background:var(--dm-soft);color:#08756f;border:1px solid #cbece7;border-radius:999px;padding:.24rem .48rem}.user-chip{display:flex;align-items:center;gap:.55rem}.user-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e6f1f2;color:var(--dm-navy);font-weight:800;font-size:.78rem}.user-name{font-size:.78rem;font-weight:700;line-height:1.1}.user-role{font-size:.65rem;color:#8a989d;margin-top:.15rem}.btn-exit{border-color:#cbd5d8;color:#53646a}.content-wrapper{max-width:1700px}
.page-heading h1,.content-wrapper h1{font-weight:750;letter-spacing:-.025em;color:#17313a}.content-wrapper>.mb-4>.text-secondary{color:#7b8c92!important;font-size:.92rem}.card{border-radius:1rem!important;border:1px solid rgba(217,228,231,.88)!important;box-shadow:var(--dm-shadow)!important;overflow:hidden}.card-header{background:#fff!important;border-bottom:1px solid #e8eef0!important;padding:.82rem 1rem;font-weight:700;color:#263f47}.card-body{padding:1rem}.kpi-card{position:relative;transition:transform .18s ease,box-shadow .18s ease;background:linear-gradient(145deg,#fff,#fbfdfd)}.kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--dm-teal-2),var(--dm-teal))}.kpi-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(13,41,51,.11)!important}.kpi-card .text-secondary{color:#7a898f!important;font-size:.76rem!important;font-weight:650;text-transform:uppercase;letter-spacing:.035em}.kpi-card .display-6{color:var(--dm-navy);font-size:2rem}.chart-box{min-height:300px;position:relative}.table{--bs-table-bg:transparent}.table th{white-space:nowrap;font-size:.72rem;font-weight:750;color:#728187;text-transform:uppercase;letter-spacing:.035em;background:#f7f9fa}.table td{vertical-align:middle;color:#30464e}.table> :not(caption)>*>*{border-bottom-color:#edf1f2;padding:.72rem .75rem}.table-hover>tbody>tr:hover>*{--bs-table-bg-state:#f2faf9}.list-group-item{border-color:#edf1f2;padding:.85rem 1rem}.list-group-item-action:hover{background:#f2faf9}
a{color:#087f79}.form-control,.form-select{border-color:#d5dfe2;border-radius:.68rem;min-height:40px}.form-control:focus,.form-select:focus{border-color:#54bdb6;box-shadow:0 0 0 .2rem rgba(20,184,166,.12)}.btn{border-radius:.65rem;font-weight:600}.btn-primary{--bs-btn-bg:#0b8f87;--bs-btn-border-color:#0b8f87;--bs-btn-hover-bg:#087a74;--bs-btn-hover-border-color:#087a74}.btn-outline-primary{--bs-btn-color:#0b8f87;--bs-btn-border-color:#0b8f87;--bs-btn-hover-bg:#0b8f87;--bs-btn-hover-border-color:#0b8f87}.badge{font-weight:650}.dato-etiqueta,.eyebrow{color:var(--dm-muted);font-size:.72rem;font-weight:750;letter-spacing:.07em;text-transform:uppercase}.texto-multilinea{white-space:pre-line}.estado-nueva{background:#64748b;color:#fff}.estado-asignada{background:#2563eb;color:#fff}.estado-en_proceso{background:#0891b2;color:#fff}.estado-terminada{background:#0b8f67;color:#fff}.estado-cerrada{background:#26373d;color:#fff}.estado-cancelada{background:#dc4c5b;color:#fff}.timeline{border-left:2px solid #dbe5e7;margin-left:.5rem;padding-left:1.25rem}.timeline-item{position:relative;padding-bottom:1.25rem}.timeline-item:before{content:"";position:absolute;left:-1.67rem;top:.3rem;width:.75rem;height:.75rem;background:var(--dm-teal);border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cbdadd}.timeline-item:last-child{padding-bottom:0}.acciones-ot{top:5.2rem}.capability-item{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem;background:#f7fafb;border:1px solid var(--dm-border);border-radius:.7rem}.capability-check{display:grid;place-items:center;width:24px;height:24px;min-width:24px;border-radius:50%;background:var(--dm-teal);color:#fff;font-size:.75rem;font-weight:800}.badge-tech{display:inline-block;padding:.45rem .65rem;border-radius:.55rem;background:#eef5f5;border:1px solid var(--dm-border);color:#374151;font-size:.84rem;font-weight:600}.error-page{max-width:620px;margin:10vh auto 0;padding:2rem}.error-code{font-size:5rem;line-height:1;font-weight:800;letter-spacing:-.06em;color:#cbd8db;margin-bottom:1rem}
.mobile-header{height:64px;background:var(--dm-navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:.8rem;padding:0 1rem;position:sticky;top:0;z-index:1030}.mobile-subtitle{color:rgba(255,255,255,.55)}.menu-icon{font-size:1.45rem;color:#fff}.dm-offcanvas{background:var(--dm-navy);color:#fff}
/* Login: identidad industrial, distinta de Analytics */.ot-login{margin:0;background:#eef3f4;min-height:100vh}.ot-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(430px,46%) 1fr}.ot-login-brand{position:relative;display:flex;align-items:center;padding:5vw;background:linear-gradient(145deg,#092731 0%,#0e4550 58%,#0b6d6b 100%);color:#fff;overflow:hidden}.ot-login-brand:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-260px;top:-190px}.ot-login-brand:after{content:"";position:absolute;width:290px;height:290px;border:1px solid rgba(45,212,191,.16);border-radius:50%;right:-100px;top:-65px}.ot-login-brand-content{position:relative;z-index:1;max-width:570px}.ot-login-logo{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:linear-gradient(145deg,#22c7ba,#0a8f89);font-weight:850;box-shadow:0 12px 28px rgba(0,0,0,.16);margin-bottom:2rem}.ot-login-kicker,.login-form-kicker{font-size:.7rem;letter-spacing:.16em;font-weight:850;color:#6ee7df;margin-bottom:.9rem}.ot-login-brand h1{font-size:clamp(2.7rem,4.2vw,4.7rem);line-height:.98;letter-spacing:-.05em;font-weight:800;margin-bottom:1.5rem}.ot-login-brand p{font-size:1rem;color:rgba(255,255,255,.68);max-width:520px;line-height:1.65}.ot-login-features{margin-top:2rem;display:grid;gap:.85rem;color:rgba(255,255,255,.78)}.ot-login-features span{color:#5eead4;font-weight:900;margin-right:.65rem}.ot-login-form-panel{display:flex;align-items:center;justify-content:center;padding:3rem;background:radial-gradient(circle at 70% 45%,rgba(20,184,166,.08),transparent 28rem),#f5f7f8}.ot-login-card{width:min(100%,430px);background:#fff;border:1px solid #e2e9eb;border-radius:1.35rem;padding:2.3rem;box-shadow:0 24px 65px rgba(13,41,51,.11)}.ot-login-card .login-form-kicker{color:var(--dm-teal)}.ot-login-card h2{font-size:1.85rem;font-weight:800;letter-spacing:-.025em}.btn-ot-primary{background:linear-gradient(90deg,#087d78,#0aa099);border:0;color:#fff;box-shadow:0 8px 18px rgba(11,143,135,.2)}.btn-ot-primary:hover{background:linear-gradient(90deg,#076d68,#088d87);color:#fff}.demo-credentials{background:#f0f6f6;border:1px solid #deeaeb;border-radius:.8rem;padding:.85rem}
@media(max-width:991.98px){.ot-login-shell{grid-template-columns:1fr}.ot-login-brand{display:none}.ot-login-form-panel{min-height:100vh;padding:1.25rem}.ot-login-card{padding:1.6rem}}@media(max-width:767.98px){.content-wrapper{padding-top:1rem!important}.table-responsive{font-size:.9rem}.chart-box{min-height:250px}.acciones-ot{top:1rem}}
