:root{
  --ink:#0d1120;
  --panel:#121827;
  --orange:#ff6a2a;
  --orange-2:#ff7c3e;
  --muted:#8f98ad;
  --line:#e7e9ef;
  --bg:#f6f7fa;
  --white:#fff;
  --green:#43a967;
  --shadow:0 18px 50px rgba(15,23,42,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.topbar{height:116px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,72px);border-bottom:1px solid #eef0f4}
.brand{display:flex;align-items:center;gap:16px}
.brand-mark{display:grid;place-items:center;width:72px;height:72px;border-radius:20px;background:linear-gradient(135deg,var(--orange),#ff8b43);font-size:38px;box-shadow:0 10px 26px rgba(255,106,42,.25)}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-copy strong{font-size:28px;letter-spacing:.08em}
.brand-copy small{margin-top:10px;color:var(--orange);font-size:15px;font-weight:800;letter-spacing:.28em}
.admin-link{padding:15px 24px;border:1px solid #dfe3eb;border-radius:18px;color:#586176;background:#fff}
.hero{min-height:640px;background:var(--ink);color:#fff;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:40px;align-items:center;padding:70px clamp(24px,5vw,72px)}
.hero-copy{max-width:760px}
.eyebrow{color:var(--orange-2);font-weight:800;letter-spacing:.16em;margin-bottom:24px}
h1{font-size:clamp(54px,7vw,94px);font-weight:400;line-height:.93;letter-spacing:-.055em;margin:0 0 30px}
.hero p{color:#a9b0c1;font-size:clamp(20px,2vw,29px);line-height:1.5;max-width:760px}
.tracking-card{background:#fff;border-radius:30px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:14px;box-shadow:var(--shadow);margin-top:42px}
.tracking-input-wrap{display:flex;align-items:center;gap:12px;min-width:0}
.search-icon{color:#929caf;font-size:38px;line-height:1}
.tracking-card input{border:0;outline:0;width:100%;padding:18px 4px;font-size:20px;color:var(--ink);min-width:0}
.tracking-card button,.primary-btn{border:0;background:linear-gradient(135deg,var(--orange),var(--orange-2));color:#fff;font-weight:800;border-radius:20px;padding:19px 32px;box-shadow:0 8px 20px rgba(255,106,42,.25)}
.privacy-note{font-size:15px!important;color:#7f899e!important;margin-top:18px}
.hero-art{display:grid;place-items:center;min-height:420px}
.orbit{width:min(390px,80vw);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.13);display:grid;place-items:center;position:relative}
.orbit:before,.orbit:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;inset:12%}
.orbit:after{inset:27%}
.package{font-size:88px;filter:grayscale(.15)}
.truck{position:absolute;right:4%;top:11%;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:34px}
.orbit span{position:absolute;bottom:18%;font-weight:900;text-align:center;letter-spacing:.13em}
.info-strip{background:#fff;display:flex;justify-content:space-between;align-items:center;gap:26px;padding:42px clamp(24px,5vw,72px);border-bottom:1px solid #eceff4}
.info-strip>div{display:flex;flex-direction:column;gap:8px;color:#7c869b}
.info-strip>div strong{color:#5f6b81}
.whatsapp{background:var(--green);color:#fff;border-radius:28px;padding:18px 28px;display:flex;flex-direction:column;box-shadow:0 15px 35px rgba(67,169,103,.25)}
.whatsapp span{font-size:14px}
.whatsapp strong{font-size:22px;margin-top:4px}
.tracking-result{margin-top:18px}
.result-card{background:#fff;color:var(--ink);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.result-card h3{margin:0 0 12px;font-size:22px}
.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.result-item{background:#f6f7fa;border-radius:16px;padding:14px}
.result-item span{display:block;color:#7d879b;font-size:13px;margin-bottom:5px}
.status-badge{display:inline-flex;padding:8px 12px;border-radius:999px;background:#fff2eb;color:#cc4e16;font-weight:800;font-size:13px}
.timeline{margin-top:20px;border-left:2px solid #eceff4;padding-left:18px}
.timeline-item{position:relative;padding:0 0 17px}
.timeline-item:before{content:"";position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--orange)}
.timeline-item strong{display:block}
.timeline-item small{color:#7f899e}
footer{display:flex;justify-content:space-between;gap:20px;padding:24px clamp(24px,5vw,72px);font-size:13px;color:#8790a2}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Admin */
.admin-shell{min-height:100vh;background:#f4f6f9}
.admin-header{background:#fff;border-bottom:1px solid #e9ecf2;padding:22px clamp(20px,4vw,54px);display:flex;justify-content:space-between;align-items:center}
.admin-header .brand-mark{width:54px;height:54px;border-radius:16px;font-size:30px}
.admin-header .brand-copy strong{font-size:20px}
.admin-header .brand-copy small{font-size:11px;margin-top:7px}
.admin-main{padding:34px clamp(20px,4vw,54px);max-width:1400px;margin:auto}
.admin-title{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px}
.admin-title h1{font-size:42px;color:var(--ink);font-weight:700;letter-spacing:-.035em;margin:0}
.admin-title p{margin:8px 0 0;color:#7a8498}
.dashboard-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:24px}
.panel{background:#fff;border:1px solid #e7eaf0;border-radius:24px;padding:24px;box-shadow:0 10px 25px rgba(15,23,42,.05)}
.panel h2{margin:0 0 18px;font-size:22px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;color:#667086;font-weight:700}
.field input,.field select,.field textarea{border:1px solid #dfe3ea;border-radius:14px;padding:13px 14px;outline:none;background:#fff}
.field textarea{min-height:84px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#ff986c;box-shadow:0 0 0 3px rgba(255,106,42,.10)}
.actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}
.secondary-btn{border:1px solid #dfe3ea;background:#fff;color:#495469;font-weight:700;border-radius:16px;padding:14px 18px}
.guide-list{display:flex;flex-direction:column;gap:12px;max-height:660px;overflow:auto;padding-right:4px}
.guide-row{border:1px solid #e7eaf0;border-radius:18px;padding:16px;display:grid;grid-template-columns:1fr auto;gap:14px}
.guide-row h3{margin:0;font-size:16px}
.guide-row p{margin:6px 0 0;color:#7e879a;font-size:13px}
.guide-row .row-actions{display:flex;gap:8px;align-items:center}
.icon-btn{border:1px solid #e1e5ec;background:#fff;border-radius:12px;padding:9px 11px}
.empty{color:#8a94a7;text-align:center;padding:28px;border:1px dashed #d8dde6;border-radius:18px}
.toast{position:fixed;right:24px;bottom:24px;background:#111827;color:#fff;padding:14px 18px;border-radius:14px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}
.toast.show{opacity:1;transform:translateY(0)}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:54px}
  .hero-art{display:none}
  .tracking-card{grid-template-columns:1fr}
  .tracking-card button{width:100%}
  .info-strip{align-items:flex-start;flex-direction:column}
  .dashboard-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .topbar{height:94px;padding:0 18px}
  .brand-mark{width:58px;height:58px;border-radius:17px;font-size:31px}
  .brand-copy strong{font-size:19px}
  .brand-copy small{font-size:10px;letter-spacing:.22em;margin-top:7px}
  .admin-link{padding:12px 16px;border-radius:14px;font-size:14px}
  .hero{padding:48px 18px 58px;min-height:0}
  h1{font-size:58px}
  .hero p{font-size:19px}
  .tracking-card{padding:14px;border-radius:26px}
  .tracking-card input{font-size:17px}
  .result-grid,.form-grid{grid-template-columns:1fr}
  .field.full{grid-column:auto}
  .info-strip{padding:30px 18px}
  footer{padding:20px 18px;flex-direction:column}
  .admin-title{align-items:flex-start;flex-direction:column}
  .admin-title h1{font-size:34px}
}
.admin-title-actions{display:flex;gap:10px;flex-wrap:wrap}
.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}
.stat-card{background:#fff;border:1px solid #e7eaf0;border-radius:24px;padding:22px;box-shadow:0 10px 25px rgba(15,23,42,.05);display:flex;flex-direction:column;gap:7px}
.stat-card span{color:#7a8498;font-size:14px}
.stat-card strong{font-size:34px;line-height:1;color:var(--ink)}
.stat-card small{color:#98a1b2}
.panel-subtitle{margin:-10px 0 18px;color:#8a94a7;font-size:13px}
.guide-date{font-size:12px!important;color:#98a1b2!important}
@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .admin-main{padding:26px 16px}
  .admin-title-actions{width:100%}
  .admin-title-actions .primary-btn,.admin-title-actions .secondary-btn{flex:1}
  .stats-grid{gap:12px}
  .stat-card{padding:18px;border-radius:20px}
  .stat-card strong{font-size:30px}
  .dashboard-grid{gap:16px}
  .panel{padding:18px;border-radius:22px}
}


/* Admin panel pro — navegación y operación */
.admin-shell-pro{background:#f3f5f9}
.admin-header-pro{position:sticky;top:0;z-index:20;background:#0d1120;color:#fff;border:0}
.admin-header-pro .brand-copy strong{color:#fff}
.admin-header-tools{display:flex;align-items:center;gap:14px}
.colombia-clock{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}
.colombia-clock span{font-size:11px;color:#9ea7ba;text-transform:uppercase;letter-spacing:.08em}
.colombia-clock strong{margin-top:5px;font-size:14px;color:#fff}
.admin-workspace{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1600px;margin:0 auto}
.admin-sidebar{min-height:calc(100vh - 99px);background:#111725;color:#fff;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:99px;height:calc(100vh - 99px)}
.sidebar-title{font-size:11px;font-weight:800;letter-spacing:.14em;color:#7f899e;text-transform:uppercase;padding:0 12px 14px}
.sidebar-nav{display:flex;flex-direction:column;gap:7px}
.sidebar-link{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:14px;color:#aeb6c7;font-weight:700}
.sidebar-link:hover,.sidebar-link.active{background:#1d2638;color:#fff}
.sidebar-link.active{box-shadow:inset 3px 0 0 var(--orange)}
.sidebar-status{margin-top:auto;border-top:1px solid #273044;padding:18px 12px 0;display:flex;align-items:center;gap:10px}
.sidebar-status strong,.sidebar-status small{display:block}
.sidebar-status strong{font-size:13px}
.sidebar-status small{font-size:11px;color:#7f899e;margin-top:3px}
.status-dot{width:9px;height:9px;border-radius:50%;background:#45bf78;box-shadow:0 0 0 4px rgba(69,191,120,.12)}
.admin-main-pro{max-width:none;width:100%;padding:34px 32px 46px}
.admin-kicker{font-size:11px;font-weight:900;letter-spacing:.15em;color:var(--orange)}
.operations-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:18px 20px}
.operations-panel h2{margin:0 0 4px}
.shipment-filters{display:flex;gap:8px;flex-wrap:wrap}
.filter-chip{border:1px solid #e1e5ec;background:#fff;color:#697386;font-weight:800;font-size:13px;border-radius:999px;padding:10px 14px}
.filter-chip.active{background:#111827;color:#fff;border-color:#111827}
.dashboard-grid-pro{grid-template-columns:minmax(0,1.35fr) minmax(340px,.8fr);align-items:start}
.panel-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.live-pill{font-size:11px;font-weight:800;color:#238451;background:#eaf8f0;padding:8px 10px;border-radius:999px;white-space:nowrap}
.guide-row-pro{padding:17px 18px}
.guide-main{min-width:0}
.guide-topline{display:flex;align-items:center;gap:10px;justify-content:space-between}
.shipment-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.status-delivered{background:#eaf8f0;color:#238451}
.status-route{background:#fff1e8;color:#c7581d}
.status-pending{background:#eef1ff;color:#4c5bd4}
.status-alert{background:#fff0f0;color:#c84343}
.guide-customer strong{color:#263043}
.guide-location{font-size:12px!important}
.danger-icon:hover{border-color:#efcaca;color:#bb3b3b;background:#fff7f7}
.admin-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.inline-btn{display:inline-flex;margin-top:6px}
.new-guide-panel-pro{position:sticky;top:122px}
@media(max-width:1100px){
  .admin-workspace{grid-template-columns:1fr}
  .admin-sidebar{display:none}
  .dashboard-grid-pro{grid-template-columns:1fr}
  .new-guide-panel-pro{position:static}
}
@media(max-width:700px){
  .admin-header-pro{padding:16px}
  .admin-header-tools .secondary-btn{display:none}
  .colombia-clock span{display:none}
  .admin-main-pro{padding:24px 14px 36px}
  .operations-panel{align-items:flex-start;flex-direction:column}
  .shipment-filters{width:100%;display:grid;grid-template-columns:repeat(2,1fr)}
  .filter-chip{width:100%}
  .admin-info-grid{grid-template-columns:1fr}
  .guide-row-pro{grid-template-columns:1fr}
  .guide-row .row-actions{justify-content:flex-end}
  .guide-topline{align-items:flex-start}
}

.mobile-admin-nav{display:none}
@media(max-width:1100px){
  .mobile-admin-nav{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:0 0 20px;
    padding:9px;
    background:#111725;
    border-radius:18px;
    overflow-x:auto;
  }
  .mobile-nav-item{
    text-align:center;
    color:#aeb6c7;
    font-size:12px;
    font-weight:800;
    padding:11px 8px;
    border-radius:12px;
    white-space:nowrap;
  }
  .mobile-nav-item.active{background:#ff6a2a;color:#fff}
}
@media(max-width:560px){
  .admin-header-pro .brand-mark{width:44px;height:44px;font-size:24px}
  .admin-header-pro .brand-copy strong{font-size:16px}
  .admin-header-pro .brand-copy small{font-size:9px}
  .admin-title{background:#111725;color:#fff;padding:20px;border-radius:22px;margin-bottom:16px}
  .admin-title h1{color:#fff;font-size:30px}
  .admin-title p{color:#aeb6c7}
  .admin-kicker{color:#ff8a50}
  .admin-title-actions{display:grid;grid-template-columns:1fr 1fr}
  .admin-title-actions .primary-btn,.admin-title-actions .secondary-btn{width:100%;padding:14px 10px}
  .stats-grid{grid-template-columns:1fr 1fr}
  .stat-card{min-height:142px}
}


/* Herramientas y documento profesional de guías */
.guide-tools{display:flex;align-items:end;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.guide-search{display:flex;flex-direction:column;gap:6px;min-width:min(320px,100%)}
.guide-search span{font-size:11px;font-weight:800;color:#7a8498;text-transform:uppercase;letter-spacing:.08em}
.guide-search input{border:1px solid #dfe3ea;border-radius:14px;padding:11px 13px;outline:none;background:#fff;min-width:260px}
.guide-search input:focus{border-color:#ff986c;box-shadow:0 0 0 3px rgba(255,106,42,.10)}
.guide-view-btn{border:1px solid #ffd3be;background:#fff4ee;color:#d85b20;font-size:12px;font-weight:900;border-radius:12px;padding:9px 11px;white-space:nowrap}
.guide-view-btn:hover{background:#ffe9dc}

.guide-document-shell{background:#eef1f5;min-height:100vh}
.guide-doc-topbar{background:#0d1120;color:#fff;padding:18px clamp(18px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px}
.guide-doc-topbar .brand-copy strong{color:#fff}
.guide-doc-actions{display:flex;gap:10px;align-items:center}
.guide-document-wrap{padding:32px 16px 60px}
.guide-document{max-width:920px;margin:0 auto;background:#fff;border-radius:28px;box-shadow:0 22px 65px rgba(15,23,42,.13);padding:42px}
.guide-document-loading,.guide-document-error{text-align:center;padding:70px 20px;color:#7a8498}
.guide-document-error h2{color:#172033}
.guide-doc-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding-bottom:28px;border-bottom:2px solid #f0f2f6}
.guide-doc-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:#ff6a2a}
.guide-doc-head h1{font-size:38px;line-height:1.05;letter-spacing:-.03em;margin:8px 0 8px;font-weight:800}
.guide-doc-head p{margin:0;color:#7a8498}
.guide-doc-number{background:#111827;color:#fff;border-radius:20px;padding:18px 20px;min-width:245px}
.guide-doc-number span,.guide-doc-number small{display:block;color:#aeb6c7}
.guide-doc-number strong{display:block;font-size:21px;margin:7px 0 5px}
.guide-doc-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:22px 0}
.guide-doc-meta>div,.guide-doc-grid>div{background:#f6f7fa;border-radius:16px;padding:15px}
.guide-doc-meta span,.guide-doc-grid span{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8a94a7;margin-bottom:6px}
.guide-doc-meta strong,.guide-doc-grid strong{font-size:14px;color:#20293a}
.guide-doc-section{padding:22px 0;border-top:1px solid #eef0f4}
.guide-doc-section h2{margin:0 0 15px;font-size:18px}
.guide-doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.guide-doc-grid .wide{grid-column:1/-1}
.guide-doc-footer{margin-top:26px;padding-top:24px;border-top:2px solid #111827;display:flex;justify-content:space-between;align-items:center;gap:20px}
.guide-doc-footer strong,.guide-doc-footer span{display:block}
.guide-doc-footer span{margin-top:5px;color:#8a94a7;font-size:12px}
.guide-doc-stamp{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#ff6a2a;color:#fff;font-weight:900;font-size:20px}
@media(max-width:700px){
  .guide-tools{align-items:stretch;width:100%;justify-content:stretch}
  .guide-search{width:100%}
  .guide-search input{min-width:0;width:100%}
  .shipment-filters{flex:1}
  .guide-doc-topbar{align-items:flex-start}
  .guide-doc-actions .secondary-btn{display:none}
  .guide-doc-actions .primary-btn{padding:12px 14px;border-radius:14px;font-size:12px}
  .guide-document{padding:22px;border-radius:20px}
  .guide-doc-head{flex-direction:column}
  .guide-doc-number{width:100%;min-width:0}
  .guide-doc-meta{grid-template-columns:1fr}
  .guide-doc-grid{grid-template-columns:1fr}
  .guide-doc-grid .wide{grid-column:auto}
}
@media print{
  body{background:#fff!important}
  .guide-doc-topbar{display:none!important}
  .guide-document-wrap{padding:0!important}
  .guide-document{box-shadow:none!important;border-radius:0!important;max-width:none!important;padding:18mm!important}
}

/* Acceso administrativo con usuario y contraseña */
.admin-login-gate{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at top right, rgba(255,106,42,.18), transparent 32%),
    #0d1120;
}
.admin-login-gate.show{display:grid}
.admin-locked{overflow:hidden}
.admin-login-card{
  width:min(440px,100%);
  background:#fff;
  border-radius:30px;
  padding:32px;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
}
.admin-login-brand{display:flex;align-items:center;gap:14px;margin-bottom:26px}
.admin-login-brand .brand-mark{width:58px;height:58px;font-size:30px;border-radius:18px}
.admin-login-brand strong{display:block;font-size:20px;letter-spacing:.09em}
.admin-login-brand small{display:block;margin-top:6px;color:#ff6a2a;font-size:10px;font-weight:900;letter-spacing:.17em}
.admin-login-card h1{font-size:34px;line-height:1.05;margin:0 0 10px;font-weight:800;letter-spacing:-.035em}
.admin-login-card>p{margin:0 0 24px;color:#7a8498;line-height:1.5}
.admin-login-card form{display:flex;flex-direction:column;gap:16px}
.admin-login-card label{display:flex;flex-direction:column;gap:7px}
.admin-login-card label span{font-size:13px;font-weight:800;color:#596479}
.admin-login-card input{border:1px solid #dfe3ea;border-radius:16px;padding:15px 16px;outline:none;background:#fff}
.admin-login-card input:focus{border-color:#ff986c;box-shadow:0 0 0 3px rgba(255,106,42,.10)}
.admin-login-submit{width:100%;margin-top:4px}
.admin-login-error{min-height:20px;color:#b63b3b;font-size:13px;font-weight:700;text-align:center}
.admin-login-back{display:block;text-align:center;margin-top:18px;color:#687286;font-size:13px;font-weight:700}
@media(max-width:560px){
  .admin-login-gate{padding:16px}
  .admin-login-card{padding:24px;border-radius:24px}
  .admin-login-card h1{font-size:30px}
}


.recovery-status{display:block;width:100%;margin-top:10px;padding:0;font-size:13px;line-height:1.45}
.recovery-status:empty{display:none}
.recovery-status.working{color:#6f7788}
.recovery-status.success{color:#238451;background:#eaf8f0;border:1px solid #cfeedd;border-radius:12px;padding:10px 12px}
.recovery-status.error{color:#a93535;background:#fff1f1;border:1px solid #f2cccc;border-radius:12px;padding:10px 12px}
