/* =======================================================
   LOADLANE -- Design System
   Sky at dawn. Confidence of a movement, not a startup.
   ======================================================= */

/* 1. TOKENS */
:root{
  --bg:#FBFCFE;
  --surface:#FFFFFF;
  --blue-wash:#EEF6FB;
  --ink:#1B2B3A;
  --blue:#2E8BC0;
  --blue-d:#246F9C;
  --orange:#FF7A1A;
  --orange-d:#E86A0C;
  --navy:#14283D;
  --muted:#6A7A89;
  --line:rgba(27,43,58,.10);
  --line-2:rgba(27,43,58,.16);
  --horizon:var(--orange);
  --horizon-mid:var(--orange-d);
  --horizon-pale:rgba(255,122,26,.10);
  --deep:var(--ink);
  --deep-mid:#274055;
  --sky:var(--blue-wash);
  --cloud:var(--bg);
  --gold:var(--orange);
  --gold-l:var(--orange-d);
  --gold-dim:rgba(255,122,26,.12);
  --gold-glow:rgba(255,122,26,.24);
  --black:var(--ink);
  --text-mid:var(--muted);
  --white:#FFFFFF;
  --border:var(--line);
  --border-strong:var(--line-2);
  --radius-xs:4px;
  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;
  --nav-h:68px;
  --ease-out:cubic-bezier(.22,1,.36,1);
}

/* 2. RESET + BASE */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:'Inter',sans-serif;
  font-weight:400;
  color:var(--black);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body.ll-light{
  background:var(--bg);
  color:var(--deep);
}
img{display:block;max-width:100%}
a{color:var(--blue);text-decoration:none;transition:color .18s ease}
a:hover{color:var(--blue-d)}

/* 3. GRAIN OVERLAY */
body::after{
  content:'';position:fixed;inset:0;opacity:.012;pointer-events:none;z-index:9998;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* 4. NAV */
nav.ll-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:28px;
  padding:0 48px;
  background:rgba(251,252,254,0.94);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
  transition:background .3s;
}
nav.ll-nav.light{background:rgba(251,252,254,0.97);border-bottom:1px solid var(--border);}
.ll-light nav.ll-nav{
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
}
.nav-logo{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:22px;
  color:var(--deep);letter-spacing:-.02em;display:flex;align-items:center;gap:10px;
  justify-self:start;grid-column:1;white-space:nowrap;
}
.nav-links a.nav-active{color:var(--orange)!important;font-weight:700}
nav.ll-nav.light .nav-logo{color:var(--deep);}
.ll-light .nav-logo{color:var(--deep);}
.nav-logo-mark{
  width:28px;height:28px;background:var(--orange);border-radius:4px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-size:15px;font-weight:800;color:var(--white);letter-spacing:-.03em;
}
.nav-links{display:flex;gap:32px;list-style:none;align-items:center;justify-content:center;justify-self:stretch;grid-column:2;min-width:0;white-space:nowrap;position:relative;z-index:1}
.nav-links a{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;letter-spacing:.01em;
  color:var(--text-mid);transition:color .2s;
}
nav.ll-nav.light .nav-links a{color:var(--text-mid);}
.ll-light .nav-links a{color:var(--text-mid);}
.nav-links a:hover{color:var(--blue);}
nav.ll-nav.light .nav-links a:hover{color:var(--blue);}
.nav-ctas{display:flex;gap:10px;align-items:center;justify-content:flex-end;justify-self:end;grid-column:3;min-width:max-content;position:relative;z-index:1300}
.btn-nav-primary{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:600;
  background:var(--orange);color:var(--white);border:none;
  padding:9px 20px;border-radius:var(--radius-sm);transition:all .2s;
  box-shadow:0 2px 10px var(--gold-glow);
}
.btn-nav-primary:hover{background:var(--orange-d);transform:translateY(-1px)}
.btn-nav-outline{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:500;
  background:transparent;color:var(--blue);
  border:1px solid var(--blue);padding:9px 18px;border-radius:var(--radius-sm);
  transition:all .2s;
}
nav.ll-nav.light .btn-nav-outline{color:var(--deep);border-color:var(--border-strong);}
.ll-light .btn-nav-outline{color:var(--deep);border-color:var(--border-strong);}
.btn-nav-outline:hover{background:var(--blue);border-color:var(--blue);color:var(--white)}
.btn-nav-portal{
  font-family:'Inter',sans-serif;font-size:13px;font-weight:600;
  background:transparent;color:var(--blue);
  border:1.5px solid var(--blue);border-radius:var(--radius-sm);
  padding:7px 16px;transition:all .2s;
}
.btn-nav-portal:hover{background:var(--blue);color:var(--white);border-color:var(--blue)}
.ll-light .btn-nav-portal{
  color:var(--deep);
  border-color:var(--border-strong);
}
.ll-light .btn-nav-portal:hover{
  background:var(--blue);
  color:var(--white);
  border-color:var(--blue);
}
.nav-ham{display:none;flex-direction:column;gap:5px;background:transparent;border:none;padding:4px}
.nav-ham span{width:22px;height:2px;background:var(--deep);border-radius:2px;transition:all .25s}
nav.ll-nav.light .nav-ham span{background:var(--deep)}
.ll-light .nav-ham span{background:var(--deep)}
.ll-nav-user-ready #nav-logout-btn{display:none!important}
.ll-nav-user{
  position:relative;
  display:flex;
  align-items:center;
  margin-left:2px;
  z-index:1200;
}
.ll-nav-notify{
  position:relative;
  z-index:1200;
}
.ll-nav-bell-btn{
  width:40px;
  height:40px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.08);
  color:rgba(255,255,255,0.82);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .18s var(--ease-out),border-color .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.ll-nav-bell-btn:hover,
.ll-nav-bell-btn:focus-visible{
  transform:translateY(-1px);
  border-color:var(--border-strong);
  box-shadow:0 8px 24px rgba(28,43,58,0.12);
  background:rgba(255,255,255,0.16);
  outline:none;
}
.ll-nav-bell-btn svg{
  width:18px;
  height:18px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ll-nav-bell-badge{
  position:absolute;
  top:-3px;
  right:-3px;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:var(--gold);
  color:var(--deep);
  border:2px solid var(--white);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  font-weight:800;
  line-height:1;
}
.ll-nav-bell-badge[hidden]{display:none}
.ll-nav-notify-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  width:min(320px,calc(100vw - 32px));
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 24px 56px rgba(28,43,58,0.22);
  padding:10px;
  opacity:0;
  transform:translateY(8px);
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s var(--ease-out);
  z-index:1201;
}
.ll-nav-notify.open .ll-nav-notify-menu{
  opacity:1;
  transform:translateY(0);
  visibility:visible;
  pointer-events:auto;
}
.ll-nav-notify-title{
  padding:10px 10px 8px;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.86rem;
  font-weight:800;
  color:var(--deep);
}
.ll-nav-notify-item{
  display:block;
  padding:10px;
  border-radius:var(--radius-sm);
  color:var(--deep);
  transition:background .18s ease,transform .18s var(--ease-out);
}
.ll-nav-notify-item:hover,
.ll-nav-notify-item:focus-visible{
  background:var(--gold-dim);
  outline:none;
  transform:translateX(2px);
}
.ll-nav-notify-kind{
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--horizon);
}
.ll-nav-notify-text{
  margin-top:4px;
  font-size:.8rem;
  line-height:1.45;
  color:var(--deep);
}
.ll-nav-notify-empty{
  padding:14px 10px 12px;
  font-size:.8rem;
  color:var(--muted);
  line-height:1.5;
}
nav.ll-nav.light .ll-nav-bell-btn,
.ll-light .ll-nav-bell-btn{
  background:var(--white);
  color:var(--deep);
}
nav.ll-nav.light .ll-nav-bell-btn:hover,
nav.ll-nav.light .ll-nav-bell-btn:focus-visible,
.ll-light .ll-nav-bell-btn:hover,
.ll-light .ll-nav-bell-btn:focus-visible{
  background:var(--white);
  border-color:var(--border-strong);
}
.ll-nav-avatar-btn{
  width:42px;
  height:42px;
  border-radius:999px;
  border:1px solid var(--border);
  background:rgba(255,255,255,0.08);
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:transform .18s var(--ease-out),border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.ll-nav-avatar-btn:hover,
.ll-nav-avatar-btn:focus-visible{
  transform:translateY(-1px);
  border-color:var(--border-strong);
  box-shadow:0 8px 24px rgba(28,43,58,0.12);
  background:rgba(255,255,255,0.16);
  outline:none;
}
.ll-nav-avatar{
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--gold);
  color:var(--deep);
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.04em;
}
.ll-nav-user-menu{
  position:absolute;
  top:calc(100% + 12px);
  right:0;
  min-width:220px;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  box-shadow:0 24px 56px rgba(28,43,58,0.22);
  padding:10px;
  opacity:0;
  transform:translateY(8px);
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s var(--ease-out);
  z-index:1201;
}
.ll-nav-user-menu::before{
  content:'';
  position:absolute;
  top:0;
  left:14px;
  right:14px;
  height:2px;
  background:var(--gold);
  border-radius:999px;
}
.ll-nav-user.open .ll-nav-user-menu{
  opacity:1;
  transform:translateY(0);
  visibility:visible;
  pointer-events:auto;
}
.ll-nav-user-meta{
  padding:12px 12px 14px;
  border-bottom:1px solid var(--border);
  margin-bottom:6px;
}
.ll-nav-user-name{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:.92rem;
  font-weight:700;
  color:var(--deep);
  letter-spacing:-.01em;
}
.ll-nav-user-sub{
  margin-top:4px;
  font-size:.76rem;
  color:var(--muted);
  line-height:1.5;
  word-break:break-word;
}
.ll-nav-user-link,
.ll-nav-user-signout{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:44px;
  padding:10px 12px;
  border-radius:var(--radius-sm);
  background:transparent;
  border:none;
  color:var(--deep);
  font-family:'Inter',sans-serif;
  font-size:.85rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,transform .18s var(--ease-out);
}
.ll-nav-user-link:hover,
.ll-nav-user-link:focus-visible,
.ll-nav-user-signout:hover,
.ll-nav-user-signout:focus-visible{
  background:var(--gold-dim);
  color:var(--horizon);
  outline:none;
  transform:translateX(2px);
}
nav.ll-nav.light .ll-nav-avatar-btn,
.ll-light .ll-nav-avatar-btn{
  background:var(--white);
}
nav.ll-nav.light .ll-nav-avatar-btn:hover,
nav.ll-nav.light .ll-nav-avatar-btn:focus-visible,
.ll-light .ll-nav-avatar-btn:hover,
.ll-light .ll-nav-avatar-btn:focus-visible{
  background:rgba(255,122,26,0.08);
}

/* Mobile nav overlay */
.nav-overlay{
  display:none;position:fixed;inset:0;background:rgba(251,252,254,0.98);z-index:199;
  flex-direction:column;align-items:center;justify-content:center;gap:32px;
  opacity:0;transition:opacity .25s;
}
.nav-overlay.open{display:flex;opacity:1}
.nav-overlay a{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:2rem;
  color:var(--deep);letter-spacing:-.02em;transition:color .2s;
}
.nav-overlay a:hover{color:var(--orange)}
.nav-overlay .close-btn{
  position:absolute;top:24px;right:24px;background:transparent;border:none;
  color:var(--muted);font-size:28px;
}

/* 6. HERO */
.hero{
  min-height:100vh;display:flex;align-items:center;
  background:var(--bg);
  padding:calc(var(--nav-h) + 60px) 48px 80px;
  position:relative;overflow:hidden;
}
.hero::before{content:none}
.hero-wrap{max-width:1100px;margin:0 auto;width:100%;position:relative;z-index:1}
.hero-kicker{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--blue);margin-bottom:28px;display:inline-block;
}
.hero-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:clamp(3.2rem, calc(1rem + 6.5vw), 7rem);line-height:1.05;
  letter-spacing:-.03em;color:var(--deep);margin-bottom:32px;
}
.hero-title .gold{color:var(--orange)}
.hero-sub{
  font-size:clamp(1rem,0.8rem+.8vw,1.2rem);color:var(--muted);
  line-height:1.7;max-width:500px;margin-bottom:44px;
}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.btn-hero-primary{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;letter-spacing:-.01em;
  background:var(--orange);color:var(--white);border:none;
  padding:16px 36px;border-radius:var(--radius-sm);
  box-shadow:0 6px 24px var(--gold-glow);transition:all .2s var(--ease-out);
  display:inline-block;
}
.btn-hero-primary:hover{background:var(--orange-d);transform:translateY(-1px);box-shadow:0 10px 32px var(--gold-glow)}
.btn-hero-secondary{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:15px;letter-spacing:-.01em;
  background:transparent;color:var(--blue);
  border:1.5px solid var(--blue);
  padding:16px 36px;border-radius:var(--radius-sm);transition:all .2s;
  display:inline-block;
}
.btn-hero-secondary:hover{background:var(--blue);border-color:var(--blue);color:var(--white)}
.hero-stats{
  display:flex;gap:40px;margin-top:64px;flex-wrap:wrap;
  border-top:1px solid var(--border);padding-top:40px;
}
.hero-stat-num{
  font-family:'JetBrains Mono',monospace;font-weight:500;font-size:2rem;
  color:var(--deep);line-height:1;
}
.hero-stat-lbl{font-size:12px;color:var(--muted);margin-top:6px;letter-spacing:.06em;text-transform:uppercase}

/* 7. SECTION UTILITIES */
.sec{padding:96px 48px}
.sec-wrap{max-width:1100px;margin:0 auto;width:100%}
.sec-tag{
  font-family:'Inter',sans-serif;font-size:11px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--blue);margin-bottom:16px;
}
.sec-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:clamp(2rem, calc(1rem + 3vw), 3.2rem);letter-spacing:-.03em;
  color:var(--deep);line-height:1.1;margin-bottom:20px;
}
.sec-sub{font-size:1.05rem;color:var(--muted);line-height:1.7;max-width:560px;margin-bottom:56px}

/* 8. HOW IT WORKS */
.how{background:var(--white)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:56px}
.step{
  background:var(--cloud);padding:40px 32px;
  border:1px solid var(--border);position:relative;overflow:hidden;
  transition:border-color .25s,box-shadow .25s;
}
.step:first-child{border-radius:var(--radius) 0 0 var(--radius)}
.step:last-child{border-radius:0 var(--radius) var(--radius) 0}
.step::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--border)}
.step:hover{border-color:var(--blue);box-shadow:0 8px 32px rgba(46,139,192,0.12)}
.step:hover::before{background:var(--gold)}
.step-num{
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.12em;
  color:var(--muted);margin-bottom:20px;
}
.step-icon{
  width:48px;height:48px;background:var(--horizon-pale);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  font-size:22px;
}
.step-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.2rem;
  color:var(--deep);margin-bottom:12px;letter-spacing:-.02em;
}
.step-desc{font-size:.925rem;color:var(--muted);line-height:1.7}

/* 9. BID TICKER */
.ticker-section{background:var(--blue-wash);padding:56px 0;overflow:hidden}
.ticker-header{text-align:center;margin-bottom:40px;padding:0 48px}
.ticker-kicker{
  font-family:'Inter',sans-serif;font-size:10px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--blue);margin-bottom:12px;
}
.ticker-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.5rem;
  color:var(--deep);letter-spacing:-.02em;
}
.ticker-title-row{
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
}
.ticker-live{
  display:inline-flex;align-items:center;gap:6px;background:var(--gold-dim);
  border:1px solid rgba(255,122,26,0.28);border-radius:20px;
  padding:4px 12px;margin-top:12px;
  font-size:11px;color:var(--orange);font-family:'Inter',monospace;font-weight:500;
}
.tick-demo-badge,.track-demo-badge{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:28px;padding:6px 12px;border-radius:999px;
  border:1px solid var(--border);background:var(--white);
  color:var(--muted);font-family:'JetBrains Mono',monospace;
  font-size:.7rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
}
.track-demo-badge{
  background:var(--cloud);color:var(--muted);
}
.track-demo-badge[hidden]{display:none}
.live-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse-dot 1.4s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}
.ticker-rail-wrap{position:relative;overflow:hidden;height:260px}
.ticker-rail{display:flex;flex-direction:column;gap:8px;animation:ticker-scroll 20s linear infinite;padding:0 48px}
.ticker-rail:hover{animation-play-state:paused}
.bid-card{
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  transition:background .2s;flex-shrink:0;
}
.bid-card:hover{background:var(--blue-wash)}
.bid-card.new-bid{border-color:rgba(255,122,26,0.32);background:var(--gold-dim)}
.bid-route{font-size:.875rem;color:var(--deep);font-weight:500}
.bid-type{
  font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);
  background:var(--blue-wash);border-radius:4px;padding:2px 8px;flex-shrink:0;
}
.bid-price{
  font-family:'JetBrains Mono',monospace;font-size:1.05rem;font-weight:500;
  color:var(--gold);flex-shrink:0;letter-spacing:.01em;
}
.bid-time{font-size:11px;color:var(--muted);flex-shrink:0}
@keyframes ticker-scroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}

/* 10. FEATURE CARDS */
.features{background:var(--bg)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.feat-card{
  background:var(--white);padding:32px;border-radius:var(--radius);
  border:1px solid var(--border);position:relative;overflow:hidden;
  transition:all .3s var(--ease-out);
}
.feat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);transition:background .3s}
.feat-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(46,139,192,0.12);border-color:var(--blue)}
.feat-card:hover::before{background:var(--gold)}
.feat-icon{
  width:44px;height:44px;background:var(--horizon-pale);border-radius:var(--radius-sm);
  display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:20px;
}
.feat-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.05rem;
  color:var(--deep);margin-bottom:10px;letter-spacing:-.02em;
}
.feat-desc{font-size:.9rem;color:var(--muted);line-height:1.7}

