body{--bg:#081323;--panel:#101f33;--panel2:#172a42;--line:#2a3c53;--muted:#a2b6cb;--green:#f5c35f;--accent:#f5c35f;--secondary:#73b8ed;--tint:#2b2a26;--soft:#1e3048;--text:#f2f6fc;background:radial-gradient(ellipse at 65% 0,#15365a55,transparent 65%),var(--bg)}
body[data-theme=interphase]{--bg:#090c23;--panel:#111831;--panel2:#1c2446;--line:#30385b;--muted:#a5afd3;--green:#50dfff;--accent:#50dfff;--secondary:#c480ff;--tint:#142d45;--soft:#1a2545;background:radial-gradient(ellipse at 95% 5%,#b72acd15,transparent 50%),radial-gradient(ellipse at 5% 70%,#00ceff12,transparent 50%),var(--bg)}
body[data-theme=teal]{--bg:#0d1b25;--panel:#152a37;--panel2:#1e3945;--line:#355361;--muted:#a6c4ce;--green:#61e0d4;--accent:#61e0d4;--secondary:#72b9e5;--tint:#183c40;--soft:#1a3745;background:radial-gradient(ellipse at 80% 0,#1d6e6c33,transparent 70%),var(--bg)}
.preview-controls{display:flex;align-items:center;gap:14px}.preview-controls select{font-size:11px;padding:5px 8px;background:var(--panel);width:205px;color:var(--text);border-color:var(--line)}.preview-bar{background:var(--bg);border-color:var(--line)}.preview-bar b{color:var(--muted)}.switch{background:var(--panel2)}.switch button{color:var(--muted)}.switch button.active{color:#071b2e;background:var(--accent)}aside,header{background:var(--bg)}nav a.active{background:var(--tint);box-shadow:inset 2px 0 var(--accent);color:var(--accent)}nav a:hover{background:var(--soft)}nav svg{color:inherit}.avatar{background:var(--tint);border-color:var(--accent);color:var(--accent)}.hero{border-color:var(--line);background:radial-gradient(ellipse at 95% 0%,#376dab40,transparent 65%),linear-gradient(120deg,var(--panel),var(--soft));position:relative}.hero:after{content:'';position:absolute;pointer-events:none;inset:0;background-image:linear-gradient(#98c3fb07 1px,transparent 1px),linear-gradient(90deg,#98c3fb07 1px,transparent 1px);background-size:30px 30px}.hero>div{z-index:1}.hero .city small,.route-sub,.weather-strip,.countdown p,.countdown strong small{color:var(--muted)}.route-track,.countdown{border-color:var(--line)}.next{background:linear-gradient(110deg,var(--tint),var(--panel));color:var(--text);border:1px solid var(--accent);box-shadow:0 0 22px #559dff0a}.next .eyebrow{color:var(--accent)}.next p{color:var(--muted)}.next button,button.primary{background:var(--accent);color:#0b1d30}.next-icon{color:var(--accent)}button:hover{background:var(--soft);border-color:var(--accent)}button.primary:hover{filter:brightness(1.1);background:var(--accent)}.light.green{background:#6edab0;box-shadow:0 0 8px #6edab030}.pill.green,.pill.gray{background:var(--soft);color:var(--accent)}.progress{background:var(--line)}.progress i{background:linear-gradient(90deg,var(--secondary),var(--accent))}.step.done{border-color:var(--accent);color:var(--muted)}.step.done:before{background:var(--accent);border-color:var(--accent)}.step.current{color:var(--accent)}.step.current:before{border-color:var(--accent)}.step{border-color:var(--line)}.row-icon,.list-row .row-icon{background:var(--tint);color:var(--accent)}.metric svg path{stroke:var(--accent)}.metric{position:relative}.metric:before{content:'';position:absolute;inset:0 12px auto;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.6}.metric:nth-child(3n):before{background:linear-gradient(90deg,transparent,var(--secondary),transparent)}.metric:nth-child(3n) svg path{stroke:var(--secondary)}.donut{background:conic-gradient(var(--accent) 0 37.5%,var(--secondary) 37.5% 66.7%,#527999 66.7% 87.5%,var(--soft) 87.5%)}.bar i{background:linear-gradient(0deg,var(--soft),var(--secondary))}.bar:last-child i{background:linear-gradient(0deg,var(--soft),var(--accent))}.item-art{background:var(--soft)}.item-art svg{stroke:var(--muted)}.room-list button.active{background:var(--tint);border-color:var(--accent);color:var(--accent)}.case-row{background:var(--soft)}.case-row:hover{border-color:var(--accent)}.notice{background:var(--soft);color:var(--text);border-color:var(--line)}.notice.amber{background:#30291d;color:var(--amber);border-color:#73613a}.calendar .cal-day{background:var(--panel2);border-color:var(--line)}.calendar .event{background:var(--tint);border-color:var(--accent)}dialog{background:var(--panel);border-color:var(--line)}input,select,textarea{background:var(--bg);border-color:var(--line)}#toast{background:var(--panel);border-color:var(--accent);color:var(--accent)}.state-map rect{fill:var(--soft);stroke:var(--line)}.state-map .has rect{fill:var(--tint);stroke:var(--accent)}.state-map .selected rect{fill:var(--accent)}.state-map .has text{fill:var(--text)}.state-map .count{fill:var(--accent)}.map-frame{background-image:linear-gradient(#85bafa08 1px,transparent 1px),linear-gradient(90deg,#85bafa08 1px,transparent 1px);background-color:var(--bg);background-size:22px 22px}.status-line svg{vertical-align:middle;width:20px}.state-shape{fill:var(--soft);stroke:#456480;stroke-width:.7}.state-map .has .state-shape{fill:var(--tint);stroke:var(--accent);stroke-width:1}.state-map .selected .state-shape{fill:var(--accent)}.state-map g:hover .state-shape,.state-map g:focus .state-shape{stroke:var(--text);stroke-width:2}.state-map .selected text{fill:#102437}.state-chip-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:12px}.state-chip-list button{padding:4px 9px;font-size:10px}.state-chip-list .active{border-color:var(--accent);color:var(--accent)}.geography-note{font-size:8px;fill:var(--muted)}
body[data-theme=interphase] .panel,body[data-theme=interphase] .feature{border-radius:4px 15px 4px 15px;box-shadow:inset 0 1px #50dfff15,0 0 20px #1e77c108}body[data-theme=interphase] .panel-title h2{letter-spacing:.6px;text-transform:uppercase;font-size:15px}body[data-theme=interphase] .brand-icon{filter:drop-shadow(0 0 5px #50dfff)}
@media(max-width:800px){.preview-bar>span{display:none}.preview-controls{justify-content:space-between;width:100%;gap:5px}.preview-controls select{width:185px}.preview-bar{padding:0 10px}}
@media(max-width:650px){.preview-controls select{width:155px;font-size:10px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric .metric-label{font-size:11px;min-height:15px}.metric strong{font-size:28px}.metric small{font-size:10px}.metric{padding:13px}.panel-title{gap:10px;flex-wrap:wrap}}

body[data-theme=violet]{--bg:#100e22;--panel:#1c1a31;--panel2:#282440;--line:#37324e;--muted:#b6afca;--green:#be95f7;--accent:#be95f7;--secondary:#64cad8;--tint:#302447;--soft:#25213d;background:radial-gradient(ellipse at 75% 0,#6949ad18,transparent 70%),var(--bg)}
.page-head>div{flex:1;min-width:0}.page-head .case-select{width:auto;flex:0 0 auto;max-width:45%}.page-head h1{white-space:normal}body[data-theme=violet] .metric{border-radius:9px;box-shadow:inset 0 1px #c2a2ff0a}body[data-theme=violet] .metric:before{opacity:.25}body[data-theme=violet] .panel{border-radius:12px}body[data-theme=violet] .map-frame{background-color:#15132a}
@media(max-width:650px){.page-head .case-select{max-width:100%;width:100%}.page-head>div{width:100%}}

body[data-theme=interphase]{--secondary:#f258c3;--tertiary:#aa73ff;background:radial-gradient(ellipse at 95% 5%,#ed2bab15,transparent 50%),radial-gradient(ellipse at 5% 70%,#00ceff12,transparent 50%),var(--bg)}
.interphase-mark{display:flex;gap:3px;transform:skewY(-14deg);align-items:center}.interphase-mark i{width:6px;height:24px;border:1px solid #61c7f9;background:#61c7f930;box-shadow:0 0 6px #61c7f940}.interphase-mark i:nth-child(2){height:30px;border-color:#ed48bd;background:#ed48bd30;box-shadow:0 0 6px #ed48bd40}.interphase-mark i:nth-child(3){border-color:#a27af5;background:#a27af530;box-shadow:0 0 6px #a27af540}.interphase-word{font-size:17px;letter-spacing:1px}.interphase-word>span{color:#f36bc9}.interphase-word small{font-size:7px;letter-spacing:1.3px}body[data-theme=interphase] .metric:nth-child(3n+2) .progress i{background:linear-gradient(90deg,#6550b7,#b682ff)}

.customer-logo{display:block;width:100%}.customer-logo img{display:block;width:100%;height:auto}.customer-logo small{margin-top:10px;text-align:center}.brand{min-height:46px}

/* Larger weather panel placed between route and countdown. */
.hero{grid-template-columns:minmax(320px,1.3fr) minmax(310px,1.15fr) minmax(170px,.65fr);align-items:center;gap:25px}
.weather-focus{padding:16px 20px;text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:11px;color:var(--text);width:100%;position:relative;z-index:1}
.weather-focus-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.weather-focus-head>span:last-child{font-size:10px;color:var(--muted)}
.weather-locations{display:grid;grid-template-columns:1fr 1fr;gap:20px}.weather-locations>div+div{border-left:1px solid var(--line);padding-left:20px}.weather-locations small{display:block;font-size:10px}.weather-reading{display:flex;align-items:center;gap:10px;margin:10px 0}.weather-symbol{font-size:35px;color:var(--accent);line-height:1}.weather-reading strong{font-size:39px;font-weight:600;line-height:1;letter-spacing:-1.5px}.weather-reading strong span{font-size:16px;color:var(--muted);letter-spacing:0}.weather-locations b{font-size:12px;display:block;margin-bottom:4px}.weather-demo{font-size:9px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:14px}
.hero .route-track{min-width:35px}.hero .countdown{min-width:0;padding-left:22px}.hero .city{font-size:28px}
@media(max-width:1350px){.hero{grid-template-columns:1fr 1.1fr;gap:20px}.hero>.countdown{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:16px 0 0;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.countdown strong{font-size:45px}.countdown p{margin:0}.hero .city{font-size:23px}}
@media(max-width:850px){.hero{grid-template-columns:1fr}.weather-focus{max-width:none}.hero>.countdown{grid-column:auto}.hero .city{font-size:27px}.weather-locations small{font-size:11px}}
@media(max-width:650px){.hero{gap:15px}.weather-focus{padding:14px}.weather-reading strong{font-size:36px}.weather-locations{gap:12px}.weather-locations>div+div{padding-left:12px}.weather-reading{gap:8px}.hero>.countdown{display:grid;grid-template-columns:1fr 1.5fr;gap:5px}.countdown .eyebrow{grid-column:1/-1}.hero .city{font-size:24px}}

/* Customer overview: independent route tile, then weather + countdown. */
.hero.route-hero{display:block;padding:22px;grid-template-columns:none}
.route-hero .route-main{width:100%}
.route-hero .route{margin:13px 0;gap:30px}
.route-hero .route-track{max-width:none;min-width:45px}
.route-hero .city{font-size:28px}
.route-map-space{min-height:205px;margin-top:20px;border:1px dashed var(--line);border-radius:10px;position:relative;display:flex;align-items:center;justify-content:center;gap:20px;background:linear-gradient(90deg,transparent 39px,color-mix(in srgb,var(--muted) 7%,transparent) 40px),linear-gradient(transparent 39px,color-mix(in srgb,var(--muted) 7%,transparent) 40px),var(--bg);background-size:40px 40px;overflow:hidden}
.map-space-label{display:flex;align-items:center;gap:14px;color:var(--text);font-size:17px;font-weight:550}
.map-space-label svg{width:34px;height:34px;color:var(--accent)}
.map-space-label small{display:block;font-size:11px;font-weight:400;margin-top:4px}
.map-space-badge{position:absolute;right:14px;top:12px;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.weather-countdown-tile{margin-top:0;margin-bottom:16px;border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(185px,.3fr);gap:26px;align-items:stretch}
.weather-countdown-tile .weather-focus{padding:0;border:0;border-radius:0;background:transparent}
.weather-countdown-tile .weather-focus:hover{background:transparent}
.weather-countdown-tile .weather-focus-head{margin-bottom:12px}
.weather-countdown-tile .weather-locations{gap:26px}
.weather-countdown-tile .weather-locations>div+div{padding-left:26px}
.weather-countdown-tile .countdown{min-width:0;padding:8px 0 8px 26px;border-left:1px solid var(--line);border-top:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px}
.weather-countdown-tile .countdown strong{font-size:64px;letter-spacing:-3px}
.weather-countdown-tile .countdown p{margin:0}
.weather-countdown-tile .weather-reading strong{font-size:43px}
@media(max-width:900px){.weather-countdown-tile{grid-template-columns:minmax(0,1fr) 155px;gap:18px;padding:18px}.weather-countdown-tile .countdown{padding-left:18px}.weather-countdown-tile .countdown strong{font-size:52px}.weather-countdown-tile .weather-locations{gap:16px}.weather-countdown-tile .weather-locations>div+div{padding-left:16px}.route-map-space{min-height:185px}}
@media(max-width:650px){.hero.route-hero{padding:16px}.route-hero .route{gap:14px}.route-hero .city{font-size:23px}.route-hero .route-sub{flex-wrap:wrap;gap:5px 14px}.route-map-space{min-height:170px;margin-top:15px}.map-space-label{font-size:15px}.map-space-badge{font-size:8px}.weather-countdown-tile{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}.weather-countdown-tile .countdown{border-left:0;border-top:1px solid var(--line);padding:15px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:7px 15px;align-items:center}.weather-countdown-tile .countdown .eyebrow{grid-column:1/-1}.weather-countdown-tile .countdown strong{font-size:49px}.weather-countdown-tile .weather-reading strong{font-size:37px}.weather-countdown-tile .weather-locations{gap:14px}.weather-countdown-tile .weather-locations>div+div{padding-left:14px}}

/* Phone-first reading and controls; desktop arrangement remains unchanged. */
@media(max-width:650px){
 .preview-bar{height:auto;min-height:49px;flex-wrap:wrap;padding:8px 10px;gap:8px;position:relative}
 .preview-controls{flex-wrap:wrap;max-width:100%}
 .preview-controls select{max-width:100%}
 aside{top:52px;padding-top:18px;z-index:30}
 header{position:sticky;top:0;z-index:25;background:var(--bg)}
 .menu-toggle{min-width:44px;min-height:44px}
 .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .metric{padding:14px;min-height:130px}
 .metric .metric-label{font-size:12px}.metric small{font-size:11px}.metric strong{font-size:28px}
 .panel-title{flex-wrap:wrap;gap:10px}
 .status-line{flex-wrap:wrap}
 button,nav a,select,input:not([type=checkbox]):not([type=radio]){min-height:44px}
 input,select,textarea{font-size:16px}
 .switch button{min-height:44px}
 .state-chip-list button{min-width:44px}
 .mini small,.feature p{font-size:12px}
 .big-grid{grid-template-columns:1fr}.feature:last-child{grid-column:auto}
 .feature{min-height:150px}
 .weather-locations>div{min-width:0}.weather-locations small{overflow-wrap:anywhere}
 .weather-reading{flex-wrap:wrap}.weather-reading strong{white-space:nowrap}
 .route-hero .city{min-width:0;overflow-wrap:anywhere;font-size:21px}
 .route-hero .route{gap:10px}.route-hero .route-track{min-width:24px}
 .urgent{flex-wrap:wrap}.urgent button{margin-left:0}
 .sales-actions{width:100%}.sales-actions button{flex:1;white-space:normal}
 .lead-intake-group legend{max-width:100%}
 .profile-save-row button{width:100%}
 .private-contact-tile,.communication-channel-tile{min-width:0;overflow-wrap:anywhere}
}

.weather-locations>div>small:first-child{font-size:18px;font-weight:650;line-height:1.35;color:var(--text)}
@media(max-width:650px){.weather-locations>div>small:first-child{font-size:17px}}

.biz-company{display:flex;align-items:center;justify-content:space-between;gap:20px}.biz-company h2{font-size:26px;margin:8px 0}.biz-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;font-weight:600}.biz-button.primary{color:var(--bg);background:var(--green)}.biz-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.biz-stats>div{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.biz-stats strong{display:block;font-size:26px;color:var(--green)}.biz-stats span{font-size:12px;color:var(--muted)}.biz-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.biz-card{display:block;color:var(--text)}.biz-card>svg{width:28px;height:28px;color:var(--green);margin-bottom:12px}.biz-card p{margin:10px 0 18px}.biz-card>span{color:var(--green)}.biz-steps{padding-left:22px}.biz-steps li{padding:10px 0}.biz-facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.biz-fact{border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}.biz-fact p{color:var(--text);margin:8px 0}.biz-fact small,.biz-fact>span{display:block;margin-top:7px}.biz-profile-nav{margin:18px 0}.biz-profile-nav label{display:block;margin-bottom:8px}.biz-profile-nav select{width:100%;max-width:100%;padding:12px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px}.biz-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px}.biz-actions>span{font-size:12px;color:var(--muted)}.biz-record{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.biz-record p{margin-top:10px}.biz-copy{white-space:pre-wrap;color:var(--text)}.biz-review-stages{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:22px}.biz-review-stages>div{border-top:3px solid var(--line);padding-top:15px}.biz-demo{font-size:12px}.biz-facts,.biz-card,.biz-company{overflow-wrap:anywhere}body:has(.biz-demo) .panel{margin-bottom:18px}body:has(.biz-demo) .input-group{margin-bottom:18px}body:has(.biz-demo) input,body:has(.biz-demo) textarea,body:has(.biz-demo) select{max-width:100%;box-sizing:border-box}body:has(.biz-demo) textarea{width:100%;padding:12px;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:8px;font:inherit}body:has(.biz-demo) .input-group small{display:block;margin-top:8px}.preview-controls .switch{flex-wrap:wrap}
@media(max-width:900px){.biz-review-stages{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.biz-company{align-items:flex-start;flex-direction:column}.biz-company h2{font-size:23px}.biz-grid,.biz-facts,.biz-stats,.biz-review-stages{grid-template-columns:1fr}.biz-stats>div{display:flex;justify-content:space-between;gap:12px;align-items:center}.biz-stats strong{font-size:22px}.biz-stats span{text-align:right}.biz-actions{align-items:stretch;flex-direction:column}.biz-profile-nav select{font-size:16px}.biz-fact{padding:13px}body:has(.biz-demo) .form-grid{grid-template-columns:1fr}body:has(.biz-demo) .list-row{flex-wrap:wrap}.biz-record .panel-title{align-items:flex-start;gap:8px}.biz-record h3{overflow-wrap:anywhere;min-width:0}}

.portal-activity-panel{margin-top:20px}.portal-activity-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.portal-activity-tile{display:flex;flex-direction:column;gap:8px;padding:18px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;color:var(--text);min-width:0}.portal-activity-tile:hover{border-color:var(--green)}.portal-activity-tile>span{font-weight:650;font-size:13px}.portal-activity-tile strong{font-size:30px;color:var(--green)}.portal-activity-tile small{font-size:12px;overflow-wrap:anywhere}.portal-activity-tile>b{font-size:12px;margin-top:auto;color:var(--green)}.portal-activity-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.portal-activity-meta b{display:block;font-size:11px;color:var(--muted)}
@media(max-width:900px){.portal-activity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.portal-activity-grid{grid-template-columns:1fr 1fr;gap:10px}.portal-activity-tile{padding:13px}.portal-activity-meta{grid-template-columns:1fr 1fr}.portal-activity-panel .panel-title{align-items:flex-start;flex-wrap:wrap}}

.public-ratings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.public-rating{padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--panel2);min-width:0;overflow-wrap:anywhere}.public-rating>strong{display:block;font-size:24px;margin:14px 0;color:var(--green)}.public-rating>small,.public-rating>a{display:block;margin-top:10px}.public-rating strong small{font-size:15px}.public-rating p{font-size:13px}@media(max-width:650px){.public-ratings-grid{grid-template-columns:1fr}.public-rating>strong{font-size:22px}}

.zillow-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;font-weight:600;letter-spacing:0}.zillow-unavailable{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:6px}.move-address-detail{max-width:290px;white-space:normal;overflow-wrap:anywhere}.move-address-detail small{font-size:12px}.route .city{min-width:0}#move-address-form .input-group{min-width:0}

/* Keep the entire navigation, including its final controls, in the viewport. */
#sidebar{top:var(--sidebar-top,46px);bottom:auto;height:calc(100vh - var(--sidebar-top,46px));height:calc(100dvh - var(--sidebar-top,46px));min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;padding-bottom:max(20px,env(safe-area-inset-bottom))}
#sidebar> *{flex-shrink:0}
#sidebar #nav{overflow:visible;flex-shrink:0}
