:root{color-scheme:dark;--bg:#06151f;--panel:#0b2230;--panel2:#102e3d;--panel3:#153a49;--line:#244553;--text:#f2f7f8;--muted:#9fb6c1;--gold:#f4bd24;--gold2:#d89a00;--teal:#087e88;--teal2:#0b5363;--red:#ff7974;--green:#64d3ae;--shadow:0 18px 42px rgba(0,0,0,.18)}*{box-sizing:border-box}html,body,#root{min-height:100%;height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(ellipse at top right,#0d3445 0,transparent 38%),var(--bg);color:var(--text);font-size:14px;line-height:1.5}button,select,input,textarea{font:inherit}button{transition:background .16s ease,border-color .16s ease,transform .16s ease}button:active{transform:translateY(1px)}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}::selection{background:#f4bd2444;color:#fff}.app{display:grid;grid-template-columns:252px minmax(0,1fr);min-height:100%;height:100%;overflow:hidden}.lado{background:linear-gradient(180deg,#071923,#06131d);border-right:1px solid #183645;color:#dce8ec;padding:22px 14px 16px;display:flex;flex-direction:column;gap:5px;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:4px 9px 25px;border-bottom:1px solid #183746;margin-bottom:12px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;position:relative;width:42px;height:42px;flex:0 0 42px;border-radius:13px;background:linear-gradient(145deg,#10576b,#061c2b 75%);border:1px solid #b9922d;box-shadow:inset 0 0 0 2px #f4bd2416,0 8px 20px #0004;color:#fff;font-weight:800;font-size:25px;font-style:normal}.brand-mark b{font-weight:800;line-height:1}.brand-mark i,.brand-mark em{position:absolute;display:block;width:19px;height:4px;background:var(--gold);border-radius:3px;left:4px;transform:skew(-30deg);box-shadow:0 0 7px #f4bd242a}.brand-mark i{top:17px}.brand-mark em{top:23px;width:16px}.brand-name{font-weight:800;letter-spacing:.13em;font-size:15px;line-height:1.35}.brand-name small{display:block;margin-top:4px;color:#88a9b8;font-size:9px;letter-spacing:.16em;font-weight:600}.nav-group-label{font-size:10px;text-transform:uppercase;color:#72919f;letter-spacing:.15em;font-weight:800;padding:9px 12px 6px}.lado button{display:flex;align-items:center;gap:11px;background:transparent;border:1px solid transparent;color:#a8bdc6;text-align:left;width:100%;padding:10px 12px;border-radius:10px;cursor:pointer;font-weight:600;font-size:13px}.lado button:hover{background:#ffffff0b;color:#fff;border-color:#21404f}.lado button.on{background:linear-gradient(100deg,#0b5363,#0a394c);color:#fff;border-color:#24687a;box-shadow:inset 3px 0 var(--gold),0 9px 24px #0002}.nav-dot{display:inline-block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#4b7181}.lado button.on .nav-dot{background:var(--gold);box-shadow:0 0 10px #f4bd2466}.sidebar-foot{margin-top:auto;border-top:1px solid #183746;padding:16px 8px 0;color:#72919f;font-size:10px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.status-dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;box-shadow:0 0 10px #64d3ae70}.lado .fin{border-color:#23404d;background:#0c2633;color:#adc1ca;font-size:12px;margin-top:12px;justify-content:center}.lado .fin:hover{background:#143544;color:#fff}main{padding:0 30px 36px;min-width:0;width:100%;overflow:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 -30px 28px;padding:21px 30px;border-bottom:1px solid #183847;background:#071a25bb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:sticky;top:0;z-index:4}.topbar>div{display:flex;flex-direction:column;gap:3px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:#7698a8}.topbar strong{font-size:19px;line-height:1.25}.top-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid #294c59;border-radius:999px;background:#0d2a37;padding:7px 12px;color:#bad0d8;font-size:11px;white-space:nowrap}.top-chip i{width:7px;height:7px;border-radius:50%;background:var(--green)}h2{margin:0 0 7px;font-size:26px;letter-spacing:-.045em;font-weight:800;color:#f7fafb}h2:after{content:"";display:block;width:35px;height:3px;margin-top:10px;border-radius:4px;background:linear-gradient(90deg,var(--gold),#e99f00)}h3{color:#eaf4f6;font-size:15px;margin:20px 0 12px}.sub{color:var(--muted);margin:0 0 22px;max-width:900px;font-size:13px}.barra{display:flex;gap:10px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.barra label{display:flex;align-items:center;gap:8px;color:#a8c0ca;font-size:12px;font-weight:600}select,input,textarea{padding:10px 12px;border:1px solid #2a4b58;border-radius:9px;background:#0a202c;color:#edf5f7;min-height:39px}input::placeholder,textarea::placeholder{color:#638391}select:focus,input:focus,textarea:focus{border-color:#cda22a;outline:none;box-shadow:0 0 0 3px #f4bd2415}.btn{padding:9px 13px;border-radius:9px;border:1px solid #2e5361;background:#102d3a;color:#d7e7ec;cursor:pointer;font-weight:700;font-size:12px;box-shadow:0 3px 8px #0001}.btn:hover{background:#174353;border-color:#3b7180;color:#fff}.btn.ok{background:linear-gradient(135deg,#0b7c7d,#095667);border-color:#187e83;color:#fff}.btn.ok:hover{background:linear-gradient(135deg,#0d9695,#0c6174)}.btn.mal{color:#ffb6b2;background:#3b2227;border-color:#714047}.btn.mal:hover{background:#55282e;border-color:#a94d51}.btn:disabled{opacity:.45;cursor:wait;transform:none}.tarjetas{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:14px;margin:18px 0 24px}.tarjeta{background:linear-gradient(145deg,#102d3b,#0a202c);border:1px solid #214452;border-radius:15px;padding:20px 18px;min-height:112px;box-shadow:var(--shadow);position:relative;overflow:hidden}.tarjeta:before{content:"";position:absolute;right:-27px;top:-36px;width:104px;height:104px;border-radius:50%;border:1px solid #f4bd2413;box-shadow:0 0 0 12px #f4bd2405,0 0 0 25px #f4bd2403}.tarjeta b{display:block;font-size:32px;line-height:1.15;letter-spacing:-.045em;color:#fff;margin-bottom:10px;position:relative}.tarjeta span{color:#a7c0ca;font-size:12px;position:relative}.tarjeta.alerta{border-color:#a77d21;background:linear-gradient(145deg,#433617,#172c30)}.tarjeta.alerta b{color:#ffdb69}.resumen-cali .tarjeta{min-height:auto}.scroll{overflow:auto;background:#0a202c;border:1px solid #1f414f;border-radius:13px;box-shadow:var(--shadow);margin:12px 0 20px;max-width:100%}table{border-collapse:separate;border-spacing:0;width:100%;min-width:650px}th,td{padding:12px 14px;text-align:left;border-bottom:1px solid #1b3a47;max-width:300px;vertical-align:middle}th{font-size:10px;text-transform:uppercase;letter-spacing:.085em;color:#8daeb9;font-weight:800;background:#102b38;position:sticky;top:0;white-space:nowrap}td{font-size:12px;color:#d2e2e7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:#123240}tr.fila{cursor:pointer}.acc{display:flex;gap:6px;flex-wrap:wrap;min-width:180px}.acc .btn{white-space:nowrap}.vacio{padding:28px;text-align:center;color:#8ba7b3}.msg{padding:12px 15px;border:1px solid #315360;border-radius:10px;margin:12px 0 16px;background:#102c39;color:#d3e7ed}.msg.e{background:#3b2025;border-color:#753b42;color:#ffc2bf}.msg.b{background:#10392f;border-color:#24684e;color:#a5eed5}.det{background:#0a202c;border:1px solid #234653;border-radius:14px;padding:20px;margin:18px 0;box-shadow:var(--shadow)}.det h3{margin:20px 0 10px}.det .barra h3{margin:0}dl{display:grid;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);gap:10px 18px;margin:14px 0 20px;padding:16px;border:1px solid #1e3e4c;border-radius:10px;background:#0d2633}dt{color:#86a5b0;font-size:12px;text-transform:capitalize}dd{margin:0;color:#e3eef1;word-break:break-word;font-weight:500}.login{max-width:420px;margin:10vh auto;background:linear-gradient(145deg,#0d2b39,#071b26);padding:32px;border-radius:20px;border:1px solid #2a4e5c;display:flex;flex-direction:column;gap:14px;box-shadow:0 30px 80px #0006}.login-brand{display:flex;align-items:center;gap:13px;margin-bottom:4px}.login-brand .brand-mark{width:55px;height:55px;flex-basis:55px;font-size:31px}.login-brand .brand-mark i{top:22px;left:5px;width:25px;height:5px}.login-brand .brand-mark em{top:30px;left:5px;width:21px;height:5px}.login-brand h1{margin:0;letter-spacing:.12em;font-size:22px}.login-brand small{display:block;color:#8eacb7;margin-top:1px;font-size:11px}.login p{margin:0;color:#abc0c8;font-size:13px}.login input{width:100%;min-height:45px}.login .btn{min-height:42px}.etq{padding:3px 9px;border-radius:99px;background:#173946;border:1px solid #2b5260;color:#bde2eb;font-size:11px}.mapa{border:1px solid #254957;border-radius:14px;overflow:hidden;background:#0b2230;margin:15px 0;padding:12px}.mapa img{width:100%;height:auto;display:block;border-radius:9px}.mapa-leaflet{width:100%;height:480px;border-radius:9px;background:#dfe7ea;z-index:0}a.btn{display:inline-block;text-decoration:none}.mapa .sub{margin:10px 2px 0;font-size:11px}.filtros{background:#0b2230;border:1px solid #203f4d;border-radius:11px;padding:12px;width:max-content;max-width:100%}.filtros select{min-width:150px}@media(max-width:1000px){.app{grid-template-columns:210px minmax(0,1fr)}main{padding-left:20px;padding-right:20px}.topbar{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}.lado{padding-left:9px;padding-right:9px}.tarjetas{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}}@media(max-width:760px){html,body,#root{height:auto;min-height:100%}.app{display:flex;flex-direction:column;overflow:visible}.lado{position:relative;height:auto;max-height:none;overflow:visible;padding:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border-right:0;border-bottom:1px solid #1b3d4c}.brand{grid-column:1/-1;padding:4px 7px 12px;margin-bottom:2px}.nav-group-label{grid-column:1/-1;padding:6px 8px 3px}.lado button{font-size:11px;padding:9px;gap:7px}.sidebar-foot{grid-column:1/-1;margin-top:5px}.lado .fin{grid-column:1/-1;margin-top:0}.topbar{position:relative;margin:0 -16px 22px;padding:16px;align-items:flex-start}.topbar strong{font-size:17px}.top-chip{font-size:10px;padding:6px 9px}main{padding:0 16px 25px;overflow:visible}h2{font-size:23px}.tarjetas{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.tarjeta{padding:14px;min-height:100px}.tarjeta b{font-size:26px}.tarjeta span{font-size:11px}table{min-width:600px}.det{padding:13px}.filtros{width:100%}.filtros label{width:100%;justify-content:space-between}.filtros select{flex:1;min-width:0}.login{margin:7vh 14px;padding:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.tarifa-grupo{margin:22px 0;padding:18px;border:1px solid var(--line, #214254);border-radius:18px;background:#0823346b}.tarifa-grupo h3{margin:0 0 14px;color:#eabf48}.tarifas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.tarifa-campo{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:12px;border:1px solid rgba(126,161,177,.22);background:#0d32468c}.tarifa-campo>span{font-weight:750;color:#f4f7f9}.tarifa-campo small{color:#a9c3cf;font-size:12px;line-height:1.45}.tarifa-entrada{display:flex;align-items:center;gap:10px}.tarifa-entrada input{width:115px}.tarifa-entrada b{color:#eabf48;font-size:13px}