/* 11. TESTIMONIALS */
.testimonials{background:var(--blue-wash)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.testi-card{
  background:var(--white);padding:32px;border-radius:var(--radius);
  border:1px solid var(--border);position:relative;
}
.testi-stars{color:var(--gold);font-size:14px;margin-bottom:16px;letter-spacing:2px}
.testi-quote{font-size:.95rem;color:var(--text-mid);line-height:1.7;margin-bottom:24px;font-style:italic}
.testi-driver{display:flex;align-items:center;gap:14px}
.testi-avatar{
  width:42px;height:42px;border-radius:50%;background:var(--horizon-pale);
  display:flex;align-items:center;justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16px;color:var(--horizon);
  flex-shrink:0;
}
.testi-name{font-weight:600;font-size:.9rem;color:var(--deep)}
.testi-role{font-size:.8rem;color:var(--muted);margin-top:2px}

/* 12. APP CTA */
.app-cta{
  background:var(--bg);
  padding:96px 48px;text-align:center;
}
.app-cta .sec-tag{color:var(--blue)}
.app-cta-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:clamp(2rem, calc(1rem + 3.5vw), 3.5rem);letter-spacing:-.03em;
  color:var(--deep);margin-bottom:20px;line-height:1.1;
}
.app-cta-sub{font-size:1.05rem;color:var(--muted);max-width:480px;margin:0 auto 40px;line-height:1.7}
.app-badges{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.app-badge{
  display:flex;align-items:center;gap:10px;background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px 24px;color:var(--deep);font-size:.9rem;font-weight:500;
  transition:all .2s;
}
.app-badge:hover{background:var(--blue-wash);border-color:var(--blue)}
.app-badge-icon{font-size:20px}
.app-badge-soon{font-size:10px;color:var(--orange);font-weight:600;letter-spacing:.1em;text-transform:uppercase}

/* 13. FOOTER */
footer.ll-footer{
  background:var(--navy);padding:64px 48px 32px;color:rgba(255,255,255,0.72);
}
.foot-wrap{max-width:1100px;margin:0 auto}
.foot-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:40px;margin-bottom:48px}
.foot-logo{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:20px;
  color:var(--white);letter-spacing:-.02em;display:flex;align-items:center;gap:8px;margin-bottom:16px;
}
.foot-tagline{font-size:.875rem;color:rgba(255,255,255,0.45);line-height:1.7;max-width:240px}
.foot-col-title{
  font-family:'Inter',sans-serif;font-size:10px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold);margin-bottom:16px;
}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.foot-links a{font-size:.875rem;color:rgba(255,255,255,0.5);transition:color .2s}
.foot-links a:hover{color:var(--white)}
.foot-bot{
  border-top:1px solid rgba(255,255,255,0.07);padding-top:24px;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;
}
.foot-copy{font-size:.8rem;color:rgba(255,255,255,0.3);font-family:'Inter',monospace}
.foot-contacts{display:flex;gap:20px}
.foot-contact{font-size:.8rem;color:rgba(255,255,255,0.35);transition:color .2s;letter-spacing:.06em;text-transform:uppercase}
.foot-contact:hover{color:var(--gold)}

/* 14. BUTTONS (global) */
.btn-primary{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;letter-spacing:-.01em;
  background:var(--orange);color:var(--white);border:none;
  padding:14px 32px;border-radius:var(--radius-sm);
  box-shadow:0 4px 16px var(--gold-glow);transition:all .2s var(--ease-out);
  display:inline-block;
}
.btn-primary:hover{background:var(--orange-d);transform:translateY(-1px)}
.btn-outline{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:14px;
  background:transparent;color:var(--blue);border:1.5px solid var(--blue);
  padding:13px 30px;border-radius:var(--radius-sm);transition:all .2s;display:inline-block;
}
.btn-outline:hover{background:var(--blue);border-color:var(--blue);color:var(--white)}
.btn-deep{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;
  background:var(--ink);color:var(--white);border:none;
  padding:14px 32px;border-radius:var(--radius-sm);transition:all .2s;display:inline-block;
}
.btn-deep:hover{background:var(--blue-d)}

/* 15. FORMS */
.ll-form{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:0 4px 24px rgba(255,122,26,0.07)}
.form-steps{display:flex;gap:0;margin-bottom:32px;border-bottom:1px solid var(--border);padding-bottom:24px}
.form-step{flex:1;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;color:var(--muted);padding-bottom:12px;border-bottom:2px solid transparent}
.form-step-num{width:24px;height:24px;border-radius:50%;background:var(--border);color:var(--muted);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.form-step.active{color:var(--horizon);border-bottom-color:var(--horizon)}
.form-step.active .form-step-num{background:var(--horizon);color:var(--white)}
.form-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.35rem;
  color:var(--deep);letter-spacing:-.02em;margin-bottom:6px;
}
.form-sub{font-size:.875rem;color:var(--muted);margin-bottom:28px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.form-row.single{grid-template-columns:1fr}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mid)}
.info-tip{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--horizon);color:var(--white);font-size:.6rem;font-weight:700;font-style:normal;cursor:default;position:relative;vertical-align:middle;margin-left:5px;line-height:1}
.info-tip::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);left:50%;transform:translateX(-50%);background:var(--white);color:var(--deep);font-size:.78rem;padding:8px 12px;border-radius:var(--radius-sm);width:260px;white-space:normal;line-height:1.5;pointer-events:none;opacity:0;transition:opacity .2s;z-index:50;font-weight:400;text-transform:none;letter-spacing:0;border:1px solid var(--border);box-shadow:0 12px 32px rgba(46,139,192,0.12)}
.info-tip:hover::after{opacity:1}
.form-input,.form-select{
  font-family:'Inter',sans-serif;font-size:.9rem;
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  padding:11px 14px;background:var(--white);color:var(--black);
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.form-input:focus,.form-select:focus{
  border-color:var(--blue);box-shadow:0 0 0 3px rgba(46,139,192,0.14);
}
.form-input::placeholder{color:var(--muted)}
.field-help{font-size:.76rem;line-height:1.45;color:var(--muted)}
textarea.form-input{min-height:90px;resize:vertical}
.ll-password-field{
  position:relative;
  display:flex;
  align-items:center;
  width:100%;
}
.ll-password-field .form-input{
  width:100%;
  padding-right:54px;
}
.ll-password-toggle{
  position:absolute;
  right:6px;
  top:50%;
  width:42px;
  height:34px;
  transform:translateY(-50%);
  border:none;
  border-radius:0;
  background:transparent;
  color:var(--muted);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:color .18s ease,transform .18s var(--ease-out);
}
.ll-password-toggle:hover,
.ll-password-toggle:focus-visible{
  color:var(--deep);
  outline:none;
}
.ll-password-toggle:focus-visible{
  box-shadow:0 2px 0 var(--blue);
}
.ll-password-toggle[aria-pressed="true"]{
  color:var(--horizon);
}
.ll-password-toggle-icon{
  width:22px;
  height:22px;
  display:block;
}
.ll-password-toggle-icon svg{
  width:100%;
  height:100%;
  display:block;
  stroke:currentColor;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ll-password-toggle-icon .truck-cargo{
  fill:currentColor;
  opacity:.1;
}
.form-btn{
  width:100%;margin-top:8px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:15px;letter-spacing:-.01em;
  background:var(--horizon);color:var(--white);border:none;
  padding:15px;border-radius:var(--radius-sm);
  box-shadow:0 4px 16px rgba(255,122,26,0.3);transition:all .2s;
}
.form-btn:hover{background:var(--horizon-mid);transform:translateY(-1px)}
.form-note{font-size:11px;color:var(--muted);text-align:center;margin-top:12px}
.job-type-row{display:flex;gap:6px}
.job-type-btn{flex:1;padding:10px 8px;background:rgba(255,255,255,0.05);border:1.5px solid rgba(255,255,255,0.12);border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:.85rem;font-weight:500;color:rgba(255,255,255,0.55);cursor:pointer;transition:all .18s;text-align:center}
.job-type-btn.active{background:var(--gold);border-color:var(--gold);color:var(--deep);font-weight:700}
.job-type-btn:hover:not(.active){border-color:rgba(255,255,255,0.3);color:var(--white)}

/* Job type card strip (light bg, book.html) */
.job-type-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.job-type-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:18px 20px 20px;background:var(--white);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .18s,box-shadow .18s;font-family:'Inter',sans-serif}
.job-type-card:hover:not(.active){border-color:var(--horizon);box-shadow:0 2px 12px rgba(255,122,26,0.10)}
.job-type-card.active{border-color:var(--horizon);background:var(--horizon-pale);box-shadow:0 2px 16px rgba(255,122,26,0.14)}
.jtc-label{font-family:'Plus Jakarta Sans',sans-serif;font-size:1rem;font-weight:700;color:var(--deep);margin-bottom:6px;display:block}
.job-type-card.active .jtc-label{color:var(--horizon)}
.jtc-desc{font-size:.8rem;line-height:1.55;color:var(--muted);display:block}
@media(max-width:640px){.job-type-cards{grid-template-columns:1fr}}

/* 16. QUOTE CALCULATOR */
.calc-section{background:var(--cloud);padding:96px 48px}
.calc-wrap{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.calc-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:0 4px 24px rgba(255,122,26,0.06)}
.container-types{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}
.ctype{
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  padding:12px 10px;text-align:center;transition:all .18s;position:relative;
}
.ctype:hover{border-color:var(--horizon)}
.ctype.active{border-color:var(--horizon);background:var(--horizon-pale)}
.ctype.active::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);border-radius:2px 2px 0 0}
.ctype-name{font-size:.8rem;font-weight:600;color:var(--deep);margin-bottom:2px}
.ctype-cap{font-size:.7rem;color:var(--muted)}
.toggle-row{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.tog{
  display:flex;align-items:center;gap:6px;padding:7px 14px;
  border:1.5px solid var(--border);border-radius:20px;font-size:.8rem;
  color:var(--muted);font-weight:500;transition:all .15s;user-select:none;
}
.tog:hover{border-color:var(--horizon);color:var(--horizon)}
.tog.on{border-color:var(--horizon);background:var(--horizon-pale);color:var(--horizon)}
.tog-dot{width:7px;height:7px;border-radius:50%;border:1.5px solid currentColor;transition:background .15s}
.tog.on .tog-dot{background:var(--horizon)}
.breakdown{margin-top:20px;border-top:1px solid var(--border);padding-top:16px}
.b-row{display:flex;justify-content:space-between;font-size:.875rem;color:var(--muted);padding:6px 0}
.b-row.total{border-top:1px solid var(--border);margin-top:6px;padding-top:12px;font-weight:700;color:var(--deep)}
.b-val{font-family:'JetBrains Mono',monospace;font-size:.9rem;color:var(--black)}
.b-row.total .b-val{color:var(--horizon);font-size:1.1rem}
.range-badge{
  background:var(--gold-dim);border:1px solid rgba(255,122,26,0.3);border-radius:var(--radius-sm);
  padding:12px 16px;margin-top:16px;text-align:center;
}
.range-label{font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.range-value{
  font-family:'JetBrains Mono',monospace;font-size:1.2rem;font-weight:500;
  color:var(--deep);
}

/* 17. TRACKER */
.tracker-section{background:var(--cloud);min-height:100vh;padding:calc(var(--nav-h) + 64px) 48px 80px}
.tracker-wrap{max-width:800px;margin:0 auto}
.tracker-search{display:flex;gap:12px;margin-bottom:48px}
.tracker-input{
  flex:1;font-family:'Inter',sans-serif;font-size:.95rem;
  border:1.5px solid var(--border);border-radius:var(--radius-sm);
  padding:13px 18px;background:var(--white);color:var(--black);outline:none;
  transition:border-color .2s,box-shadow .2s;
}
.tracker-input:focus{border-color:var(--horizon);box-shadow:0 0 0 3px rgba(255,122,26,0.1)}
.tracker-btn{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;
  background:var(--horizon);color:var(--white);border:none;
  padding:13px 28px;border-radius:var(--radius-sm);transition:all .2s;
  box-shadow:0 3px 12px rgba(255,122,26,0.3);
}
.tracker-btn:hover{background:var(--horizon-mid)}
.track-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px;box-shadow:0 4px 20px rgba(255,122,26,0.07)}
.track-id{
  font-family:'JetBrains Mono',monospace;font-size:.875rem;
  color:var(--muted);margin-bottom:4px;
}
.track-route{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.2rem;
  color:var(--deep);margin-bottom:24px;letter-spacing:-.02em;
}
.stages{margin:28px 0;position:relative}
.stages::before{
  content:'';position:absolute;left:18px;top:24px;bottom:24px;
  width:2px;background:var(--border);z-index:0;
}
.stage{
  display:flex;align-items:flex-start;gap:16px;padding:10px 0;position:relative;z-index:1;
}
.stage-dot{
  width:36px;height:36px;border-radius:50%;border:2px solid var(--border);
  background:var(--white);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;font-size:13px;transition:all .3s;
}
.stage.done .stage-dot{border-color:var(--horizon);background:var(--horizon);color:var(--white)}
.stage.active .stage-dot{border-color:var(--gold);background:var(--gold);color:var(--deep);box-shadow:0 0 0 4px var(--gold-dim)}
.stage-content{padding-top:6px}
.stage-name{font-size:.9rem;font-weight:600;color:var(--text-mid)}
.stage.done .stage-name{color:var(--horizon)}
.stage.active .stage-name{color:var(--deep);font-weight:700}
.stage-time{font-size:.775rem;color:var(--muted);margin-top:2px}

/* 18. DRIVER PAGE */
.driver-hero{
  background:var(--blue-wash);
  padding:calc(var(--nav-h) + 80px) 48px 96px;
}
.driver-hero-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.driver-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:clamp(2.5rem, calc(1rem + 4vw), 4rem);letter-spacing:-.03em;
  color:var(--deep);line-height:1.05;margin-bottom:24px;
}
.driver-title .gold{color:var(--gold)}
.driver-sub{font-size:1.05rem;color:var(--muted);line-height:1.7;margin-bottom:36px}
.driver-stats{display:flex;gap:32px;flex-wrap:wrap}
.driver-stat-num{
  font-family:'JetBrains Mono',monospace;font-size:1.8rem;font-weight:500;
  color:var(--gold);line-height:1;
}
.driver-stat-lbl{font-size:11px;color:var(--muted);margin-top:4px;letter-spacing:.06em;text-transform:uppercase}
.benefits-section{background:var(--blue-wash);padding:80px 48px}
.benefits-section .sec-tag{color:var(--blue)}
.benefits-section .sec-title{color:var(--deep)}
.benefits-section .sec-sub{color:var(--muted)}
.benefits-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.benefit-card{
  background:var(--cloud);border:1px solid var(--border);border-radius:var(--radius);
  padding:28px;display:flex;gap:18px;align-items:flex-start;
  transition:all .25s var(--ease-out);
}
.benefit-card:hover{transform:translateY(-2px);border-color:var(--horizon);box-shadow:0 8px 24px rgba(255,122,26,0.08)}
.benefit-icon{
  width:40px;height:40px;flex-shrink:0;background:var(--horizon-pale);
  border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:18px;
}
.benefit-title{font-weight:700;font-size:.95rem;color:var(--deep);margin-bottom:6px}
.benefit-desc{font-size:.875rem;color:var(--muted);line-height:1.6}

/* 19. ABOUT PAGE */
.about-hero{
  background:var(--blue-wash);
  padding:calc(var(--nav-h) + 80px) 48px 96px;
  position:relative;overflow:hidden;
  border-bottom:1px solid var(--border);
}
.about-hero::before{
  content:'\000E40\000E14\000E47\000E01\000E27\000E34\000E48\000E07';
  font-size:18vw;font-family:sans-serif;color:rgba(46,139,192,0.08);
  position:absolute;right:-2%;bottom:-5%;line-height:1;pointer-events:none;
  font-weight:900;letter-spacing:-.05em;
}
.about-wrap{max-width:800px;margin:0 auto;position:relative;z-index:1}
.about-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:clamp(2.5rem, calc(1rem + 4vw), 4.5rem);letter-spacing:-.03em;
  color:var(--deep);line-height:1.05;margin-bottom:28px;
}
.about-lead{font-size:1.15rem;color:var(--muted);line-height:1.8;margin-bottom:0}
.about-body{background:var(--white);padding:80px 48px}
.about-body-wrap{max-width:720px;margin:0 auto}
.about-body-wrap p{font-size:1.05rem;color:var(--text-mid);line-height:1.85;margin-bottom:28px}
.about-body-wrap strong{color:var(--deep);font-weight:700}
.about-body-wrap h2{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.8rem;
  color:var(--deep);letter-spacing:-.03em;margin:48px 0 20px;
}
.corridor-section{background:var(--sky);padding:80px 48px}
.corridor-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.corridor-map{
  background:var(--white);
  border-radius:var(--radius-lg);height:320px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.1rem;color:var(--muted);
  letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--border);
}
.corridor-nodes{display:flex;flex-direction:column;gap:16px;margin-top:28px}
.corridor-node{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);
}
.node-dot{width:10px;height:10px;border-radius:50%;background:var(--gold);flex-shrink:0}
.node-name{font-weight:600;font-size:.9rem;color:var(--deep)}
.node-role{font-size:.8rem;color:var(--muted)}

/* 20. COOKIE BANNER */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:9999;
  background:var(--white);color:var(--deep);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 24px;transform:translateY(100%);transition:transform .4s var(--ease-out);
  border-top:2px solid var(--orange);
}
.cookie-banner.show{transform:translateY(0)}
.cookie-copy{font-size:.825rem;line-height:1.6}
.cookie-actions{display:flex;gap:8px;flex-shrink:0}
.cookie-btn{
  border-radius:var(--radius-xs);padding:9px 18px;font-family:'Inter',sans-serif;
  font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;
}
.cookie-accept{background:var(--gold);border:1px solid var(--gold);color:var(--deep)}
.cookie-decline{background:transparent;border:1px solid var(--line);color:var(--muted)}

/* 21. SCROLL REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.reveal.vis{opacity:1;transform:translateY(0)}

/* 22. PAGE HERO (inner pages) */
.page-hero{
  background:var(--blue-wash);
  padding:calc(var(--nav-h) + 64px) 48px 72px;
}
.page-hero-wrap{max-width:1100px;margin:0 auto}
.page-title{
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;
  font-size:clamp(2.2rem, calc(1rem + 3.5vw), 4rem);letter-spacing:-.03em;
  color:var(--deep);line-height:1.15;margin-bottom:16px;
}
.page-sub{font-size:1.05rem;color:var(--muted);max-width:540px;line-height:1.7}

