:root{
  --bg:#f3f5f8;
  --surface:#ffffff;
  --text:#141b28;
  --muted:#677489;
  --line:#dce3ec;
  --dark:#101722;
  --dark-2:#1c2738;
  --accent:#3b82f6;
  --accent-2:#8b5cf6;
  --accent-soft:#eef4ff;
  --success:#0f766e;
  --radius:24px;
  --shadow:0 20px 60px rgba(16,23,34,.10);
}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f4f6f9 0%,#eef2f6 100%);color:var(--text)}
a{text-decoration:none}
.small-muted,.text-secondary{color:var(--muted)!important}
.header-topline{background:#0e1726;color:#d6dbe4;padding:.65rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header{backdrop-filter:blur(14px);background:rgba(255,255,255,.88);border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 8px 30px rgba(15,23,42,.06)}
.brand-logo{font-size:2rem;letter-spacing:-.03em}
.brand-accent{color:var(--accent)}
.navbar .nav-link{color:#425066;font-weight:500;padding:.65rem .9rem!important}
.navbar .nav-link:hover{color:#111827}
.header-cta{box-shadow:0 10px 25px rgba(16,23,34,.18)}
.hero-world-section{position:relative;min-height:760px;padding:90px 0 70px;isolation:isolate}
.hero-map-bg{position:absolute;inset:0;z-index:-3;opacity:.85}
.hero-overlay{position:absolute;inset:0;z-index:-2;background:radial-gradient(circle at 16% 24%,rgba(255,255,255,.86),rgba(255,255,255,.72) 32%,rgba(255,255,255,.35) 55%,rgba(255,255,255,.78) 100%),linear-gradient(180deg,rgba(255,255,255,.62),rgba(244,247,252,.92))}
.hero-content-wrap{position:relative;z-index:2}
.hero-kicker,.section-kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;background:rgba(255,255,255,.9);border:1px solid rgba(59,130,246,.15);box-shadow:0 8px 20px rgba(59,130,246,.08);font-size:.82rem;font-weight:700;color:#35507a;letter-spacing:.02em;text-transform:uppercase}
.hero-title{font-size:clamp(2.4rem,4vw,4.45rem);line-height:1.05;font-weight:800;letter-spacing:-.04em;max-width:860px}
.hero-lead{font-size:1.14rem;line-height:1.75;color:#4f5d73;max-width:760px}
.hero-badges{display:flex;flex-wrap:wrap;gap:.8rem}.hero-badges span{padding:.8rem 1rem;border-radius:999px;background:rgba(255,255,255,.88);border:1px solid rgba(15,23,42,.08);font-weight:600;color:#25334a;box-shadow:0 10px 24px rgba(16,23,34,.06)}
.hero-floating-shell{padding-left:1rem}
.hero-dashboard-card,.dashboard-card,.glass-card,.info-card,.step-card,.industry-card,.price-card{background:rgba(255,255,255,.92);border:1px solid rgba(15,23,42,.08);border-radius:var(--radius);box-shadow:var(--shadow)}
.hero-dashboard-card{padding:1.4rem;backdrop-filter:blur(10px)}
.panel-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}
.status-chip{display:inline-flex;align-items:center;padding:.5rem .8rem;border-radius:999px;background:#edf7f4;color:#0a6a55;font-size:.85rem;font-weight:700;border:1px solid rgba(15,118,110,.18)}
.dashboard-mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:1rem}
.dashboard-mini-stat{padding:1rem;border-radius:18px;background:linear-gradient(180deg,#fff,#f7f9fc);border:1px solid var(--line)}
.dashboard-mini-stat span,.metric-label{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.dashboard-mini-stat strong,.metric-value{display:block;margin-top:.25rem;font-size:1.4rem;font-weight:800;letter-spacing:-.04em}
.overview-map-shell,.map-shell{border-radius:20px;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#eef4fb}
.overview-map-shell #overviewMap,.map-shell #plannerMap{height:360px}
.elevated-map{box-shadow:0 18px 40px rgba(28,39,56,.12)}
.section-head{max-width:920px;margin:0 auto}.content-section-title{font-size:clamp(2rem,3vw,3rem);letter-spacing:-.035em}
.glass-card{padding:1.5rem;backdrop-filter:blur(10px)}
.feature-topline{display:flex;justify-content:space-between;align-items:center}.feature-icon{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:1.2rem;font-weight:900}.feature-tag{padding:.4rem .75rem;border-radius:999px;background:#f1f5ff;color:#3d4f8a;font-size:.75rem;font-weight:700;border:1px solid rgba(59,130,246,.1)}
.industry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.industry-card{padding:1.4rem;background:linear-gradient(180deg,#ffffff,#f7f9fc)}.industry-card h3{font-size:1.1rem;font-weight:800}.industry-card p{margin:0;color:var(--muted)}
.dark-card{background:linear-gradient(135deg,#0f172a,#1f2d44);border-color:rgba(255,255,255,.08)}
.btn-gradient{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:0}
.table-like{border-radius:24px;overflow:hidden;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:var(--shadow)}
.soft-surface{background:rgba(255,255,255,.96)}
.row-item{display:grid;grid-template-columns:2fr 1.5fr .8fr 1.4fr;gap:1rem;padding:1rem 1.2rem;border-top:1px solid #edf1f6;font-weight:500}.row-item.head{background:#101722;color:#fff;font-weight:700;border-top:0}.row-item:not(.head):nth-child(even){background:#fbfcfe}
.pricing-zone{position:relative;background:radial-gradient(circle at top left,rgba(59,130,246,.08),rgba(255,255,255,0) 40%),radial-gradient(circle at top right,rgba(139,92,246,.08),rgba(255,255,255,0) 35%)}
.price-card{padding:2rem;display:flex;flex-direction:column;position:relative;overflow:hidden}.price-card:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,0))}
.price-eyebrow{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#47556d;margin-bottom:1rem}.price-value{font-size:3.35rem;font-weight:900;letter-spacing:-.06em;line-height:1}.price-value span{font-size:1.15rem;font-weight:700;color:var(--muted);margin-left:.35rem}.price-copy{margin-top:1rem;color:var(--muted);min-height:72px}
.price-list{margin:0;padding-left:1.15rem;color:#516176}.price-list li{margin:.5rem 0}
.starter-card{background:linear-gradient(180deg,#ffffff,#f4f8ff)}
.featured-card{background:linear-gradient(180deg,#101722,#1b2740);color:#fff;transform:translateY(-10px)}.featured-card .price-eyebrow,.featured-card .price-copy,.featured-card .price-list,.featured-card .price-value span{color:#d5deec}.featured-card .btn{box-shadow:0 12px 30px rgba(0,0,0,.22)}
.enterprise-card{background:linear-gradient(180deg,#fff8f1,#fff)}
.badge-featured{position:absolute;right:1.25rem;top:1.25rem;padding:.45rem .8rem;border-radius:999px;background:#ef4444;color:#fff;font-size:.75rem;font-weight:800}
.cta-band{display:flex;justify-content:space-between;gap:2rem;align-items:center;border-radius:30px;padding:2rem 2.1rem}.strong-cta{background:linear-gradient(135deg,#111827,#1f2937 52%,#223965);box-shadow:0 25px 60px rgba(16,23,34,.20);color:#fff}
.topbar-dark{background:#0f172a;color:#d6dce7;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar-nav{position:sticky;top:120px}.sidebar-nav a{display:flex;padding:.85rem 1rem;border-radius:14px;color:#4b5a72;font-weight:600}.sidebar-nav a.active,.sidebar-nav a:hover{background:#eff4ff;color:#1d4ed8}
.summary-stat{background:linear-gradient(180deg,#fff,#f7f9fc);padding:1.25rem;border-radius:20px;border:1px solid var(--line);box-shadow:var(--shadow)}
.route-sidebar textarea{resize:vertical}.route-stop{padding:1rem;border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:.8rem}.route-stop .num{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}
.soft-chip{padding:.45rem .85rem;border-radius:999px;background:#edf2ff;border:1px solid rgba(59,130,246,.1);font-weight:700;color:#37548b}.map-shell #plannerMap{height:520px}
.admin-hero{background:linear-gradient(135deg,#101722,#1f2d44);color:#fff;border-radius:30px;padding:2rem}
.form-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow)}
.site-footer{padding-bottom:2rem}.footer-panel{background:linear-gradient(160deg,#111827,#182234);border-radius:32px;padding:2rem 2rem 1.5rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 30px 80px rgba(16,23,34,.22)}.footer-title{color:#fff;font-weight:800;margin-bottom:1rem}.footer-text{color:#bfc8d8}.footer-links a{color:#d7e0ef;display:inline-flex;padding:.25rem 0}.footer-links a:hover{color:#fff}.footer-badge{padding:.5rem .75rem;border-radius:999px;background:rgba(255,255,255,.08);color:#e7eef9;border:1px solid rgba(255,255,255,.08)}.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
.import-dropzone{border:2px dashed #b8c5d6;border-radius:24px;padding:2rem;background:#f9fbff;text-align:center}.import-preview{background:#fff;border:1px solid var(--line);border-radius:22px;padding:1rem;max-height:320px;overflow:auto}.planner-results{white-space:pre-wrap;background:#0f172a;color:#e5eefb;padding:1rem;border-radius:22px;min-height:110px}
@media (max-width: 991px){
  .hero-world-section{padding-top:60px;min-height:auto}
  .hero-floating-shell{padding-left:0}
  .dashboard-mini-grid{grid-template-columns:repeat(2,1fr)}
  .industry-grid{grid-template-columns:1fr 1fr}
  .cta-band{flex-direction:column;align-items:flex-start}
  .row-item{grid-template-columns:1.2fr 1fr .7fr 1fr}
}
@media (max-width: 767px){
  .brand-logo{font-size:1.6rem}
  .hero-title{font-size:2.3rem}
  .dashboard-mini-grid,.industry-grid{grid-template-columns:1fr}
  .row-item,.row-item.head{grid-template-columns:1fr;gap:.35rem}
  .overview-map-shell #overviewMap{height:280px}
  .map-shell #plannerMap{height:360px}
  .price-card{padding:1.5rem}
}


.btn-primary{background:linear-gradient(135deg,#2563eb,#7c3aed);border:none;box-shadow:0 14px 28px rgba(59,130,246,.22)}
.info-card{background:rgba(255,255,255,.94);border:1px solid rgba(15,23,42,.08);border-radius:24px;padding:1.5rem;box-shadow:var(--shadow)}
.table td,.table th{vertical-align:middle}


.import-preview-table-wrap{border:1px solid rgba(15,23,42,.08);border-radius:24px;background:#fff;overflow:auto;min-height:280px}
.import-preview-table{min-width:640px;margin:0}
.import-preview-table th,.import-preview-table td{white-space:nowrap;padding:.8rem 1rem;border-color:#edf1f6}
.import-preview-table .active-col{background:#eff4ff;color:#1d4ed8;font-weight:700}
.empty-state{display:flex;align-items:center;justify-content:center;min-height:260px;color:#64748b}
.print-card-link{display:inline-flex;align-items:center;gap:.5rem}

.import-map-select{background:#fff}
#stopMetaEditor .border{border-color:#d8e0ea!important;box-shadow:0 10px 30px rgba(15,23,42,.04)}
#vehicleGroupsBox .border{border-color:#d8e0ea!important;background:#fbfdff}


/* V10 modern planner and dashboard */
.hero-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hero-proof-card{background:rgba(255,255,255,.75);backdrop-filter:blur(10px);border:1px solid rgba(15,23,42,.08);border-radius:18px;padding:14px 16px;box-shadow:0 18px 40px rgba(15,23,42,.08)}
.hero-proof-card strong{display:block;font-size:.95rem;color:#10203a}
.hero-proof-card small{display:block;color:#5b6b83;margin-top:4px}
.pricing-grid-modern .price-card{position:relative;overflow:hidden;border:1px solid rgba(33,43,70,.08);box-shadow:0 20px 50px rgba(24,42,82,.08)}
.pricing-grid-modern .starter-card{background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%)}
.pricing-grid-modern .featured-card{background:linear-gradient(180deg,#19376d 0%,#3557b5 100%);color:#fff;transform:translateY(-8px)}
.pricing-grid-modern .featured-card .price-copy,.pricing-grid-modern .featured-card .price-list li{color:rgba(255,255,255,.88)}
.pricing-grid-modern .enterprise-card{background:linear-gradient(180deg,#ffffff 0%,#fff5ea 100%)}
.pricing-grid-modern .price-card:before{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.35)}
.route-planner-page .planner-hero-panel{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:28px 30px;border-radius:28px;background:linear-gradient(135deg,#0e1b32 0%,#23427d 48%,#587dde 100%);box-shadow:0 20px 60px rgba(16,34,67,.25)}
.planner-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.planner-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.planner-kpi-card{background:#fff;border:1px solid rgba(15,23,42,.07);border-radius:22px;padding:18px 20px;box-shadow:0 18px 40px rgba(15,23,42,.06)}
.planner-kpi-card span{display:block;color:#5b6b83;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.planner-kpi-card strong{display:block;font-size:1.65rem;color:#10203a;margin-top:6px}
.planner-kpi-card small{display:block;color:#7a879b;margin-top:4px}
.planner-sidebar-card,.planner-panel-card{border-radius:26px;box-shadow:0 18px 40px rgba(15,23,42,.06)}
.planner-card-title{font-weight:700;color:#10203a;font-size:1.05rem;margin-bottom:16px}
.planner-note-box{padding:14px 16px;border-radius:16px;background:#eef4ff;color:#23427d;font-size:.94rem;border:1px solid rgba(59,91,219,.12)}
.planner-textarea{min-height:220px;border-radius:18px}
.planner-map-shell{background:#fff;border-radius:28px;overflow:hidden;border:1px solid rgba(15,23,42,.08)}
.planner-map-topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%)}
.planner-map-badges{display:flex;gap:10px;flex-wrap:wrap}
#plannerMap{height:560px}
.planner-summary-grid .row-item{grid-template-columns:2.4fr 1fr .7fr 1fr}
.dashboard-page .modern-dashboard-hero,.admin-hero.modern-dashboard-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:18px}
.hero-inline-actions{display:flex;gap:12px;flex-wrap:wrap}
.summary-stat{border-radius:22px;border:1px solid rgba(15,23,42,.06);box-shadow:0 18px 40px rgba(15,23,42,.05)}
.summary-stat.accent-blue{background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%)}
.summary-stat.accent-green{background:linear-gradient(180deg,#ffffff 0%,#eefcf5 100%)}
.summary-stat.accent-purple{background:linear-gradient(180deg,#ffffff 0%,#f4efff 100%)}
.summary-sub{font-size:.86rem;color:#7a879b;margin-top:6px}
.quick-link-card{display:block;height:100%;padding:18px 18px;border-radius:20px;text-decoration:none;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid rgba(15,23,42,.07);box-shadow:0 12px 32px rgba(15,23,42,.05);transition:.2s ease}
.quick-link-card strong{display:block;color:#10203a}
.quick-link-card span{display:block;margin-top:6px;color:#617089;font-size:.92rem}
.quick-link-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(15,23,42,.08)}
.resource-pills{display:flex;flex-wrap:wrap;gap:10px}
.resource-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:#f5f8ff;color:#23427d;text-decoration:none;border:1px solid rgba(35,66,125,.1)}
.modern-table thead th{background:#f8fbff;color:#42536d}
.modern-table{border-collapse:separate;border-spacing:0 10px}
.modern-table tbody tr{background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.04)}
.modern-table tbody td{border-top:1px solid rgba(15,23,42,.05);border-bottom:1px solid rgba(15,23,42,.05)}
.modern-table tbody td:first-child{border-left:1px solid rgba(15,23,42,.05);border-top-left-radius:14px;border-bottom-left-radius:14px}
.modern-table tbody td:last-child{border-right:1px solid rgba(15,23,42,.05);border-top-right-radius:14px;border-bottom-right-radius:14px}
@media (max-width:1199px){.planner-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.route-planner-page .planner-hero-panel{flex-direction:column;align-items:flex-start}#plannerMap{height:480px}}
@media (max-width:767px){.hero-proof-grid{grid-template-columns:1fr}.planner-kpi-row{grid-template-columns:1fr}.planner-map-topbar,.dashboard-page .modern-dashboard-hero,.admin-hero.modern-dashboard-hero{flex-direction:column;align-items:flex-start}#plannerMap{height:380px}}


/* --- V11 Planner UI refresh --- */
.site-header{backdrop-filter:blur(16px);background:rgba(255,255,255,.86);border-bottom:1px solid rgba(15,23,42,.06)}
.header-topline{background:linear-gradient(90deg,#0f172a,#1f3a5f);color:#d8e4f8}
.route-planner-page{background:linear-gradient(180deg,#eef4fb 0%,#f8fafc 48%,#ffffff 100%)}
.planner-hero-panel{position:relative;overflow:hidden;border-radius:30px;padding:2rem 2rem;background:
linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,64,175,.9)),
radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 35%);
box-shadow:0 26px 70px rgba(15,23,42,.18)}
.planner-hero-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:26px 26px;opacity:.25;pointer-events:none}
.planner-hero-panel > *{position:relative;z-index:1}
.planner-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.planner-kpi-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.planner-kpi-card{border-radius:24px;padding:1rem 1.1rem;background:#fff;border:1px solid rgba(15,23,42,.07);box-shadow:0 16px 40px rgba(15,23,42,.08)}
.planner-kpi-card span{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#5c6b81;font-weight:700}
.planner-kpi-card strong{display:block;font-size:1.9rem;line-height:1.1;margin:.35rem 0;color:#0f172a}
.planner-kpi-card small{color:#64748b}
.planner-sidebar-card{position:sticky;top:110px;border-radius:28px;box-shadow:0 24px 60px rgba(15,23,42,.09)}
.planner-switch-panel{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.9rem 1rem;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#eef4ff);border:1px solid rgba(59,130,246,.14)}
.planner-textarea{border-radius:20px;background:#fbfdff;border:1px solid rgba(15,23,42,.08)}
.planner-board-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:0 .1rem}
.planner-toolbar-title{font-weight:800;color:#0f172a}
.planner-stop-board{display:grid;gap:.85rem}
.planner-stop-card{display:grid;grid-template-columns:46px 1fr auto;gap:1rem;align-items:center;padding:1rem;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 32px rgba(15,23,42,.06);cursor:pointer;transition:.2s ease}
.planner-stop-card:hover{transform:translateY(-2px);box-shadow:0 20px 40px rgba(15,23,42,.1)}
.planner-stop-card.is-active,.stop-meta-card.is-active,.planner-summary-grid .row-item.is-active{border-color:rgba(37,99,235,.35)!important;box-shadow:0 0 0 4px rgba(59,130,246,.08),0 20px 40px rgba(15,23,42,.1)!important;background:linear-gradient(180deg,#ffffff,#f7fbff)}
.planner-stop-card.drop-target{border-color:#2563eb;border-style:dashed}
.planner-stop-card.is-dragging{opacity:.55}
.planner-stop-handle{width:46px;height:46px;border-radius:16px;background:linear-gradient(135deg,#0f172a,#334155);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;letter-spacing:.08em}
.planner-stop-top{display:flex;gap:.6rem;align-items:center;margin-bottom:.2rem}
.planner-stop-order{display:inline-flex;min-width:28px;height:28px;border-radius:999px;background:#e8efff;align-items:center;justify-content:center;font-weight:800;color:#1d4ed8}
.planner-stop-type{font-size:.78rem;padding:.35rem .6rem;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.planner-stop-address{font-weight:700;color:#0f172a}
.planner-stop-sub,.planner-stop-meta-line{font-size:.85rem;color:#64748b}
.planner-stop-actions{display:flex;flex-direction:column;gap:.5rem}
.planner-stop-btn{border:0;border-radius:999px;padding:.5rem .8rem;background:#edf2f7;color:#0f172a;font-size:.82rem;font-weight:700}
.planner-stop-btn.danger{background:#fff1f2;color:#be123c}
.planner-stop-btn.muted{background:#f8fafc;color:#94a3b8}
.planner-map-shell{border-radius:30px;background:#fff;padding:1rem;border:1px solid rgba(15,23,42,.08);box-shadow:0 24px 60px rgba(15,23,42,.1)}
.planner-map-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .5rem 1rem}
.planner-map-badges{display:flex;gap:.5rem;flex-wrap:wrap}
.soft-chip{display:inline-flex;align-items:center;padding:.45rem .75rem;border-radius:999px;background:#eff6ff;border:1px solid rgba(59,130,246,.14);font-weight:700;color:#36527d}
#plannerMap{height:620px;border-radius:24px;overflow:hidden}
.planner-marker-bubble{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#8b5cf6);color:#fff;font-weight:800;box-shadow:0 12px 24px rgba(59,130,246,.28);border:2px solid #fff}
.planner-panel-card{border-radius:28px}
.planner-summary-grid{border-radius:20px;overflow:hidden;background:#f8fafc;border:1px solid rgba(15,23,42,.08)}
.planner-summary-grid .row-item{display:grid;grid-template-columns:minmax(0,2fr) 110px 70px 110px;gap:.75rem;padding:.9rem 1rem;border-bottom:1px solid rgba(15,23,42,.06);cursor:pointer;background:#fff}
.planner-summary-grid .row-item.head{background:#eff6ff;font-weight:800;color:#284467;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em;cursor:default}
.planner-summary-grid .row-item:last-child{border-bottom:0}
.stop-meta-card{padding:1rem;border-radius:22px;border:1px solid rgba(15,23,42,.08);background:#fff;box-shadow:0 12px 26px rgba(15,23,42,.05);margin-bottom:1rem}
.stop-meta-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-bottom:.75rem}
.planner-results{border-radius:18px;padding:1rem 1.1rem;background:linear-gradient(180deg,#f8fbff,#f3f7ff);border:1px solid rgba(59,130,246,.12)}
.violation-item{padding:.55rem .7rem;border-radius:14px;background:#fff1f2;border:1px solid rgba(225,29,72,.12);color:#9f1239;margin-top:.5rem}
.vehicle-group-card{padding:1rem;border-radius:18px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 10px 24px rgba(15,23,42,.05);margin-bottom:.75rem}
.sidebar-nav a{border-radius:16px;padding:.85rem 1rem;font-weight:700;color:#334155;transition:.18s ease}
.sidebar-nav a:hover,.sidebar-nav a.active{background:linear-gradient(135deg,#0f172a,#334155);color:#fff;box-shadow:0 12px 28px rgba(15,23,42,.15)}
.table{--bs-table-bg:transparent}
.table thead th{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;border-bottom-color:rgba(15,23,42,.08)}
.table tbody tr{background:#fff}
.table tbody td{border-bottom-color:rgba(15,23,42,.06)}
.dashboard-card,.info-card{border-radius:26px}
.summary-stat{border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.07);box-shadow:0 14px 30px rgba(15,23,42,.06)}
.crud-table-card,.crud-form-card{border-radius:26px}
@media (max-width: 1399.98px){
  .planner-kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 991.98px){
  .planner-sidebar-card{position:static}
  #plannerMap{height:460px}
  .planner-summary-grid .row-item{grid-template-columns:minmax(0,1.4fr) 90px 60px 90px}
}
@media (max-width: 767.98px){
  .planner-kpi-row{grid-template-columns:1fr}
  .planner-stop-card{grid-template-columns:40px 1fr}
  .planner-stop-actions{grid-column:1 / -1;flex-direction:row}
  .planner-map-topbar,.planner-board-toolbar,.stop-meta-header{flex-direction:column;align-items:flex-start}
  .planner-summary-grid .row-item{grid-template-columns:1fr}
  .planner-summary-grid .row-item.head{display:none}
}

/* V12 dispatch UI */
.planner-hero-panel-v2{background:linear-gradient(135deg,#0f172a 0%,#1f3a6d 52%,#334fa3 100%);position:relative;overflow:hidden}
.planner-hero-panel-v2:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 82% 18%,rgba(255,255,255,.16),transparent 30%),radial-gradient(circle at 18% 78%,rgba(255,255,255,.08),transparent 28%);pointer-events:none}
.planner-kpi-row-v2{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.planner-kpi-card{padding:1.25rem 1.35rem;border-radius:22px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 18px 40px rgba(15,23,42,.08)}
.planner-kpi-card span{display:block;color:#66748a;font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.planner-kpi-card strong{display:block;margin-top:.35rem;font-size:2rem;letter-spacing:-.04em}
.planner-kpi-card small{display:block;color:#7a8799}
.planner-kpi-card.accent-blue{background:linear-gradient(180deg,#ffffff 0%,#eef5ff 100%)}
.planner-kpi-card.accent-green{background:linear-gradient(180deg,#ffffff 0%,#effdf7 100%)}
.planner-kpi-card.accent-purple{background:linear-gradient(180deg,#ffffff 0%,#f5efff 100%)}
.planner-kpi-card.accent-orange{background:linear-gradient(180deg,#ffffff 0%,#fff4e8 100%)}
.planner-map-shell-v2 #plannerMap{height:600px}
.planner-sidebar-card{position:sticky;top:112px}
.planner-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.planner-card-title{font-size:1.1rem;font-weight:800;letter-spacing:-.02em}
.planner-filter-bar{display:grid;gap:.75rem}
.planner-chip-row{display:flex;flex-wrap:wrap;gap:.55rem}
.planner-filter-chip{border:1px solid rgba(37,99,235,.12);background:#f5f8ff;color:#315394;padding:.55rem .9rem;border-radius:999px;font-weight:700;font-size:.83rem}
.planner-filter-chip.is-active{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border-color:transparent;box-shadow:0 12px 28px rgba(37,99,235,.28)}
.planner-stop-board{display:grid;gap:.8rem;max-height:480px;overflow:auto;padding-right:.2rem}
.planner-stop-card{display:grid;grid-template-columns:48px 1fr auto;gap:1rem;padding:1rem 1rem;border-radius:20px;background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 36px rgba(15,23,42,.06);transition:.18s ease}
.planner-stop-card:hover,.planner-stop-card.is-active{transform:translateY(-1px);border-color:rgba(37,99,235,.25);box-shadow:0 18px 40px rgba(37,99,235,.12)}
.planner-stop-card.is-dragging{opacity:.5}
.planner-stop-card.drop-target{outline:2px dashed rgba(37,99,235,.38)}
.planner-stop-handle{width:42px;height:42px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#111827,#334155);color:#fff;font-weight:900;cursor:grab}
.planner-stop-main{min-width:0}
.planner-stop-top{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}
.planner-stop-order{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#edf4ff;color:#1d4ed8;font-weight:800;font-size:.9rem}
.planner-stop-type{display:inline-flex;align-items:center;padding:.3rem .65rem;border-radius:999px;background:#f1f5ff;color:#35568f;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.stop-alert-dot{width:10px;height:10px;border-radius:999px;background:#ef4444;box-shadow:0 0 0 6px rgba(239,68,68,.12)}
.planner-stop-address{margin-top:.25rem;font-weight:800;color:#0f172a;word-break:break-word}
.planner-stop-sub,.planner-stop-meta-line{font-size:.9rem;color:#6b778c;margin-top:.2rem}
.planner-stop-actions{display:flex;flex-direction:column;gap:.5rem}
.planner-stop-btn{border:1px solid rgba(15,23,42,.09);background:#fff;border-radius:999px;padding:.5rem .8rem;font-size:.82rem;font-weight:700;color:#1f2937}
.planner-stop-btn.danger{color:#b42318;background:#fff7f5;border-color:rgba(180,35,24,.12)}
.planner-stop-btn.muted{background:#f8fafc;color:#94a3b8}
.planner-lane-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem}
.planner-lane-card{border:1px solid rgba(15,23,42,.08);background:#fff;border-radius:18px;padding:.8rem .9rem;display:flex;justify-content:space-between;gap:.5rem;align-items:center;box-shadow:0 12px 26px rgba(15,23,42,.05);cursor:pointer}
.planner-lane-card span{font-size:.82rem;color:#66748a;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.planner-lane-card strong{font-size:1.2rem}
.planner-lane-card.is-active{background:linear-gradient(135deg,#111827,#334155);color:#fff}
.planner-lane-card.is-active span{color:rgba(255,255,255,.76)}
.empty-board-state{border:1px dashed rgba(15,23,42,.16);border-radius:20px;padding:1rem;text-align:center;color:#6b778c;background:#fbfcfe}
.planner-summary-grid .row-item.is-active{background:#eef4ff}
.planner-panel-card{min-height:100%}
.stop-meta-card{padding:1rem 1rem 1.1rem;border-radius:22px;border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,#ffffff 0%,#f9fbff 100%);box-shadow:0 14px 34px rgba(15,23,42,.05);margin-bottom:1rem}
.stop-meta-card.is-active{border-color:rgba(37,99,235,.28);box-shadow:0 18px 38px rgba(37,99,235,.12)}
.stop-meta-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:1px solid #eef2f7;margin-bottom:.5rem}
.vehicle-group-card{padding:1rem 1rem;border-radius:20px;background:#fbfdff;border:1px solid rgba(15,23,42,.08);box-shadow:0 12px 28px rgba(15,23,42,.04);margin-top:.75rem}
.violation-item{padding:.75rem .9rem;border-radius:16px;background:#fff5f5;color:#9f1239;border:1px solid rgba(225,29,72,.12);margin-top:.45rem}
.planner-marker-bubble{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:800;box-shadow:0 14px 28px rgba(37,99,235,.32);border:2px solid #fff}
.planner-marker-wrap{background:transparent;border:0}
.dispatch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.table-filter-input{max-width:280px}
.crud-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.crud-table-card .table thead th{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:#607086;border-bottom-color:#e7edf5}
.crud-table-card .table tbody tr{border-bottom-color:#eef2f7}
.crud-table-card .table tbody tr:hover{background:#fafcff}
.crud-empty{padding:2rem 1rem;text-align:center;color:#6b778c}
.quick-stat-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.quick-stat-pill{padding:1rem 1.1rem;border-radius:20px;background:#fff;border:1px solid rgba(15,23,42,.08);box-shadow:0 14px 30px rgba(15,23,42,.05)}
@media (max-width: 1399px){
  .planner-kpi-row-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner-lane-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 991px){
  .planner-sidebar-card{position:static}
  .planner-map-shell-v2 #plannerMap{height:430px}
}
@media (max-width: 767px){
  .planner-kpi-row-v2,.planner-lane-overview,.quick-stat-strip{grid-template-columns:1fr}
  .planner-stop-card{grid-template-columns:40px 1fr}
  .planner-stop-actions{grid-column:1 / -1;flex-direction:row;flex-wrap:wrap}
  .planner-map-shell-v2 #plannerMap{height:340px}
}


/* V13 UI polish */
.price-value{font-size:3.35rem;line-height:1;font-weight:900;letter-spacing:-.05em}
.price-value span{display:inline-block;margin-left:.35rem;font-size:1.08rem;font-weight:700;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;letter-spacing:0;color:#58657a;vertical-align:middle}
.feature-icon{width:56px;height:56px;border-radius:18px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f6ef7,#7c4dff);color:#fff;font-size:1.35rem;box-shadow:0 14px 30px rgba(79,110,247,.22)}
.status-chip{gap:.55rem;padding:.65rem 1rem;min-width:112px;justify-content:center}
.status-chip:before{content:"";width:10px;height:10px;border-radius:50%;background:#11a36b;box-shadow:0 0 0 5px rgba(17,163,107,.12)}
.footer-panel{margin-top:1rem}
.route-planner-page .planner-hero-panel-v2 .planner-hero-copy h1,
.route-planner-page .planner-hero-panel-v2 .planner-hero-copy p{color:#fff}
.route-planner-page .planner-hero-panel-v2 .planner-hero-copy h1{max-width:860px}
.route-planner-page .planner-hero-panel-v2 .planner-hero-copy p{max-width:860px}
.planner-map-shell-v2{padding:1.25rem}
.planner-map-topbar{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap}
#plannerMap{height:520px;border-radius:22px;overflow:hidden}
.planner-sidebar-card{position:sticky;top:112px}
.planner-stop-board{max-height:520px;overflow:auto;padding-right:.35rem}
.planner-lane-overview{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.6rem}
.planner-lane-card{display:flex;align-items:center;justify-content:space-between;padding:.8rem .95rem;border-radius:18px;background:#fff;border:1px solid var(--line);cursor:pointer;min-height:64px}
.planner-lane-card strong{font-size:1.25rem}
.planner-lane-card.is-active{background:linear-gradient(135deg,#0f172a,#293652);color:#fff;border-color:transparent;box-shadow:0 14px 30px rgba(15,23,42,.22)}
.planner-chip-row{display:flex;flex-wrap:wrap;gap:.55rem}
.planner-filter-chip{border:1px solid #cfd7e4;background:#fff;color:#4d5a70;border-radius:999px;padding:.72rem 1rem;font-weight:700}
.planner-filter-chip.is-active{background:linear-gradient(135deg,#0f172a,#32405c);color:#fff;border-color:transparent}
.planner-actions-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(243,245,248,0) 0%,rgba(243,245,248,.94) 28%,rgba(243,245,248,1) 100%);padding-top:1.1rem}
.planner-results{min-height:92px;padding:1rem 1.1rem;border-radius:18px;background:#f6f9ff;border:1px solid #cfe0ff}
.planner-summary-grid .row-item{grid-template-columns:minmax(0,2.2fr) 110px 70px 130px;column-gap:.9rem}
.planner-summary-grid .row-item > div:first-child{min-width:0}
#vehicleGroupsBox{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.vehicle-group-card{padding:1rem 1.1rem;border-radius:18px;border:1px solid var(--line);background:#fff}
.vehicle-group-card .small{line-height:1.45}
.vehicle-dispatch-board{margin-top:1rem}
.dispatch-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.dispatch-column{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:22px;padding:1rem}
.dispatch-column-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem}
.dispatch-column-title{font-weight:800}
.dispatch-column-meta{font-size:.86rem;color:var(--muted)}
.dispatch-count{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:999px;background:#edf2ff;border:1px solid #d8e1fb;color:#37548b;font-weight:800}
.dispatch-dropzone{min-height:170px;display:flex;flex-direction:column;gap:.75rem}
.dispatch-stop-card{padding:.85rem .95rem;border-radius:18px;background:#fff;border:1px solid #dce5f1;box-shadow:0 8px 20px rgba(15,23,42,.05);cursor:grab}
.dispatch-stop-card[data-status="delayed"]{border-color:#f2b9b5;background:#fff8f7}
.dispatch-stop-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}
.dispatch-stop-tags{display:flex;gap:.45rem;flex-wrap:wrap}
.dispatch-tag{padding:.32rem .55rem;border-radius:999px;background:#eef2ff;color:#385694;font-size:.72rem;font-weight:800;text-transform:uppercase}
.dispatch-tag.status-delayed{background:#fff1ef;color:#c4472d}
.dispatch-empty{padding:1rem;border:1px dashed #ced7e4;border-radius:18px;color:#738199;text-align:center;background:#fbfcfe}
.dispatch-column.is-drop-target{border-color:#5f76ff;box-shadow:0 0 0 4px rgba(95,118,255,.1)}
.crud-form-card .form-label{color:#22304a}
.crud-form-card .small-muted{max-width:700px}
.demo-cta-text{max-width:700px}
@media (max-width:1399px){
  .planner-sidebar-card{position:relative;top:auto}
}
@media (max-width:1199px){
  .planner-lane-overview{grid-template-columns:repeat(3,minmax(0,1fr))}
  .planner-summary-grid .row-item{grid-template-columns:minmax(0,2fr) 90px 60px 110px}
}
@media (max-width:991px){
  .planner-actions-bar{position:static}
  .planner-lane-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  #plannerMap{height:420px}
}
@media (max-width:575px){
  .price-value{font-size:2.65rem}
  .planner-actions-bar{grid-template-columns:1fr}
  .planner-lane-overview{grid-template-columns:1fr 1fr}
  .planner-summary-grid .row-item{grid-template-columns:minmax(0,1.5fr) 78px 52px 95px;font-size:.86rem}
}


.status-chip{gap:.45rem;line-height:1}
.status-chip-dot{width:10px;height:10px;border-radius:999px;background:#10b981;display:inline-block;box-shadow:0 0 0 6px rgba(16,185,129,.12)}
.price-value{display:flex;align-items:flex-end;gap:.2rem;flex-wrap:wrap}
.price-value span{font-family:inherit;font-weight:700;letter-spacing:0;white-space:nowrap}
.footer-text{color:#d3def2;line-height:1.7}
.footer-links a{color:#d9e3f7}
.footer-links a:hover{color:#fff}
.planner-hero-title,.planner-hero-panel .h2{color:#fff!important;text-shadow:0 12px 26px rgba(7,15,34,.18)}
.planner-hero-copy .text-white-50{color:rgba(255,255,255,.86)!important;max-width:780px}
.planner-bottom-grid{align-items:start}
.planner-summary-grid .row-item{grid-template-columns:minmax(0,2.6fr) minmax(90px,.95fr) minmax(62px,.6fr) minmax(92px,.9fr)}
.planner-stop-board{max-height:560px}
#vehicleDispatchBoard .dispatch-board-grid{margin-top:1rem}
#vehicleDispatchBoard .dispatch-column{min-width:0}
#plannerViolations{min-height:76px;background:#f8fbff;color:#6b7280;border:1px solid rgba(59,130,246,.12)}
#plannerViolations.is-error{background:#fff4f4;color:#c02828;border-color:rgba(239,68,68,.22)}
#plannerViolations.is-success{background:#effaf5;color:#0f766e;border-color:rgba(16,185,129,.2)}
.planner-lane-overview{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
@media (min-width: 1200px){
  .route-planner-page .col-xxl-5{width:34%}
  .route-planner-page .col-xxl-7{width:66%}
}
@media (max-width: 1399px){
  .planner-kpi-row-v2{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 1199px){
  .planner-bottom-grid .col-xl-7,
  .planner-bottom-grid .col-xl-5{width:100%}
}
@media (max-width: 767px){
  .planner-kpi-row-v2{grid-template-columns:1fr}
  .planner-filter-chip{font-size:.78rem;padding:.5rem .75rem}
  .planner-summary-grid .row-item{grid-template-columns:1fr;gap:.35rem}
}


/* V15 backend usability refresh */
body.backend-app, .route-planner-page{background:linear-gradient(180deg,#f3f5f9 0%,#edf1f6 100%)}
.planner-hero-panel-app{background:linear-gradient(135deg,#eef4ff,#dce7fb 55%,#ccd8f5);border:1px solid rgba(37,60,109,.10);box-shadow:0 20px 50px rgba(27,39,62,.10)}
.planner-hero-title-dark{color:#15253e!important}
.planner-hero-copy-dark{color:#41526e!important}
.planner-quicksteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.planner-step-card{background:#fff;border:1px solid #d8e0ec;border-radius:18px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;min-height:120px;box-shadow:0 8px 24px rgba(19,32,54,.05)}
.planner-step-card span{width:34px;height:34px;border-radius:10px;background:#e8eefc;color:#26448b;display:flex;align-items:center;justify-content:center;font-weight:800}
.planner-step-card strong{font-size:1rem;color:#132238}
.planner-step-card small{font-size:.92rem;line-height:1.5;color:#5a6a82}
.planner-step-card.is-active{border-color:#90aaf0;box-shadow:0 12px 30px rgba(56,95,191,.10)}
.planner-app-shell{background:#fff;border:1px solid #dbe3ee;box-shadow:0 18px 40px rgba(18,31,53,.06)}
.planner-panel-block{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid #e3e9f2}
.planner-panel-block:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.planner-card-title{font-size:1.12rem;font-weight:800;color:#16253d}
.form-hint{font-size:.84rem;line-height:1.45;color:#61718b;margin-top:6px}
.planner-textarea-lg{font-size:1rem;line-height:1.65;min-height:190px}
.planner-textarea::placeholder, .form-control::placeholder, textarea::placeholder, input::placeholder{color:#7b879b!important;opacity:1!important}
select.form-select{color:#1f2f47}
.planner-action-row{display:flex;gap:8px;flex-wrap:wrap}
.planner-actions-block .btn{font-weight:700}
.planner-workspace-grid .planner-map-shell{padding:18px}
.planner-bottom-grid-pro .info-card{min-height:100%}
.planner-summary-grid-wide .row-item,.planner-summary-grid .row-item{grid-template-columns:minmax(180px,2fr) minmax(110px,1fr) 72px minmax(110px,1fr)}
#routeSummaryTable .row-item{align-items:start}
#stopMetaEditor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.stop-editor-card,.stop-detail-card{background:#fbfcfe;border:1px solid #dfe7f2;border-radius:18px;padding:16px}
.stop-editor-card .row,.stop-detail-card .row{--bs-gutter-x:12px}
#vehicleDispatchBoard .dispatch-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.dispatch-column{background:#f9fbfd;border:1px solid #dbe5ef;border-radius:18px;padding:14px}
.dispatch-column-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #e4ebf3}
.dispatch-column-title{font-weight:800;color:#15243a}
.dispatch-column-meta{font-size:.84rem;color:#61718b}
.dispatch-stop-card{background:#fff;border:1px solid #dbe3ee;border-radius:14px;padding:12px;margin-bottom:10px;box-shadow:0 8px 20px rgba(17,27,45,.04)}
.dispatch-stop-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.dispatch-stop-top strong{font-size:.97rem;line-height:1.35;color:#14233a}
.dispatch-stop-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.dispatch-tag{display:inline-flex;padding:.28rem .55rem;border-radius:999px;background:#eef2fa;color:#37507c;font-size:.73rem;font-weight:700}
.dispatch-tag.status-planned{background:#fff3cd;color:#8a5d00}
.dispatch-tag.status-ready{background:#e7f6ef;color:#0c6a43}
.dispatch-tag.status-delayed{background:#ffe5e5;color:#b42318}
.dispatch-dropzone{min-height:80px}
.planner-stop-board{max-height:420px;overflow:auto;padding-right:4px}
.stop-card{background:#fff;border:1px solid #dbe3ee;border-radius:18px;padding:14px 14px 12px;box-shadow:0 8px 20px rgba(17,27,45,.04);margin-bottom:12px}
.stop-card.active{border-color:#7b97e6;box-shadow:0 12px 24px rgba(46,75,160,.12)}
.stop-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.stop-card-title{font-size:1.02rem;font-weight:800;color:#16243a;line-height:1.35}
.stop-card-sub{font-size:.86rem;color:#6b7a90}
.planner-results{background:#f7faff;border:1px solid #d7e4fb;border-radius:16px;padding:14px 16px;min-height:74px;color:#22324b}
.planner-filter-chip{border:1px solid #cad6e8;background:#fff;color:#3f4f68}
.planner-filter-chip.is-active{background:#172748;color:#fff;border-color:#172748}
.summary-stat{background:#fff;border:1px solid #dde5ef;border-radius:18px;padding:16px;box-shadow:0 8px 20px rgba(17,27,45,.04)}
.sidebar-nav a{font-weight:700;color:#253552}
.sidebar-nav a.active{background:linear-gradient(90deg,#172748,#2f4778);color:#fff}
.dashboard-card,.info-card,.form-panel,.crud-form-card,.crud-table-card{border-radius:22px}
.planner-kpi-card{background:#fff;border:1px solid #dde5ef;box-shadow:0 8px 20px rgba(17,27,45,.04)}
.topbar-dark{background:#11213d}
footer .small, footer p, footer li{color:#d7deea!important}
footer h5, footer h6{color:#fff}
footer a{color:#eef3ff!important}
.import-guide-list{padding-left:1.2rem;color:#354760}
.import-guide-list li{margin-bottom:.65rem}
.import-preview.empty-state{padding:24px;border:1px dashed #cad6e8;border-radius:18px;background:#f8fbff;color:#607089}
.customer-shell, .admin-shell {background:#f3f6fa}
.modern-dashboard-hero{background:linear-gradient(135deg,#172748,#2f4778);color:#fff}
.topbar-dark + section .section-kicker{background:#eef4ff}
@media (max-width: 1399px){
  .planner-quicksteps{grid-template-columns:repeat(2,minmax(0,1fr))}
  #stopMetaEditor{grid-template-columns:1fr}
}
@media (max-width: 1199px){
  .planner-workspace-grid .col-xl-4,.planner-workspace-grid .col-xl-8{width:100%}
}
@media (max-width: 767px){
  .planner-quicksteps{grid-template-columns:1fr}
  .planner-step-card{min-height:auto}
  .planner-summary-grid-wide .row-item,.planner-summary-grid .row-item{grid-template-columns:1.4fr 1fr 56px 1fr}
}


.workflow-panel-full{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:32px;padding:34px;box-shadow:0 24px 70px rgba(15,23,42,.08)}
.workflow-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:26px;flex-wrap:wrap}
.workflow-steps-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:24px}
.workflow-step-card{background:linear-gradient(180deg,#f8fbff 0%,#eef3fb 100%);border:1px solid rgba(37,72,141,.10);border-radius:24px;padding:22px;min-height:170px}
.workflow-step-card h3{font-size:1.05rem;margin:12px 0 10px;font-weight:800}
.workflow-step-card p{margin:0;color:#617089}
.workflow-step-no{width:42px;height:42px;border-radius:999px;background:#0f244d;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800}
.workflow-table-like .row-item{grid-template-columns:1.1fr 1.4fr .6fr 1fr}
.pricing-grid-allinkl{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;align-items:stretch}
.pricing-card-allinkl{position:relative;background:#fff;border:1px solid rgba(15,23,42,.14);border-radius:24px;padding:28px 26px;display:flex;flex-direction:column;box-shadow:0 18px 55px rgba(15,23,42,.08)}
.pricing-card-allinkl.is-featured{background:linear-gradient(180deg,#294f9f 0%,#2f5fd0 100%);color:#fff;border-color:#294f9f;transform:translateY(-6px)}
.pricing-card-allinkl.is-enterprise{background:#f7f2ea}
.pricing-card-badge{position:absolute;right:22px;top:18px;background:#ff5a4f;color:#fff;border-radius:999px;padding:7px 12px;font-size:.8rem;font-weight:700}
.pricing-card-headline{font-size:1.9rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-style:italic;margin-top:12px}
.pricing-card-price-wrap{display:flex;align-items:flex-end;gap:10px;margin:18px 0 8px}
.pricing-card-price{font-size:4rem;line-height:.92;font-weight:900}
.pricing-card-price-note{font-size:1.2rem;font-weight:700;opacity:.8;margin-bottom:.5rem}
.pricing-card-copy{color:#69778f;min-height:72px}
.pricing-card-allinkl.is-featured .pricing-card-copy,.pricing-card-allinkl.is-featured .pricing-detail-toggle,.pricing-card-allinkl.is-featured .pricing-detail-inner,.pricing-card-allinkl.is-featured .pricing-card-list li{color:#eef4ff}
.pricing-card-list,.pricing-detail-list{list-style:none;padding:0;margin:0}
.pricing-card-list li,.pricing-detail-list li{position:relative;padding-left:26px;margin:0 0 12px}
.pricing-card-list li:before,.pricing-detail-list li:before{content:"✓";position:absolute;left:0;top:0;font-weight:800}
.pricing-card-btn{margin-top:auto;padding:.82rem 1rem;font-weight:700}
.pricing-detail-toggle{margin-top:16px;border:0;background:transparent;padding:0;font-weight:700;color:#20324f;display:flex;justify-content:space-between;align-items:center;width:100%}
.pricing-detail-box{margin-top:14px}
.pricing-detail-inner{border-top:1px solid rgba(15,23,42,.12);padding-top:16px;color:#43526b}
@media (max-width:1199px){.workflow-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.workflow-panel-full{padding:22px}.workflow-steps-grid{grid-template-columns:1fr}.pricing-card-headline{font-size:1.55rem}.pricing-card-price{font-size:3.2rem}}

#tourDetailMap{min-height:420px}
.dispatch-stop-card[draggable="true"]{cursor:grab}
.dispatch-stop-card.is-dragging{opacity:.45;transform:scale(.985)}
.dispatch-dropzone{min-height:280px}
#tourDetailPage .dispatch-stop-card .form-select{min-width:180px}


/* RoutenProfi logo integration */
.brand-logo{
  padding:0;
  display:flex;
  align-items:center;
}

.app-logo{
  display:block;
  width:auto;
  height:56px;
}

.app-logo-main{
  filter:
    drop-shadow(0 2px 2px rgba(15,23,42,0.10))
    drop-shadow(0 8px 18px rgba(15,23,42,0.16))
    drop-shadow(0 0 1px rgba(15,23,42,0.18));
  opacity:0.98;
}

.footer-logo{
  display:block;
  width:auto;
  height:48px;
  max-width:100%;
  filter:
    drop-shadow(0 2px 2px rgba(0,0,0,0.16))
    drop-shadow(0 8px 18px rgba(0,0,0,0.22));
}

.site-header .navbar-brand{
  min-height:46px;
}

.site-header .navbar{
  min-height:80px;
}

@media (min-width:1200px){
  .app-logo{
    height:64px;
  }

  .footer-logo{
    height:56px;
  }
}

@media (max-width:991px){
  .app-logo{
    height:48px;
  }
}

@media (max-width:767px){
  .app-logo{
    height:40px;
  }

  .footer-logo{
    height:30px;
  }
}