.business-location-card { display:grid; grid-template-columns:minmax(210px,.82fr) minmax(270px,1.15fr); gap:20px; align-items:start; margin-top:14px; padding:26px; border:1px solid rgba(201,168,76,.28); background:linear-gradient(110deg,rgba(201,168,76,.10),rgba(255,255,255,.018)); }
.business-location-card h3 { margin:0; color:var(--paper); font:1.65rem/1.06 var(--serif); }
.business-location-card > div > p:not(.eyebrow) { margin:10px 0 0; color:#a7a89f; font-size:.7rem; line-height:1.55; }
.business-location-fields { display:grid; gap:12px; }
.business-location-fields label,.business-coordinate-row label { display:grid; gap:7px; color:#a7a89f; font-size:.57rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.business-location-fields input,.business-coordinate-row input { width:100%; padding:11px; border:1px solid rgba(255,255,255,.12); background:#151614; color:#f2ede4; font-size:.75rem; }
.business-coordinate-row { display:grid; grid-column:1/-1; grid-template-columns:1fr 1fr auto; gap:12px; align-items:end; }
.business-coordinate-row .outline-mini { min-height:39px; margin:0; white-space:nowrap; }
.business-location-footer { display:flex; grid-column:1/-1; align-items:center; gap:16px; }
.business-location-footer .primary-button { min-width:208px; }
.business-location-footer .form-message { margin:0; }

.route-live-bar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:14px; padding:14px 17px; border:1px solid rgba(201,168,76,.24); background:rgba(201,168,76,.055); }
.route-live-copy { display:flex; align-items:center; gap:11px; }
.route-live-copy b,.route-live-copy small { display:block; }
.route-live-copy b { color:#ece7dc; font-size:.73rem; }
.route-live-copy small { margin-top:4px; color:#9a9b93; font-size:.61rem; }
.route-live-dot { width:9px; height:9px; border-radius:50%; background:#76776f; }
.route-live-dot.active { background:#9ed27f; box-shadow:0 0 0 5px rgba(158,210,127,.12); animation:routePulse 1.7s infinite; }
.route-live-actions { display:flex; gap:8px; }
.route-live-actions .outline-mini { margin:0; }
.routes-layout { display:grid; grid-template-columns:320px minmax(0,1fr); min-height:540px; border:1px solid rgba(255,255,255,.09); background:#1b1c19; }
.home-appointment-list { overflow:auto; border-right:1px solid rgba(255,255,255,.08); background:#171814; }
.route-appointment { display:grid; width:100%; grid-template-columns:58px minmax(0,1fr) auto; gap:11px; align-items:center; padding:16px; border:0; border-bottom:1px solid rgba(255,255,255,.065); background:transparent; color:inherit; text-align:left; }
.route-appointment:hover,.route-appointment.active { background:rgba(201,168,76,.11); }
.route-appointment.active { border-left:2px solid var(--gold); padding-left:14px; }
.route-appointment:disabled { cursor:not-allowed; opacity:.43; }
.route-date { color:var(--gold-light); font:600 .69rem var(--serif); line-height:1.15; }
.route-appointment-copy { min-width:0; }
.route-appointment-copy b,.route-appointment-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.route-appointment-copy b { color:#ebe6dc; font-size:.73rem; }
.route-appointment-copy small { margin-top:5px; color:#93948c; font-size:.59rem; }
.route-chevron { color:var(--gold-light); font-size:.85rem; }
.route-map-panel { display:grid; min-width:0; grid-template-rows:auto minmax(350px,1fr) auto; }
.route-map-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 19px; border-bottom:1px solid rgba(255,255,255,.08); background:#20211d; }
.route-map-head b,.route-map-head small { display:block; }
.route-map-head b { color:#ece7dc; font-size:.76rem; }
.route-map-head small { overflow:hidden; max-width:440px; margin-top:4px; color:#999a92; font-size:.62rem; text-overflow:ellipsis; white-space:nowrap; }
.route-map-head .outline-mini { margin:0; white-space:nowrap; }
.route-map-panel .map-canvas { height:auto; min-height:390px; }
.route-empty { padding:42px 21px; color:#979890; text-align:center; }
.route-empty span { color:var(--gold); font-size:1.3rem; }
.route-empty h3 { margin:10px 0 6px; color:#e8e3d9; font:1.4rem var(--serif); }
.route-empty p { margin:0; font-size:.67rem; line-height:1.5; }
.route-link { width:max-content; padding:0; border:0; background:transparent; color:#e8cc7a; font-size:.61rem; font-weight:700; text-align:left; text-decoration:underline; text-underline-offset:3px; }
.route-link:hover { color:#f2df9b; }
@keyframes routePulse { 50% { box-shadow:0 0 0 8px rgba(158,210,127,0); } }

@media (max-width:1040px) { .business-location-card,.routes-layout { grid-template-columns:1fr; }.home-appointment-list { max-height:260px; border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }.business-coordinate-row { grid-template-columns:1fr 1fr; }.business-coordinate-row .outline-mini { grid-column:1/-1; width:max-content; } }
@media (max-width:820px) { .route-live-bar,.route-map-head,.business-location-footer { display:block; }.route-live-actions { margin-top:13px; }.route-map-head .outline-mini,.business-location-footer .primary-button { width:100%; margin-top:13px; }.business-location-footer .form-message { margin-top:10px; }.route-map-panel .map-canvas { min-height:330px; } }
@media (max-width:490px) { .business-location-card { padding:19px; }.business-coordinate-row { grid-template-columns:1fr; }.business-coordinate-row .outline-mini { grid-column:auto; width:100%; }.route-live-actions { display:grid; grid-template-columns:1fr; }.route-live-actions .outline-mini { width:100%; }.route-map-head small { max-width:220px; } }