/* 23. MARQUEE */
.ll-marquee{background:var(--bg);padding:16px 0;overflow:hidden;border-top:1px solid var(--border)}
.mtrack{
  display:flex;gap:0;animation:marquee-scroll 30s linear infinite;
  width:max-content;
}
.mitem{
  display:flex;align-items:center;gap:16px;padding:0 24px;
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.08em;
  color:var(--muted);white-space:nowrap;text-transform:uppercase;
}
.mdot{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:.6}
@keyframes marquee-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* 24. RESPONSIVE */
@media(max-width:1024px){
  nav.ll-nav{padding:0 28px}
  .nav-links{gap:20px}
  .hero{padding:calc(var(--nav-h) + 48px) 28px 64px}
  .sec{padding:72px 28px}
  .steps{grid-template-columns:1fr}
  .step:first-child{border-radius:var(--radius) var(--radius) 0 0}
  .step:last-child{border-radius:0 0 var(--radius) var(--radius)}
  .feat-grid{grid-template-columns:1fr 1fr}
  .testi-grid{grid-template-columns:1fr 1fr}
  .calc-wrap{grid-template-columns:1fr;max-width:580px}
  .foot-top{grid-template-columns:1fr 1fr;gap:32px}
  .driver-hero-wrap{grid-template-columns:1fr}
  .corridor-wrap{grid-template-columns:1fr}
  .about-hero{padding:calc(var(--nav-h) + 56px) 28px 72px}
  .page-hero{padding:calc(var(--nav-h) + 48px) 28px 56px}
  .benefits-grid{grid-template-columns:1fr}
  .app-cta{padding:72px 28px}
  .driver-hero{padding:calc(var(--nav-h) + 56px) 28px 72px}
}
@media(max-width:768px){
  nav.ll-nav{display:flex;padding:0 20px}
  .nav-links,.nav-ctas{display:none}
  .nav-ham{display:flex}
  .ll-nav-user-ready .nav-ctas{display:flex;margin-left:auto;margin-right:8px}
  .ll-nav-user-ready .nav-ctas .lang-toggle{display:flex}
  .ll-nav-user{margin-left:0}
  .ll-nav-user-menu{right:-10px;min-width:200px}
  .ll-nav-notify-menu{right:-56px}
  .hero{padding:calc(var(--nav-h) + 36px) 20px 56px}
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .hero-stats{gap:24px}
  .sec{padding:56px 20px}
  .feat-grid{grid-template-columns:1fr}
  .testi-grid{grid-template-columns:1fr}
  .foot-top{grid-template-columns:1fr}
  .form-row{grid-template-columns:1fr}
  .tracker-section{padding:calc(var(--nav-h) + 40px) 20px 60px}
  .tracker-search{flex-direction:column}
  .driver-hero{padding:calc(var(--nav-h) + 40px) 20px 60px}
  .about-hero{padding:calc(var(--nav-h) + 40px) 20px 60px}
  .page-hero{padding:calc(var(--nav-h) + 40px) 20px 48px}
  .container-types{grid-template-columns:1fr 1fr 1fr}
  .ll-form{padding:28px 20px}
  .calc-card{padding:28px 20px}
  .driver-hero-wrap{gap:40px}
  .ticker-section{padding:40px 0}
  footer.ll-footer{padding:48px 20px 28px}
  .cookie-banner{flex-direction:column;align-items:flex-start;gap:12px}
}

/* --- Scroll to top --- */
.scroll-top{position:fixed;bottom:28px;right:28px;width:44px;height:44px;border-radius:50%;background:var(--white);color:var(--gold);border:2px solid var(--border-strong);font-size:22px;opacity:0;transform:translateY(12px);transition:opacity .3s,transform .3s;z-index:500;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 8px 24px rgba(46,139,192,0.14)}
.scroll-top.vis{opacity:1;transform:translateY(0)}
.scroll-top:hover{background:var(--horizon);border-color:var(--horizon)}

/* --- Trust strip --- */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:40px}
.trust-item{display:flex;flex-direction:column;gap:12px}
.trust-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:var(--white)}
.trust-desc{font-size:.825rem;color:rgba(255,255,255,0.5);line-height:1.6}
@media(max-width:768px){.trust-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.trust-grid{grid-template-columns:1fr}}

/* --- Hero background image --- */
.hero-bg-img{position:absolute;inset:0;background:url('../assets/img/ll-hero-truck.png') center 40% / cover no-repeat;opacity:0.1;pointer-events:none;z-index:0}

/* --- Label optional hint --- */
.label-opt{font-weight:400;color:var(--muted)}

/* --- Field hint line below inputs --- */
.field-hint{font-size:.75rem;color:var(--muted);margin-top:4px;line-height:1.5}

/* --- Job description textarea --- */
.job-desc-input{font-family:'JetBrains Mono',monospace!important;font-size:.95rem!important;letter-spacing:.01em;resize:none}

/* --- Booking paper upload zone --- */
.upload-zone{
  border:2px dashed var(--border-strong);border-radius:var(--radius);
  padding:28px 20px;text-align:center;
  background:var(--surface);
  transition:border-color .2s,background .2s;
}
.upload-zone:hover,.upload-zone.drag-over{border-color:var(--gold);background:var(--gold-dim)}
.upload-icon{font-size:2rem;margin-bottom:8px}
.upload-label{font-size:.9rem;color:var(--text-mid);font-weight:500}
.upload-link{color:var(--horizon);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.upload-sub{font-size:.75rem;color:var(--muted);margin-top:4px}
.upload-files{margin-top:10px;text-align:left}
.upload-file-item{
  display:flex;align-items:center;gap:8px;
  font-size:.8rem;color:var(--text-mid);
  background:var(--white);border-radius:var(--radius-sm);
  padding:6px 10px;margin-top:6px;
  border:1px solid var(--border);
}
.upload-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-file-remove{color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;flex-shrink:0}
.upload-file-remove:hover{color:#e53e3e}

/* --- AI Document Reader panel --- */
.ai-panel{
  background:var(--gold-dim);border:1px solid var(--border-strong);
  border-radius:var(--radius);padding:20px;margin-top:4px;
}
.ai-panel-hd{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;
  font-size:.875rem;font-weight:600;color:var(--text-mid);
}
.ai-badge{
  background:var(--horizon);color:var(--white);
  font-size:.65rem;font-weight:800;letter-spacing:.07em;
  padding:3px 8px;border-radius:20px;flex-shrink:0;
}
.ai-no-file{
  font-size:.82rem;color:var(--muted);text-align:center;
  padding:8px 0;font-style:italic;
}
.ai-gate-text{
  font-size:.8rem;color:var(--muted);margin-bottom:12px;line-height:1.5;
}
.ai-read-btn{
  width:100%;padding:12px 20px;margin-top:12px;
  background:var(--horizon);color:var(--white);
  border:none;border-radius:var(--radius-sm);
  font-family:'Plus Jakarta Sans',sans-serif;font-size:.9rem;font-weight:700;
  transition:background .2s,opacity .2s;cursor:pointer;
}
.ai-read-btn:disabled{opacity:.32;cursor:not-allowed}
.ai-read-btn:not(:disabled):hover{background:var(--horizon-mid)}
.ai-status{
  font-size:.77rem;color:var(--muted);margin-top:8px;
  text-align:center;min-height:1.1em;line-height:1.4;
}
.ai-status.error{color:#c53030}
.ai-status.ok{color:#276749}
.ai-results{
  margin-top:16px;border-top:1px solid var(--border);padding-top:16px;
}
.ai-result-row{
  display:flex;align-items:baseline;gap:8px;
  padding:5px 0;border-bottom:1px solid rgba(255,122,26,0.1);
  font-size:.85rem;
}
.ai-result-row:last-of-type{border-bottom:none;margin-bottom:12px}
.ai-result-label{
  flex:0 0 128px;color:var(--muted);font-size:.73rem;line-height:1.4;
}
.ai-result-value{
  flex:1;color:var(--text-mid);
  font-family:'JetBrains Mono',monospace;font-size:.8rem;word-break:break-word;
}
.ai-result-value.null-val{color:var(--muted);font-style:italic;font-family:'Inter',sans-serif}
.ai-use-btn{
  width:100%;padding:10px 16px;
  background:transparent;border:1.5px solid var(--horizon);color:var(--horizon);
  border-radius:var(--radius-sm);
  font-family:'Plus Jakarta Sans',sans-serif;font-size:.875rem;font-weight:700;
  cursor:pointer;transition:background .2s,color .2s;
}
.ai-use-btn:hover{background:var(--horizon);color:var(--white)}
.ai-placeholder-note{
  font-size:.75rem;color:var(--gold);background:rgba(255,122,26,0.1);
  border-radius:var(--radius-sm);padding:8px 12px;margin-top:4px;line-height:1.5;
}

/* --- Benefits grid upgrade --- */
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}
.benefit-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);padding:32px 28px;transition:border-color .3s,transform .3s}
.benefit-card:hover{border-color:rgba(255,122,26,0.3);transform:translateY(-3px);box-shadow:0 12px 36px rgba(0,0,0,0.3)}
.benefit-num{font-family:'JetBrains Mono',monospace;font-size:2.2rem;font-weight:500;color:var(--gold);margin-bottom:12px;line-height:1}
.benefit-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--white);margin-bottom:8px}
.benefit-desc{font-size:.875rem;color:rgba(255,255,255,0.5);line-height:1.6;margin:0}
@media(max-width:768px){.benefits-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.benefits-grid{grid-template-columns:1fr}}

/* --- Driver portrait image --- */
.driver-portrait{width:100%;max-width:480px;border-radius:var(--radius-lg);object-fit:cover;aspect-ratio:4/5;box-shadow:0 24px 64px rgba(0,0,0,0.4);display:block}
@media(max-width:768px){.driver-portrait{display:none}}

/* --- Mobile nav animation --- */
.nav-ham.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-ham.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-ham.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
body.nav-open{overflow:hidden}

/* --- Tracker progress dots --- */
.tracker-progress{display:flex;align-items:center;gap:0;margin:0 0 28px;overflow-x:auto;padding:12px 0}
.tracker-progress .stage-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:transparent;flex-shrink:0;position:relative;transition:background .3s,border-color .3s;font-size:0}
.tracker-progress .stage-dot.stage-done{background:var(--horizon);border-color:var(--horizon)}
.tracker-progress .stage-dot.stage-active{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px rgba(255,122,26,0.2)}
.tracker-progress .stage-line{flex:1;height:2px;background:var(--border);min-width:12px}
.tracker-progress .stage-line.stage-done{background:var(--horizon)}

/* --- Form validation states (Sprint 5 T1) --- */
.form-input.invalid{border-color:#e53e3e!important;background:rgba(229,62,62,0.04)}
.field-error{font-size:.78rem;color:#e53e3e;margin-top:4px;display:none;line-height:1.4}
.field-error.show{display:block}

/* --- Testimonial card visual upgrade (Sprint 5 T4) --- */
.testi-card{position:relative;overflow:hidden}
.testi-card::before{content:'\201C';position:absolute;top:-10px;left:16px;font-size:96px;font-weight:800;color:var(--gold);opacity:.1;line-height:1;font-family:'Plus Jakarta Sans',sans-serif;pointer-events:none;z-index:0;user-select:none}
.testi-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--gold)}
.testi-quote{position:relative;z-index:1}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--white);color:var(--blue);font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border)}

/* --- About hero stats row (Sprint 6 T1) --- */
.about-stats{display:flex;background:rgba(255,255,255,0.84);border:1px solid var(--border);border-radius:var(--radius-lg);margin-top:48px;overflow:hidden;box-shadow:0 16px 40px rgba(46,139,192,0.08)}
.about-stat{flex:1;padding:24px;text-align:center;border-right:1px solid var(--border)}
.about-stat:last-child{border-right:none}
.about-stat-num{font-family:'JetBrains Mono',monospace;font-size:1.75rem;font-weight:700;color:var(--gold);line-height:1}
.about-stat-lbl{font-size:.75rem;color:var(--muted);margin-top:6px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:480px){.about-stats{flex-wrap:wrap}.about-stat{flex:0 0 50%;border-right:none;border-bottom:1px solid var(--border)}.about-stat:nth-child(odd){border-right:1px solid var(--border)}.about-stat:last-child,.about-stat:nth-last-child(2):nth-child(odd){border-bottom:none}}

/* --- CTA card (Sprint 6 T2) --- */
.cta-card{display:flex;gap:40px;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;max-width:680px;margin:48px auto 0;flex-wrap:wrap;box-shadow:0 16px 40px rgba(46,139,192,0.08)}
.cta-card-left{flex:1;min-width:200px}
.cta-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.3rem;color:var(--deep);margin-top:8px;line-height:1.3}
.cta-card-right{display:flex;flex-direction:column;align-items:center;gap:10px}

/* --- Skip-to-main accessibility link (Sprint 7 T1) --- */
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:fixed;left:16px;top:16px;width:auto;height:auto;padding:12px 20px;background:var(--white);color:var(--deep);font-weight:600;border-radius:var(--radius-sm);z-index:99999;outline:3px solid var(--gold);border:1px solid var(--border)}

/* --- Active nav link (Sprint 8 T1) --- */
.nav-links a.nav-active{color:var(--gold)!important;font-weight:600}

/* --- Hero trust badges (Sprint 8 T3) --- */
.hero-badges{display:flex;gap:24px;margin-top:32px;flex-wrap:wrap}
.hero-badge{display:flex;align-items:center;gap:8px;font-size:.825rem;color:rgba(255,255,255,0.6)}
.hero-badge .badge-check{color:var(--gold);font-size:.9rem}

/* --- EEC Coverage section (Sprint 9 T2) --- */
.coverage-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.lane-list{list-style:none;display:flex;flex-direction:column;gap:10px;margin-top:16px}
.lane-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--white);border-radius:var(--radius-sm);font-size:.9rem;color:var(--text-mid);border:1px solid var(--border)}
.lane-badge{font-size:.7rem;font-weight:600;color:#10b981;background:rgba(16,185,129,0.1);border-radius:4px;padding:2px 8px;flex-shrink:0;margin-left:12px}
@media(max-width:768px){.coverage-wrap{grid-template-columns:1fr}}

/* --- Driver sticky CTA (Sprint 9 T4) --- */
.driver-sticky-cta{position:fixed;bottom:0;left:0;right:0;background:var(--white);border-top:2px solid var(--orange);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;z-index:190;transform:translateY(100%);transition:transform .3s var(--ease-out);box-shadow:0 -12px 32px rgba(46,139,192,0.12)}
.driver-sticky-cta.show{transform:translateY(0)}
.driver-sticky-cta-text{font-size:.875rem;color:var(--deep)}

/* --- Portal styles (Sprint 11 T2) --- */
/* PORTAL */
.portal-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:36px 32px;box-shadow:0 4px 24px rgba(28,43,58,0.08)}
.portal-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:28px}
.portal-tab{background:none;border:none;padding:10px 20px;font-family:'Inter',sans-serif;font-size:.9rem;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.portal-tab.active{color:var(--horizon);border-bottom-color:var(--horizon);font-weight:600}
.portal-demo-hint{background:var(--gold-dim);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:10px 14px;font-size:.8rem;color:var(--horizon);margin-bottom:20px;font-family:'JetBrains Mono',monospace}
.portal-error{font-size:.8rem;color:#e53e3e;margin-top:6px;min-height:1.2em}
.btn-primary-full{display:block;width:100%;padding:12px;background:var(--gold);color:var(--white);border:none;border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;cursor:pointer;margin-top:16px;transition:background .2s}
.btn-primary-full:hover{background:var(--gold-l)}
.dreg-type-row{display:flex;gap:8px;margin-bottom:28px}
.dreg-type-btn{flex:1;padding:14px 20px;background:rgba(255,255,255,0.06);border:1.5px solid rgba(255,255,255,0.15);border-radius:var(--radius-sm);font-family:'Plus Jakarta Sans',sans-serif;font-size:.9rem;font-weight:600;color:rgba(255,255,255,0.6);cursor:pointer;transition:all .2s;text-align:center}
.dreg-type-btn.active{background:var(--gold);border-color:var(--gold);color:var(--deep)}
.dreg-type-btn:hover:not(.active){border-color:rgba(255,255,255,0.4);color:var(--white)}
.dreg-section{margin-bottom:32px}
.dreg-section-title{display:flex;justify-content:space-between;align-items:center;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.1em;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,0.1)}
.dreg-fields-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:16px}
@media(max-width:600px){.dreg-fields-row{grid-template-columns:1fr}}
.dreg-row-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:10px}
@media(max-width:768px){.dreg-row-fields{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.dreg-row-fields{grid-template-columns:1fr}}
.dreg-truck-row,.dreg-trailer-row{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius-sm);padding:18px;margin-bottom:12px;position:relative}
.dreg-container-types{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:8px}
.dreg-ct-label{font-size:.78rem;color:rgba(255,255,255,0.45);font-family:'Inter',sans-serif}
.dreg-ct-check{display:flex;align-items:center;gap:6px;font-size:.82rem;color:rgba(255,255,255,0.6);cursor:pointer}
.dreg-ct-check input{accent-color:var(--gold);width:14px;height:14px}
.dreg-add-btn{background:none;border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:4px 12px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}
.dreg-add-btn:hover{background:var(--gold);color:var(--deep)}
.dreg-add-btn-outline{display:inline-block;margin-top:8px;background:none;border:1px dashed rgba(255,255,255,0.2);color:rgba(255,255,255,0.45);border-radius:var(--radius-sm);padding:8px 16px;font-size:.82rem;cursor:pointer;transition:all .15s;width:100%;text-align:center}
.dreg-add-btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.dreg-remove-btn{background:none;border:none;color:rgba(255,255,255,0.3);font-size:.75rem;cursor:pointer;padding:4px 0;transition:color .15s}
.dreg-remove-btn:hover{color:#e53e3e}
.dreg-trailer-hint{font-size:.82rem;color:rgba(255,255,255,0.4);line-height:1.6;margin-bottom:16px}
.dreg-optional-tag{font-size:.7rem;background:rgba(255,122,26,0.15);color:var(--gold);border-radius:3px;padding:1px 6px;margin-left:6px;font-weight:500;vertical-align:middle}
.dreg-error{font-size:.82rem;color:#fc8181;margin-bottom:12px;min-height:1em}
.dreg-success-overlay{background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.3);border-radius:var(--radius);padding:28px;text-align:center}
.dreg-success-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.1rem;color:#10b981;margin-bottom:8px}
.dreg-success-ref{font-family:'JetBrains Mono',monospace;font-size:.85rem;color:rgba(255,255,255,0.5);margin-top:8px}

.portal-welcome{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;flex-wrap:wrap;gap:16px}

.gps-panel{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-bottom:32px}
.gps-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.gps-mode-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;background:var(--white)}
.gps-mode-kicker{font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.gps-mode-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);margin-bottom:8px}
.gps-mode-copy{font-size:.86rem;line-height:1.7;color:var(--muted)}
.gps-device-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px}
.gps-remove-link{background:none;border:none;padding:0;color:var(--muted);font-size:.82rem;font-weight:600;cursor:pointer;transition:color .18s}
.gps-remove-link:hover{color:var(--horizon)}
.gps-device-preview{margin-top:16px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--cloud)}
.gps-preview-frame{width:100%;height:180px;border:0;background:var(--white)}
.gps-live-badge{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:600;color:#10b981}
.gps-live-dot{width:8px;height:8px;border-radius:50%;background:#10b981;animation:dot-pulse 1.2s ease-in-out infinite}
@keyframes dot-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.78)}}
.gps-map-fallback{height:100%;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px;background:var(--white)}
.gps-map-copy{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep)}
.gps-map-coords{font-family:'JetBrains Mono',monospace;font-size:.88rem;color:var(--horizon)}
.gps-map-ts{font-size:.8rem;color:var(--muted)}

