:root{color-scheme:light;--fondo:#f2f5f7;--panel:#fff;--borde:#dce4e9;--texto:#183243;--tenue:#687e8e;--acento:#087e88;--critica:#c84845;--relevante:#c4822b;--anomalia:#b69939;--ok:#178361;--nav:#102d3f}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{min-width:320px;background:var(--fondo);color:var(--texto);font:14px/1.55 "Segoe UI",Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}
header{padding:0;background:var(--nav);color:#f2fafa;border:0;box-shadow:0 4px 22px #0a26371c}
#barra .barra-interior{max-width:1500px;min-height:70px;margin:auto;padding:0 36px;gap:36px}
.marca{font-size:16px;font-weight:750;letter-spacing:-.02em;white-space:nowrap}
.punto{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(145deg,#f5ac6a,#d9743b);box-shadow:0 4px 12px #071d2c30}
.punto:after{content:"";width:16px;height:16px;border:2px solid white;border-radius:3px;transform:rotate(45deg)}
.barra-nav{align-self:stretch;align-items:stretch;gap:2px}
.barra-nav a{display:inline-flex;align-items:center;padding:0 17px;color:#b8cbd3;border-bottom:3px solid transparent;font-size:13px;font-weight:600}
.barra-nav a:hover{color:white;background:#ffffff0c}
.barra-nav a.activo{color:white;border-color:#ee975a;background:#ffffff0a}
.barra-usuario{margin-left:auto;color:#ecf5f6;text-align:right}
.barra-usuario small{display:block;color:#95b3bd;letter-spacing:.1em;font-size:10px}
.barra-usuario .sec{color:#ecf7f7;background:#ffffff16;border-color:#ffffff1f}
.page-intro{position:relative;overflow:hidden;color:white;background:linear-gradient(112deg,#173d51,#103145 75%);border-bottom:1px solid #214c5c}
.page-intro:after{content:"";position:absolute;inset:0 0 0 auto;width:42%;opacity:.2;background:repeating-linear-gradient(135deg,transparent 0 24px,#8cd4d4 25px,transparent 26px 50px),repeating-linear-gradient(45deg,transparent 0 24px,#8cd4d4 25px,transparent 26px 50px);mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none}
.page-intro-inner{position:relative;z-index:1;max-width:1500px;margin:auto;padding:32px 36px 34px}
.eyebrow{margin:0 0 7px;color:#88d4d5;text-transform:uppercase;letter-spacing:.2em;font-size:10px;font-weight:750}
.page-intro h1{margin:0 0 7px;font-size:clamp(26px,3vw,35px);font-weight:680;letter-spacing:-.04em;line-height:1.18}
.page-intro p:last-child{max-width:680px;margin:0;color:#bdd2da;font-size:13px}
main:not(.acceso){max-width:1500px;padding:30px 36px 70px;gap:22px}
.panel,.kpi,.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:12px;box-shadow:0 9px 30px #17384d0d}
.panel{min-width:0;padding:24px}
h2{font-size:18px;font-weight:680;letter-spacing:-.025em}
h2 small{color:var(--tenue)}
.barra-acciones h2{font-size:22px;margin-right:auto!important}
.tenue{color:var(--tenue)}
label{color:#496274;font-weight:600;gap:7px}
input,select,textarea{min-height:40px;padding:9px 12px;background:#fbfcfd;color:var(--texto);border:1px solid #cedae1;border-radius:7px;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#94a5b0}
input:hover,select:hover,textarea:hover{border-color:#9cb7bf}
input:focus,select:focus,textarea:focus{border-color:var(--acento);box-shadow:0 0 0 3px #087e8820;outline:none}
input[type=checkbox],input[type=radio]{min-height:0;accent-color:var(--acento)}
button,.sec{display:inline-flex;align-items:center;justify-content:center;min-height:39px;padding:8px 16px;color:white;background:var(--acento);border:1px solid var(--acento);border-radius:7px;font-weight:680;line-height:1.2;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}
button:hover,.sec:hover{background:#09636c;border-color:#09636c;box-shadow:0 5px 15px #087e8826}
button:active,.sec:active{transform:translateY(1px)}
.sec{color:#275569;background:#f2f7f8;border-color:#d4e4e8}
.sec:hover{color:#164a5a;background:#e6f2f3;border-color:#b7d5d9}
.enlace{display:inline;min-height:0;padding:0;background:none;border:0;color:var(--acento);box-shadow:none;text-decoration:none}
.enlace:hover{color:#075f69;background:none;border:0;box-shadow:none;text-decoration:underline}
.peligro{color:#a83b39;background:#fff1f0;border-color:#f2d0cd}
.peligro:hover{color:#952d2b;background:#ffe7e5;border-color:#eabbb7;box-shadow:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.tarjeta:focus-visible{outline:3px solid #76d8dc;outline-offset:2px}
.barra-acciones{align-items:center;gap:10px}
.barra-acciones input,.barra-acciones select,.fila input,.fila select{width:auto;max-width:100%}
.barra-acciones input[type=search]{min-width:220px}
.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.kpi{position:relative;overflow:hidden;padding:19px 21px}
.kpi:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#7db9bd}
.kpi .v{color:#17394a;font-size:clamp(24px,2.5vw,31px);font-weight:720;letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.kpi .e{margin-top:7px;color:var(--tenue);font-size:10px;font-weight:700;letter-spacing:.1em}
.tarjetas{gap:16px}
.tarjeta{position:relative;overflow:hidden;padding:21px;transition:border-color .15s,transform .15s,box-shadow .15s}
.tarjeta:before{content:"";position:absolute;top:0;left:20px;right:20px;height:3px;background:linear-gradient(90deg,#0a9da6,#eda060)}
.tarjeta:hover{border-color:#9dcbd0;box-shadow:0 14px 32px #17384d1a;transform:translateY(-2px)}
.tarjeta h3{margin:3px 0 9px;color:#193b4d;font-size:17px;letter-spacing:-.02em}
.tarjeta .meta{margin-top:17px;padding-top:14px;border-top:1px solid #e9eef1;line-height:1.7}
.estado{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;padding:4px 10px;font-size:10px;letter-spacing:.055em}
.estado:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.estado.borrador{color:#64798a;background:#f0f3f5;border-color:#e0e7eb}
.estado.recibido{color:#296f9a;background:#eaf5fc;border-color:#d3e8f5}
.estado.en_proceso{color:#a96a18;background:#fff5e7;border-color:#f1dfc4}
.estado.entregado{color:#147d5d;background:#eaf8f1;border-color:#cdebdc}
.estado.cerrado{color:#665e94;background:#f2f0fb;border-color:#e0dcf4}
.tabla-caja{max-width:100%;max-height:500px;border-color:var(--borde)}
th{background:#f4f7f9;color:#587081;padding:11px 13px;font-weight:700;white-space:nowrap}
td{padding:11px 13px;border-color:#e8eef1}
tbody tr:hover{background:#f5fafb}tbody tr.sel{background:#e9f4f5}
.zona{padding:30px;background:#f6fafb;border:1px dashed #9dbdc5}
.zona:hover,.zona.activa{background:#eaf6f7;border-color:var(--acento)}
.vacio{padding:38px 24px;background:#f9fbfc;border-color:#c4d4db;color:#668192}
.dict.ok,.exito{background:#eaf7f0;border-color:#c6e8d6;color:#1d7054}
.dict.mal,.error{background:#fff0ee;border-color:#f0ceca;color:#a3443d}
.error,.exito{padding:11px 13px;border-radius:8px}
.linea,.bitacora li{border-color:#e9eef1;padding-top:9px;padding-bottom:9px}
.linea span:last-child{overflow-wrap:anywhere;text-align:right}
.cargador,.barra{background:#e5edf0}
.cargador i{background:linear-gradient(90deg,#0c8993,#6bc5c5)}
.barra i{background:#538e9f}.barra i.alta{background:#db8b45}
.titulo-evidencia{font-size:10px;letter-spacing:.12em}
body.pagina-acceso{display:block;min-height:100vh;background:#edf2f4}
.acceso-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);min-height:100vh}
.acceso-hero{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:48px clamp(32px,5vw,88px);color:#f4fbfb;background:radial-gradient(circle at 86% 67%,#278f994d,transparent 34%),linear-gradient(155deg,#163c4e,#0c283a 72%)}
.acceso-hero:before{content:"";position:absolute;width:510px;height:510px;right:-145px;top:12%;border:1px solid #c2eeef2b;border-radius:50%;box-shadow:0 0 0 70px #c2eeef09,0 0 0 140px #c2eeef07;pointer-events:none}
.acceso-hero:after{content:"";position:absolute;inset:0;opacity:.12;background:repeating-linear-gradient(0deg,transparent 0 52px,#b2d8de 53px,transparent 54px 106px),repeating-linear-gradient(90deg,transparent 0 52px,#b2d8de 53px,transparent 54px 106px);mask-image:linear-gradient(0deg,#000,transparent 80%);pointer-events:none}
.acceso-hero>*{position:relative;z-index:1}
.acceso-hero .marca{font-size:18px}
.acceso-hero-copy{max-width:610px;margin:auto 0;padding:80px 0}
.acceso-hero h1{max-width:580px;margin:0 0 20px;font-size:clamp(40px,4.3vw,67px);line-height:1.06;letter-spacing:-.055em;font-weight:670}
.acceso-hero-copy>p:last-child{max-width:490px;color:#b8d0d8;font-size:16px;line-height:1.7}
.acceso-hero-footer{display:flex;gap:15px;color:#93b9c3;font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.acceso-hero-footer span+span:before{content:"•";margin-right:15px;color:#ee9856}
.acceso-panel{display:grid;place-items:center;padding:40px}
.acceso{width:min(100%,440px);max-width:none;padding:0;text-align:left}
.acceso .eyebrow{color:var(--acento)}
.acceso h2{margin:0 0 9px;font-size:32px;letter-spacing:-.045em}
.acceso-subtitulo{margin:0 0 30px;color:var(--tenue);font-size:14px}
.acceso .panel{padding:30px;box-shadow:0 22px 60px #15394b17}
.rejilla-login{gap:18px}.rejilla-login input{min-height:45px}.rejilla-login button{min-height:45px;font-size:13px}
.acceso-pie{margin:24px 0 0;color:#8799a6;font-size:11px;text-align:center}
@media(max-width:980px){.acceso-layout{grid-template-columns:minmax(0,.85fr) minmax(390px,1fr)}.acceso-hero{padding:36px}}
@media(max-width:720px){#barra .barra-interior{padding:0 18px;min-height:62px;gap:10px;flex-wrap:wrap}.barra-interior .marca{font-size:14px}.barra-interior .punto{width:30px;height:30px}.barra-nav{order:3;width:100%;min-height:42px}.barra-nav a{padding:0 14px}.barra-usuario{gap:8px;font-size:11px}.barra-usuario .sec{min-height:33px;padding:7px 10px}.page-intro-inner{padding:25px 20px}.page-intro:after{width:70%}main:not(.acceso){padding:20px 16px 48px;gap:16px}.panel{padding:18px}.barra-acciones h2{width:100%}.barra-acciones .derecha{margin-left:0}.tarjetas{grid-template-columns:1fr}.acceso-layout{grid-template-columns:1fr}.acceso-hero{min-height:220px;padding:25px 24px}.acceso-hero-copy{padding:25px 0 8px}.acceso-hero h1{max-width:390px;margin-bottom:8px;font-size:32px}.acceso-hero-copy>p:last-child{margin:0;font-size:13px}.acceso-hero-footer{display:none}.acceso-panel{padding:30px 20px 50px}.acceso .panel{padding:23px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
