/* JAX Courier — operations UI refinement, additive and route-safe. */
:root{--jax-ink:#102b52;--jax-blue:#0b356b;--jax-blue-2:#165fae;--jax-red:#ef233c;--jax-mist:#f4f7fb;--jax-line:#dce6f1;--jax-card:#fff;--jax-muted:#647996;--jax-success:#157347;--jax-warning:#b45309;--jax-radius:14px;--jax-shadow:0 8px 24px rgba(15,47,87,.08)}
body{background:var(--jax-mist);color:var(--jax-ink)}
a{color:#174fa1;text-underline-offset:2px}
header{box-shadow:0 1px 0 rgba(16,43,82,.09)}
header .brand{gap:10px}header .brand img{object-fit:contain}
header nav a{border-radius:8px;font-weight:700;letter-spacing:-.01em}header nav a:hover,header nav a[aria-current="page"]{background:#e9f2ff;color:var(--jax-blue)}
main{min-width:0}.page-title{gap:20px}.page-title h1{letter-spacing:-.035em;color:var(--jax-ink)}.page-title p{color:var(--jax-muted)}
.card,.filters,.stats>div,.alert{background:var(--jax-card);border:1px solid var(--jax-line);border-radius:var(--jax-radius);box-shadow:var(--jax-shadow)}
.stats{gap:14px}.stats>div{position:relative;overflow:hidden}.stats>div:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#2170d6,#0b356b)}.stats b{color:var(--jax-blue)}
.toolbar,.actions{gap:10px}.btn,button:not(.link){border-radius:9px;font-weight:800;letter-spacing:.01em;box-shadow:none}.btn:hover,button:not(.link):hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(11,53,107,.16)}
input,select,textarea{border:1px solid #cedcec;border-radius:9px;background:#fff;color:var(--jax-ink)}input:focus,select:focus,textarea:focus{border-color:#2874c8;box-shadow:0 0 0 3px rgba(40,116,200,.14);outline:0}
.filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(150px,.7fr) minmax(110px,.45fr) auto auto;gap:12px;align-items:end;padding:16px}.filters label{min-width:0}.filters input,.filters select{width:100%;min-height:44px}.filters button{min-height:44px;white-space:nowrap}
.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid #e2eaf3;border-radius:11px;background:#fff}.table-wrap table{width:100%;min-width:880px;table-layout:auto;border-collapse:separate;border-spacing:0}.table-wrap thead th{position:sticky;top:0;z-index:1;padding:13px 14px;background:#f1f6fc;color:#405878;font-size:11px;font-weight:850;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #d7e3ef}.table-wrap tbody td{padding:12px 14px;vertical-align:middle;color:#263f60;border-bottom:1px solid #edf2f7;white-space:normal;overflow-wrap:anywhere}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap tbody tr:hover{background:#f7fbff}.table-wrap td b{display:block;color:#0c376f;font-size:13px}.table-wrap td small{display:block;margin-top:3px;color:#788ca7;font-size:11px;line-height:1.35}.table-wrap td:last-child{white-space:nowrap}.table-wrap td:last-child a,.table-wrap td:last-child button{display:inline-flex;align-items:center;margin:2px 3px 2px 0}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid #cfe2fb;border-radius:999px;background:#eaf4ff;color:#1260ad;font-size:11px;font-weight:850;letter-spacing:.02em}.doc{display:inline-flex;align-items:center;margin:2px 3px 2px 0;padding:4px 7px;border-radius:6px;background:#f1f4f8;color:#71829a;font-size:10px;font-weight:800}.doc.yes{background:#e8f6ef;color:var(--jax-success)}
.empty{padding:40px 20px!important;color:var(--jax-muted);text-align:center}.pager{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;padding:14px 2px;color:var(--jax-muted)}
@media (max-width:1100px){.filters{grid-template-columns:minmax(200px,1fr) minmax(150px,.65fr) minmax(120px,.45fr) auto}.filters a{grid-column:1/-1}.table-wrap table{min-width:760px}.table-wrap thead th,.table-wrap tbody td{padding:11px 10px}}
@media (max-width:760px){main{padding-inline:14px!important}.page-title{align-items:flex-start;flex-direction:column}.page-title .btn{width:100%;text-align:center}.filters{grid-template-columns:1fr;padding:14px}.filters button,.filters a{width:100%;text-align:center}.table-wrap table{min-width:680px}.table-wrap thead th,.table-wrap tbody td{padding:10px 9px;font-size:12px}.stats{grid-template-columns:1fr!important}.toolbar{align-items:stretch;flex-direction:column}.toolbar .btn{width:100%;text-align:center}}

/* Operación v2: mayor jerarquía visual para paneles de clientes y administración. */
.app main{background:radial-gradient(circle at 95% 0,#e5f1ff 0,transparent 30rem),var(--jax-mist)}
.app .page-title{position:relative;padding:24px 26px;margin-bottom:22px;overflow:hidden;border:1px solid #174f8e;border-radius:16px;background:linear-gradient(120deg,#082b59,#12569b);box-shadow:0 14px 30px rgba(8,43,89,.16)}
.app .page-title:after{content:"";position:absolute;right:-80px;top:-105px;width:290px;height:290px;border:36px solid rgba(255,255,255,.09);border-radius:50%}
.app .page-title>div,.app .page-title>a,.app .page-title>form{position:relative;z-index:1}.app .page-title h1{margin:3px 0 4px;color:#fff;font-size:clamp(1.75rem,2.4vw,2.4rem)}
.app .page-title p{margin:0;color:#d9e9fb}.app .page-title>div>span{color:#ff9ba3}.app .page-title>.btn,.app .page-title>a.btn{align-self:center;background:#f22034;color:#fff;border-color:#f22034}
.app .welcome{border-radius:16px;box-shadow:0 14px 30px rgba(8,43,89,.14)}
.app .welcome h1{font-size:clamp(1.8rem,2.4vw,2.55rem);letter-spacing:-.04em}.app .stats{gap:16px;margin-bottom:24px}.app .stats>div{min-height:112px;display:flex;flex-direction:column;justify-content:center;padding:18px 20px;border:1px solid #d5e3f2;border-left:5px solid #1b70c9;box-shadow:0 10px 22px rgba(13,52,96,.07)}
.app .stats b{font-size:2rem;letter-spacing:-.045em}.app .stats span{margin-top:6px;text-transform:uppercase;letter-spacing:.04em;font-size:.68rem}
.app .card{border-radius:16px;border-color:#dbe7f2;box-shadow:0 12px 28px rgba(13,52,96,.07)}
.app .card-head{padding-bottom:14px;border-bottom:1px solid #e4edf5}.app .card-head h2{font-size:1.25rem;color:#102b52}.app .filters,.app .search{border-left:5px solid #1b70c9;box-shadow:0 10px 22px rgba(13,52,96,.06)}
.app .table-wrap{border-color:#d6e4f1;border-radius:12px;box-shadow:inset 0 1px 0 #fff}.app .table-wrap thead th{background:#0b356b;color:#fff;border-color:#174a81;letter-spacing:.05em}.app .table-wrap tbody tr:nth-child(even){background:#f8fbff}.app .table-wrap tbody tr:hover{background:#eaf4ff;box-shadow:inset 4px 0 #ef233c}.app .table-wrap tbody td+td{border-left:1px solid rgba(224,234,243,.7)}
.app .table-wrap td:first-child b{font-size:.88rem;color:#0c3f7c}.app .badge{box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.app .actions,.app .toolbar{padding:10px 0}.app .btn,.app button:not(.link){min-height:42px}.app .secondary{background:#fff;color:#0b356b}
.brand img[src="/assets/jax-courier-poster-logo.jpeg"]{width:132px;height:62px;max-width:100%;object-fit:cover;object-position:center 38%;border:1px solid #d8e4ef;border-radius:10px;background:#fff}.brand:has(img[src="/assets/jax-courier-poster-logo.jpeg"]) span{display:none}
@media (max-width:900px){.app .page-title{padding:20px}.app .page-title>.btn,.app .page-title>a.btn{width:100%}.app .stats>div{min-height:88px}.app .table-wrap tbody td+td{border-left:0}}


/* Responsive correction: phone, tablet and desktop. */
@media (max-width:900px){
 header{position:sticky;padding:12px 18px;min-height:82px}
 header .brand{gap:12px;min-width:0}
 header .brand img,.brand img{width:112px!important;height:58px!important}
 header .brand span{display:inline!important;font-size:clamp(1rem,4vw,1.25rem);white-space:nowrap}
 header nav{width:100%;order:3}
 main{padding:18px 14px 32px}
 .hero{grid-template-columns:1fr;min-height:0;border-radius:20px}
 .hero>div:first-child{padding:46px clamp(28px,9vw,64px);min-height:420px}
 .hero h1{font-size:clamp(3rem,13vw,4.6rem);line-height:.98}
 .hero p{margin-top:22px;font-size:clamp(1rem,4.5vw,1.25rem);line-height:1.45}
 .hero-image{min-height:min(66vw,410px);background-position:center}
 .alert{margin-bottom:18px;padding:16px 18px;font-size:clamp(1rem,4.8vw,1.25rem);line-height:1.4}
 .auth{grid-template-columns:1fr;padding:24px 16px;border-radius:20px}
 .auth-card{padding:20px}
 .page-title,.card-head{align-items:stretch}
 .page-title>.btn,.card-head>.btn,.toolbar .btn,.actions .btn{width:100%}
 .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media(max-width:480px){
 header{padding:10px 14px}
 header .brand img,.brand img{width:92px!important;height:50px!important}
 header .brand span{font-size:1rem}
 .hero>div:first-child{padding:38px 28px;min-height:380px}
 .hero h1{font-size:clamp(2.75rem,15vw,3.65rem)}
 .hero-image{min-height:300px}
 footer{padding:18px 14px;text-align:center}
}

/* Mobile public navigation: keep tracking and authentication actions visible. */
@media (max-width:900px){
 body.public>header{display:flex!important;flex-wrap:wrap!important;align-items:center!important;height:auto!important;min-height:0!important;padding:10px 14px 12px!important}
 body.public>header .brand{flex:1 1 auto!important}
 body.public>header nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;order:3!important;width:100%!important;margin:8px 0 0!important;padding:8px 0 0!important;gap:8px!important;border-top:1px solid #dce6f1!important}
 body.public>header nav a{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;min-height:44px!important;padding:10px 6px!important;border:1px solid #d6e3f1!important;border-radius:10px!important;background:#f3f7fc!important;color:#0b356b!important;font-size:.85rem!important;text-align:center!important;text-decoration:none!important}
 body.public>header nav a[href="/ingresar"]{background:#0b356b!important;border-color:#0b356b!important;color:#fff!important}
 body.public>header nav a[href="/registrarse"]{background:#fff!important;border-color:#efb3ba!important;color:#b5162a!important}
}
@media (max-width:380px){body.public>header nav{gap:5px!important}body.public>header nav a{font-size:.76rem!important;padding-inline:3px!important}}