.portal-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:40px}
.portal-stat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:20px 24px}
.portal-stat-num{font-family:'JetBrains Mono',monospace;font-size:2rem;font-weight:700;color:var(--deep);line-height:1}
.portal-stat-lbl{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:6px}
@media(max-width:768px){.portal-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.gps-modes{grid-template-columns:1fr}}

.portal-section{margin-bottom:48px}
.portal-section-hd{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.portal-section-hd h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.25rem;color:var(--deep);margin:0}
.portal-jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media(max-width:768px){.portal-jobs-grid{grid-template-columns:1fr}}

.portal-job-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}
.portal-job-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--border);transition:background .2s}
.portal-job-card--alert{border-color:rgba(229,72,77,0.28)}
.portal-job-card--alert::after{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:#e5484d}
.portal-job-card.accepted::before{background:#10b981}
.portal-job-card.bidding::before{background:var(--gold)}
.portal-job-card.open::before{background:var(--border)}
.portal-job-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.portal-job-id{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--muted)}
.portal-status-badge{font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:3px 8px;border-radius:3px;text-transform:uppercase}
.badge-accepted{background:rgba(16,185,129,0.1);color:#10b981}
.badge-bidding{background:var(--gold-dim);color:var(--horizon)}
.badge-open{background:rgba(28,43,58,0.07);color:var(--muted)}
.badge-open-alert{background:rgba(229,72,77,0.12);color:#e5484d}
.portal-job-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);margin-bottom:6px}
.portal-job-meta{font-size:.8rem;color:var(--muted);margin-bottom:16px}

.driver-accept-box{background:var(--cloud);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;margin:12px 0 16px}
.driver-accept-name{font-weight:600;color:var(--deep);font-size:.9rem}
.driver-accept-co{font-size:.78rem;color:var(--muted);margin-bottom:6px}
.driver-accept-amount{font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:700;color:var(--gold)}
.driver-accept-phone{font-size:.78rem;color:var(--muted);margin-top:2px}

.btn-outline-sm{display:inline-block;padding:7px 14px;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;color:var(--deep);transition:border-color .2s,color .2s}
.btn-outline-sm:hover{border-color:var(--horizon);color:var(--horizon)}

.portal-empty{text-align:center;padding:48px 24px;color:var(--muted)}
.portal-empty p{margin-bottom:20px;font-size:1rem}
.portal-permission-note{margin:-8px 0 18px;background:rgba(255,122,26,0.1);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 14px;font-size:.84rem;color:var(--horizon)}
.btn-disabled,.btn-disabled:hover{background:rgba(138,125,114,0.18)!important;border-color:rgba(138,125,114,0.18)!important;color:var(--muted)!important;box-shadow:none!important;transform:none!important;cursor:not-allowed}
.portal-accept-btn{margin-top:4px}
.portal-accept-btn.disabled{border-color:rgba(138,125,114,0.24);color:var(--muted);cursor:not-allowed}
.portal-bid-review{margin-top:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--white)}
.portal-bid-review-hd{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;color:var(--deep);margin-bottom:10px}
.portal-bid-list{display:grid;gap:10px}
.portal-bid-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--cloud)}
.portal-bid-row.is-selected{border-color:var(--border-strong);box-shadow:inset 0 0 0 1px var(--horizon)}
.portal-bid-row.is-disabled{opacity:.55}
.portal-bid-row-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.portal-bid-copy{min-width:0}
.portal-bid-driver{font-size:.85rem;font-weight:700;color:var(--deep)}
.portal-bid-rep{font-size:.73rem;color:var(--muted);margin-top:2px}
.portal-bid-metrics{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.portal-bid-trucks{font-size:.74rem;color:var(--muted);font-weight:600}
.portal-bid-price{font-family:'JetBrains Mono',monospace;font-size:.86rem;font-weight:700;color:var(--gold)}
.portal-bid-check{display:inline-flex;align-items:center;cursor:pointer}
.portal-bid-check input{margin:0;width:16px;height:16px;accent-color:var(--horizon)}
.portal-bid-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:12px;font-size:.76rem;color:var(--deep);font-weight:600}
.portal-bid-accept-selected,.portal-bid-accept-one{margin-top:12px}
@media(max-width:640px){
  .portal-bid-row{align-items:flex-start;flex-direction:column}
  .portal-bid-row-main,.portal-bid-metrics{width:100%;justify-content:flex-start}
  .portal-bid-summary{align-items:flex-start;flex-direction:column}
}

/* --- Tracking board table view (Sprint 12 T1) --- */
.view-toggle-row{display:flex;gap:4px;margin-bottom:20px}
.view-toggle-btn{background:none;border:none;padding:8px 16px;font-family:'Inter',sans-serif;font-size:.85rem;font-weight:500;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.view-toggle-btn.active{color:var(--horizon);border-bottom-color:var(--horizon);font-weight:600}
/* Board toolbar: filters left, view-sel right */
.board-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.board-filters{display:flex;gap:6px;flex-wrap:wrap}
.board-sort{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.board-view-sel{display:flex;gap:4px}
.bvs-btn{padding:5px 11px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);cursor:pointer;font-size:.75rem;font-weight:600;color:var(--muted);transition:all .15s;white-space:nowrap}
.bvs-btn.active{border-color:var(--horizon);color:var(--horizon);background:var(--horizon-pale)}
.bvs-btn:hover:not(.active){border-color:var(--text-mid);color:var(--text-mid)}
.board-sort-btn{background:none;border:1px solid var(--border);border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s}
.board-sort-btn.active{background:var(--blue);color:var(--white);border-color:var(--blue)}
/* Grid card views */
.board-grid-cards{display:grid;gap:12px}
.board-grid-3{grid-template-columns:repeat(3,1fr)}
.board-grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.board-grid-4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.board-grid-3,.board-grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.board-grid-3,.board-grid-4{grid-template-columns:1fr}}
.bgc{background:var(--white);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;transition:border-color .15s,box-shadow .15s}
.bgc:hover{border-color:var(--horizon);box-shadow:0 2px 8px rgba(255,122,26,0.1)}
.bgc--alert{border-color:rgba(229,72,77,0.28);box-shadow:inset 4px 0 0 #e5484d}
.bgc--alert:hover{border-color:#e5484d;box-shadow:inset 4px 0 0 #e5484d,0 2px 8px rgba(229,72,77,0.12)}
.bgc-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:6px}
.bgc-id{font-family:'JetBrains Mono',monospace;font-size:.72rem;font-weight:600;color:var(--deep)}
.bgc-route{font-size:.78rem;font-weight:600;color:var(--deep);line-height:1.35;margin-bottom:4px}
.bgc-meta{font-size:.7rem;color:var(--muted)}
.bgc-driver{font-size:.72rem;color:var(--horizon);font-weight:600;margin-top:4px}
.board-filter-btn{background:none;border:1px solid var(--border);border-radius:999px;padding:5px 14px;font-size:.78rem;font-weight:500;color:var(--muted);cursor:pointer;transition:all .15s}
.board-filter-btn.active{background:var(--gold);color:var(--white);border-color:var(--gold)}
.board-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:var(--radius);background:var(--white)}
.board-table{width:1230px;max-width:100%;margin:0 auto;border-collapse:collapse;table-layout:fixed;min-width:1180px}
.board-table th{font-family:'Inter',sans-serif;font-size:.66rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:10px 4px;text-align:center;border-bottom:1px solid var(--border);white-space:normal;line-height:1.2}
.board-table th:first-child{text-align:left;padding-left:16px;width:230px}
.board-table th:not(:first-child):not(:last-child),.board-stage-cell{width:104px}
.board-table th:last-child,.board-table td:last-child{width:64px}
.board-row{border-bottom:1px solid var(--border);cursor:pointer;transition:background .12s}
.board-row:hover{background:rgba(255,122,26,0.05)}
.board-row--grouped>td{background:rgba(46,139,192,0.065)}
.board-row--grouped:hover>td{background:rgba(46,139,192,0.095)}
.board-row:last-child{border-bottom:none}
.board-row--alert .board-job-info{box-shadow:inset 4px 0 0 #e5484d}
.board-row--grouped .board-job-info{box-shadow:inset 8px 0 0 var(--horizon)}
.board-row--grouped.board-row--alert .board-job-info{box-shadow:inset 8px 0 0 var(--horizon)}
.board-job-info{padding:12px 10px 12px 16px;min-width:0;vertical-align:top}
.bji-head{display:flex;align-items:center;gap:6px;margin-bottom:3px;flex-wrap:wrap}
.bji-id{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--muted);margin-bottom:3px}
.bji-status{margin-left:auto}
.bji-group-badge{display:inline-flex;align-items:center;border:1px solid var(--horizon);background:var(--horizon);color:var(--white);border-radius:4px;padding:4px 8px;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.bji-route{font-size:.8rem;font-weight:600;color:var(--deep);line-height:1.25;margin-bottom:2px}
.bji-line{font-size:.7rem;color:var(--muted);line-height:1.25;margin-top:1px}
.bji-group-note{margin:5px 0 4px;padding:6px 8px;border:1px solid rgba(46,139,192,0.2);border-radius:4px;background:rgba(46,139,192,0.08);color:var(--deep);font-size:.68rem;font-weight:700;line-height:1.25}
.bji-ref{font-size:.68rem;color:var(--muted);line-height:1.25;margin-top:1px}
.bji-driver{font-size:.7rem;color:var(--horizon);font-weight:600;margin-top:3px}
.bji-amount{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--gold);font-weight:700}
.bji-bids{font-size:.68rem;color:var(--muted);margin-top:3px}
.board-stage-cell{text-align:center;padding:8px 2px;position:relative}
.stage-visual{position:relative;display:flex;align-items:center;justify-content:center;z-index:1}
.sv-dot{
  width:12px;height:12px;border-radius:50%;
  background:rgba(28,43,58,0.12);border:1.5px solid rgba(28,43,58,0.18);
  transition:transform .18s var(--ease-out),background .18s,border-color .18s;
}
.stage-visual.is-done .sv-dot{background:var(--blue);border-color:var(--blue)}
.stage-visual.is-pending .sv-dot,.stage-visual.is-none .sv-dot{background:rgba(255,122,26,0.14);border-color:var(--border-strong)}
.sv-scene-card{
  background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible;
  transition:transform .18s var(--ease-out),filter .18s;
}
.stage-visual.is-active .sv-scene-card{
  animation:sv-cruise 1.9s ease-in-out infinite;
  filter:drop-shadow(0 10px 18px rgba(28,43,58,0.12));
}
.sv-board .sv-scene-card{width:94px;height:54px}
.sv-timeline .sv-scene-card{width:88px;height:52px;flex-shrink:0}
.sv-detail .sv-scene-card,.sv-detail{width:100%}
.sv-detail .sv-scene-card{
  width:240px;height:132px;
  display:flex;align-items:center;justify-content:center;
}
.stage-scene-img{display:block;width:100%;height:100%;object-fit:contain}
@keyframes sv-cruise{
  0%{transform:translateX(-4px)}
  50%{transform:translateX(4px)}
  100%{transform:translateX(-4px)}
}
.dot-tooltip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--white);color:var(--deep);font-size:.68rem;padding:3px 8px;border-radius:4px;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10;border:1px solid var(--border);box-shadow:0 10px 24px rgba(46,139,192,0.12)}
.board-stage-cell:hover .dot-tooltip{opacity:1}
.board-view-btn{font-size:.75rem;font-weight:600;background:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:5px 10px;cursor:pointer;color:var(--deep);white-space:nowrap}
.board-view-btn:hover{border-color:var(--horizon);color:var(--horizon)}
.portal-clickable{cursor:pointer}

/* --- Job detail panel (Sprint 12 T2) --- */
.job-detail-panel{position:fixed;inset:0;background:var(--cloud);z-index:300;overflow-y:auto}
.jdp-header{display:flex;align-items:center;gap:16px;padding:20px 40px;border-bottom:1px solid var(--border);background:var(--white);position:sticky;top:0;z-index:10;flex-wrap:wrap}
.jdp-close-btn{background:none;border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:7px 14px;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--deep);white-space:nowrap}
.jdp-header-info{flex:1;min-width:0}
.jdp-header-driver{font-size:.8rem;color:var(--muted)}
.jdp-body{display:grid;grid-template-columns:260px 1fr;gap:24px;padding:28px 40px;max-width:1200px;margin:0 auto}
.jdp-left{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;height:fit-content;position:sticky;top:calc(var(--nav-h) + 80px)}
.jdp-timeline-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:12px}
.jdp-share-block{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.jdp-share-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px}
.jdp-share-block .job-share{margin-top:0;padding-top:0;border-top:0;flex-wrap:wrap}
.jdp-timeline{display:flex;flex-direction:column;gap:2px}
.jdp-stage-item{display:flex;gap:14px;align-items:flex-start;padding:10px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .12s}
.jdp-stage-item:hover{background:rgba(255,122,26,0.06)}
.jdp-stage-item.is-active{background:var(--gold-dim)}
.jdp-stage-label{font-size:.82rem;font-weight:600;color:var(--deep);line-height:1.3}
.jdp-stage-ts{font-size:.68rem;color:var(--muted);margin-top:1px}
.jdp-right{display:flex;flex-direction:column;gap:20px}
.jdp-stage-content{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px}
.jdp-stage-hero{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.jdp-sc-kicker{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.jdp-sc-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);margin-bottom:0}
.jdp-sc-desc{font-size:.875rem;color:var(--muted);line-height:1.6;margin-bottom:20px}
.jdp-stage-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.jdp-upload-area{border:2px dashed var(--border-strong);border-radius:var(--radius-sm);padding:18px;text-align:center;cursor:pointer;background:rgba(251,252,254,0.4);font-size:.85rem;color:var(--muted);margin-bottom:12px;transition:border-color .2s}
.jdp-upload-area:hover{border-color:var(--gold)}
.jdp-uploads-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.jdp-upload-item{background:var(--cloud);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:.75rem;color:var(--deep);display:flex;align-items:center;gap:5px}
.jdp-timer-wrap{margin:12px 0}
.jdp-timer{font-family:'JetBrains Mono',monospace;font-size:2.2rem;font-weight:700;color:var(--deep);line-height:1}
.jdp-timer.overtime{color:#e53e3e}
.jdp-timer-lbl{font-size:.75rem;color:var(--muted);margin-top:4px}
.jdp-notes{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 12px;font-family:'Inter',sans-serif;font-size:.85rem;resize:vertical;min-height:60px;background:var(--white);margin-bottom:16px}
.jdp-notes:focus{border-color:var(--horizon);outline:none}
.jdp-confirm-btn{background:var(--gold);color:var(--white);border:none;border-radius:var(--radius-sm);padding:12px 28px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;cursor:pointer;transition:background .2s}
.jdp-confirm-btn:hover{background:var(--gold-l)}
.jdp-back-btn{background:transparent;color:var(--deep);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:12px 18px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.82rem;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.jdp-back-btn:hover{border-color:var(--horizon);color:var(--horizon);background:rgba(255,122,26,0.06)}
.jdp-done-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(16,185,129,0.1);color:#10b981;border-radius:var(--radius-sm);padding:8px 14px;font-size:.85rem;font-weight:600}
.jdp-no-driver{color:var(--muted);font-size:.9rem;padding:20px 0}
.jdp-chat-section{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.jdp-chat-hd{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:var(--deep);margin-bottom:12px}
.jdp-messages{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding-right:4px}
.jdp-msg{max-width:72%;padding:9px 13px;border-radius:12px;font-size:.84rem;line-height:1.5}
.from-shipper{background:var(--gold-dim);border:1px solid var(--border);align-self:flex-end;border-bottom-right-radius:3px}
.from-driver{background:var(--white);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:3px}
.jdp-msg-meta{font-size:.68rem;color:var(--muted);margin-bottom:3px}
.jdp-msg-img{display:block;max-width:160px;border-radius:6px;margin-top:6px}
.jdp-msg-system{align-self:center;max-width:100%;text-align:center;margin:2px 0}
.jdp-msg-system span{display:inline-block;background:var(--cloud);border:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:600;padding:4px 13px;border-radius:999px;letter-spacing:.01em}
.jdp-input-row{display:flex;gap:8px;align-items:flex-end}
.jdp-input{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-family:'Inter',sans-serif;font-size:.875rem;resize:none;min-height:40px;max-height:100px}
.jdp-input:focus{border-color:var(--horizon);outline:none;box-shadow:0 0 0 3px rgba(255,122,26,0.1)}
.jdp-send-btn{background:var(--gold);color:var(--white);border:none;border-radius:var(--radius-sm);padding:9px 16px;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap}
.jdp-send-btn:hover{background:var(--gold-l)}
.jdp-attach-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 11px;cursor:pointer;font-size:.85rem;color:var(--muted)}
.jdp-attach-btn:hover{color:var(--horizon);border-color:var(--horizon)}
@media(max-width:900px){.jdp-body{grid-template-columns:1fr;padding:16px 20px}.jdp-left{position:static}}

/* LL Toast - white card, orange top stripe, orange CTA */
.ll-toast-overlay{position:fixed;inset:0;background:rgba(28,43,58,0.6);backdrop-filter:blur(4px);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s}
.ll-toast-overlay.wt-visible{opacity:1;pointer-events:all}
.ll-toast{background:var(--cloud);border-radius:var(--radius);border-top:3px solid var(--gold);padding:36px 44px;max-width:360px;width:90%;text-align:center;box-shadow:0 24px 56px rgba(28,43,58,0.28);transform:translateY(16px) scale(.97);transition:transform .22s cubic-bezier(.22,1,.36,1)}
.ll-toast-overlay.wt-visible .ll-toast{transform:translateY(0) scale(1)}
.ll-toast-icon{font-size:2.2rem;margin-bottom:14px;color:var(--gold);display:block}
.ll-toast-msg{font-family:'Inter',sans-serif;font-size:.95rem;font-weight:500;color:var(--deep);line-height:1.65;margin:0}
.ll-toast-close{display:inline-block;margin-top:22px;background:var(--gold);color:var(--white);border:none;border-radius:var(--radius-sm);padding:10px 36px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s;letter-spacing:.02em}
.ll-toast-close:hover{background:var(--gold-l)}
.form-input.invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px rgba(192,57,43,0.15)!important}
.lang-toggle{display:flex;align-items:center;gap:5px;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;font-family:'Inter',sans-serif;font-size:12px;font-weight:700;color:var(--ink);letter-spacing:.08em;transition:all .18s}
.lang-toggle:hover{background:rgba(255,255,255,0.14);color:var(--white)}
nav.ll-nav.light .lang-toggle{background:rgba(46,139,192,0.07);border-color:rgba(46,139,192,0.2);color:var(--text-mid)}
nav.ll-nav.light .lang-toggle:hover{color:var(--horizon)}
.ll-light .lang-toggle{background:rgba(255,255,255,0.92);border-color:var(--border);color:var(--deep)}
.ll-light .lang-toggle:hover{background:var(--white);color:var(--horizon);border-color:var(--border-strong)}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:.8rem}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.btn-google-signin{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:11px 20px;background:var(--white);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-family:'Inter',sans-serif;font-size:.875rem;font-weight:500;color:var(--deep);cursor:pointer;transition:all .18s;margin-top:0}
.btn-google-signin:hover{border-color:var(--horizon);box-shadow:0 2px 8px rgba(255,122,26,0.14)}

