:root{--bg:#07101e;--line:#304765;--blue:#2475ff;--hi:#75a9ff;--ink:#f5f8ff;--muted:#a7b5cb;--ok:#59df9a;--warn:#ffcf88;--bad:#ff6b6b;font:16px system-ui,sans-serif}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);min-height:100vh}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 85% 0%,#174c8b88,transparent 55%),radial-gradient(ellipse at 10% 100%,#10305a66,transparent 50%)}
a{color:#9cc2ff}.hidden{display:none!important}.muted{color:var(--muted)}.i{flex:none;display:block}
header{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px max(16px,3vw);min-height:68px;background:#07101ef0;border-bottom:1px solid #2b3b52;position:sticky;top:0;z-index:5;backdrop-filter:blur(8px)}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.logo-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#3182ff,#1458d8);box-shadow:0 6px 16px #1458d855,inset 0 1px 0 #ffffff40;flex:none}
header strong{font-size:22px;letter-spacing:-.02em;display:block;line-height:1.1}header .tag{font-size:10.5px;letter-spacing:.2em;font-weight:700;margin-top:2px}
main{max-width:1440px;margin:auto;padding:22px 16px 70px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:8px 0}.row>*{flex:1 1 150px;min-width:0}.row>button{flex:0 0 auto}header .row{margin:0}header .row>*{flex:0 0 auto}
button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 18px;border-radius:13px;font:inherit;font-weight:700;border:1px solid #6aa2ff;background:linear-gradient(135deg,#3a8bff,#1a5fe0);color:#fff;box-shadow:0 6px 16px #1a5fe033,inset 0 1px 0 #ffffff33;cursor:pointer;transition:transform .12s,background .15s,box-shadow .15s}
button:hover{background:linear-gradient(135deg,#4d98ff,#2468ee)}button:active{transform:scale(.97)}button:focus-visible{outline:3px solid #a9ccff;outline-offset:2px}
button.s{background:#0f2340;border-color:#36557f;color:#dbe8ff;box-shadow:none}button.s:hover{background:#15305a;border-color:var(--hi)}
button.g{background:linear-gradient(135deg,#1fae6b,#128c4a);border-color:#59df9a}button.d{background:linear-gradient(135deg,#9a2b2b,#6b1d1d);border-color:var(--bad)}
button.sm{min-height:34px;padding:5px 11px;font-size:13px;border-radius:10px}
button.linkbtn{background:transparent;border:0;box-shadow:none;color:#9cc2ff;text-decoration:underline;text-underline-offset:4px}
input,select,textarea{font:inherit;font-size:16px;color:#fff;background:#08121f;border:1px solid #38527a;border-radius:12px;padding:12px 14px;min-height:50px;width:100%;min-width:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--hi);box-shadow:0 0 0 3px #2475ff55}
label{display:grid;gap:5px;font-weight:700;font-size:14px;color:#dbe8ff}
.card{background:linear-gradient(145deg,#142640,#0d1b2e);border:1px solid #304765;border-radius:20px;padding:22px;margin:14px 0;box-shadow:0 12px 32px #0004;animation:in .35s ease}@keyframes in{from{opacity:0;transform:translateY(8px)}}
h2{font-size:clamp(26px,4vw,38px);margin:0;letter-spacing:-.02em}h3{margin:0 0 12px;font-size:20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.grid .card{margin:0}
.stat b{display:block;font-size:32px;color:var(--hi)}.stat span{color:var(--muted)}
.badge{display:inline-block;background:#ffcf8820;border:1px solid var(--warn);color:var(--warn);padding:4px 11px;border-radius:99px;font-size:12px;font-weight:800}
.tabs{display:flex;gap:6px;overflow-x:auto;padding:6px;margin:16px 0;background:#0b182a;border:1px solid #2b3b52;border-radius:18px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:0 0 auto;min-height:44px;padding:9px 15px;border-radius:13px;white-space:nowrap;font-size:15px}
.tabs button:not(.active){background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.tabs button:not(.active):hover{background:#14305a;color:#fff}
.landing{max-width:850px;margin:4vh auto 0;display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 16px}
.landing img{width:min(420px,90%);border-radius:22px;border:1px solid #304765;box-shadow:0 18px 40px #0006;margin-bottom:22px}
.eyebrow{color:#51b7ff;letter-spacing:.18em;font-weight:800;font-size:12px}
.landing h1{font-size:clamp(52px,10vw,92px);margin:8px 0 0;letter-spacing:-.06em;line-height:1.1}.landing p{color:#c3d1e5;font-size:18px;margin:12px 0 28px}
.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;width:min(100%,860px)}
.entry{min-height:190px;flex-direction:column;gap:6px;padding:22px 14px;border-radius:24px;border:1px solid #7cc0ff;font-size:24px;background:linear-gradient(145deg,#1f8bff,#0b57d6);box-shadow:0 20px 40px #0a46b455,inset 0 1px 0 #ffffff40}
.entry:hover{background:linear-gradient(145deg,#339aff,#1264e6);transform:translateY(-3px)}.entry .ic{width:72px;height:72px;border-radius:22px;background:#ffffff26;border:1px solid #ffffff3d;display:grid;place-items:center;margin-bottom:8px}
.entry small{font-size:13.5px;color:#ffffffcc;font-weight:600}
.auth{max-width:460px;margin:6vh auto;padding:26px;border-radius:24px;text-align:left}.auth label{margin-top:16px}.auth form button{width:100%;margin-top:20px;min-height:52px;font-size:17px}
.tw{overflow:auto;border:1px solid #3b577a;border-radius:15px;max-height:62vh}table{border-collapse:separate;border-spacing:0;width:100%;min-width:1300px}
th{background:#162d4d;color:#cfe1ff;position:sticky;top:0;z-index:1;white-space:nowrap}td,th{padding:9px;border-bottom:1px solid #304765;border-right:1px solid #304765;text-align:left;font-size:14px}td{background:#0b182a}tr:hover td{background:#122641}
.pill{display:inline-block;border-radius:99px;padding:4px 10px;background:#1b426e;color:#cfe4ff;font-size:12px;font-weight:800;white-space:nowrap}
.p-Pendiente{background:#5a4a1b}.p-Asignada{background:#3b2f6b}.p-Recogida{background:#1b5a5a}.p-Entregada,.p-En.transporte{background:#1b5a3a}.p-Cerrada{background:#333}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}.cards .card{margin:0}
.kan{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(210px,1fr);gap:10px;overflow:auto}.kan>div{background:#0b182a;border:1px solid var(--line);border-radius:16px;padding:12px;min-height:200px}.kan .k{background:#142640;border:1px solid #304765;border-radius:10px;padding:9px;margin:7px 0;font-size:13px}
.bar{height:12px;border-radius:9px;background:linear-gradient(90deg,#1a5fe0,#51b7ff);margin:3px 0}
.map{height:380px;border-radius:18px;border:1px solid var(--line);background:#050c18;position:relative;overflow:hidden;background-image:linear-gradient(#12233f 1px,transparent 1px),linear-gradient(90deg,#12233f 1px,transparent 1px);background-size:40px 40px}
.map i{position:absolute;font-style:normal;background:#1a5fe0;border:1px solid #6aa2ff;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:700;box-shadow:0 0 14px #51b7ff;animation:pu 2s infinite}@keyframes pu{50%{box-shadow:0 0 4px #51b7ff}}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal div{background:#0b182a;border:1px solid var(--line);min-height:70px;padding:4px;font-size:12px;border-radius:8px}.cal em{display:block;background:#1a5fe0;border-radius:5px;padding:1px 4px;margin-top:2px;font-style:normal}
.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:9;padding:12px}.modal>div{background:linear-gradient(145deg,#142640,#0d1b2e);border:1px solid var(--hi);border-radius:20px;padding:22px;width:min(560px,100%);max-height:90vh;overflow:auto}
.toast{position:fixed;bottom:18px;right:18px;background:#128c4a;padding:12px 16px;border-radius:12px;z-index:20;animation:in .3s}
.big{font-size:18px;min-height:56px}
@media(max-width:700px){.entry-grid{grid-template-columns:1fr}.entry{min-height:120px}.card{padding:14px}main{padding:14px 10px}[style*="3fr 1fr"]{grid-template-columns:1fr!important}}

header{padding-top:max(12px,env(safe-area-inset-top))}main{padding-bottom:calc(70px + env(safe-area-inset-bottom))}body{-webkit-tap-highlight-color:transparent}
@media(max-width:700px){#who{display:none}header .tag{letter-spacing:.08em;font-size:9px}.map i{font-size:11px;padding:4px 7px;max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
input[type=checkbox],input[type=radio]{width:20px;min-height:20px;padding:0;accent-color:#2475ff}
#sh table{min-width:2300px}
#sh table,#il table{min-width:1500px}#sh th,#il th{background:#2f62c4;color:#fff}
.lm{height:460px;border-radius:18px;border:1px solid var(--line);background:#050c18}.gpsg{display:grid;grid-template-columns:3fr 1fr;gap:12px}.gpl{max-height:460px;overflow:auto}
.tk{background:#1a5fe0;border:1px solid #6aa2ff;padding:4px 9px;border-radius:99px;font-size:12px;font-weight:700;color:#fff;white-space:nowrap;box-shadow:0 0 14px #51b7ff;transform:translate(-50%,-50%)}
.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#0d1b2e;color:#fff}
.btn{border:1px solid #6aa2ff;background:linear-gradient(135deg,#3a8bff,#1a5fe0);color:#fff;border-radius:13px;min-height:46px;padding:10px 18px;font-weight:700;align-items:center;gap:9px}.btn.s{background:#0f2340;border-color:#36557f}
button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:700px){.gpsg{grid-template-columns:1fr}}
