:root{color:#223036;font-synthesis:none;--teal:#069b9b;--teal-dark:#087777;--navy:#163038;--muted:#6b7b80;--line:#dce4e5;--white:#fff;background:#f3f6f6;font-family:Segoe UI,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{color:var(--navy);font-family:Segoe UI,Arial,sans-serif}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;z-index:30;background:#102b32;flex-direction:column;height:100vh;padding:24px 16px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 28px;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#16b5b2,#078284);border-radius:13px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 8px 25px #031b1f80}.brand div:nth-child(2){flex-direction:column;display:flex}.brand strong{letter-spacing:.08em;font-family:Segoe UI,Arial,sans-serif;font-size:18px}.brand span{color:#9fb4b8;font-size:12px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.sidebar nav a{color:#aebdc0;border-radius:10px;align-items:center;gap:12px;padding:12px 13px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.sidebar nav a.active{color:#fff;background:#0a777b;box-shadow:inset 3px 0 #5ee1d7}.sidebar-footer{border-top:1px solid #2a454b;grid-template-columns:36px 1fr 32px;align-items:center;gap:10px;margin-top:auto;padding:18px 4px 0;display:grid}.user-badge{color:#06797a;background:#d6efec;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.user-text{flex-direction:column;min-width:0;display:flex}.user-text strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-text span{color:#92a8ac;font-size:10px}.sidebar-footer button,.mobile-close{color:#b8c7c9;background:0 0;border:0;place-items:center;display:grid}main{min-width:0}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;justify-content:space-between;align-items:center;height:74px;padding:0 32px;display:flex;position:sticky;top:0}.topbar>div:first-of-type{flex-direction:column;display:flex}.topbar strong{color:var(--navy);font-size:14px}.eyebrow{color:var(--teal-dark);text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700}.environment{color:#167259;letter-spacing:.06em;background:#dcf5e9;border:1px solid #b6e5d2;border-radius:20px;padding:7px 11px;font-size:10px;font-weight:700}.content{max-width:1600px;margin:0 auto;padding:30px 34px 50px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-header h1{letter-spacing:-.03em;margin-bottom:5px;font-size:27px}.page-header p{color:var(--muted);margin:0;font-size:14px}.button{border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:10px 15px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.button:disabled{opacity:.5;cursor:default}.button.primary{color:#fff;background:var(--teal-dark);box-shadow:0 5px 14px #08777732}.button.primary:hover:not(:disabled){background:#056a6d;transform:translateY(-1px)}.button.secondary{color:#245156;background:#e5efef}.compact-check{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:7px;align-self:stretch;padding:0 12px}.button.ghost{color:#64767b;background:0 0}.kpi-grid{grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin-bottom:20px;display:grid}.kpi-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:13px;padding:17px;display:flex;box-shadow:0 4px 14px #20383e08}.kpi-card>div:last-child{flex-direction:column;display:flex}.kpi-card span{color:var(--muted);font-size:11px}.kpi-card strong{color:var(--navy);font-family:Segoe UI,Arial,sans-serif;font-size:26px;line-height:1.15}.kpi-icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.kpi-icon.blue{color:#2572c7;background:#eaf3fd}.kpi-icon.orange{color:#c46b18;background:#fff1e2}.kpi-icon.green{color:#258459;background:#e5f5ec}.kpi-icon.teal{color:#087f80;background:#e1f4f2}.kpi-icon.red{color:#bf4141;background:#fceaea}.dashboard-grid{grid-template-columns:1.7fr 1fr;gap:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;min-height:330px;padding:20px}.panel-title{justify-content:space-between;align-items:flex-start;display:flex}.panel-title h2{margin-bottom:3px;font-size:15px}.panel-title p{color:var(--muted);font-size:11px}.chart{height:255px;margin-top:10px}.rank-list{flex-direction:column;gap:15px;margin-top:17px;display:flex}.rank-list>div{grid-template-columns:22px 60px 1fr 24px;align-items:center;gap:8px;font-size:12px;display:grid}.rank{color:#9aa8ab}.rank-bar{background:#edf2f2;border-radius:4px;height:6px;overflow:hidden}.rank-bar i{border-radius:inherit;background:#13a7a3;max-width:100%;height:100%;display:block}.data-note{color:#4c686b;align-items:center;gap:8px;margin-top:16px;font-size:12px;display:flex}.toolbar{gap:10px;margin-bottom:16px;display:flex}.search-box{border:1px solid var(--line);color:#7f8d90;background:#fff;border-radius:9px;flex:1;align-items:center;gap:9px;min-width:320px;max-width:520px;padding:0 12px;display:flex}.search-box input,.search-box select{color:#263b40;background:0 0;border:0;outline:0;width:100%;padding:10px 0}.week-filter{min-width:150px;max-width:190px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:13px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{color:#64767a;text-align:left;text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid var(--line);white-space:nowrap;background:#f6f8f8;padding:12px 14px;font-size:10px}td{color:#34494e;vertical-align:top;border-bottom:1px solid #edf1f1;padding:13px 14px}tr:last-child td{border-bottom:0}td small{color:#89979a;margin-top:3px;display:block}.description-cell{max-width:480px}.status{white-space:nowrap;color:#536b70;letter-spacing:.04em;text-transform:uppercase;background:#e9efef;border-radius:15px;padding:4px 8px;font-size:9px;font-weight:700;display:inline-flex}.status-cerrado,.status-valido,.status-confirmado,.status-baja{color:#1f7650;background:#dff3e8}.status-emergencia,.status-alta,.status-error,.status-vencido{color:#a73535;background:#f9e1e1}.status-media,.status-observado,.status-vista-previa{color:#9a651a;background:#fff0d7}.status-planificado,.status-aviso-sap-creado{color:#256aa1;background:#e0eef9}.status-incluido-wilug,.status-incluido-manual{color:#147447;background:#dcf6e7}.status-filtrado-automatico,.status-excluido-manual{color:#8a5e1c;background:#fff0cd}.status-eliminado-manual{color:#a73535;background:#f9e1e1}.warning-text{color:#b06d1e;font-weight:600}.muted{color:var(--muted)}.empty{color:#718286;text-align:center;padding:34px;font-size:13px}.alert{border-radius:8px;margin-bottom:14px;padding:11px 13px;font-size:12px}.alert.error{color:#963c3c;background:#fdeaea;border:1px solid #f4cece}.alert.warning{color:#8a5e1c;background:#fff2dd;border:1px solid #f1dbb7}.alert.success{color:#176a43;background:#e3f6ea;border:1px solid #bce4cc}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d252caa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(760px,100%);max-height:92vh;overflow:auto;box-shadow:0 25px 80px #081c2470}.modal-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:20px 22px;display:flex}.modal-header h2{margin:0;font-size:18px}.modal-header button{color:#64767a;background:0 0;border:0}.form-grid{grid-template-columns:1fr 1fr;gap:16px;padding:22px;display:grid}.form-grid.compact{padding:14px 22px}.form-grid label,.login-form label{flex-direction:column;gap:6px;display:flex}.form-grid label>span,.login-form label>span{color:#53686d;font-size:11px;font-weight:600}.form-grid input,.form-grid select,.form-grid textarea{color:#21393e;border:1px solid #d4dfe0;border-radius:8px;outline:0;width:100%;padding:10px 11px}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#21a7a4;box-shadow:0 0 0 3px #21a7a414}.form-grid .full{grid-column:1/-1}.form-actions{grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.check{color:#526a6f;align-items:center;font-size:12px;flex-direction:row!important}.check input{width:auto}.duplicate-box{background:#fff7e8;border:1px solid #efcf9a;border-radius:9px;padding:12px}.duplicate-box>div{border-bottom:1px solid #efdfc4;padding:9px 0}.duplicate-box span{float:right;font-size:10px}.duplicate-box p{margin:3px 0;font-size:11px}.upload-card{background:#fff;border:1px dashed #9ec6c5;border-radius:14px;grid-template-columns:50px 1fr auto;align-items:center;gap:16px;margin-bottom:18px;padding:22px;display:grid}.upload-icon{color:#078283;background:#e3f5f2;border-radius:12px;place-items:center;width:50px;height:50px;display:grid}.upload-card h2{margin-bottom:3px;font-size:15px}.upload-card p{color:var(--muted);margin-bottom:10px;font-size:11px}.upload-card input{font-size:11px}.file-name{align-items:center;gap:8px;display:flex}.preview-summary{grid-template-columns:repeat(4,1fr);gap:10px;padding:20px 22px 10px;display:grid}.preview-summary div{background:#f4f8f8;border-radius:8px;flex-direction:column;padding:10px;display:flex}.preview-summary span{color:var(--muted);text-transform:uppercase;font-size:9px}.preview-summary strong{font-size:14px}.preview-table{border:1px solid var(--line);border-radius:8px;max-height:260px;margin:8px 22px;overflow:auto}.preview-table code{white-space:normal;font-size:9px}.modal>.form-actions{padding:16px 22px 22px}.login-page{background:#fff;grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-panel{color:#fff;background:radial-gradient(circle at 20% 20%,#17646b,#0000 40%),linear-gradient(140deg,#102d35 0%,#0e363e 55%,#075f62 100%);flex-direction:column;padding:48px 8vw;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-brand>div{flex-direction:column;display:flex}.login-brand strong{letter-spacing:.12em;font-family:Segoe UI,Arial,sans-serif}.login-brand span{color:#9bc0c0;font-size:11px}.login-copy .eyebrow{color:#7ce0d7}.login-copy h1{color:#fff;letter-spacing:-.045em;margin:16px 0 20px;font-size:clamp(34px,4.2vw,58px);line-height:1.08}.login-copy p{color:#c4d8d9;max-width:560px;font-size:16px;line-height:1.65}.login-foot{color:#8eb0b3;font-size:11px}.login-form{flex-direction:column;gap:18px;width:min(430px,100% - 48px);margin:auto;display:flex}.login-form h2{margin:7px 0 5px;font-size:28px}.login-form p{color:var(--muted);font-size:13px}.input-icon{border:1px solid var(--line);color:#819196;border-radius:9px;align-items:center;gap:10px;padding:0 12px;display:flex}.input-icon input{border:0;outline:0;width:100%;padding:12px 0}.login-form .button{margin-top:4px;padding:13px}.app-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.mobile-close,.menu-button{display:none}@media (width<=1050px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.login-page{grid-template-columns:1fr}.login-panel{display:none}.login-form{justify-content:center;min-height:100vh}}@media (width<=780px){.shell{grid-template-columns:1fr}.sidebar{width:260px;transition:all .25s;position:fixed;left:-280px}.sidebar-open{left:0;box-shadow:20px 0 50px #09222950}.mobile-close,.menu-button{place-items:center;display:grid}.mobile-close{margin-left:auto}.menu-button{color:#38575c;background:#e9f1f1;border:0;border-radius:8px;padding:8px}.topbar{justify-content:flex-start;gap:12px;padding:0 18px}.environment{margin-left:auto}.content{padding:24px 16px 40px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column}.toolbar{flex-wrap:wrap}.search-box{min-width:100%}.upload-card{grid-template-columns:45px 1fr}.upload-card .button{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.form-grid label,.form-grid .full{grid-column:1}.preview-summary{grid-template-columns:1fr 1fr}}.sidebar{background:linear-gradient(#06182b 0%,#082743 58%,#061724 100%);border-right:1px solid #145386}.brand-mark{background:linear-gradient(145deg,#15b8ff,#0b4d9a);box-shadow:0 0 25px #159cff66}.topbar{background:#f8fbfe;border-bottom-color:#ccdae5}.command-dashboard{flex-direction:column;gap:20px;display:flex}.command-hero{color:#dcefff;background:radial-gradient(circle at 50% 48%,#0e5685 0,#092d52 28%,#0000 52%),linear-gradient(135deg,#06192e,#0a3158 52%,#06192e);border:1px solid #1e6296;border-radius:18px;padding:24px 26px 18px;position:relative;overflow:hidden;box-shadow:0 16px 35px #0a27452b,inset 0 0 45px #148fe51b}.command-hero:before{content:"";opacity:.18;background-image:linear-gradient(#35aaff22 1px,#0000 1px),linear-gradient(90deg,#35aaff22 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.command-title{text-align:center;z-index:1;position:relative}.command-title>span{color:#59ccff;text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:800}.command-title h1{color:#fff;text-transform:uppercase;letter-spacing:.035em;text-shadow:0 0 18px #44bfff55;margin:4px 0 2px;font-size:clamp(22px,2.5vw,34px)}.command-title p{color:#94b9d5;margin:0;font-size:12px}.command-console{z-index:1;grid-template-columns:minmax(220px,1fr) 270px minmax(220px,1fr);align-items:center;gap:28px;max-width:1080px;margin:24px auto 18px;display:grid;position:relative}.module-stack{flex-direction:column;gap:13px;display:flex}.command-module{color:#d8edff;background:linear-gradient(90deg,#0c3b66dd,#0b2949dd);border:1px solid #1e6da3;border-radius:9px;grid-template-columns:42px 1fr 15px;align-items:center;gap:10px;padding:13px 14px;text-decoration:none;transition:all .2s;display:grid;box-shadow:inset 0 0 15px #168bd31d,0 5px 18px #03132566}.command-module>svg{color:#56d8ff;background:#0d588c;border-radius:7px;width:40px;height:40px;padding:9px;box-shadow:0 0 14px #1ab9ff55}.command-module div{flex-direction:column;display:flex}.command-module strong{font-size:13px}.command-module span{color:#8eb1cb;margin-top:3px;font-size:10px}.command-module b{color:#61d8ff;font-size:22px}.command-module:hover{background:linear-gradient(90deg,#0d4f84,#0b345b);border-color:#54caff;transform:translateY(-2px);box-shadow:0 0 22px #1b9ee744}.command-core{place-items:center;width:250px;height:250px;margin:auto;display:grid;position:relative}.orbit{border:1px solid #37bfff88;border-radius:50%;position:absolute;box-shadow:inset 0 0 20px #148cdc22,0 0 18px #148cdc1c}.orbit-one{width:210px;height:210px}.orbit-two{border-style:dashed;width:155px;height:155px;animation:18s linear infinite spin}.core-center{color:#76e2ff;background:radial-gradient(circle,#126399,#082b4d 70%);border:2px solid #3cc9ff;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:110px;height:110px;display:flex;box-shadow:0 0 34px #19adff77,inset 0 0 25px #32c3ff44}.core-center strong{color:#fff;letter-spacing:.14em;font-size:13px}.core-center span{letter-spacing:.25em;font-size:9px}.node{background:#21adf4;border:2px solid #9ef;border-radius:50%;width:12px;height:12px;position:absolute;box-shadow:0 0 12px #24c6ff}.n1{top:17px}.n2{right:18px}.n3{bottom:17px}.n4{left:18px}.system-state{z-index:1;color:#89aac1;border-top:1px solid #1a537d;justify-content:center;gap:28px;padding-top:13px;font-size:10px;display:flex;position:relative}.system-state span:first-child{color:#7ee8c0}.system-state i{background:#35dca2;border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block;box-shadow:0 0 8px #35dca2}.command-kpis{grid-template-columns:repeat(7,minmax(125px,1fr));margin-bottom:0}.command-kpis .kpi-card{border-color:#cedde8;box-shadow:0 5px 18px #0b35520c}.command-kpis .kpi-card strong{color:#0b3558}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1050px){.command-console{grid-template-columns:1fr 220px 1fr;gap:16px}.command-core{width:210px;height:210px}.orbit-one{width:185px;height:185px}.orbit-two{width:135px;height:135px}.command-kpis{grid-template-columns:repeat(4,1fr)}}@media (width<=780px){.command-hero{padding:20px 15px 16px}.command-console{grid-template-columns:1fr}.command-core{grid-row:1}.system-state{text-align:center;flex-direction:column;gap:5px}.command-title h1{font-size:21px}.command-kpis{grid-template-columns:repeat(2,1fr)}}:root{--teal:#0879e1;--teal-dark:#075eb7;--navy:#04162f;--muted:#657487;--line:#d5deea;--red:#e31b23;color:#1d2b3d;background:#f2f5f9}body{background:#f2f5f9}h1,h2{color:var(--navy)}.sidebar{background:radial-gradient(circle at 20% 14%,#0a4080 0,#0000 28%),linear-gradient(#03132c 0%,#061c3b 52%,#020e22 100%);border-right:1px solid #0a4d92;width:280px;padding:25px 17px 16px}.shell{grid-template-columns:280px 1fr}.brand{border-bottom:1px solid #1b4778;min-height:67px;padding:0 6px 18px}.wilug-brand{color:#fff;align-items:center;gap:10px;min-width:0;display:inline-flex}.wilug-brand-dark{color:#061a3a}.wilug-symbol{filter:drop-shadow(0 0 8px #0b8fff55);flex:none;width:48px;height:48px}.wilug-wordmark{flex-direction:column;min-width:0;display:flex}.wilug-wordmark strong{color:inherit;letter-spacing:-.055em;text-transform:lowercase;font-size:39px;font-weight:700;line-height:.8}.wilug-wordmark span{color:inherit;opacity:.82;letter-spacing:.04em;white-space:nowrap;margin-top:7px;font-size:6px}.wilug-wordmark b{color:var(--red);font-size:10px}.wilug-brand-compact .wilug-symbol{width:35px;height:35px}.wilug-brand-compact .wilug-wordmark strong{font-size:28px}.contract-tag{border-left:3px solid var(--red);background:#06264b99;flex-direction:column;margin:12px 7px 18px;padding:11px 13px;display:flex}.contract-tag span{color:#248af1;letter-spacing:.16em;font-size:8px;font-weight:800}.contract-tag strong{letter-spacing:.08em;font-size:13px}.contract-tag small{color:#8fa9c6;margin-top:3px;font-size:8px}.sidebar nav a{color:#a9bed6;border-radius:5px}.sidebar nav a:hover{background:#0a315f}.sidebar nav a.active{background:linear-gradient(90deg,#0b4f91,#0879d4);box-shadow:inset 3px 0 #fff,0 0 18px #0879e144}.sidebar-values{border-top:1px solid #173b63;gap:8px;margin:auto 4px 12px;padding-top:12px;display:flex}.sidebar-values span{color:#6e91b7;letter-spacing:.05em;font-size:6px;line-height:1.3}.sidebar-values span+span{border-left:1px solid #174a7c;padding-left:8px}.sidebar-footer{border-top-color:#173b63;margin-top:0}.user-badge{color:#075eb7;background:#e7f2ff}.topbar{background:#fff;border-bottom:3px solid #075eb7;box-shadow:0 3px 12px #061a3a12}.topbar:after{content:"";background:var(--red);width:105px;height:3px;position:absolute;bottom:-3px;left:0}.topbar-right{align-items:center;gap:14px;display:flex}.contract-number{color:#8290a2;letter-spacing:.08em;font-size:10px;font-weight:700}.eyebrow{color:#0879e1}.button.primary:hover:not(:disabled){background:#064f9a}.kpi-card{border-top:3px solid #0879e1;border-radius:8px}.panel,.table-wrap,.upload-card{border-radius:8px}.rank-bar i{background:linear-gradient(90deg,#075eb7,#0879e1)}.command-hero{background:radial-gradient(circle at 50% 48%,#0a4e91 0,#062b59 30%,#0000 54%),linear-gradient(135deg,#020f25,#061e40 52%,#020f25);border-color:#185eaa;border-radius:10px}.command-title h1 em{color:#0c80ed;font-style:normal}.command-module{border-radius:5px}.core-center{background:radial-gradient(circle,#0b5daf,#05244c 70%);border-color:#168bf5}.system-state{border-top-color:#185796}.login-page{background:#fff;grid-template-columns:minmax(570px,1.2fr) minmax(390px,.8fr)}.login-panel{background:radial-gradient(circle at 15% 72%,#0b4c8b99 0,#0000 30%),radial-gradient(circle at 92% 18%,#0b4c8b66 0,#0000 28%),linear-gradient(140deg,#020f25 0%,#041b3c 54%,#020d20 100%);padding:44px 6vw 28px;position:relative;overflow:hidden}.login-panel:before{content:"";opacity:.23;pointer-events:none;background-image:radial-gradient(circle,#1379df 2px,#0000 3px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(125deg,#000 0,#0000 28%);mask-image:linear-gradient(125deg,#000 0,#0000 28%)}.login-panel:after{content:"";pointer-events:none;border:1px solid #1468bd66;border-radius:50%;width:520px;height:520px;position:absolute;top:80px;right:-300px;box-shadow:0 0 0 45px #0000,0 0 0 46px #1468bd44,0 0 0 90px #0000,0 0 0 91px #1468bd33}.login-panel>*{z-index:1;position:relative}.login-panel>.wilug-brand .wilug-symbol{width:70px;height:70px}.login-panel>.wilug-brand .wilug-wordmark strong{font-size:60px}.login-panel>.wilug-brand .wilug-wordmark span{font-size:8px}.login-copy{max-width:690px;margin:auto 0}.login-copy .eyebrow{color:#fff;font-size:12px}.login-copy h1{color:#fff;text-transform:uppercase;letter-spacing:-.035em;margin:8px 0 0;font-size:clamp(34px,4vw,58px);line-height:1.04}.login-copy h1 em{color:#087eef;font-style:normal}.login-copy h2{color:#fff;letter-spacing:.01em;margin:4px 0 15px;font-size:clamp(25px,2.8vw,42px)}.red-rule{background:var(--red);width:110px;height:5px}.login-copy p{color:#c9d7e8;margin-top:17px;font-style:italic}.login-pillars{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;display:grid}.login-pillars>div{color:#fff;text-transform:uppercase;border-top:1px solid #1d5e9d;align-items:center;gap:10px;padding:10px 12px;font-size:10px;font-weight:700;display:flex}.login-pillars svg{color:#0a86f5;width:30px;height:30px}.login-pillars>div:first-child svg{color:var(--red)}.corporate-signature{color:#061a3a;background:#fff;align-items:center;gap:22px;margin:20px -6vw -28px;padding:14px 6vw;display:flex}.corporate-signature>i{background:#b9c2cf;width:1px;height:38px}.gt-signature{align-items:center;gap:8px;display:flex}.gt-signature span{color:#fff;background:#061a3a;border:3px solid #0879e1;place-items:center;width:38px;height:38px;font-size:13px;font-weight:800;display:grid;transform:rotate(45deg)}.gt-signature span:first-line{transform:rotate(-45deg)}.gt-signature strong{font-size:14px}.login-form{gap:16px}.login-form h2{color:#04162f}.login-contract{border-left:4px solid var(--red);background:#f1f6fc;flex-direction:column;padding:13px 15px;display:flex}.login-contract span{color:#0879e1;letter-spacing:.12em;font-size:9px;font-weight:800}.login-contract strong{color:#04162f;margin-top:2px;font-size:15px}.login-contract small{color:#758396;margin-top:2px}.input-icon:focus-within{border-color:#0879e1;box-shadow:0 0 0 3px #0879e115}.login-security{color:#8b97a6;text-align:center;font-size:10px}.mobile-login-logo{display:none}@media (width<=1050px){.login-page{grid-template-columns:1fr}.login-panel{display:none}.mobile-login-logo{margin-bottom:20px;display:block}.login-form{justify-content:center;min-height:100vh}.shell{grid-template-columns:260px 1fr}.sidebar{width:260px}}@media (width<=780px){.shell{grid-template-columns:1fr}.topbar-right .contract-number{display:none}.sidebar{left:-280px}.sidebar-open{left:0}.login-form{width:min(430px,100% - 36px)}.login-pillars{grid-template-columns:1fr}}.alert-strip{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.alert-stat{border:1px solid var(--line);background:#fff;border-left-width:4px;border-radius:8px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:14px 16px;display:grid}.alert-stat svg{border-radius:50%;width:30px;height:30px;padding:6px}.alert-stat span{color:var(--muted);font-size:11px}.alert-stat strong{color:var(--navy);font-size:23px}.alert-stat.danger{border-left-color:#d7272f}.alert-stat.danger svg{color:#b91c1c;background:#fee2e2}.alert-stat.success{border-left-color:#159957}.alert-stat.success svg{color:#147a49;background:#dcfce7}.alert-stat.pending{border-left-color:#dc8b13}.alert-stat.pending svg{color:#a96308;background:#fff3d6}.alert-stat.neutral{border-left-color:#8493a6}.alert-stat.neutral svg{color:#5f6f82;background:#edf1f5}.status-rojo{color:#a91f26;background:#ffe1e3;box-shadow:inset 0 0 0 1px #f3b4b8}.status-verde{color:#147447;background:#dcf6e7;box-shadow:inset 0 0 0 1px #b5e5ca}.status-sin-linea-base,.status-sin-horometro{color:#925b09;background:#fff0cd}.status-sin-matriz,.status-fuera-contrato{color:#5d6876;background:#e9edf2}.plan-summary{margin:18px 0 12px}.alert-stat .summary-text{font-size:15px}.scheduled-equipment{background:#f8fbfb;border:1px solid #d8e5e5;border-radius:10px;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 12px;padding:12px 14px;font-size:11px;display:flex}.scheduled-equipment strong{color:var(--navy);margin-right:4px}.scheduled-equipment span{color:#075f62;background:#dff4f1;border-radius:14px;padding:5px 8px;font-weight:700}.scheduled-equipment em{color:var(--muted);font-style:normal}.danger-text{color:#b91c1c;font-weight:700}.weekly-plan{background:#fff;border:1px solid #cddaea;border-top:4px solid #0879e1;border-radius:9px;margin:18px 0 26px;padding:18px}.weekly-plan .panel-title{margin-bottom:14px}.weekly-plan h2{align-items:center;gap:8px;margin-bottom:4px;display:flex}.contract-only{color:#fff;letter-spacing:.08em;background:#075eb7;border-radius:4px;padding:6px 9px;font-size:9px;font-weight:800}.section-separator{color:#075eb7;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:12px;margin:24px 0 12px;font-size:11px;font-weight:800;display:flex}.section-separator:after{content:"";background:#ced9e5;flex:1;height:1px}@media (width<=900px){.alert-strip{grid-template-columns:repeat(2,1fr)}}.sidebar nav{min-height:0;overflow-y:auto}.sidebar nav::-webkit-scrollbar{width:4px}.sidebar nav::-webkit-scrollbar-thumb{background:#1b5e95;border-radius:4px}.status-programado{color:#147447;background:#dcf6e7}.status-revisar-wmat,.status-requiere-material{color:#925b09;background:#fff0cd}.status-revisar-hold{color:#a91f26;background:#ffe1e3}.status-sin-causa-informada{color:#5d6876;background:#e9edf2}.status-espera-ot,.status-pendiente-aviso-sap{color:#925b09;background:#fff0cd}.status-ot-no-programada{color:#a91f26;background:#ffe1e3}.status-priorizar{color:#7a3e00;background:#ffe2a8}.status-presente{color:#075f62;background:#dff4f1}.status-no-presente{color:#5d6876;background:#e9edf2}.priority-row{background:#fffaf0}.priority-row td:first-child{border-left:4px solid #dc8b13}.downtime-kpis{grid-template-columns:repeat(4,minmax(160px,1fr))}.downtime-kpis small{color:var(--muted);font-size:9px}.downtime-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.downtime-grid .panel{min-height:340px}.downtime-modal{width:min(1180px,96vw)}.ocr-warning{margin:14px 22px 0}.ocr-table{max-height:520px}.ocr-table input{border:1px solid #ccd8e5;border-radius:5px;width:100%;min-width:120px;padding:7px}.ocr-table td:nth-child(2) input{min-width:190px}.ocr-table td:last-child input{min-width:360px}@media (width<=1000px){.downtime-grid{grid-template-columns:1fr}.downtime-kpis{grid-template-columns:repeat(2,1fr)}}:root{--navy:#061a46;--navy-deep:#020d25;--navy-panel:#08255a;--blue:#0879e1;--blue-bright:#108cf5;--red:#ed1c24;--line:#ccd8e8;--muted:#66758a;--surface:#fff;--page:#f1f4f9}body{color:#17243a;background:var(--page)}.shell{background:var(--page)}.sidebar{background-image:linear-gradient(#020c22e8,#061b42f4),url(/corporate-background.png);background-position:50%,70%;background-size:cover;border-right:1px solid #1458a5;box-shadow:10px 0 30px #00102d20}.brand{min-height:84px;padding:6px 4px 19px}.wilug-brand{width:100%;min-width:0}.wilug-brand img{object-fit:contain;width:100%;height:auto;display:block}.brand .wilug-brand img{max-width:220px}.wilug-brand-compact{width:auto}.wilug-brand-compact img{object-fit:contain;width:150px;max-height:48px}.grupo-gt-brand{object-fit:contain;width:220px;height:auto;display:block}.grupo-gt-brand-compact{width:128px;max-height:42px}.contract-tag{border-left:4px solid var(--red);background:linear-gradient(90deg,#0a2a5de8,#051a3b99);margin:13px 5px 18px;padding:12px 14px;box-shadow:inset 0 0 0 1px #1d559155}.contract-tag span,.eyebrow{color:var(--blue-bright)}.sidebar nav a{color:#bacbe2;border-left:3px solid #0000;border-radius:4px}.sidebar nav a svg{color:#55a9f5}.sidebar nav a:hover{color:#fff;background:#0b3470}.sidebar nav a.active{color:#fff;border-left-color:var(--red);background:linear-gradient(90deg,#0b4388,#0879e1);box-shadow:0 8px 18px #00133355,inset 0 0 20px #34a1ff22}.sidebar nav a.active svg{color:#fff}.sidebar-values{border-top-color:#245286}.sidebar-values span{color:#88a9ce}.sidebar-values span:first-child{color:#fff}.sidebar-footer{border-top-color:#245286}.user-badge{color:#062258;background:#fff;box-shadow:0 0 0 3px #1688ef55}.topbar{border-bottom:4px solid var(--blue);background:#fff;height:82px;padding:0 30px;box-shadow:0 4px 16px #061a4620}.topbar:after{background:var(--red);width:132px;height:4px;bottom:-4px}.topbar-title{border-left:3px solid var(--red);flex-direction:column;padding-left:14px;display:flex}.topbar-title strong{color:var(--navy);text-transform:uppercase;letter-spacing:.025em;font-size:15px}.topbar-right{gap:18px}.topbar-right .grupo-gt-brand{border-right:1px solid #c8d2df;padding-right:18px}.environment{color:#075eb7;background:#e9f4ff;border-color:#9dcdf7}.content{max-width:1680px;min-height:calc(100vh - 82px);padding-top:34px;position:relative}.content:before{content:"";z-index:0;pointer-events:none;border:1px solid #0879e11f;border-radius:50%;width:720px;height:720px;position:fixed;bottom:-280px;right:-250px;box-shadow:0 0 0 55px #0000,0 0 0 56px #0879e116,0 0 0 110px #0000,0 0 0 111px #0879e10f}.content>:not(.modal-backdrop){z-index:1;position:relative}.page-header{color:#fff;background-image:linear-gradient(90deg,#03102bf5 0%,#061f4eef 64%,#08275ddd 100%),url(/corporate-background.png);background-position:50%;background-size:cover;border-bottom:1px solid #176fc5;margin:-34px -34px 26px;padding:27px 34px 22px;box-shadow:0 10px 25px #061a4618}.page-header h1{color:#fff;text-transform:uppercase;letter-spacing:.015em;margin-bottom:6px;font-size:26px}.page-header h1:after{content:"";background:var(--red);width:72px;height:4px;margin-top:11px;display:block}.page-header p{color:#c5d5ea}.button{border-radius:5px}.button.primary{background:linear-gradient(135deg,#075eb7,#087ff0);box-shadow:0 7px 16px #075eb738}.button.secondary{color:#074f9a;background:#eaf4fe;border:1px solid #b8d8f6}.button.ghost{color:#526981}.kpi-card,.alert-stat,.panel,.table-wrap,.upload-card,.weekly-plan{border-color:#cbd7e7;border-radius:7px;box-shadow:0 6px 18px #061a460c}.kpi-card{border-top:4px solid var(--blue);position:relative;overflow:hidden}.kpi-card:after{content:"";background:var(--red);width:34px;height:4px;position:absolute;top:0;right:0}.kpi-card strong,.alert-stat strong{color:var(--navy)}.panel-title h2,.weekly-plan h2{color:var(--navy);text-transform:uppercase;letter-spacing:.025em}.table-wrap{overflow:auto}th{color:#fff;letter-spacing:.075em;background:linear-gradient(#08295f,#061d49);border-bottom-color:#1688ef}td{color:#26364d;border-bottom-color:#e3e9f1}td strong{color:#061d49}tbody tr:hover{background:#edf6ff}.search-box{border-color:#c4d1e1;border-radius:5px}.search-box:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px #0879e114}.section-separator{color:#075eb7}.section-separator:before{content:"";background:var(--red);width:30px;height:3px}.section-separator:after{background:linear-gradient(90deg,#1688ef55,#0000)}.data-note{color:#4d627c}.content>.modal-backdrop,.modal-backdrop{z-index:100;background:#020d25c7;position:fixed;inset:0}.modal{border:1px solid #2677c5;border-radius:8px}.modal-header{color:#fff;border-bottom:3px solid var(--red);background:linear-gradient(90deg,#041532,#082c62)}.modal-header h2,.modal-header button{color:#fff}.upload-icon{color:#0879e1;background:#e5f3ff}.corporate-signature{justify-content:flex-start;min-height:78px}.corporate-signature .grupo-gt-brand{width:190px}.corporate-signature .wilug-brand img{width:145px}.login-panel{background-image:radial-gradient(circle at 20% 75%,#0b4c8baa 0,#0000 32%),linear-gradient(140deg,#020b20dd,#041943ed),url(/corporate-background.png);background-position:50%;background-size:cover}.login-panel>.wilug-brand{width:380px;max-width:75%}.login-copy h1 em{color:var(--blue-bright)}.red-rule{background:var(--red)}@media (width<=1050px){.topbar-right .grupo-gt-brand{width:105px}.page-header{margin-left:-34px;margin-right:-34px}}@media (width<=780px){.topbar{height:72px;padding:0 15px}.topbar-title{padding-left:9px}.topbar-right .grupo-gt-brand,.topbar-right .contract-number{display:none}.content{padding-top:24px}.page-header{margin:-24px -16px 22px;padding:23px 17px 19px}.page-header h1{font-size:22px}}.operations-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.operations-tabs button{color:#4f647e;background:#fff;border:1px solid #c7d5e5;border-radius:5px;align-items:center;gap:7px;padding:10px 13px;font-size:11px;font-weight:700;display:inline-flex}.operations-tabs button svg{width:16px;height:16px}.operations-tabs button.active{color:#fff;background:linear-gradient(135deg,#075eb7,#0879e1);border-color:#0879e1;box-shadow:inset 3px 0 #ed1c24}.operations-panel{background:#fff;border:1px solid #cbd7e7;border-radius:7px;min-height:360px;padding:18px;box-shadow:0 6px 18px #061a460c}.search-results{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;display:grid}.search-results a{color:inherit;background:#f9fbfe;border:1px solid #d7e1ed;border-left:3px solid #0879e1;border-radius:5px;align-items:flex-start;gap:10px;padding:13px;text-decoration:none;display:flex}.search-results a:hover{background:#eef6ff;border-left-color:#ed1c24}.search-results a>div{flex-direction:column;min-width:0;display:flex}.search-results strong{color:#061d49}.search-results span:not(.status){color:#66758a;margin-top:3px;font-size:11px}.timeline-list{gap:0;padding:4px 0 10px 8px;display:grid}.timeline-event{border-left:2px solid #d8e5f5;grid-template-columns:150px minmax(0,1fr);gap:18px;padding:0 0 22px 24px;display:grid;position:relative}.timeline-event:last-child{padding-bottom:4px}.timeline-marker{background:var(--blue);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px;box-shadow:0 0 0 4px #e8f3ff}.timeline-event time{color:var(--muted);padding-top:2px;font-size:.82rem}.timeline-event>div:last-child{grid-template-columns:max-content 1fr;align-items:center;gap:5px 10px;display:grid}.timeline-event>div:last-child span:last-child{color:var(--muted);grid-column:2}thead th{z-index:2;position:sticky;top:0}@media (width<=780px){.timeline-event{grid-template-columns:1fr;gap:5px}.timeline-event>div:last-child span:last-child{grid-column:1/-1}}