/* === LIGHT PAGE MODE === */
.ll-light .page-hero{
  background:var(--white);
  border-bottom:1px solid var(--border);
}
.ll-light .page-title{color:var(--deep)}
.terms-body{padding:64px 0;background:var(--cloud)}
.terms-section{margin-bottom:48px}
.terms-h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.25rem;color:var(--deep);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--border)}
.terms-p{font-size:.9rem;color:var(--text-mid);line-height:1.8;margin-bottom:12px}
.terms-p+.terms-p{margin-top:0}
.ll-light .page-sub{color:var(--muted)}
.ll-light .hero-v2{
  background:var(--cloud);
  border-bottom:1px solid var(--border);
}
.ll-light .hvl-1,.ll-light .hvl-2{color:var(--deep)}
.ll-light .hvl-3{color:var(--horizon)}
.ll-light .hv2-sub{color:var(--text-mid)}
.ll-light .hv2-badge{color:var(--muted)}
.ll-light .btn-hero-secondary{
  background:var(--white);
  color:var(--deep);
  border-color:var(--border-strong);
}
.ll-light .btn-hero-secondary:hover{
  background:var(--cloud);
  color:var(--horizon);
  border-color:var(--horizon);
}
.ll-light .live-widget{
  background:var(--white);
  border-color:var(--border);
  box-shadow:0 14px 32px rgba(28,43,58,0.08);
}
.ll-light .lw-hd,.ll-light .lw-route-hd,.ll-light .lw-lbl{color:var(--muted)}
.ll-light .lw-num{color:var(--deep)}
.ll-light .lw-stats-row{border-bottom-color:var(--border)}
.ll-light .lw-route-item{border-bottom-color:rgba(28,43,58,0.06)}
.ll-light .lw-ports{color:var(--text-mid)}
.ll-light .hv2-stats-strip{border-top:1px solid var(--border)}
.ll-light .hv2-stat-lbl{color:var(--muted)}
.ll-light .feat-v2{
  background:var(--white);
  border-top:1px solid var(--border);
}
.ll-light .feat-v2 .sec-tag{color:var(--horizon)}
.ll-light .feat-v2 .sec-title{color:var(--deep)}
.ll-light .feat-v2 .sec-sub{color:var(--muted)}
.ll-light .feat-b-card{
  background:var(--cloud);
  border-color:var(--border);
}
.ll-light .feat-b-card::before{background:var(--border)}
.ll-light .fbc-title{color:var(--deep)}
.ll-light .fbc-desc{color:var(--text-mid)}
.ll-light .trust-proof{
  background:var(--white);
  border-top:1px solid var(--border);
}
.ll-light .trust-proof-title{color:var(--deep)}
.ll-light .trust-proof-sub{color:var(--muted)}
.ll-light .trust-title{color:var(--deep)}
.ll-light .trust-desc{color:var(--text-mid)}
.ll-light .manifesto-v2{
  background:var(--blue-wash);
  border-top:1px solid var(--border);
}
.ll-light .testi-v2{
  background:var(--cloud);
  border-top:1px solid var(--border);
}
.ll-light .testi-v2-card{border:1px solid var(--border)}
.ll-light .final-cta-v2{background:var(--white)}
.ll-light .ll-form,
.ll-light .calc-card,
.ll-light .range-badge,
.ll-light .track-card,
.ll-light .portal-card,
.ll-light .portal-stat-card,
.ll-light .portal-job-card,
.ll-light .saved-driver-card,
.ll-light .board-table-wrap{
  background:var(--white);
  border-color:var(--border);
}
.ll-light .tracker-progress .stage-line{background:var(--border)}
.ll-light .tracker-progress .stage-line.stage-done{background:var(--horizon)}
.ll-light .tracker-progress .stage-dot.stage-done{background:var(--horizon);border-color:var(--horizon)}
.ll-light .tracker-progress .stage-dot.stage-active{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 6px rgba(255,122,26,0.2)}
.ll-light .portal-auth-section,
.ll-light .portal-dash-section{background:var(--cloud)!important}
.ll-light .view-toggle-btn{color:var(--muted)}
.ll-light .view-toggle-btn.active{color:var(--horizon);border-bottom-color:var(--horizon)}
.ll-light .portal-demo-hint{
  background:rgba(255,255,255,0.9);
  border-color:var(--border);
}

/* === Homepage v2 (Sprint 41 Task 2) === */

.home-v2-hero{background:var(--bg);padding:calc(var(--nav-h) + 28px) 24px 40px}
.home-v2-shell{max-width:1360px;margin:0 auto}
.home-v2-hero-stage{
  position:relative;
  min-height:760px;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  background:#F8FBFE;
  box-shadow:0 28px 64px rgba(46,139,192,0.10);
}
.home-v2-hero-stage::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(251,252,254,0.94) 0%,rgba(251,252,254,0.72) 36%,rgba(251,252,254,0.22) 66%,rgba(251,252,254,0.04) 100%),
    radial-gradient(circle at 18% 18%,rgba(255,255,255,0.96) 0%,rgba(255,255,255,0.52) 34%,rgba(255,255,255,0) 62%);
}
.home-v2-hero-photo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center right;
  z-index:0;
}
.home-v2-network{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  z-index:1;
  pointer-events:none;
  opacity:.12;
  mix-blend-mode:multiply;
}
.home-v2-line{
  fill:none;
  stroke:rgba(46,139,192,0.62);
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.home-v2-line-soft{stroke:rgba(46,139,192,0.34)}
.home-v2-node{
  fill:#FBFCFE;
  stroke:#2E8BC0;
  stroke-width:4;
  transform-box:fill-box;
  transform-origin:center;
}
.home-v2-node-accent{stroke:#FF7A1A}
.home-v2-hero-content{
  position:relative;
  z-index:2;
  min-height:760px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:40px;
}
.home-v2-hero-copy{
  max-width:560px;
  background:rgba(251,252,254,0.88);
  border:1px solid rgba(255,255,255,0.52);
  border-radius:24px;
  padding:30px 30px 28px;
  backdrop-filter:blur(10px);
}
.home-v2-i18n-cache,.home-v2-i18n-hook{display:none}
.home-v2-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:18px;
}
.home-v2-headline{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:800;
  font-size:clamp(3.2rem,2rem + 4vw,6.1rem);
  line-height:.95;
  letter-spacing:-.05em;
  color:var(--ink);
  margin-bottom:18px;
}
.home-v2-accent{color:var(--orange)}
.home-v2-sub{
  max-width:34rem;
  font-size:1rem;
  line-height:1.75;
  color:var(--muted);
  margin-bottom:24px;
}
.home-v2-hero-ctas{display:flex;gap:12px;flex-wrap:wrap}
.home-v2-hero-ctas .btn-hero-primary,
.home-v2-hero-ctas .btn-hero-secondary{min-height:46px;display:inline-flex;align-items:center;justify-content:center}
.home-v2-hero-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  background:rgba(251,252,254,0.92);
  border:1px solid rgba(255,255,255,0.52);
  border-radius:22px;
  overflow:hidden;
  backdrop-filter:blur(10px);
}
.home-v2-hero-stat{
  padding:22px 24px;
  border-right:1px solid var(--line);
}
.home-v2-hero-stat:last-child{border-right:none}
.home-v2-hero-stat-num{
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(1.4rem,1rem + 1.6vw,2rem);
  font-weight:700;
  color:var(--ink);
  line-height:1;
}
.home-v2-hero-stat-lbl{
  margin-top:10px;
  font-size:.75rem;
  line-height:1.55;
  color:var(--muted);
  letter-spacing:.03em;
}

.home-v2-steps{background:var(--blue-wash);padding:104px 24px}
.home-v2-steps-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  gap:18px;
  margin-top:48px;
}
.home-v2-step-card{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:300px;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(46,139,192,0.08);
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.home-v2-step-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:var(--line);
  transition:background .25s;
}
.home-v2-step-card:hover{
  border-color:var(--blue);
  transform:translateY(-3px);
  box-shadow:0 24px 48px rgba(46,139,192,0.12);
}
.home-v2-step-card:hover::before{background:var(--orange)}
.home-v2-step-card-featured{grid-row:span 2;min-height:618px}
.home-v2-step-meta{display:flex;align-items:center;gap:10px;margin-bottom:18px}
.home-v2-step-no{
  font-family:'JetBrains Mono',monospace;
  font-size:.78rem;
  font-weight:700;
  color:var(--orange);
}
.home-v2-step-kicker{
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--blue);
}
.home-v2-step-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.25rem,1rem + 1vw,1.95rem);
  font-weight:800;
  color:var(--ink);
  line-height:1.08;
  letter-spacing:-.03em;
  margin-bottom:10px;
}
.home-v2-step-copy{
  max-width:30rem;
  font-size:.93rem;
  line-height:1.72;
  color:var(--muted);
}
.home-v2-step-card img{
  width:100%;
  max-width:220px;
  height:auto;
  align-self:flex-end;
  margin-top:26px;
}
.home-v2-step-card-featured img{max-width:320px}

.home-v2-why{background:var(--bg);padding:104px 24px}
.home-v2-why-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:48px;
}
.home-v2-why-card{
  position:relative;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:24px;
  padding:28px;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(46,139,192,0.06);
  transition:border-color .25s,transform .25s,box-shadow .25s;
}
.home-v2-why-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:2px;
  background:var(--line);
  transition:background .25s;
}
.home-v2-why-card:hover{
  border-color:var(--blue);
  transform:translateY(-3px);
  box-shadow:0 24px 48px rgba(46,139,192,0.10);
}
.home-v2-why-card:hover::before{background:var(--orange)}
.home-v2-why-card-wide{grid-column:span 2}
.home-v2-why-label{
  margin-bottom:12px;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--blue);
}
.home-v2-why-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.15rem,1rem + .7vw,1.55rem);
  font-weight:800;
  line-height:1.16;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:10px;
}
.home-v2-why-copy{
  font-size:.92rem;
  line-height:1.7;
  color:var(--muted);
}

.home-v2-band{background:var(--orange);padding:88px 24px}
.home-v2-band-inner{
  max-width:980px;
  margin:0 auto;
  text-align:center;
}
.home-v2-band-kicker{
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.75);
  margin-bottom:14px;
}
.home-v2-band-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2.2rem,1.6rem + 2.4vw,4.2rem);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.04em;
  color:#fff;
  margin-bottom:24px;
}
.home-v2-band-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  font-weight:700;
  transition:transform .22s,opacity .22s;
}
.home-v2-band-cta:hover{transform:translateY(-1px);opacity:.92}

.home-v2-proof{background:var(--blue-wash);padding:104px 24px}
.home-v2-proof-grid{
  display:grid;
  grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);
  gap:34px;
  align-items:center;
}
.home-v2-proof-media{
  position:relative;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 24px 54px rgba(46,139,192,0.10);
}
.home-v2-proof-media img{
  display:block;
  width:100%;
  height:auto;
}
.home-v2-proof-badge{
  position:absolute;
  left:18px;
  bottom:18px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(251,252,254,0.92);
  color:var(--blue);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-v2-proof-quote{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(1.45rem,1.1rem + 1vw,2.15rem);
  font-weight:700;
  line-height:1.35;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:18px;
}
.home-v2-proof-author{
  font-size:.86rem;
  color:var(--muted);
  margin-bottom:28px;
}
.home-v2-proof-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.home-v2-proof-stat{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px;
  padding:18px 16px;
  box-shadow:0 16px 34px rgba(46,139,192,0.06);
}
.home-v2-proof-stat-num{
  font-family:'JetBrains Mono',monospace;
  font-size:1.35rem;
  font-weight:700;
  color:var(--ink);
}
.home-v2-proof-stat-lbl{
  margin-top:8px;
  font-size:.76rem;
  line-height:1.55;
  color:var(--muted);
}

.home-v2-final{background:var(--bg);padding:104px 24px}
.home-v2-final-inner{
  text-align:center;
  max-width:860px;
}
.home-v2-final-kicker{
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:16px;
}
.home-v2-final-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:clamp(2.2rem,1.6rem + 2.1vw,4rem);
  font-weight:800;
  line-height:1.03;
  letter-spacing:-.04em;
  color:var(--ink);
  margin-bottom:16px;
}
.home-v2-final-copy{
  max-width:42rem;
  margin:0 auto 24px;
  font-size:.98rem;
  line-height:1.75;
  color:var(--muted);
}
.home-v2-final-ctas{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.home-v2-final-ctas .btn-hero-primary,
.home-v2-final-ctas .btn-hero-secondary{min-height:46px;display:inline-flex;align-items:center;justify-content:center}

@keyframes home-v2-node-pulse{
  0%,100%{transform:scale(1);opacity:.78}
  50%{transform:scale(1.18);opacity:1}
}
@keyframes home-v2-line-drift{
  0%,100%{opacity:.34}
  50%{opacity:.76}
}
@media(prefers-reduced-motion:no-preference){
  .home-v2-node{animation:home-v2-node-pulse 3.2s ease-in-out infinite}
  .home-v2-node:nth-child(3n){animation-duration:4.2s}
  .home-v2-node:nth-child(4n){animation-duration:2.8s}
  .home-v2-line{animation:home-v2-line-drift 4.6s ease-in-out infinite}
  .home-v2-line-soft{animation-duration:6s}
}
@media(prefers-reduced-motion:reduce){
  .home-v2-node,.home-v2-line{animation:none}
}

@media(max-width:1120px){
  .home-v2-hero-stage,.home-v2-hero-content{min-height:700px}
  .home-v2-why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v2-why-card-wide{grid-column:span 2}
}
@media(max-width:900px){
  .home-v2-hero{padding-left:20px;padding-right:20px}
  .home-v2-hero-stage,.home-v2-hero-content{min-height:640px}
  .home-v2-hero-content{padding:28px}
  .home-v2-hero-copy{max-width:100%;padding:24px}
  .home-v2-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-v2-hero-stat:nth-child(2){border-right:none}
  .home-v2-hero-stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .home-v2-steps-grid,
  .home-v2-proof-grid{grid-template-columns:1fr}
  .home-v2-step-card-featured{grid-row:auto;min-height:300px}
  .home-v2-proof-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .home-v2-hero,
  .home-v2-steps,
  .home-v2-why,
  .home-v2-band,
  .home-v2-proof,
  .home-v2-final{padding-left:16px;padding-right:16px}
  .home-v2-hero{padding-top:calc(var(--nav-h) + 20px);padding-bottom:32px}
  .home-v2-hero-stage{min-height:0}
  .home-v2-hero-stage::before{
    background:linear-gradient(180deg,rgba(251,252,254,0.08) 0%,rgba(251,252,254,0.48) 62%,rgba(251,252,254,0.96) 100%);
  }
  .home-v2-hero-photo{position:relative;display:block;height:auto;aspect-ratio:16/9}
  .home-v2-network{height:46%;opacity:.08}
  .home-v2-hero-content{
    min-height:0;
    padding:0;
    margin-top:-46px;
  }
  .home-v2-hero-copy,
  .home-v2-hero-stats{
    margin:0 14px 14px;
    backdrop-filter:none;
  }
  .home-v2-headline{font-size:clamp(2.7rem,1.7rem + 6vw,4.1rem)}
  .home-v2-hero-sub,
  .home-v2-sub,
  .home-v2-final-copy{font-size:.95rem}
  .home-v2-hero-ctas,
  .home-v2-final-ctas{flex-direction:column}
  .home-v2-hero-ctas .btn-hero-primary,
  .home-v2-hero-ctas .btn-hero-secondary,
  .home-v2-final-ctas .btn-hero-primary,
  .home-v2-final-ctas .btn-hero-secondary{width:100%}
  .home-v2-steps-grid,
  .home-v2-why-grid,
  .home-v2-proof-stats,
  .home-v2-hero-stats{grid-template-columns:1fr}
  .home-v2-hero-stat,
  .home-v2-hero-stat:nth-child(2){border-right:none}
  .home-v2-hero-stat:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .home-v2-why-card-wide{grid-column:auto}
  .home-v2-step-card{min-height:0}
  .home-v2-step-card img,
  .home-v2-step-card-featured img{max-width:200px}
}

.job-chat-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1.5px solid var(--border-strong);border-radius:999px;padding:6px 14px;font-size:.78rem;font-weight:600;color:var(--deep);cursor:pointer;transition:all .18s;margin-top:12px}
.job-chat-btn:hover{border-color:var(--horizon);color:var(--horizon)}
.job-chat-badge{background:var(--gold);color:var(--white);border-radius:999px;font-size:.65rem;font-weight:700;padding:1px 6px;font-family:'JetBrains Mono',monospace}
.job-chat-modal{position:fixed;inset:0;z-index:400;display:flex;align-items:flex-end;justify-content:flex-end;padding:24px}
.jcm-backdrop{position:fixed;inset:0;background:rgba(28,43,58,0.35);cursor:pointer}
.jcm-panel{position:relative;width:100%;max-width:420px;height:560px;background:var(--white);border-radius:var(--radius);box-shadow:0 24px 64px rgba(28,43,58,0.22);display:flex;flex-direction:column;overflow:hidden;z-index:1}
.jcm-header{padding:16px 20px;border-bottom:1px solid var(--border);background:var(--blue-wash);display:flex;align-items:center;gap:12px;flex-shrink:0}
.jcm-header-info{flex:1;min-width:0}
.jcm-job-id{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:var(--muted);margin-bottom:2px}
.jcm-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;color:var(--deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jcm-driver{font-size:.75rem;color:var(--muted);white-space:nowrap}
.jcm-close{background:none;border:none;color:var(--muted);font-size:1.4rem;cursor:pointer;padding:4px;line-height:1;flex-shrink:0}
.jcm-close:hover{color:var(--deep)}
.jcm-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}
.jcm-msg{max-width:78%;padding:9px 12px;border-radius:12px;font-size:.84rem;line-height:1.5}
.jcm-from-shipper{background:var(--gold-dim);border:1px solid var(--border);align-self:flex-end;border-bottom-right-radius:3px}
.jcm-from-driver{background:var(--cloud);border:1px solid var(--border);align-self:flex-start;border-bottom-left-radius:3px}
.jcm-msg-meta{font-size:.67rem;color:var(--muted);margin-bottom:3px}
.jcm-msg-system{align-self:center;max-width:100%;text-align:center;margin:2px 0}
.jcm-msg-system span{display:inline-block;background:var(--cloud);border:1px solid var(--border);color:var(--muted);font-size:.72rem;font-weight:600;padding:4px 13px;border-radius:999px;letter-spacing:.01em}
.jcm-input-row{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end;flex-shrink:0}
.jcm-input{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 12px;font-family:'Inter',sans-serif;font-size:.875rem;resize:none;min-height:38px;max-height:90px}
.jcm-input:focus{border-color:var(--horizon);outline:none;box-shadow:0 0 0 3px rgba(255,122,26,0.1)}
.jcm-send{background:var(--gold);color:var(--white);border:none;border-radius:var(--radius-sm);padding:9px 16px;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;flex-shrink:0}
.jcm-send:hover{background:var(--gold-l)}
.jcm-empty{text-align:center;color:var(--muted);font-size:.85rem;padding:32px 16px}
@media(max-width:480px){.job-chat-modal{padding:0}.jcm-panel{max-width:100%;height:100%;border-radius:0}}

