:root{--navy:#071b45;--blue:#124ab8;--yellow:#f7c400;--light:#f4f6f9;--line:#dfe4ed;--danger:#b42318}
*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif;background:var(--light);color:#111827;line-height:1.5}a{color:var(--blue)}.container{width:min(1180px,92%);margin:auto}
.booking-header{background:#fff;border-bottom:1px solid var(--line)}.booking-nav{min-height:84px;display:flex;align-items:center;justify-content:space-between}.booking-nav img{width:185px;display:block}
.booking-page{padding:55px 0 80px}.booking-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}.booking-intro{position:sticky;top:20px}.kicker{color:var(--blue);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.booking-intro h1{font-size:clamp(42px,5vw,66px);line-height:.95;color:var(--navy);margin:0 0 18px}.booking-intro>p{font-size:18px;color:#526075}.booking-points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0;color:var(--navy);font-weight:800}.booking-notice{padding:14px;background:#fff6f5;border:1px solid #ffd4d0;border-radius:9px;color:var(--danger)}
.booking-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 16px 45px rgba(7,27,69,.09)}label{display:grid;gap:7px;font-weight:800;color:var(--navy);margin-bottom:15px}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:13px;border:1px solid #cfd7e4;border-radius:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.address{display:grid;grid-template-columns:1fr 90px 130px;gap:15px}.summary,.price{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:#eff5ff;border-radius:9px;color:var(--navy);margin-bottom:15px}.summary{margin-top:31px}.price b{font-size:28px;color:var(--blue)}.terms{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;gap:10px;font-weight:normal;color:#374151}.terms input{width:auto;margin-top:4px}.book-button{display:inline-flex;width:100%;justify-content:center;border:0;border-radius:8px;padding:15px;background:var(--yellow);color:var(--navy);font-weight:900;text-transform:uppercase;text-decoration:none;cursor:pointer}.note{font-size:13px;color:#6b7280;text-align:center}.errors{padding:14px;background:#fff1f0;border:1px solid #ffccc7;border-radius:9px;color:var(--danger)}.success h2{font-size:34px;color:var(--navy)}.success dl{display:grid;gap:9px}.success dl div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:9px}.success dd{margin:0;font-weight:900}
.admin-container{width:min(1500px,96%);margin:40px auto}.admin-login{max-width:430px;margin:100px auto;background:#fff;padding:30px;border-radius:16px}.admin-head{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto;background:#fff;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:1100px}th,td{padding:13px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:14px}th{background:var(--navy);color:#fff}td form{display:grid;gap:7px}td button{border:0;background:var(--yellow);padding:8px;border-radius:6px}.status{display:inline-block;background:#fff5cc;padding:3px 7px;border-radius:999px;font-size:11px;text-transform:uppercase}
@media(max-width:850px){.booking-layout{grid-template-columns:1fr}.booking-intro{position:static}}@media(max-width:620px){.two,.address{grid-template-columns:1fr}.summary{margin-top:0}.booking-points{grid-template-columns:1fr}.booking-card{padding:22px}}
.availability{
  margin:-2px 0 18px;
  padding:12px 14px;
  border-radius:8px;
  font-size:14px;
  font-weight:800;
}
.availability.neutral{background:#f3f4f6;color:#4b5563;border:1px solid #e5e7eb}
.availability.available{background:#e7f8ed;color:#176b37;border:1px solid #b7e7c7}
.availability.unavailable{background:#fff1f0;color:#a61b12;border:1px solid #ffc9c4}
.book-button:disabled{opacity:.55;cursor:not-allowed;transform:none}

.admin-logo{display:block;width:210px;max-width:100%;margin:0 auto 14px}
.admin-head h1{margin:4px 0 8px;font-size:42px;color:var(--navy)}
.admin-head p{margin:0;color:#526075}
.admin-actions{display:flex;gap:16px;flex-wrap:wrap}
.admin-actions a{font-weight:800;text-decoration:none}
.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}
.metric-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 10px 28px rgba(7,27,69,.06)}
.metric-grid span{display:block;color:#526075;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.metric-grid strong{display:block;margin-top:6px;color:var(--navy);font-size:30px}
.dashboard-panel{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;margin:20px 0;box-shadow:0 10px 30px rgba(7,27,69,.06)}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.panel-heading h2{margin:0;color:var(--navy)}
.panel-heading p{margin:4px 0 0;color:#526075}
.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.schedule-card{display:grid;grid-template-columns:105px 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.schedule-date{display:flex;flex-direction:column;justify-content:center;align-items:center;background:var(--navy);color:#fff;padding:16px;text-transform:uppercase}
.schedule-date span{font-size:11px;letter-spacing:.08em}
.schedule-date strong{font-size:24px}
.schedule-details{padding:16px}
.schedule-details h3{margin:0 0 6px;color:var(--navy)}
.schedule-details p{margin:4px 0;color:#526075}
.status-awaiting_payment{background:#fff5cc;color:#765d00}
.status-confirmed{background:#dff7e7;color:#176b37}
.status-payment_cancelled,.status-payment_expired,.status-payment_error,.status-cancelled{background:#ffe0dd;color:#9b2c20}
.status-completed{background:#e5e7eb;color:#374151}
@media(max-width:900px){.metric-grid{grid-template-columns:1fr 1fr}.schedule-grid{grid-template-columns:1fr}}
@media(max-width:580px){.metric-grid{grid-template-columns:1fr}.admin-head{display:block}.admin-actions{margin-top:14px}.schedule-card{grid-template-columns:86px 1fr}}


/* ===== Booking Platform 3.0 ===== */
.booking-nav-links{display:flex;align-items:center;gap:22px}
.booking-nav-links a{font-weight:800;text-decoration:none}

.platform-booking{padding-top:40px}
.platform-heading{text-align:center;max-width:820px;margin:0 auto 34px}
.platform-heading h1{margin:0 0 12px;color:var(--navy);font-size:clamp(42px,5vw,68px);line-height:.95}
.platform-heading>p:last-child{color:#526075;font-size:18px}

.platform-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}
.booking-workflow{min-width:0}
.booking-step{display:none;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px;box-shadow:0 16px 45px rgba(7,27,69,.08)}
.booking-step.active{display:block}
.step-heading{display:flex;align-items:flex-start;gap:15px;margin-bottom:25px}
.step-heading>span{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:900;font-size:20px}
.step-heading h2{margin:0 0 5px;color:var(--navy);font-size:28px}
.step-heading p{margin:0;color:#667085}

.choice-grid{display:grid;gap:15px}
.package-choice-grid{grid-template-columns:repeat(3,1fr)}
.duration-choice-grid{grid-template-columns:repeat(4,1fr)}
.choice-card{appearance:none;border:2px solid #dfe4ed;border-radius:14px;background:#fff;padding:22px 15px;display:flex;flex-direction:column;align-items:center;cursor:pointer;color:var(--navy);transition:.18s ease}
.choice-card:hover{border-color:#9bb6e8;transform:translateY(-2px)}
.choice-card.selected{border-color:var(--blue);background:#eff5ff;box-shadow:0 0 0 3px rgba(18,74,184,.10)}
.choice-card strong{font-size:42px;line-height:1}
.choice-card span{font-weight:900;text-transform:uppercase;margin-top:5px}
.choice-card small{margin-top:9px;color:#526075;font-weight:800}

.step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px}
.step-actions button{border:0;border-radius:8px;padding:13px 22px;font-weight:900;text-transform:uppercase;cursor:pointer}
.next-step{background:var(--blue);color:#fff}
.previous-step{background:#edf1f7;color:var(--navy)}
.step-actions button:disabled{opacity:.45;cursor:not-allowed}

.sticky-summary{position:sticky;top:18px;background:var(--navy);color:#fff;border-radius:18px;padding:26px;box-shadow:0 16px 45px rgba(7,27,69,.18)}
.sticky-summary h2{margin:0 0 18px;font-size:28px}
.sticky-summary dl{margin:0}
.sticky-summary dl div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.sticky-summary dt{color:#bfcbe2}
.sticky-summary dd{margin:0;text-align:right;font-weight:900}
.sticky-summary ul{list-style:none;padding:0;margin:20px 0}
.sticky-summary li{padding:5px 0}
.sticky-summary li:before{content:"✓";color:var(--yellow);font-weight:900;margin-right:8px}
.sticky-summary>a{display:block;color:#fff;font-weight:900;text-align:center;margin-top:18px}
.sticky-summary .availability{margin:16px 0 0}
.availability.limited{background:#fff5cc;color:#765d00;border:1px solid #f6dc75}

.calendar-shell{border:1px solid var(--line);border-radius:15px;padding:18px;background:#fafbfc}
.calendar-toolbar{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:14px}
.calendar-toolbar h3{text-align:center;margin:0;color:var(--navy);font-size:22px}
.calendar-toolbar button{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:8px;height:42px;font-size:28px;cursor:pointer}
.calendar-weekdays,.booking-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.calendar-weekdays{margin-bottom:7px}
.calendar-weekdays span{text-align:center;color:#667085;font-size:12px;font-weight:900;text-transform:uppercase}
.calendar-day{min-height:76px;border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;color:var(--navy)}
.calendar-day strong{font-size:19px}
.calendar-day small{font-size:10px;margin-top:4px}
.calendar-day.available{background:#ecf9f0;border-color:#a8dfb8}
.calendar-day.limited{background:#fff8d9;border-color:#eed46e}
.calendar-day.unavailable{background:#f6f7f9;border-color:#e3e5e9;color:#9ca3af;cursor:not-allowed}
.calendar-day.selected{outline:3px solid var(--blue);outline-offset:1px}
.calendar-spacer{min-height:76px}
.calendar-loading,.calendar-error{grid-column:1/-1;padding:30px;text-align:center;color:#526075}
.calendar-error{color:#b42318}
.calendar-legend{display:flex;gap:20px;flex-wrap:wrap;margin-top:15px;color:#526075;font-size:13px}
.calendar-legend span{display:flex;align-items:center;gap:7px}
.calendar-legend i{width:13px;height:13px;border-radius:4px;display:inline-block}
.legend-available{background:#a8dfb8}.legend-limited{background:#eed46e}.legend-unavailable{background:#d9dde4}
.selected-date-card{margin-top:15px;padding:14px 16px;background:#eff5ff;border:1px solid #cad9f5;border-radius:9px;color:var(--navy)}

.review-card{border:1px solid var(--line);border-radius:12px;padding:20px;background:#fafbfc}
.review-card dl{margin:0}
.review-card dl div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--line)}
.review-card dl div:last-child{border-bottom:0}
.review-card dt{color:#667085}
.review-card dd{margin:0;text-align:right;color:var(--navy)}
.important-note{margin-top:18px;padding:14px 16px;background:#fff6f5;border:1px solid #ffd4d0;border-radius:9px;color:#b42318}

/* ===== Admin Platform 3.0 ===== */
.dashboard-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}
.dashboard-tabs button{border:1px solid var(--line);background:#fff;color:var(--navy);padding:11px 17px;border-radius:9px;font-weight:900;cursor:pointer}
.dashboard-tabs button.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.dashboard-tab{display:none}.dashboard-tab.active{display:block}
.dashboard-two-column{display:grid;grid-template-columns:1.45fr .75fr;gap:20px}
.inventory-ring{--percent:0;width:190px;height:190px;margin:18px auto;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--blue) calc(var(--percent)*1%),#e6ebf3 0)}
.inventory-ring:before{content:"";position:absolute;width:140px;height:140px;border-radius:50%;background:#fff}
.inventory-ring{position:relative}
.inventory-ring>div{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column}
.inventory-ring strong{font-size:36px;color:var(--navy)}
.inventory-ring span{color:#667085}
.inventory-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}
.inventory-mini-grid div{background:#f6f8fb;border-radius:9px;padding:12px 7px}
.inventory-mini-grid strong{display:block;color:var(--navy);font-size:22px}
.inventory-mini-grid span{font-size:11px;color:#667085}
.schedule-grid.compact{grid-template-columns:1fr}
.schedule-filter-heading{gap:20px}
.schedule-date-form{display:flex;align-items:end;gap:9px}
.schedule-date-form label{margin:0;font-size:12px}
.schedule-date-form input{min-width:160px}
.schedule-date-form button,.print-route-button{border:0;background:var(--yellow);color:var(--navy);border-radius:8px;padding:12px 16px;font-weight:900;cursor:pointer}
.route-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.route-columns>div>h3{color:var(--navy);font-size:22px}
.route-card{border:1px solid var(--line);border-radius:12px;padding:17px;margin-bottom:13px}
.route-card-top{display:flex;justify-content:space-between;gap:14px;align-items:start}
.route-card-top>div{display:flex;flex-direction:column}
.route-card-top strong{color:var(--navy);font-size:18px}
.route-card-top span:not(.route-type){color:#667085}
.route-type{padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase}
.route-type.delivery{background:#dff7e7;color:#176b37}
.route-type.pickup{background:#e7efff;color:#124ab8}
.route-card p{color:#526075}
.route-notes{background:#fff8dc;padding:9px;border-radius:7px}
.route-actions{display:flex;gap:10px;flex-wrap:wrap}
.route-actions a{padding:8px 11px;border-radius:7px;background:#edf3ff;color:var(--blue);font-weight:800;text-decoration:none}
.empty-state{padding:25px;background:#f6f8fb;border-radius:10px;color:#667085}
.print-route-button{margin-top:20px}

.inventory-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.inventory-stat-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;text-align:center;box-shadow:0 10px 28px rgba(7,27,69,.06)}
.inventory-stat-grid strong{display:block;color:var(--navy);font-size:38px}
.inventory-stat-grid span{color:#667085;font-weight:800}
.inventory-progress{height:28px;border-radius:999px;background:#e7ebf2;overflow:hidden}
.inventory-progress-bar{height:100%;background:linear-gradient(90deg,var(--blue),#3977dd);border-radius:inherit}
.inventory-progress-labels{display:flex;justify-content:space-between;margin-top:9px;color:#526075;font-weight:800}
.revenue-grid{grid-template-columns:repeat(5,1fr)}
.package-bars{display:grid;gap:17px}
.package-bar-row{display:grid;grid-template-columns:90px 1fr 45px;align-items:center;gap:12px}
.package-bar-row>span{font-weight:900;color:var(--navy)}
.package-bar-track{height:18px;border-radius:999px;background:#e8ecf3;overflow:hidden}
.package-bar-track i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),#ffdd55);border-radius:inherit}
.package-bar-row strong{text-align:right;color:var(--navy)}

@media(max-width:1050px){
  .platform-layout{grid-template-columns:1fr}
  .sticky-summary{position:static}
  .dashboard-two-column{grid-template-columns:1fr}
  .revenue-grid{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:760px){
  .package-choice-grid,.duration-choice-grid{grid-template-columns:1fr 1fr}
  .route-columns{grid-template-columns:1fr}
  .inventory-stat-grid{grid-template-columns:1fr 1fr}
  .schedule-filter-heading{display:block}
  .schedule-date-form{margin-top:14px;align-items:stretch;flex-direction:column}
}
@media(max-width:520px){
  .booking-nav-links{display:grid;text-align:right;gap:4px;font-size:13px}
  .booking-step{padding:21px}
  .package-choice-grid,.duration-choice-grid{grid-template-columns:1fr}
  .calendar-day,.calendar-spacer{min-height:58px}
  .calendar-day small{display:none}
  .calendar-shell{padding:10px}
  .review-card dl div{display:block}
  .review-card dd{text-align:left;margin-top:4px}
  .inventory-stat-grid,.revenue-grid{grid-template-columns:1fr}
  .metric-grid{grid-template-columns:1fr}
}

@media print{
  .site-header,.booking-header,.admin-actions,.dashboard-tabs,.metric-grid,.dashboard-tab:not(#tab-schedule),.schedule-date-form,.print-route-button{display:none!important}
  .admin-container{width:100%;margin:0}
  #tab-schedule{display:block!important}
  .dashboard-panel{box-shadow:none;border:0;padding:0}
  .route-actions{display:none}
  .route-card{break-inside:avoid}
}


/* ===== Platform 3.1 dashboard polish ===== */
.alert-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  overflow:hidden;
  margin:24px 0;
  border-radius:14px;
  background:#dfe4ed;
  border:1px solid #dfe4ed;
}
.alert-strip>div{
  background:#071b45;
  color:#fff;
  padding:20px;
  text-align:center;
}
.alert-strip strong{
  display:block;
  font-size:32px;
  color:#f7c400;
}
.alert-strip span{
  display:block;
  margin-top:4px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.today-work-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.today-work-grid h3{
  margin-top:0;
  color:#071b45;
}
.mini-route-card{
  display:grid;
  gap:5px;
  padding:14px;
  margin-bottom:10px;
  border:1px solid #dfe4ed;
  border-radius:10px;
  background:#fafbfc;
}
.mini-route-card strong{color:#071b45}
.mini-route-card span{color:#667085}
.mini-route-card div{
  display:flex;
  gap:9px;
  margin-top:5px;
}
.mini-route-card a{
  padding:6px 10px;
  border-radius:6px;
  background:#edf3ff;
  color:#124ab8;
  text-decoration:none;
  font-weight:800;
  font-size:13px;
}
.forecast-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
}
.forecast-grid article{
  padding:14px 10px;
  border:1px solid #dfe4ed;
  border-radius:10px;
  background:#fafbfc;
}
.forecast-grid strong,
.forecast-grid span,
.forecast-grid small{
  display:block;
}
.forecast-grid strong{color:#071b45}
.forecast-grid span{
  margin-top:5px;
  color:#526075;
  font-size:13px;
  font-weight:800;
}
.forecast-grid small{
  margin-top:7px;
  color:#667085;
  font-size:10px;
}
.forecast-track{
  height:9px;
  margin-top:10px;
  overflow:hidden;
  border-radius:999px;
  background:#e5eaf1;
}
.forecast-track i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#124ab8,#f7c400);
}
.revenue-chart{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:18px;
  align-items:end;
  min-height:260px;
  padding-top:20px;
}
.revenue-month{
  display:grid;
  gap:5px;
  text-align:center;
}
.revenue-column{
  height:170px;
  display:flex;
  align-items:end;
  justify-content:center;
  border-radius:10px;
  background:#f0f3f8;
  overflow:hidden;
}
.revenue-column i{
  width:100%;
  min-height:3px;
  background:linear-gradient(180deg,#f7c400,#124ab8);
}
.revenue-month strong{
  color:#071b45;
  font-size:13px;
}
.revenue-month span{
  color:#667085;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
}

@media(max-width:1050px){
  .alert-strip{grid-template-columns:1fr 1fr}
  .forecast-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:720px){
  .today-work-grid{grid-template-columns:1fr}
  .forecast-grid{grid-template-columns:1fr 1fr}
  .revenue-chart{gap:8px}
  .revenue-column{height:125px}
}
@media(max-width:480px){
  .alert-strip{grid-template-columns:1fr}
  .forecast-grid{grid-template-columns:1fr}
}


/* ===== Booking + Dashboard Visual Polish ===== */
:root{
  --navy:#071b45;
  --blue:#124ab8;
  --yellow:#f7c400;
  --light:#f5f7fb;
  --line:#e3e8f0;
  --muted:#667085;
  --shadow-sm:0 8px 24px rgba(7,27,69,.07);
  --shadow-md:0 18px 50px rgba(7,27,69,.12);
}

body{
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  letter-spacing:-.01em;
  background:
    radial-gradient(circle at 8% 0%,rgba(247,196,0,.10),transparent 26%),
    #f5f7fb;
}

.booking-header{
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:saturate(150%) blur(12px);
  background:rgba(255,255,255,.94);
  box-shadow:0 8px 28px rgba(7,27,69,.05);
}

.booking-step,
.sticky-summary,
.dashboard-panel,
.metric-grid article,
.inventory-stat-grid article,
.admin-login{
  box-shadow:var(--shadow-sm);
}

.booking-step{
  border-radius:22px;
  border-color:var(--line);
}

.step-heading>span{
  box-shadow:0 8px 18px rgba(247,196,0,.30);
}

.choice-card{
  border-radius:16px;
  box-shadow:0 5px 16px rgba(7,27,69,.04);
}

.choice-card.selected{
  box-shadow:0 0 0 4px rgba(18,74,184,.10),0 12px 30px rgba(7,27,69,.09);
}

.sticky-summary{
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0%,rgba(247,196,0,.16),transparent 34%),
    linear-gradient(155deg,#071b45,#0c3478);
}

.calendar-shell{
  border-radius:18px;
  background:#fbfcfe;
}

.calendar-day{
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}

.calendar-day:not(:disabled):hover{
  transform:translateY(-2px);
  box-shadow:0 8px 18px rgba(7,27,69,.10);
}

.review-card{
  border-radius:16px;
  background:#fbfcfe;
}

.admin-head{
  padding:8px 0 4px;
}

.dashboard-tabs{
  position:sticky;
  top:0;
  z-index:10;
  padding:12px;
  border-radius:14px;
  background:rgba(245,247,251,.92);
  backdrop-filter:blur(12px);
}

.dashboard-tabs button{
  transition:transform .15s ease,background .15s ease,color .15s ease;
}

.dashboard-tabs button:hover{
  transform:translateY(-1px);
}

.alert-strip{
  box-shadow:var(--shadow-sm);
}

.alert-strip>div{
  background:
    radial-gradient(circle at 50% 0%,rgba(247,196,0,.11),transparent 42%),
    #071b45;
}

.metric-grid article,
.inventory-stat-grid article{
  transition:transform .16s ease,box-shadow .16s ease;
}

.metric-grid article:hover,
.inventory-stat-grid article:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-md);
}

.dashboard-panel{
  border-radius:18px;
}

.schedule-card,
.route-card,
.mini-route-card{
  transition:transform .15s ease,box-shadow .15s ease;
}

.schedule-card:hover,
.route-card:hover,
.mini-route-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(7,27,69,.09);
}

.table-wrap{
  border:1px solid var(--line);
  border-radius:14px;
}

table thead th{
  position:sticky;
  top:0;
  z-index:2;
}

table tbody tr:nth-child(even){
  background:#fafbfc;
}

table tbody tr:hover{
  background:#f0f5ff;
}

.status{
  letter-spacing:.04em;
}

.book-button,
.next-step,
.previous-step,
.schedule-date-form button,
.print-route-button,
td button{
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}

.book-button:hover,
.next-step:hover,
.previous-step:hover,
.schedule-date-form button:hover,
.print-route-button:hover,
td button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(7,27,69,.12);
}

input,select,textarea{
  background:#fff;
  transition:border-color .15s ease,box-shadow .15s ease;
}

input:focus,select:focus,textarea:focus{
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(18,74,184,.10);
  outline:none;
}

.revenue-column{
  box-shadow:inset 0 0 0 1px rgba(7,27,69,.04);
}

@media(max-width:720px){
  .dashboard-tabs{
    position:relative;
    overflow-x:auto;
    flex-wrap:nowrap;
  }

  .dashboard-tabs button{
    white-space:nowrap;
  }
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}


/* ===== Beyond Tote Rentals Platform 4.0 ===== */
.booking-progress{
  position:relative;
  max-width:920px;
  margin:0 auto 28px;
  padding:4px 18px 0;
}
.booking-progress .progress-line{
  position:absolute;
  left:8%;
  right:8%;
  top:24px;
  height:4px;
  border-radius:999px;
  background:#dfe5ee;
  overflow:hidden;
}
.booking-progress .progress-line i{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#124ab8,#f7c400);
  transition:width .3s ease;
}
.booking-progress ol{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
  margin:0;
  padding:0;
  list-style:none;
}
.booking-progress li{
  display:grid;
  justify-items:center;
  gap:7px;
  color:#8a94a6;
  font-size:12px;
  text-transform:uppercase;
}
.booking-progress li span{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:4px solid #f5f7fb;
  border-radius:50%;
  background:#dfe5ee;
  color:#6b7280;
  font-weight:900;
  transition:.2s ease;
}
.booking-progress li.active span,
.booking-progress li.complete span{
  background:#124ab8;
  color:#fff;
}
.booking-progress li.complete span{
  background:#f7c400;
  color:#071b45;
}
.booking-progress li.active,
.booking-progress li.complete{color:#071b45}

.smart-alerts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:20px 0;
}
.smart-alerts article{
  display:grid;
  grid-template-columns:1fr auto;
  gap:5px 18px;
  align-items:center;
  padding:17px 20px;
  border:1px solid #cfe0ff;
  border-radius:14px;
  background:linear-gradient(135deg,#edf4ff,#fff);
  box-shadow:0 8px 24px rgba(7,27,69,.06);
}
.smart-alerts article.warning{
  border-color:#f0d66e;
  background:linear-gradient(135deg,#fff7d6,#fff);
}
.smart-alerts span{
  color:#667085;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.smart-alerts strong{
  color:#071b45;
  font-size:17px;
}
.smart-alerts a{
  grid-column:2;
  grid-row:1/3;
  color:#124ab8;
  font-weight:900;
  text-decoration:none;
}

.management-calendar-panel{overflow:hidden}
.calendar-panel-heading{align-items:center}
.calendar-month-nav{
  display:grid;
  grid-template-columns:40px minmax(150px,auto) 40px;
  align-items:center;
  gap:8px;
}
.calendar-month-nav a{
  display:grid;
  place-items:center;
  height:40px;
  border:1px solid #dfe4ed;
  border-radius:8px;
  background:#fff;
  color:#071b45;
  font-size:25px;
  text-decoration:none;
}
.calendar-month-nav strong{text-align:center;color:#071b45}
.management-weekdays,
.management-calendar{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
}
.management-weekdays{margin-bottom:7px}
.management-weekdays span{
  text-align:center;
  color:#667085;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.management-day{
  min-height:118px;
  padding:10px;
  border:1px solid #dfe4ed;
  border-radius:10px;
  background:#fff;
  color:#071b45;
  text-decoration:none;
  transition:.16s ease;
}
.management-day:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(7,27,69,.10);
}
.management-day.open{background:#effaf2;border-color:#b8e5c4}
.management-day.busy{background:#f3f7ff;border-color:#bfd0f3}
.management-day.tight{background:#fff8d8;border-color:#ead266}
.management-day.full{background:#fff0ef;border-color:#f0b7b1}
.management-day header{
  display:flex;
  justify-content:space-between;
  gap:6px;
  margin-bottom:8px;
}
.management-day header strong{font-size:19px}
.management-day header small{color:#667085;font-size:9px}
.calendar-event{
  display:block;
  margin-top:5px;
  padding:4px 6px;
  border-radius:5px;
  font-size:10px;
  font-weight:900;
}
.calendar-event.delivery{background:#dff7e7;color:#176b37}
.calendar-event.pickup{background:#e7efff;color:#124ab8}
.management-spacer{min-height:118px}
.management-legend{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:16px;
  color:#667085;
  font-size:12px;
}
.management-legend span{display:flex;align-items:center;gap:7px}
.management-legend i{width:13px;height:13px;border-radius:4px}
.management-legend .open{background:#b8e5c4}
.management-legend .busy{background:#bfd0f3}
.management-legend .tight{background:#ead266}
.management-legend .full{background:#f0b7b1}

.booking-search-heading{gap:20px}
.booking-search-form{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
}
.booking-search-form input{
  min-width:340px;
  margin:0;
}
.booking-search-form button{
  border:0;
  border-radius:8px;
  padding:12px 16px;
  background:#124ab8;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}
.booking-search-form a{
  color:#667085;
  font-weight:800;
  text-decoration:none;
}

.booking-card-list{display:none}
.admin-booking-card{
  border:1px solid #dfe4ed;
  border-radius:14px;
  padding:17px;
  background:#fff;
  box-shadow:0 8px 22px rgba(7,27,69,.06);
}
.admin-booking-card header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:start;
}
.admin-booking-card header>div{display:grid}
.admin-booking-card header strong{color:#071b45;font-size:18px}
.admin-booking-card header small{color:#667085}
.admin-booking-card dl{margin:14px 0}
.admin-booking-card dl div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:6px 0;
  border-bottom:1px solid #edf0f4;
}
.admin-booking-card dt{color:#667085}
.admin-booking-card dd{margin:0;color:#071b45;font-weight:800;text-align:right}
.admin-booking-card p{color:#526075}
.admin-card-actions{display:flex;gap:8px}
.admin-card-actions a{
  flex:1;
  padding:8px;
  border-radius:7px;
  background:#edf3ff;
  color:#124ab8;
  text-align:center;
  font-weight:900;
  text-decoration:none;
}

@media(max-width:900px){
  .smart-alerts{grid-template-columns:1fr}
  .management-day,.management-spacer{min-height:90px}
  .management-day header small{display:none}
  .calendar-event{font-size:0}
  .calendar-event::first-letter{font-size:13px}
  .booking-search-heading{display:block}
  .booking-search-form{margin-top:14px}
  .booking-search-form input{min-width:0;flex:1}
}
@media(max-width:720px){
  .booking-progress li b{display:none}
  .booking-progress .progress-line{left:10%;right:10%}
  .management-weekdays span{font-size:9px}
  .management-calendar,.management-weekdays{gap:4px}
  .management-day,.management-spacer{min-height:66px;padding:6px}
  .management-day header strong{font-size:15px}
  .table-wrap{display:none}
  .booking-card-list{display:grid;gap:12px}
}
@media(max-width:520px){
  .booking-progress{padding-left:0;padding-right:0}
  .booking-progress li span{width:36px;height:36px;border-width:3px}
  .booking-progress .progress-line{top:20px}
  .booking-search-form{display:grid;grid-template-columns:1fr auto}
  .booking-search-form a{grid-column:1/-1}
}


/* ===== Operations Suite ===== */
.driver-body{background:#f3f6fb;color:#10192d}
.driver-login-wrap{min-height:100vh;display:grid;place-items:center;padding:25px}
.driver-header{
  position:sticky;top:0;z-index:20;
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 18px;background:#fff;border-bottom:1px solid #e3e8f0;
  box-shadow:0 8px 24px rgba(7,27,69,.06)
}
.driver-header>div{display:flex;align-items:center;gap:13px}
.driver-header img{width:115px}
.driver-header strong,.driver-header span{display:block}
.driver-header strong{color:#071b45;font-size:18px}
.driver-header span{color:#667085;font-size:12px}
.driver-header>a{color:#124ab8;font-weight:900;text-decoration:none}
.driver-main{width:min(760px,94%);margin:22px auto 60px}
.driver-date-picker{
  display:grid;grid-template-columns:1fr auto;gap:9px;align-items:end;
  padding:15px;background:#fff;border:1px solid #e3e8f0;border-radius:13px
}
.driver-date-picker label{grid-column:1/-1;margin:0}
.driver-date-picker input{margin:0}
.driver-date-picker button{
  border:0;border-radius:8px;padding:13px 17px;background:#124ab8;color:#fff;font-weight:900
}
.driver-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.driver-summary article{
  padding:18px;border-radius:13px;background:#071b45;color:#fff;text-align:center
}
.driver-summary strong{display:block;color:#f7c400;font-size:30px}
.driver-summary span{text-transform:uppercase;font-size:11px;font-weight:900}
.driver-section{margin-top:26px}
.driver-section h2{color:#071b45}
.driver-job{
  margin-bottom:16px;padding:19px;border:1px solid #dfe5ee;border-radius:16px;
  background:#fff;box-shadow:0 10px 26px rgba(7,27,69,.07)
}
.driver-job.completed{border-color:#9bd0ab;background:#f2fbf5}
.driver-job>header{display:flex;justify-content:space-between;align-items:start;gap:14px}
.driver-job h3{margin:4px 0;color:#071b45;font-size:22px}
.driver-job header p{margin:0;color:#667085}
.driver-job-type{font-size:11px;color:#124ab8;font-weight:900;text-transform:uppercase}
.job-complete-badge{padding:6px 9px;border-radius:999px;background:#dff7e7;color:#176b37;font-size:11px;font-weight:900}
.driver-address{display:grid;gap:3px;margin:16px 0;padding:13px;border-radius:9px;background:#f6f8fb}
.driver-address strong{color:#071b45}
.driver-address span{color:#526075}
.driver-notes{padding:12px;border-radius:9px;background:#fff7d6}
.driver-notes p{margin:5px 0;color:#5b4c00}
.driver-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.driver-actions a{
  padding:10px;border-radius:8px;background:#edf3ff;color:#124ab8;text-align:center;font-weight:900;text-decoration:none
}
.proof-panel{margin-top:12px;padding:0;box-shadow:none}
.proof-panel summary{padding:13px;color:#071b45;font-weight:900}
.proof-form{padding:14px;border-top:1px solid #e3e8f0}
.signature-pad{width:100%;height:150px;border:1px dashed #aab4c4;border-radius:9px;background:#fff;touch-action:none}
.signature-controls{display:flex;gap:9px;margin-top:9px}
.signature-controls button,.complete-job-form button{
  border:0;border-radius:8px;padding:12px 14px;font-weight:900;cursor:pointer
}
.signature-controls button:first-child{background:#edf0f5;color:#071b45}
.signature-controls button:last-child{background:#124ab8;color:#fff}
.complete-job-form button{width:100%;margin-top:12px;background:#f7c400;color:#071b45}
.driver-job.completed .complete-job-form button{background:#e5e7eb}
.driver-empty{padding:20px;border-radius:10px;background:#fff;color:#667085;text-align:center}
.inline-review-form{display:inline}
.inline-review-form button{
  border:0;border-radius:7px;padding:8px;background:#fff3bf;color:#6a5200;font-weight:900;cursor:pointer
}
@media(max-width:520px){
  .driver-header img{width:92px}
  .driver-header span{display:none}
  .driver-actions{grid-template-columns:1fr}
}


/* ===== Operations Suite V2 ===== */
.driver-topbar{
  display:grid;
  grid-template-columns:44px 1fr 44px;
  gap:8px;
  align-items:center;
}
.driver-topbar>a{
  display:grid;
  place-items:center;
  height:48px;
  border-radius:10px;
  background:#fff;
  border:1px solid #dfe5ee;
  color:#071b45;
  font-size:30px;
  text-decoration:none;
}
.driver-topbar .driver-date-picker{margin:0}
.driver-summary{grid-template-columns:repeat(3,1fr)}
.open-route-button{
  display:block;
  margin:14px 0 22px;
  padding:14px 18px;
  border-radius:10px;
  background:#124ab8;
  color:#fff;
  font-weight:900;
  text-align:center;
  text-decoration:none;
}
.driver-job>header{
  display:grid;
  grid-template-columns:42px 1fr auto;
  align-items:start;
}
.driver-stop-number{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:#071b45;
  color:#f7c400;
  font-weight:900;
}
.driver-job-heading{min-width:0}
.job-status-badge{
  padding:6px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}
.job-status-badge.ready{background:#e7efff;color:#124ab8}
.job-status-badge.on_way{background:#fff1b8;color:#705800}
.job-status-badge.completed{background:#dff7e7;color:#176b37}
.driver-job.status-on_way{border-color:#e9cf63;background:#fffdf1}
.driver-job.status-completed{border-color:#9bd0ab;background:#f2fbf5}
.driver-status-actions form{margin:0}
.driver-status-actions button{
  width:100%;
  margin:2px 0 10px;
  border:0;
  border-radius:8px;
  padding:11px;
  font-weight:900;
  cursor:pointer;
}
.on-way-button{background:#fff1b8;color:#705800}
.ready-button{background:#edf0f5;color:#071b45}
@media(max-width:520px){
  .driver-topbar{grid-template-columns:38px 1fr 38px}
  .driver-summary{grid-template-columns:1fr 1fr}
  .driver-summary article:last-child{grid-column:1/-1}
  .driver-job>header{grid-template-columns:38px 1fr}
  .job-status-badge{grid-column:2;margin-top:7px;justify-self:start}
}


/* ===== Visual Equipment Cards ===== */
.visual-equipment-summary{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:22px;
  box-shadow:var(--shadow-sm);
}
.visual-equipment-summary h3{
  margin:0 0 16px;
  color:var(--navy);
  font-size:23px;
}
.visual-equipment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.visual-equipment-grid article{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:12px;
  align-items:center;
  padding:12px;
  border:1px solid var(--line);
  border-radius:13px;
  background:#fafbfc;
}
.visual-equipment-grid img{
  width:110px;
  height:82px;
  object-fit:contain;
  border-radius:9px;
  background:#fff;
}
.visual-equipment-grid strong{display:block;color:var(--navy)}
.visual-equipment-grid span{display:block;margin-top:4px;color:#667085;font-size:12px}
.included-service-row{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  margin-top:16px;
  padding:12px;
  border-radius:9px;
  background:#eff5ff;
  color:#124ab8;
  font-weight:900;
  font-size:13px;
}
.driver-equipment-card{
  margin:14px 0;
  padding:14px;
  border:1px solid #dfe5ee;
  border-radius:12px;
  background:#f8fafc;
}
.driver-equipment-card h4{margin:0 0 10px;color:#071b45}
.driver-equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.driver-equipment-grid article{
  display:grid;
  grid-template-columns:82px 1fr;
  align-items:center;
  gap:9px;
  padding:9px;
  border-radius:9px;
  background:#fff;
}
.driver-equipment-grid img{width:82px;height:65px;object-fit:contain}
.driver-equipment-grid strong{display:block;color:#071b45}
.driver-equipment-grid span{display:block;color:#667085;font-size:11px;margin-top:3px}
@media(max-width:680px){
  .visual-equipment-grid,.driver-equipment-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .visual-equipment-grid article{grid-template-columns:85px 1fr}
  .visual-equipment-grid img{width:85px;height:70px}
}

/* ===== Package Cards V2 ===== */
.package-choice-grid-v2{gap:18px;align-items:stretch}
.package-card-v2{
  position:relative;min-height:285px;padding:34px 20px 24px;overflow:visible;
  border:2px solid #dfe5ee;border-radius:18px;background:#fff;
  box-shadow:0 8px 24px rgba(7,27,69,.06);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease
}
.package-card-v2:hover{
  transform:translateY(-5px);border-color:#124ab8;
  box-shadow:0 18px 38px rgba(7,27,69,.14)
}
.package-card-v2.selected{
  border-color:#124ab8;background:#edf4ff;
  box-shadow:0 0 0 4px rgba(18,74,184,.10),0 18px 40px rgba(7,27,69,.14)
}
.package-card-v2.featured-package{padding-top:42px}
.most-popular-badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  min-width:132px;padding:7px 13px;border-radius:999px;background:#124ab8;
  color:#fff!important;font-size:11px!important;font-weight:900!important;
  letter-spacing:.06em;text-align:center;text-transform:uppercase;
  box-shadow:0 8px 18px rgba(18,74,184,.25)
}
.package-quantity{
  display:block;margin-top:4px;font-size:58px!important;line-height:.95;
  letter-spacing:-.04em;color:#071b45
}
.package-label{
  display:block;margin-top:8px!important;color:#071b45!important;
  font-size:16px!important;font-weight:900!important;letter-spacing:.05em;text-transform:uppercase
}
.dolly-badge{
  display:inline-flex;align-items:center;justify-content:center;min-height:34px;
  margin:18px 0 16px!important;padding:8px 13px;border-radius:999px;
  background:#f7c400;color:#071b45!important;font-size:12px!important;
  font-weight:900!important;line-height:1.2;text-align:center;
  box-shadow:0 6px 16px rgba(247,196,0,.25);
  transition:filter .18s ease,transform .18s ease
}
.package-card-v2:hover .dolly-badge{filter:brightness(1.05);transform:scale(1.02)}
.package-price-label{
  display:block;margin-top:auto!important;color:#667085!important;
  font-size:10px!important;font-weight:900!important;letter-spacing:.10em;text-transform:uppercase
}
.package-price{
  display:block;margin-top:3px;color:#071b45;font-size:34px!important;line-height:1;
  transition:transform .18s ease
}
.package-card-v2:hover .package-price{transform:scale(1.04)}
.package-selected-check{
  position:absolute;right:14px;bottom:14px;display:grid;place-items:center;
  width:25px;height:25px;border-radius:50%;background:#f7c400;color:#071b45!important;
  font-size:14px!important;font-weight:900!important;opacity:0;transform:scale(.75);
  transition:opacity .18s ease,transform .18s ease
}
.package-card-v2.selected .package-selected-check{opacity:1;transform:scale(1)}
.package-inclusions-note{
  margin:20px 0 0;padding:14px 16px;border:1px solid #d6e3fa;border-radius:10px;
  background:#f3f7ff;color:#40506a;font-size:14px;font-weight:700;line-height:1.55;text-align:center
}
@media(max-width:760px){
  .package-choice-grid-v2{grid-template-columns:1fr}
  .package-card-v2{min-height:240px}
  .package-card-v2.featured-package{margin-top:12px}
}


/* ===== Corrected Equipment Sidebar ===== */
.platform-layout{
  grid-template-columns:minmax(0,1fr) 370px;
}

.booking-sidebar{
  position:sticky;
  top:18px;
  display:grid;
  gap:18px;
  align-self:start;
}

.booking-sidebar .sticky-summary{
  position:static;
}

.visual-equipment-summary{
  padding:22px;
}

.visual-equipment-grid{
  grid-template-columns:1fr;
  gap:14px;
}

.visual-equipment-grid article{
  display:block;
  padding:15px;
  border-radius:15px;
  text-align:center;
}

.equipment-image-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:150px;
  margin-bottom:12px;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}

.visual-equipment-grid img{
  width:100%;
  height:145px;
  max-width:260px;
  object-fit:contain;
  padding:8px;
  background:#fff;
}

.equipment-copy strong{
  display:block;
  color:#071b45;
  font-size:17px;
  line-height:1.3;
}

.equipment-copy span{
  display:block;
  max-width:260px;
  margin:6px auto 0;
  color:#667085;
  font-size:13px;
  line-height:1.45;
}

.dolly-equipment-card{
  border-color:#efd056!important;
  background:#fffdf3!important;
}

.included-service-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.included-service-row span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px;
  border-radius:8px;
  background:#edf4ff;
  text-align:center;
}

.included-service-row span:last-child{
  grid-column:1 / -1;
}

@media(max-width:1050px){
  .platform-layout{
    grid-template-columns:1fr;
  }

  .booking-sidebar{
    position:static;
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .booking-sidebar{
    grid-template-columns:1fr;
  }

  .equipment-image-wrap{
    min-height:135px;
  }

  .visual-equipment-grid img{
    height:130px;
  }
}

@media(max-width:480px){
  .included-service-row{
    grid-template-columns:1fr;
  }

  .included-service-row span:last-child{
    grid-column:auto;
  }
}


/* ===== Booking Layout Refresh ===== */
.platform-booking .container{
  width:min(1240px,94%);
}

.platform-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:24px;
  align-items:start;
}

.booking-workflow{
  min-width:0;
}

.booking-summary-column{
  position:sticky;
  top:18px;
  align-self:start;
}

.booking-summary-column .sticky-summary{
  position:static;
  border-radius:20px;
}

.booking-step{
  padding:30px;
}

.package-choice-grid-v2{
  gap:14px;
}

.package-card-v2{
  min-height:250px;
  padding:32px 16px 22px;
}

.package-quantity{
  font-size:52px!important;
}

.dolly-badge{
  min-height:32px;
  margin:15px 0 14px!important;
  padding:7px 11px;
  font-size:11px!important;
}

.package-price{
  font-size:31px!important;
}

.package-inclusions-note{
  margin-bottom:18px;
}

.booking-step .visual-equipment-summary{
  margin-top:18px;
  padding:20px;
  border:1px solid #dfe5ee;
  border-radius:16px;
  background:linear-gradient(180deg,#fbfcff,#f5f8fd);
  box-shadow:none;
}

.booking-step .visual-equipment-summary h3{
  margin:0 0 14px;
  font-size:20px;
}

.booking-step .visual-equipment-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.booking-step .visual-equipment-grid article{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:14px;
  align-items:center;
  min-height:150px;
  padding:14px;
  text-align:left;
}

.booking-step .equipment-image-wrap{
  min-height:110px;
  margin:0;
  border:1px solid #edf0f5;
}

.booking-step .visual-equipment-grid img{
  width:100%;
  height:105px;
  max-width:120px;
  padding:7px;
}

.booking-step .equipment-copy strong{
  font-size:16px;
}

.booking-step .equipment-copy span{
  margin:5px 0 0;
  font-size:12px;
}

.booking-step .included-service-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:14px;
}

.booking-step .included-service-row span:last-child{
  grid-column:auto;
}

.sticky-summary h2{
  margin-bottom:16px;
}

.sticky-summary dl{
  margin-bottom:14px;
}

.sticky-summary dl div{
  padding:9px 0;
}

.sticky-summary ul{
  margin:14px 0;
  padding-left:20px;
}

@media(max-width:1050px){
  .platform-layout{
    grid-template-columns:1fr;
  }

  .booking-summary-column{
    position:static;
  }

  .booking-summary-column .sticky-summary{
    max-width:none;
  }
}

@media(max-width:820px){
  .booking-step .visual-equipment-grid{
    grid-template-columns:1fr;
  }

  .booking-step .visual-equipment-grid article{
    grid-template-columns:110px 1fr;
  }

  .booking-step .included-service-row{
    grid-template-columns:1fr 1fr;
  }

  .booking-step .included-service-row span:last-child{
    grid-column:1 / -1;
  }
}

@media(max-width:760px){
  .booking-step{
    padding:22px 18px;
  }

  .package-card-v2{
    min-height:215px;
  }

  .package-choice-grid-v2{
    grid-template-columns:1fr;
  }
}

@media(max-width:520px){
  .platform-booking .container{
    width:min(94%,100%);
  }

  .booking-progress{
    margin-bottom:18px;
  }

  .booking-step .visual-equipment-grid article{
    grid-template-columns:90px 1fr;
  }

  .booking-step .equipment-image-wrap{
    min-height:88px;
  }

  .booking-step .visual-equipment-grid img{
    height:84px;
  }

  .booking-step .included-service-row{
    grid-template-columns:1fr;
  }

  .booking-step .included-service-row span:last-child{
    grid-column:auto;
  }
}


/* Beyond App additions */
.install-app-button{border:0;border-radius:8px;padding:10px 14px;background:#f7c400;color:#071b45;font-weight:800;cursor:pointer}
.admin-note-form{margin-top:14px;padding-top:14px;border-top:1px solid #e4e8f0;display:grid;gap:8px}.admin-note-form label{display:grid;gap:6px;font-weight:700}.admin-note-form textarea,.maintenance-form textarea,.maintenance-form input{width:100%;box-sizing:border-box;border:1px solid #ccd4e0;border-radius:8px;padding:10px;font:inherit}.admin-note-form button,.maintenance-form button{justify-self:start;border:0;border-radius:8px;background:#071b45;color:#fff;padding:10px 15px;font-weight:800;cursor:pointer}
.customer-profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.customer-profile-card{border:1px solid #e1e6ee;border-radius:14px;padding:18px;background:#fff}.customer-profile-card header{display:flex;justify-content:space-between;gap:12px}.customer-profile-card h3{margin:0}.customer-profile-card header span,.customer-profile-card small{color:#627087}.customer-profile-card details{margin-top:14px}.customer-profile-card li{margin:7px 0}.maintenance-form{display:grid;gap:16px;max-width:640px}.maintenance-form label{display:grid;gap:7px;font-weight:800}.city-stat-list{display:grid;gap:10px}.city-stat-list>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #e5e9f0}
@media(max-width:700px){.admin-actions{gap:7px}.install-app-button{width:100%}.customer-profile-grid{grid-template-columns:1fr}.dashboard-tabs{overflow-x:auto;white-space:nowrap;display:flex}.dashboard-tabs button{flex:0 0 auto}}


/* Delivery radius and fee checker */
.delivery-zone-check{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:16px 0 8px;padding:16px;border:1px solid #d9e3f0;border-radius:14px;background:#f7faff}.delivery-zone-check div{display:grid;gap:4px}.delivery-zone-check strong{color:#071b45}.delivery-zone-check span{font-size:.9rem;color:#52647d}.delivery-zone-check button{flex:none;border:0;border-radius:10px;background:#071b45;color:#fff;font-weight:800;padding:11px 15px;cursor:pointer}.delivery-quote-result{display:grid;gap:3px;margin-bottom:16px;padding:13px 15px;border-radius:12px;font-size:.92rem}.delivery-quote-result.neutral{background:#f3f6fa;color:#52647d}.delivery-quote-result.checking{background:#fff8df;color:#6f5300}.delivery-quote-result.success{background:#e9f8ef;color:#17633a;border:1px solid #bce7cb}.delivery-quote-result.error{background:#fff0f0;color:#9b1c1c;border:1px solid #f2c5c5}.delivery-quote-result strong,.delivery-quote-result span{display:block}.policy-confirmation-note{display:block;margin:-7px 0 15px 30px;color:#66758b}.sticky-summary [hidden]{display:none!important}@media(max-width:640px){.delivery-zone-check{align-items:stretch;flex-direction:column}.delivery-zone-check button{width:100%;min-height:46px}}

/* Delivery-area and policy polish */
.delivery-zone-check button{min-width:170px;text-transform:none}
.delivery-quote-result.success{font-weight:700;box-shadow:0 5px 16px rgba(23,99,58,.08)}
.delivery-quote-result.success strong{font-weight:900}
.policy-confirmation-note{font-size:.82rem;line-height:1.45;opacity:.82}
.terms span{line-height:1.5}
@media(max-width:640px){.delivery-zone-check button{min-width:0}}