/* === JOB PREVIEW WALL === */
.jpreview-section{position:relative;background:var(--bg);padding:100px 48px 0;overflow:hidden}
.jpreview-inner{max-width:1100px;margin:0 auto;width:100%}
.jpreview-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3rem);color:var(--deep);line-height:1.1;letter-spacing:-.02em;margin:16px 0 12px}
.jpreview-sub{font-family:'Inter',sans-serif;font-size:.95rem;color:var(--muted);line-height:1.7;margin-bottom:48px;max-width:560px}
.jpreview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;position:relative}
.jpreview-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}
.jpreview-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border)}
.jpreview-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.jpreview-job-id{font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--muted)}
.jpreview-badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:3px;text-transform:uppercase}
.jpreview-badge-open{background:rgba(255,122,26,0.15);color:var(--gold)}
.jpreview-badge-hot{background:rgba(255,122,26,0.3);color:var(--gold)}
.jpreview-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:var(--deep);margin-bottom:6px;line-height:1.3}
.jpreview-meta{font-size:.75rem;color:var(--muted);margin-bottom:16px;font-family:'Inter',sans-serif}
.jpreview-detail-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px solid var(--border)}
.jpreview-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0}
.jpreview-value{font-size:.8rem;color:var(--text-mid);text-align:right;font-family:'Inter',sans-serif}
.jpreview-blur{filter:blur(5px);user-select:none;color:var(--muted);letter-spacing:.05em}
.jpreview-footer{display:flex;justify-content:space-between;align-items:center;margin-top:14px}
.jpreview-amount{font-family:'JetBrains Mono',monospace;font-size:1.4rem;font-weight:700;color:var(--gold)}
.jpreview-cta-hint{font-size:.72rem;color:var(--muted);font-family:'Inter',sans-serif}
.jpreview-fade-wall{position:relative;height:280px;margin-top:-120px;background:var(--blue-wash);display:flex;align-items:center;justify-content:center;z-index:2}
.jpreview-gate{text-align:center;padding:0 24px;position:relative;z-index:3}
.jpreview-gate-lock{font-size:2rem;margin-bottom:12px;opacity:.6}
.jpreview-gate-copy{font-family:'Inter',sans-serif;font-size:.9rem;color:var(--text-mid);line-height:1.7;max-width:460px;margin:0 auto 24px}
.jpreview-gate-note{font-family:'Inter',sans-serif;font-size:.75rem;color:var(--muted);margin-top:14px}
@media(max-width:900px){.jpreview-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.jpreview-section{padding:72px 20px 0}.jpreview-grid{grid-template-columns:1fr}.jpreview-fade-wall{height:320px;margin-top:-160px}}

/* === DRIVER ENTRY SECTION (Sprint 20) === */
.dentry-section{background:var(--bg);padding:calc(var(--nav-h,70px) + 60px) 0 0;min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate}
.dentry-section::before{content:'';position:absolute;inset:0;background:var(--blue-wash);z-index:1;pointer-events:none}
.dentry-inner{max-width:960px;margin:0 auto;padding:0 48px;text-align:center;margin-bottom:40px;position:relative;z-index:2}
.dentry-eyebrow{font-family:'Inter',sans-serif;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.dentry-headline{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;letter-spacing:-.03em;color:var(--deep)}
.dentry-world{position:relative;display:flex;align-items:center;justify-content:center;min-height:780px;padding:12px 0 0;z-index:2}
.dentry-bg-carousel{position:absolute;inset:0;overflow:hidden;z-index:0;opacity:.22;pointer-events:none;display:flex;flex-direction:column;justify-content:space-around}
.dentry-row{display:flex}
.dcarousel-track{display:flex;gap:16px;padding:24px 48px;width:max-content;animation:dcarousel-scroll 45s linear infinite}
.dentry-row-track{padding:14px 48px}
.dentry-row-track-slow{animation-duration:60s}
.dentry-row-track-mid{animation-duration:45s;animation-direction:reverse}
.dentry-row-track-fast{animation-duration:75s}
@keyframes dcarousel-scroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.dcarousel-track{animation:none;overflow-x:auto}}
.dcarousel-card{width:300px;flex-shrink:0;background:rgba(255,255,255,0.05);border:1px solid rgba(255,122,26,0.2);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:8px}
.dccard-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.dccard-id{font-family:'JetBrains Mono',monospace;font-size:.68rem;color:rgba(255,255,255,0.35)}
.dccard-badge{font-size:.65rem;font-weight:700;letter-spacing:.06em;padding:3px 8px;border-radius:999px;background:rgba(255,122,26,0.15);color:var(--gold);border:1px solid rgba(255,122,26,0.3)}
.dccard-badge-hot{background:rgba(245,158,11,0.15);color:#f59e0b;border-color:rgba(245,158,11,0.3)}
.dccard-badge-fire{background:rgba(239,68,68,0.15);color:#ef4444;border-color:rgba(239,68,68,0.3)}
.dccard-badge-new{background:rgba(16,185,129,0.15);color:#10b981;border-color:rgba(16,185,129,0.3)}
.dccard-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;color:var(--white);line-height:1.3}
.dccard-meta{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:rgba(255,255,255,0.4)}
.dccard-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;font-size:.75rem}
.dccard-lbl{color:rgba(255,255,255,0.35);flex-shrink:0}
.dccard-val{color:rgba(255,255,255,0.7);text-align:right}
.dccard-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.07)}
.dccard-price{font-family:'JetBrains Mono',monospace;font-size:.9rem;font-weight:700;color:var(--gold)}
.dccard-hint{font-size:.72rem;color:rgba(255,255,255,0.3);font-style:italic}
.dentry-form-wrap{max-width:640px;margin:60px auto 0;padding:0 24px;width:100%;position:relative;z-index:2}
.dentry-form-hd{text-align:center;margin-bottom:28px}
.dentry-form-tag{font-family:'Inter',sans-serif;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.dentry-form-sub{font-size:.82rem;color:rgba(255,255,255,0.4)}
.dreg-hero-card{background:var(--cloud);border:1px solid rgba(28,43,58,0.1);border-radius:var(--radius-lg);padding:36px 32px;box-shadow:0 24px 64px rgba(0,0,0,0.35)}
.dreg-hero-card .form-input{background:#f7f8fa;border-color:#d1d9e0;color:var(--deep)}
.dreg-hero-card .form-input::placeholder{color:#9aa5b1}
.dreg-hero-card .form-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,122,26,0.15);background:#fff;outline:none}
.dreg-hero-card select.form-input option{background:#fff;color:var(--deep)}
.dreg-hero-card .form-label{color:var(--deep)}
.dreg-hero-card .dreg-type-btn{background:rgba(28,43,58,0.07);border-color:rgba(28,43,58,0.2);color:rgba(28,43,58,0.6)}
.dreg-hero-card .dreg-type-btn:hover:not(.active){border-color:rgba(28,43,58,0.4);color:var(--deep)}
.dreg-hero-card .dreg-section-title{color:rgba(28,43,58,0.45);border-bottom-color:rgba(28,43,58,0.1)}
.dreg-hero-card .dreg-truck-row,.dreg-hero-card .dreg-trailer-row{background:rgba(28,43,58,0.04);border-color:rgba(28,43,58,0.12)}
.dreg-hero-card .dreg-ct-label{color:rgba(28,43,58,0.5)}
.dreg-hero-card .dreg-ct-check{color:rgba(28,43,58,0.7)}
.dreg-hero-card .dreg-add-btn-outline{border-color:rgba(28,43,58,0.2);color:rgba(28,43,58,0.45)}
.dreg-hero-card .dreg-add-btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.dreg-hero-card .dreg-remove-btn{color:rgba(28,43,58,0.3)}
.dreg-hero-card .dreg-trailer-hint{color:rgba(28,43,58,0.45)}
.dreg-hero-card .dreg-error{color:#c0392b}
.dentry-alt-link{flex:1;text-align:center;padding:10px 16px;border:1px solid rgba(255,255,255,0.15);border-radius:var(--radius-sm);font-size:.82rem;color:rgba(255,255,255,0.5);text-decoration:none;transition:all .18s}
.dentry-alt-link:hover{border-color:rgba(255,255,255,0.35);color:var(--white)}
.dentry-stats-strip{display:flex;justify-content:center;gap:80px;padding:48px;border-top:1px solid rgba(255,255,255,0.07);margin-top:60px}
.dentry-stat{text-align:center}
.dentry-stat-num{font-family:'JetBrains Mono',monospace;font-size:2.4rem;font-weight:700;color:var(--gold);line-height:1}
.dentry-stat-sfx{font-family:'JetBrains Mono',monospace;font-size:1.6rem;color:var(--gold)}
.dentry-stat-lbl{font-family:'Inter',sans-serif;font-size:.7rem;color:rgba(255,255,255,0.35);margin-top:6px;letter-spacing:.06em;text-transform:uppercase}
@media(max-width:768px){.dentry-section::before{background:none}.dentry-inner{padding:0 24px}.dentry-world{min-height:auto;padding-top:0}.dentry-bg-carousel{display:none}.dentry-form-wrap{padding:0 16px}.dreg-hero-card{padding:24px 20px}.dentry-stats-strip{gap:36px;padding:40px 24px;flex-wrap:wrap}}

.dreg-success-copy{color:rgba(255,255,255,0.6);font-size:.9rem;line-height:1.7;margin-top:8px}
.dreg-postlane-card{margin-top:20px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);padding:28px}
.dreg-postlane-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px}
.dreg-postlane-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:6px}
.dreg-postlane-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.15rem;color:var(--white)}
.dreg-skip-btn{background:none;border:1px solid rgba(255,255,255,0.16);border-radius:999px;color:rgba(255,255,255,0.55);padding:7px 14px;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .18s}
.dreg-skip-btn:hover{border-color:var(--gold);color:var(--gold)}
.dreg-postlane-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.dreg-postlane-types{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.dreg-postlane-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:20px}
.dreg-market-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
.dreg-success-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.dreg-inline-link{background:transparent}
@media(max-width:768px){.dreg-postlane-grid{grid-template-columns:1fr}.dreg-postlane-top{flex-direction:column}.dreg-postlane-actions,.dreg-success-links{flex-direction:column}.dreg-postlane-actions>*,.dreg-success-links>*{width:100%}}

/* === LANE MARKETPLACE === */
.lanes-hero{background:var(--blue-wash);padding:calc(var(--nav-h) + 72px) 48px 64px}
.lanes-hero-wrap{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:40px;align-items:end}
.lanes-eyebrow{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.lanes-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(2.6rem,4vw,4.4rem);line-height:1.02;letter-spacing:-.03em;color:var(--deep);margin-bottom:18px}
.lanes-sub{max-width:620px;font-size:1rem;line-height:1.75;color:var(--muted)}
.lanes-hero-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lanes-hero-stat{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:0 12px 28px rgba(46,139,192,0.08)}
.lanes-hero-num{font-family:'JetBrains Mono',monospace;font-size:1.45rem;font-weight:700;color:var(--gold);line-height:1}
.lanes-hero-lbl{font-size:.75rem;color:var(--muted);margin-top:8px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.lanes-main{padding:0 48px 96px;background:var(--bg)}
.lanes-wrap{max-width:1100px;margin:0 auto}
.lanes-filter-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;transform:translateY(-36px);position:relative;z-index:2}
.lanes-filter-actions{display:flex;align-items:flex-end}
.lanes-reset-btn{width:100%;min-height:44px;background:none;border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;color:var(--deep);cursor:pointer;transition:all .18s}
.lanes-reset-btn:hover{border-color:var(--horizon);color:var(--horizon)}
.lane-section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:12px 0 28px}
.lane-section-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(1.7rem,2vw,2.3rem);color:var(--deep);letter-spacing:-.03em}
.lane-section-note{font-size:.92rem;color:var(--muted);max-width:480px;line-height:1.7}
.lane-group-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:44px}
.lane-group-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden}
.lane-group-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);transition:background .2s}
.lane-group-card:hover::before{background:var(--gold)}
.lane-group-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.05rem;color:var(--deep);line-height:1.3;margin-bottom:12px}
.lane-group-meta{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:18px}
.lane-group-meta-item{font-size:.76rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.lane-group-price{font-family:'JetBrains Mono',monospace;font-size:1.7rem;font-weight:700;color:var(--gold);line-height:1}
.lane-group-cta{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:.84rem;font-weight:700;color:var(--horizon)}
.lane-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lane-driver-card{background:var(--white);border:1px solid var(--border);border-left:4px solid rgba(138,125,114,0.35);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(46,139,192,0.08)}
.lane-driver-card.rating-high{border-left-color:#10b981}
.lane-driver-card.rating-mid{border-left-color:var(--gold)}
.lane-driver-card.rating-low{border-left-color:rgba(138,125,114,0.7)}
.lane-driver-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:rgba(255,122,26,0.2)}
.lane-driver-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}
.lane-driver-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);line-height:1.2}
.lane-driver-sub{font-size:.78rem;color:var(--muted);margin-top:5px}
.lane-rating{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--muted)}
.lane-stars{color:var(--gold);letter-spacing:.12em}
.lane-heart{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,122,26,0.24);background:var(--blue-wash);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:1rem;cursor:pointer;transition:all .18s}
.lane-heart:hover,.lane-heart.active{border-color:var(--gold);background:rgba(255,122,26,0.18);color:var(--gold)}
.lane-route-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,122,26,0.22);border-radius:999px;padding:6px 12px;font-size:.72rem;color:var(--muted);margin-bottom:14px;background:rgba(255,122,26,0.06)}
.lane-route-bar{display:flex;align-items:flex-start;margin:14px 0 10px;gap:0}
.lane-rb-stop{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;width:80px}
.lane-rb-stop--mid{flex:1;min-width:0}
.lane-rb-stop--end{text-align:right;align-items:flex-end}
.lane-rb-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}
.lane-rb-dot--start{background:var(--gold);box-shadow:0 0 0 3px rgba(255,122,26,0.2)}
.lane-rb-dot--mid{background:rgba(46,139,192,0.55);box-shadow:0 0 0 3px rgba(46,139,192,0.12)}
.lane-rb-dot--end{background:#10b981;box-shadow:0 0 0 3px rgba(16,185,129,0.2)}
.lane-rb-line{flex:1;height:2px;background:rgba(46,139,192,0.18);margin-top:5px;align-self:flex-start}
.lane-rb-line--truck{position:relative;overflow:visible}
.lane-rb-truck{position:absolute;top:-14px;left:0;width:36px;height:22px;object-fit:cover;object-position:center;border-radius:3px;opacity:0.75;animation:truck-drive 4s linear infinite;pointer-events:none}
@keyframes truck-drive{0%{left:0;transform:scaleX(1)}49%{left:calc(100% - 36px);transform:scaleX(1)}50%{left:calc(100% - 36px);transform:scaleX(-1)}99%{left:0;transform:scaleX(-1)}100%{left:0;transform:scaleX(1)}}
.lane-rb-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:2px}
.lane-rb-value{font-size:.78rem;color:var(--deep);line-height:1.3;text-align:center;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lane-rb-stop--end .lane-rb-value{text-align:right}
.lane-containers{font-size:.72rem;color:var(--muted);margin-bottom:8px;letter-spacing:.04em}
.lane-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:auto;padding-top:16px}
.lane-price{font-family:'JetBrains Mono',monospace;font-size:1.55rem;font-weight:700;color:var(--gold);line-height:1}
.lane-time{font-size:.74rem;color:var(--muted);margin-top:5px}
.lane-actions{display:flex;gap:8px;flex-wrap:nowrap}
.lane-profile-link,.lane-contact-link{min-height:40px;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;flex:1;text-align:center}
.lane-profile-link{border-color:var(--border-strong);color:var(--deep)}
.lane-profile-link:hover{border-color:var(--gold);color:var(--gold)}
.lane-empty{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted);line-height:1.7}

/* === DRIVER PROFILE === */
.driver-profile-hero{background:var(--blue-wash);padding:calc(var(--nav-h) + 72px) 48px 72px}
.driver-profile-wrap{max-width:1100px;margin:0 auto}
.driver-profile-top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:34px}
.driver-profile-tag{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);margin-bottom:16px}
.driver-profile-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(2.6rem,4vw,4.6rem);line-height:1.02;letter-spacing:-.03em;color:var(--deep);margin-bottom:12px}
.driver-profile-meta{font-size:.95rem;color:var(--muted);line-height:1.8}
.driver-profile-info{margin-bottom:24px}
.dp-info-row{display:flex;flex-wrap:wrap;gap:12px 28px}
.dp-info-item{display:flex;flex-direction:column;gap:3px}
.dp-info-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,0.38);font-family:'Inter',sans-serif}
.dp-info-value{font-size:.95rem;color:rgba(255,255,255,0.88);font-weight:500}
.driver-profile-rating{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:28px}
.driver-profile-rating .lane-stars{font-size:1rem}
.dp-rating-text{font-size:.9rem;color:rgba(255,255,255,0.55)}
.driver-profile-actions{display:flex;gap:12px;flex-wrap:wrap}
.driver-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.driver-stat-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,122,26,0.18);border-radius:var(--radius);padding:24px;position:relative;overflow:hidden;opacity:0;transform:translateY(14px);transition:transform .5s var(--ease-out),opacity .5s var(--ease-out)}
.driver-stat-card.vis{opacity:1;transform:translateY(0)}
.driver-stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:rgba(255,122,26,0.22)}
.driver-stat-card.streak-hot::after{content:'';position:absolute;inset:12px;border:1px solid rgba(255,122,26,0.26);border-radius:var(--radius);animation:driver-ring 2.2s ease-out infinite}
@keyframes driver-ring{0%{opacity:.75;transform:scale(.98)}70%{opacity:0;transform:scale(1.04)}100%{opacity:0;transform:scale(1.04)}}
.driver-stat-num{font-family:'JetBrains Mono',monospace;font-size:2.4rem;font-weight:700;color:var(--gold);line-height:1}
.driver-stat-lbl{font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,0.35);margin-top:8px}
.driver-stat-hint{font-size:.8rem;color:rgba(255,255,255,0.5);margin-top:10px;line-height:1.6}
.dp-route-section,.dp-job-stats-section{margin:32px 0}
.dp-section-hd{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--white);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,122,26,0.18)}
.dp-map-wrap{height:280px;border-radius:var(--radius);overflow:hidden;background:var(--cloud);border:1px solid var(--border);position:relative}
.dp-map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.83rem;color:var(--muted);padding:16px;text-align:center;background:rgba(251,252,254,0.96);z-index:1}
.dp-home-zone{font-size:.8rem;color:rgba(255,255,255,0.58);margin-top:10px}
.dp-job-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dp-stat-mini{background:rgba(255,255,255,0.08);border:1px solid rgba(255,122,26,0.18);border-radius:var(--radius-sm);padding:14px 16px;min-height:92px}
.dp-stat-mini-num{font-family:'JetBrains Mono',monospace;font-size:1.1rem;font-weight:700;color:var(--white);line-height:1.45}
.dp-stat-mini-lbl{font-size:.7rem;color:rgba(255,255,255,0.5);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}
.driver-profile-main{background:var(--bg);padding:88px 48px}
.driver-profile-sec{max-width:1100px;margin:0 auto 56px}
.driver-profile-sec:last-child{margin-bottom:0}
.driver-offers-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.driver-review-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.driver-review-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden}
.driver-review-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border)}
.driver-review-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.driver-review-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:var(--deep)}
.driver-review-date{font-size:.76rem;color:var(--muted);margin-top:4px}
.driver-review-text{font-size:.9rem;color:var(--text-mid);line-height:1.7}
.driver-profile-empty{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:26px;color:var(--muted);line-height:1.7}

body.ll-light .driver-profile-hero{background:var(--cloud)}
body.ll-light .driver-profile-tag{color:var(--horizon)}
body.ll-light .driver-profile-name{color:var(--deep)}
body.ll-light .driver-profile-meta{color:var(--muted)}
body.ll-light .dp-info-label{color:var(--muted)}
body.ll-light .dp-info-value{color:var(--deep)}
body.ll-light .driver-profile-rating .lane-stars{color:var(--gold)}
body.ll-light .dp-rating-text{color:var(--muted)}
body.ll-light .driver-stat-card{background:var(--white);border-color:var(--border)}
body.ll-light .driver-stat-card::before{background:var(--border)}
body.ll-light .driver-stat-num{color:var(--horizon)}
body.ll-light .driver-stat-lbl{color:var(--muted)}
body.ll-light .driver-stat-hint{color:var(--text-mid)}
body.ll-light .dp-section-hd{color:var(--deep);border-bottom-color:var(--border)}
body.ll-light .dp-home-zone{color:var(--muted)}
body.ll-light .dp-stat-mini{background:var(--white);border-color:var(--border)}
body.ll-light .dp-stat-mini-num{color:var(--deep)}
body.ll-light .dp-stat-mini-lbl{color:var(--muted)}

/* === PORTAL REVIEWS + SAVED DRIVERS === */
.portal-view-pane{display:none}
.portal-view-pane.active{display:block}
.portal-complete-card .portal-status-badge{background:rgba(16,185,129,0.12);color:#10b981}
.portal-review-wrap{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.portal-review-title{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.portal-star-row{display:flex;gap:8px;margin-bottom:12px}
.portal-star-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--white);color:var(--muted);font-size:1rem;cursor:pointer;transition:all .18s}
.portal-star-btn:hover,.portal-star-btn.active{border-color:var(--gold);background:var(--gold-dim);color:var(--gold)}
.portal-review-input{width:100%;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;font-family:'Inter',sans-serif;font-size:.85rem;line-height:1.6;min-height:96px;resize:vertical;background:var(--white);margin-bottom:12px}
.portal-review-input:focus{border-color:var(--horizon);outline:none;box-shadow:0 0 0 3px rgba(255,122,26,0.1)}
.portal-review-saved{background:var(--cloud);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}
.portal-review-saved .lane-stars{font-size:.82rem}
.portal-review-copy{font-size:.85rem;color:var(--text-mid);line-height:1.7;margin-top:8px}
.portal-saved-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.portal-saved-empty{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px;text-align:center;color:var(--muted)}
.portal-saved-empty p{margin-bottom:18px;line-height:1.7}
.saved-driver-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px;position:relative;overflow:hidden}
.saved-driver-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border)}
.saved-driver-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:14px}
.saved-driver-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep)}
.saved-driver-sub{font-size:.8rem;color:var(--muted);margin-top:5px}
.saved-driver-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.fleet-panel{display:block}
.fleet-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.fleet-kicker{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.fleet-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.2rem;color:var(--deep);margin-bottom:8px}
.fleet-copy{font-size:.88rem;line-height:1.7;color:var(--muted);margin-bottom:0}
.fleet-create-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:18px}
.fleet-header-line{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap}
.invite-code-box{display:flex;align-items:center;gap:12px;background:var(--cloud);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 16px;margin:12px 0 20px;font-size:.9rem;flex-wrap:wrap}
.invite-code{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--horizon);font-size:1.1rem;letter-spacing:.1em}
.fleet-table-wrap{overflow-x:auto}
.fleet-member-table{width:100%;border-collapse:collapse;font-size:.85rem}
.fleet-member-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.fleet-member-table td{padding:12px;border-bottom:1px solid var(--border);vertical-align:top}
.perm-toggle{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;cursor:pointer}
.perm-toggle input{accent-color:var(--horizon)}
.badge-pending{background:rgba(255,122,26,0.1);color:var(--horizon);font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:3px}
.badge-active-member{background:rgba(16,185,129,0.1);color:#10b981;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:3px}
.fleet-actions-row{display:flex;gap:8px;flex-wrap:wrap}
.fleet-empty-inline{padding:8px 0;color:var(--muted);line-height:1.7}
.fleet-subtitle{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px}
.fleet-perm-list{display:flex;gap:8px;flex-wrap:wrap}
.fleet-perm-pill{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:.74rem;color:var(--muted);background:var(--white)}
.fleet-perm-pill.active{border-color:var(--horizon);color:var(--horizon);background:var(--gold-dim)}
.fleet-status-row{margin-top:6px}

/* === DRIVER PORTAL === */
.driver-auth-section{min-height:100vh;background:var(--cloud);padding-top:calc(var(--nav-h) + 60px);padding-bottom:80px}
.driver-auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,440px);gap:40px;align-items:start}
.driver-auth-copy{padding-top:28px}
.driver-auth-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;max-width:440px;margin:0 auto;box-shadow:0 20px 48px rgba(28,43,58,0.08)}
.driver-auth-link-row{margin-top:18px}
.driver-dash-header{background:var(--blue-wash);color:var(--deep);padding:16px 24px;display:flex;align-items:center;justify-content:space-between;border-radius:var(--radius);margin-bottom:24px;font-size:.9rem;gap:18px;border:1px solid var(--border)}
.driver-dash-headline-block{display:flex;flex-direction:column;gap:4px}
.driver-dash-kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.driver-dash-name{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--deep)}
.driver-dash-meta{font-size:.82rem;color:var(--muted)}
.driver-dash-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:28px}
.driver-dash-tab{background:none;border:none;padding:12px 20px;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .2s,border-color .2s}
.driver-dash-tab.active{color:var(--horizon);border-bottom-color:var(--horizon)}
.driver-dash-pane{display:none}
.driver-dash-pane.active{display:block}
.djob-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;margin-bottom:16px;position:relative;overflow:hidden}
.djob-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border);transition:background .2s}
.djob-card:hover::before{background:var(--gold)}
.djob-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);margin-bottom:8px;letter-spacing:-.02em}
.djob-meta{font-size:.8rem;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
.djob-credit{font-weight:700}
.djob-credit.fast{color:var(--horizon)}
.djob-credit.mid{color:var(--muted)}
.djob-credit.slow{color:#e5484d}
.djob-shipper{font-size:.82rem;color:var(--text-mid);line-height:1.7;margin-bottom:14px}
.djob-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.djob-posted{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.dbid-panel{background:var(--cloud);border-radius:var(--radius-sm);padding:16px;margin-top:12px;display:none;border:1px solid var(--border)}
.dbid-panel.open{display:block}
.dbid-price-row{display:flex;gap:12px;align-items:flex-end}
.dbid-price-field{flex:0 0 180px}
.dbid-note-field{flex:1}
.dbid-note-input{min-height:96px}
.dbid-actions{display:flex;justify-content:flex-end;margin-top:14px}
.driver-empty-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px;color:var(--muted);line-height:1.7}
.driver-bids-grid{display:grid;gap:16px}
.driver-bid-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px 24px;position:relative;overflow:hidden}
.driver-bid-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border)}
.driver-bid-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:12px}
.driver-bid-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);letter-spacing:-.02em}
.driver-bid-sub{font-size:.8rem;color:var(--muted);margin-top:5px}
.driver-bid-price{font-family:'JetBrains Mono',monospace;font-size:1.15rem;font-weight:700;color:var(--gold);line-height:1}
.driver-bid-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:6px 10px;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.driver-bid-status.pending{background:rgba(255,122,26,0.12);color:var(--horizon)}
.driver-bid-status.accepted{background:rgba(16,185,129,0.12);color:#10b981}
.driver-bid-status.rejected{background:rgba(28,43,58,0.08);color:var(--muted)}
.driver-profile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.driver-profile-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.driver-profile-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.driver-profile-value{font-size:.95rem;color:var(--deep);line-height:1.6}
.driver-profile-note{margin-top:20px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;font-size:.88rem;color:var(--muted);line-height:1.7}

@media(max-width:1024px){
  .lanes-hero-wrap,.driver-auth-shell{grid-template-columns:1fr}
  .lane-group-grid,.lane-card-grid,.driver-offers-grid,.driver-review-list,.portal-saved-grid{grid-template-columns:1fr}
}
@media(max-width:768px){
  .lanes-hero,.lanes-main,.driver-profile-hero,.driver-profile-main{padding-left:20px;padding-right:20px}
  .lanes-filter-bar{grid-template-columns:1fr;transform:translateY(-24px)}
  .lanes-hero-metrics,.driver-stat-grid{grid-template-columns:1fr}
  .lane-card-gridline{grid-template-columns:1fr}
  .lane-footer,.saved-driver-head,.driver-profile-top,.driver-dash-header,.driver-bid-top{flex-direction:column;align-items:flex-start}
  .fleet-create-row{grid-template-columns:1fr}
  .driver-auth-card{padding:28px 22px}
  .driver-profile-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .dp-job-stats-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .driver-dash-tabs{overflow-x:auto}
  .dbid-price-row{flex-direction:column}
  .dbid-price-field,.dbid-note-field{width:100%;flex:1 1 auto}
}

body.nav-open{
  overflow:hidden;
}

.nav-links a.nav-active{
  color:var(--gold);
}

.scroll-top{
  position:fixed;
  right:28px;
  bottom:28px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:2px solid var(--border-strong);
  background:var(--white);
  color:var(--gold);
  font-size:22px;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .3s,transform .3s,background .2s,border-color .2s,color .2s;
  z-index:500;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(46,139,192,0.14);
}

.scroll-top.vis{
  opacity:1;
  transform:translateY(0);
}

.scroll-top:hover{
  background:var(--horizon);
  border-color:var(--horizon);
  color:var(--white);
}

.mkt-hero{
  padding:calc(var(--nav-h) + 48px) 0 40px;
  background:var(--blue-wash);
  border-bottom:1px solid var(--border);
}

.mkt-hero-wrap{
  max-width:900px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
}

.mkt-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:2rem;
  font-weight:800;
  color:var(--deep);
  line-height:1.2;
  letter-spacing:-.03em;
}

.mkt-sub{
  font-size:.9rem;
  color:var(--muted);
  margin-top:8px;
  max-width:480px;
  line-height:1.7;
}

.mkt-role-pill{
  font-size:.75rem;
  font-weight:600;
  padding:5px 12px;
  border-radius:999px;
  white-space:nowrap;
}

.mkt-role-pill.driver{
  background:rgba(255,122,26,0.2);
  color:var(--horizon);
  border:1px solid rgba(255,122,26,0.4);
}

.mkt-role-pill.shipper{
  background:rgba(46,139,192,0.08);
  color:var(--blue);
  border:1px solid rgba(46,139,192,0.18);
}

.mkt-role-pill.guest{
  background:var(--white);
  color:var(--muted);
  border:1px solid var(--border);
}

.mkt-role-pill a{
  color:inherit;
  text-decoration:underline;
}

.mkt-filter-bar{
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:14px 24px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  position:sticky;
  top:var(--nav-h);
  z-index:50;
}

.mkt-filter-bar input,
.mkt-filter-bar select{
  padding:10px 12px;
  min-height:44px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:.83rem;
  font-family:'Inter',sans-serif;
  color:var(--deep);
  background:var(--white);
  outline:none;
}

.mkt-filter-bar input:focus,
.mkt-filter-bar select:focus{
  border-color:var(--horizon);
  box-shadow:0 0 0 3px rgba(255,122,26,0.1);
}

.mkt-filter-bar input{
  min-width:200px;
}

.mkt-myjobs-btn{
  min-height:44px;
  padding:7px 14px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:.8rem;
  font-weight:600;
  background:none;
  color:var(--muted);
  cursor:pointer;
  transition:all .15s;
}

.mkt-myjobs-btn.active{
  background:var(--horizon);
  color:var(--white);
  border-color:var(--horizon);
}

.mkt-sort-group{
  display:flex;
  gap:4px;
  margin-left:auto;
  flex-wrap:wrap;
}

.mkt-sort-btn{
  min-height:40px;
  padding:6px 12px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:.78rem;
  background:none;
  color:var(--muted);
  cursor:pointer;
  transition:all .15s;
}

.mkt-sort-btn.active{
  background:var(--blue);
  color:var(--white);
  border-color:var(--blue);
}

.mkt-body{
  max-width:900px;
  margin:0 auto;
  padding:32px 24px 72px;
}

.mkt-count{
  font-size:.83rem;
  color:var(--muted);
  margin-bottom:16px;
}

.mkt-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
}

.mkt-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px 22px;
  position:relative;
  overflow:hidden;
  transition:box-shadow .15s;
}

.mkt-card:hover{
  box-shadow:0 4px 20px rgba(28,43,58,0.1);
}

.mkt-card::before{
  content:'';
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:var(--border);
}

.mkt-card.has-bids::before{
  background:var(--horizon);
}

.mkt-card.own-job::before{
  background:#10b981;
}

.mkt-route{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.95rem;
  color:var(--deep);
  margin-bottom:6px;
}

.mkt-meta{
  font-size:.78rem;
  color:var(--muted);
  margin-bottom:10px;
}

.mkt-credit{
  font-size:.78rem;
  margin-bottom:10px;
}

.mkt-bids{
  font-family:'JetBrains Mono',monospace;
  font-size:.85rem;
  color:var(--gold);
  font-weight:600;
  margin-bottom:10px;
}

.mkt-bids.no-bids{
  color:var(--muted);
  font-family:'Inter',sans-serif;
  font-weight:400;
  font-size:.78rem;
}

.mkt-card-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--border);
}

.mkt-posted{
  font-size:.72rem;
  color:var(--muted);
}

.mkt-bid-btn{
  min-height:40px;
  padding:7px 16px;
  background:var(--horizon);
  color:var(--white);
  border:none;
  border-radius:var(--radius-sm);
  font-size:.8rem;
  font-weight:700;
  cursor:pointer;
  transition:background .15s;
  font-family:'Inter',sans-serif;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.mkt-bid-btn:hover{
  background:var(--orange-d);
}

.mkt-bid-ghost{
  min-height:40px;
  padding:7px 16px;
  border-radius:var(--radius-sm);
  border:1.5px solid var(--border);
  color:var(--muted);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
}

.mkt-bid-ghost:hover{
  border-color:var(--horizon);
  color:var(--horizon);
}

.mkt-own-badge{
  font-size:.7rem;
  font-weight:700;
  padding:3px 8px;
  border-radius:3px;
  background:rgba(16,185,129,0.1);
  color:#10b981;
  text-transform:uppercase;
  letter-spacing:.05em;
}

.mkt-credit-good{
  color:var(--horizon);
  font-weight:600;
}

.mkt-credit-mid{
  color:var(--muted);
}

.mkt-credit-slow{
  color:#e5484d;
  font-weight:600;
}

.mkt-modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(28,43,58,0.6);
  backdrop-filter:blur(4px);
  z-index:400;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.mkt-modal-overlay.open{
  display:flex;
}

.mkt-modal{
  background:var(--cloud);
  border-radius:var(--radius);
  border-top:3px solid var(--gold);
  padding:32px;
  max-width:420px;
  width:100%;
  box-shadow:0 24px 56px rgba(28,43,58,0.25);
}

.mkt-modal-title{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:1.1rem;
  color:var(--deep);
  margin-bottom:16px;
}

.mkt-modal-job{
  font-size:.83rem;
  color:var(--muted);
  margin-bottom:20px;
  line-height:1.6;
  padding:10px 14px;
  background:var(--white);
  border-radius:var(--radius-sm);
  border:1px solid var(--border);
}

.mkt-modal label{
  display:block;
  font-size:.8rem;
  font-weight:600;
  color:var(--deep);
  margin-bottom:4px;
}

.mkt-modal input[type=number],
.mkt-modal textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:.9rem;
  font-family:'Inter',sans-serif;
  outline:none;
  margin-bottom:14px;
  background:var(--white);
}

.mkt-modal input[type=number]:focus,
.mkt-modal textarea:focus{
  border-color:var(--horizon);
  box-shadow:0 0 0 3px rgba(255,122,26,0.1);
}

.mkt-modal-err{
  font-size:.78rem;
  color:#e5484d;
  margin-bottom:10px;
  display:none;
}

.mkt-modal-row{
  display:flex;
  gap:10px;
  margin-top:4px;
}

.mkt-modal-cancel{
  flex:1;
  min-height:44px;
  padding:10px;
  background:none;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  font-size:.85rem;
  cursor:pointer;
  color:var(--muted);
  font-family:'Inter',sans-serif;
}

.mkt-modal-submit{
  flex:2;
  min-height:44px;
  padding:10px;
  background:var(--horizon);
  color:var(--white);
  border:none;
  border-radius:var(--radius-sm);
  font-size:.85rem;
  font-weight:700;
  cursor:pointer;
  font-family:'Inter',sans-serif;
}

.mkt-empty{
  text-align:center;
  padding:64px 24px;
  color:var(--muted);
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
}

.mkt-empty p{
  margin-bottom:16px;
  font-size:1rem;
}

.mkt-manage-link{
  font-size:.8rem;
  font-weight:700;
  color:var(--horizon);
}

.mkt-manage-link:hover{
  color:var(--deep);
}

@media(max-width:768px){
  .mkt-grid{
    grid-template-columns:1fr;
  }

  .mkt-sort-group{
    width:100%;
    margin-left:0;
  }
}

@media(max-width:600px){
  .mkt-filter-bar{
    padding:14px 20px;
  }

  .mkt-filter-bar input,
  .mkt-filter-bar select,
  .mkt-myjobs-btn{
    width:100%;
    min-width:0;
  }

  .mkt-sort-group{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    width:100%;
  }

  .mkt-sort-btn{
    width:100%;
  }

  .mkt-card-footer{
    flex-direction:column;
    align-items:flex-start;
  }

  .mkt-modal{
    padding:24px 20px;
  }

  .mkt-modal-row{
    flex-direction:column;
  }
}

.track-context-banner{
  padding:10px 24px;
  font-size:.83rem;
  font-weight:600;
  text-align:center;
}

.track-context-banner.shipper{
  background:rgba(255,122,26,0.12);
  color:var(--horizon);
}

.track-context-banner.driver{
  background:rgba(46,139,192,0.12);
  color:var(--blue-d);
}

.track-chat-panel{
  max-width:680px;
  margin:32px auto 0;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px 24px;
}

.track-chat-hd{
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.95rem;
  color:var(--deep);
  margin-bottom:14px;
}

.track-msg{
  margin-bottom:10px;
  max-width:75%;
}

.track-msg.from-shipper{
  margin-left:auto;
  text-align:right;
}

.track-msg-meta{
  font-size:.7rem;
  color:var(--muted);
  margin-bottom:2px;
}

.track-msg-bubble{
  display:inline-block;
  padding:7px 12px;
  border-radius:var(--radius-sm);
  font-size:.83rem;
  line-height:1.5;
}

.from-driver .track-msg-bubble{
  background:var(--cloud);
  color:var(--deep);
}

.from-shipper .track-msg-bubble{
  background:var(--horizon);
  color:var(--white);
}

.enq-body{padding:64px 0;background:var(--cloud)}
.enq-search-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:32px}
.enq-job-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.enq-job-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.enq-status-badge{background:rgba(255,122,26,0.08);border-color:var(--border);color:var(--horizon)}
.enq-job-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);margin-bottom:6px}
.enq-job-meta{font-size:.8rem;color:var(--muted);margin-bottom:10px}
.enq-driver-info{font-size:.83rem;color:var(--horizon);font-weight:600;margin-top:8px}
.enq-chat-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;margin-top:24px}
.enq-chat-hd{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.95rem;color:var(--deep);margin-bottom:14px}
.enq-messages{display:flex;flex-direction:column}
.enq-messages .track-msg:last-child{margin-bottom:0}
.enq-empty-chat{font-size:.83rem;color:var(--muted);line-height:1.7}
.enq-support-footer{margin-top:24px;text-align:center;font-size:.83rem;color:var(--muted)}
@media(max-width:640px){
  .enq-search-card,.enq-job-card,.enq-chat-card{padding:20px}
}
.cap-gate-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:500;display:none;align-items:center;justify-content:center;padding:24px}
.cap-gate-modal-overlay.open{display:flex}
.cap-gate-modal{background:var(--white);border-radius:var(--radius);padding:32px;max-width:440px;width:100%;box-shadow:0 8px 40px rgba(0,0,0,0.2);border-top:3px solid var(--gold)}
.cap-gate-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.1rem;color:var(--deep);margin-bottom:12px}
.cap-gate-body{font-size:.875rem;color:var(--text-mid);line-height:1.7;margin-bottom:20px}
.cap-gate-upload-label{display:block;padding:12px;border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center;font-size:.83rem;color:var(--muted);cursor:pointer;margin-bottom:16px;min-height:44px}
.cap-gate-upload-label:hover{border-color:var(--horizon)}
.cap-gate-btns{display:flex;gap:10px}
.cap-gate-submit{flex:2;padding:10px;background:var(--horizon);color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:700;cursor:pointer;font-family:'Inter',sans-serif;min-height:44px}
.cap-gate-cancel{flex:1;padding:10px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;color:var(--muted);font-family:'Inter',sans-serif;min-height:44px}
.booking-dup-warning{background:rgba(229,72,77,0.08);border:1px solid rgba(229,72,77,0.25);border-radius:var(--radius-sm);padding:14px 16px;margin-top:12px;font-size:.85rem;color:var(--deep);display:none}
.booking-dup-warning.show{display:block}
.booking-dup-warning p{margin-bottom:12px}
.booking-dup-btns{display:flex;gap:10px;flex-wrap:wrap}
.booking-dup-confirm{padding:8px 16px;background:#e5484d;color:var(--white);border:none;border-radius:var(--radius-sm);font-size:.83rem;font-weight:700;cursor:pointer;min-height:44px}
.booking-dup-cancel{padding:8px 16px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.83rem;cursor:pointer;color:var(--muted);min-height:44px}
.analytics-body{padding:64px 0;background:var(--cloud)}
.analytics-section{margin-bottom:48px}
.analytics-section h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.1rem;color:var(--deep);margin-bottom:20px}
.analytics-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}
.analytics-total-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px 24px;position:relative;overflow:hidden}
.analytics-total-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--border)}
.analytics-total-card:hover::before{background:var(--gold)}
.analytics-total-value{font-family:'JetBrains Mono',monospace;font-size:1.5rem;font-weight:700;color:var(--deep);line-height:1.1}
.analytics-total-label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:8px}
.analytics-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.analytics-empty{font-size:.88rem;color:var(--muted);line-height:1.7}
.analytics-bar-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.analytics-bar-label{width:120px;font-size:.83rem;color:var(--deep);flex-shrink:0;text-align:right}
.analytics-bar-track{flex:1;background:var(--cloud);border-radius:4px;height:24px;overflow:hidden}
.analytics-bar-fill{height:100%;background:var(--horizon);border-radius:4px;transition:width .4s var(--ease-out);min-width:4px}
.analytics-bar-count{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--muted);width:32px}
.analytics-table{width:100%;border-collapse:collapse;font-size:.85rem}
.analytics-table th{text-align:left;padding:8px 12px;border-bottom:1px solid var(--border);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.analytics-table td{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--deep)}
.dwell-form{background:var(--cloud);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:12px 0}
.dwell-form-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px}
.dwell-time-row{display:flex;gap:12px;align-items:flex-end;margin-bottom:10px}
.dwell-time-group{flex:1}
.dwell-time-group label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}
.dwell-time-group select{width:100%;padding:6px 8px;border:1px solid var(--border);border-radius:6px;font-size:.83rem;background:var(--white)}
.dwell-skip{font-size:.75rem;color:var(--muted);text-decoration:underline;cursor:pointer;background:none;border:none;padding:0;margin-top:6px}
.dwell-badge{display:inline-block;padding:2px 8px;border-radius:20px;font-size:.7rem;font-weight:700;text-transform:uppercase}
.dwell-badge-depot{background:#FFF3CD;color:#856404}
.dwell-badge-customer{background:#D1ECF1;color:#0C5460}
.dwell-badge-port{background:#D4EDDA;color:#155724}
@media(max-width:900px){
  .analytics-totals{grid-template-columns:1fr}
}
@media(max-width:640px){
  .analytics-card{padding:20px}
  .analytics-bar-row{flex-direction:column;align-items:stretch}
  .analytics-bar-label{text-align:left;width:auto}
  .analytics-bar-count{width:auto;text-align:right}
  .analytics-table{font-size:.8rem}
  .analytics-table th,.analytics-table td{padding:8px}
  .dwell-time-row{flex-direction:column;align-items:stretch}
}
.faq-section{padding:56px 0;background:var(--cloud)}
.faq-item{border-bottom:1px solid var(--border);padding:20px 0}
.faq-item:last-child{border-bottom:none}
.faq-q{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1rem;color:var(--deep);margin-bottom:8px}
.faq-a{font-size:.9rem;line-height:1.8;color:var(--text-mid);max-width:680px}


/* --- Sprint 30 T2: per-job QR + copy share link --- */
.job-share{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}
.job-share-qr{flex-shrink:0;width:88px;height:88px;background:var(--white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:4px;line-height:0}
.job-share-qr img{width:100%;height:100%;display:block;image-rendering:pixelated}
.job-share-copy{cursor:pointer;white-space:nowrap}

/* --- Sprint 30 T4: repeat-booking bar --- */
.repeat-booking-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--gold-dim,rgba(255,122,26,0.08));border:1px solid var(--border);border-left:3px solid var(--horizon);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:20px}
.repeat-booking-text{font-size:.85rem;color:var(--text-mid,var(--black));line-height:1.5}
.repeat-booking-text strong{color:var(--deep);font-family:'JetBrains Mono',monospace;font-size:.82rem}
.repeat-booking-bar .btn-outline-sm{cursor:pointer;white-space:nowrap}

/* --- Sprint 30 T5: driver reputation scorecard + lane badge --- */
.dp-reputation{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin:16px 0}
.dp-rep-head{display:flex;align-items:center;gap:18px;margin-bottom:16px}
.dp-rep-score{display:flex;align-items:baseline;font-family:'JetBrains Mono',monospace;color:var(--deep)}
.dp-rep-num{font-size:2.4rem;font-weight:700;line-height:1}
.dp-rep-max{font-size:1rem;color:var(--muted);margin-left:2px}
.dp-rep-meta{flex:1}
.dp-rep-tier{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:.9rem;color:var(--horizon);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
.dp-rep-bar{height:8px;background:var(--cloud);border-radius:6px;overflow:hidden}
.dp-rep-bar span{display:block;height:100%;background:var(--horizon);border-radius:6px;transition:width .5s var(--ease-out,ease)}
.dp-rep-factors{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
@media(max-width:640px){.dp-rep-factors{grid-template-columns:repeat(2,1fr)}}
.dp-rep-factor{background:var(--cloud);border-radius:var(--radius-sm);padding:10px 12px;text-align:center}
.dp-rep-factor-val{font-family:'JetBrains Mono',monospace;font-weight:700;font-size:.95rem;color:var(--deep)}
.dp-rep-factor-lbl{font-size:.65rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.lane-rep-badge{display:inline-block;margin-top:6px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--horizon);background:var(--gold-dim,rgba(255,122,26,0.08));border:1px solid var(--border);border-radius:20px;padding:2px 10px}

/* --- Sprint 30 T7: PWA offline banner --- */
.ll-offline-banner{position:fixed;left:0;right:0;bottom:0;z-index:600;transform:translateY(100%);transition:transform .3s var(--ease-out,ease);background:var(--white);color:var(--deep);font-size:.8rem;text-align:center;padding:10px 16px;box-shadow:0 -2px 12px rgba(46,139,192,0.14);border-top:2px solid var(--orange)}
.ll-offline-banner.show{transform:translateY(0)}

/* --- Completed Trips (history.html) --- */
.hist-back{display:inline-block;margin-top:22px;font-size:.85rem;font-weight:600;color:var(--blue);text-decoration:none;transition:color .2s var(--ease-out,ease)}
.hist-back:hover,.hist-back:focus-visible{color:var(--horizon)}
.hist-body{padding:56px 0;background:var(--cloud);min-height:46vh}
.hist-status{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:28px;font-size:.92rem;color:var(--text-mid);text-align:center}
.hist-status a{color:var(--horizon);font-weight:600}
.hist-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:720px){.hist-list{grid-template-columns:1fr}}
.hist-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px;transition:box-shadow .2s var(--ease-out,ease),transform .2s var(--ease-out,ease)}
.hist-card:hover{box-shadow:0 8px 28px rgba(28,43,58,0.1);transform:translateY(-2px)}
.hist-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.hist-id{font-family:'JetBrains Mono',monospace;font-size:.78rem;font-weight:500;color:var(--muted);letter-spacing:.02em}
.hist-pod{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#155724;background:#D4EDDA;border-radius:20px;padding:3px 10px}
.hist-route{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:1.05rem;color:var(--deep);line-height:1.35}
.hist-meta{font-size:.78rem;color:var(--muted)}
.hist-driver{font-size:.85rem;color:var(--text-mid);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hist-amount{font-family:'JetBrains Mono',monospace;font-weight:600;color:var(--deep)}
.hist-completed{font-size:.72rem;color:var(--muted)}
.hist-actions{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}
.hist-btn{flex:1;min-width:120px;text-align:center;padding:10px 14px;border-radius:var(--radius-sm);font-size:.83rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .2s var(--ease-out,ease),color .2s var(--ease-out,ease)}
.hist-btn-primary{background:var(--horizon);color:var(--white);border:1px solid var(--horizon)}
.hist-btn-primary:hover{background:#a86a36}
.hist-btn-ghost{background:none;color:var(--deep);border:1px solid var(--border)}
.hist-btn-ghost:hover{border-color:var(--horizon);color:var(--horizon)}

/* =========================================================================
   PALETTE PIVOT CONTRAST FIXES (2026-06-24)
   Light-page (.ll-light) components that kept dark-mode white text after the
   white/blue/orange token remap. Scoped to .ll-light so the 4 dark pages and
   any genuinely-dark context are untouched. Preserves white-on-orange/navy.
   ========================================================================= */

/* book.html -- job type selector (white form surface) */
.ll-light .job-type-btn{background:var(--surface);border-color:var(--line);color:var(--muted)}
.ll-light .job-type-btn:hover:not(.active){border-color:var(--blue);color:var(--ink)}
.ll-light .job-type-btn.active{background:var(--orange);border-color:var(--orange);color:#fff}
.ll-light .job-type-card.active .jtc-label{color:#fff}
.ll-light .job-type-card.active .jtc-desc{color:rgba(255,255,255,0.88)}

/* drivers.html -- benefits grid (blue-wash section) */
.ll-light .benefit-card{background:var(--surface);border-color:var(--line)}
.ll-light .benefit-title{color:var(--ink)}
.ll-light .benefit-desc{color:var(--muted)}

/* shared -- generic hero badge */
.ll-light .hero-badge{color:var(--muted)}

/* drivers.html -- registration "world" hero is light now; recolor its text/cards */
.ll-light .dreg-hero-card{box-shadow:0 18px 48px rgba(27,43,58,0.12)}
.ll-light .dentry-form-sub{color:var(--muted)}
.ll-light .dentry-stat-lbl{color:var(--muted)}
.ll-light .dentry-stats-strip{border-top-color:var(--line)}
.ll-light .dentry-alt-link{border-color:var(--line);color:var(--muted)}
.ll-light .dentry-alt-link:hover{border-color:var(--blue);color:var(--ink)}

/* drivers.html -- decorative job carousel behind the form */
.ll-light .dcarousel-card{background:var(--surface);border-color:rgba(255,122,26,0.25)}
.ll-light .dccard-id,.ll-light .dccard-meta,.ll-light .dccard-lbl,.ll-light .dccard-hint{color:var(--muted)}
.ll-light .dccard-route{color:var(--ink)}
.ll-light .dccard-val{color:var(--ink)}
.ll-light .dccard-footer{border-top-color:var(--line)}

/* drivers.html -- post-registration "post your first lane" card */
.ll-light .dreg-postlane-card{background:var(--surface);border-color:var(--line)}
.ll-light .dreg-postlane-kicker{color:var(--muted)}
.ll-light .dreg-postlane-title{color:var(--ink)}
.ll-light .dreg-success-copy{color:var(--muted)}
.ll-light .dreg-skip-btn{border-color:var(--line);color:var(--muted)}
.ll-light .dreg-skip-btn:hover{border-color:var(--orange);color:var(--orange)}

/* ===== Cookie consent modal (Cookie use: Reject All / Accept / Settings) ===== */
.cookie-modal-overlay{position:fixed;inset:0;z-index:600;display:flex;align-items:flex-end;justify-content:center;padding:20px;background:rgba(20,40,61,0.45);opacity:0;visibility:hidden;transition:opacity .25s var(--ease-out),visibility .25s}
.cookie-modal-overlay.show{opacity:1;visibility:visible}
@media(min-width:720px){.cookie-modal-overlay{align-items:center}}
.cookie-modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:520px;width:100%;padding:28px 28px 24px;box-shadow:0 24px 64px rgba(20,40,61,0.22);transform:translateY(14px);transition:transform .25s var(--ease-out)}
.cookie-modal-overlay.show .cookie-modal{transform:none}
.cookie-modal-title{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.25rem;color:var(--ink);margin-bottom:12px}
.cookie-modal-copy{font-size:.9rem;line-height:1.7;color:var(--muted);margin-bottom:18px}
.cookie-settings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:18px}
.cookie-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;font-size:.85rem;color:var(--ink);cursor:pointer}
.cookie-row+.cookie-row{border-top:1px solid var(--line)}
.cookie-row-sub{font-size:.78rem;color:var(--muted);font-weight:400}
.cookie-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);flex-shrink:0}
.cookie-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cookie-link-btn{background:none;border:none;color:var(--blue);font-family:'Inter',sans-serif;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;padding:0}
.cookie-link-btn:hover{color:var(--blue-d)}
.cookie-modal-btns{display:flex;gap:10px;margin-left:auto}
.cookie-btn-reject{padding:10px 18px;background:transparent;border:1.5px solid var(--line-2);border-radius:var(--radius-sm);color:var(--ink);font-family:'Inter',sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:border-color .18s,color .18s}
.cookie-btn-reject:hover{border-color:var(--blue);color:var(--blue)}
.cookie-btn-accept{padding:10px 18px;background:var(--orange);border:none;border-radius:var(--radius-sm);color:#fff;font-family:'Inter',sans-serif;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .18s,transform .18s}
.cookie-btn-accept:hover{background:var(--orange-d);transform:translateY(-1px)}
@media(max-width:480px){.cookie-modal-btns{width:100%}.cookie-btn-reject,.cookie-btn-accept{flex:1}}
