/* Partner portal only: header, navigation and route geometry. */
html[data-partner-layout]{--partner-header-background:#fff;background:var(--partner-header-background)}
html[data-partner-layout][data-business-theme="dark"]{--partner-header-background:#1d2532}
html[data-partner-layout] body{background:var(--partner-header-background)}
html[data-partner-layout] #app{min-height:100vh;min-height:100dvh;background:var(--bg)}
html[data-partner-layout] .topbar{background:var(--partner-header-background);isolation:isolate}
html[data-partner-layout] .topbar::before{content:"";position:absolute;bottom:100%;left:0;right:0;height:100vh;background:var(--partner-header-background);pointer-events:none}
.partner-brand{gap:6px}
.partner-brand-label{transform:rotate(-4deg);transform-origin:center;line-height:18px;padding:4px 7px;min-height:27px}
.sidebar-head{display:none}
.icon-button:not(.mobile-toggle):not(.mobile-close){display:inline-grid;place-items:center;width:44px;height:44px;padding:0;line-height:1;flex-shrink:0}
.icon-button>.icon{display:block;width:20px;height:20px;margin:0;flex-shrink:0}
.address-control{position:relative;display:grid;min-width:0}
#app .address-control>.input.address-input{width:100%;min-height:48px;padding-left:54px;padding-right:14px}
.address-control>.point-mark{position:absolute;top:50%;left:14px;transform:translateY(-50%);display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:var(--blue-soft);font-size:18px;font-weight:650;line-height:1;pointer-events:none}
.address-control>.point-mark.to{background:#fff0e2;color:#9a4b0d}
html[data-business-theme="dark"] .address-control>.point-mark.to{background:#3b3224;color:#ebc387}
.address-control>.suggestions{top:calc(100% + 6px);left:0;right:0}
.field label{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:2px}
.field label em{margin-left:0}
.map-legend{display:grid;gap:16px;padding:20px}
.map-point{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:12px;align-items:start;font-size:1rem;line-height:24px}
.map-point>b{display:grid;place-items:center;width:28px;height:28px;margin:0;border-radius:50%;font-size:16px;line-height:1;font-weight:650}
.map-point>div{min-width:0;padding-top:2px;overflow-wrap:anywhere}
.map-point small{line-height:21px;margin-bottom:2px}
.map-title{gap:12px;flex-wrap:wrap;padding:16px 20px}
.map-title span{margin-left:auto}
.map-empty{padding:0 20px 20px;text-align:left}
.drawer-route{display:grid;gap:20px}
.drawer-point{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start}
.drawer-point>.letter{display:grid;place-items:center;width:30px;height:30px;margin:0;font-size:16px;line-height:1;font-weight:650}
.drawer-point>div{min-width:0;overflow-wrap:anywhere}
.order-card-route div{grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start}
.order-card-route i{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:14px;font-weight:600;line-height:1}
.order-card-route div:last-child i{background:#fff0e2;color:#9a4b0d}
html[data-business-theme="dark"] .order-card-route div:last-child i{background:#3b3224;color:#ebc387}
@media(max-width:767px){
 .topbar{height:calc(61px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));gap:8px}
 .topbar .mobile-toggle{width:40px;min-width:40px;height:44px;padding:0;place-items:center;line-height:1}
 .topbar .partner-brand{gap:5px}
 .topbar .partner-brand-label{font-size:12px;line-height:16px;padding:4px 6px;min-height:25px}
 .sidebar{width:min(320px,calc(100vw - 20px));padding:calc(12px + env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior-y:contain}
 .sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:16px;min-height:44px;flex-shrink:0}
 .sidebar-head .partner-brand{gap:5px;color:#f4f7fc;min-width:0}
 .sidebar-head .partner-wordmark{font-size:18px;letter-spacing:-.5px}
 .sidebar-head .partner-brand-label{font-size:12px;line-height:16px;padding:4px 5px;min-height:25px}
 .sidebar-head .mobile-close{position:static;display:inline-grid;place-items:center;flex-shrink:0;width:44px;min-width:44px;height:44px;padding:0;line-height:1;border-radius:10px;background:#ffffff0d;color:#bdc9dd}
 .sidebar .nav{margin-top:0}
 .sidebar .nav a{padding-left:12px;padding-right:12px}
 .sidebar-bottom{padding-top:24px}
 body:has(.sidebar.open){overflow:hidden}
 .map-legend{padding:18px;gap:16px}
 .map-title{padding:16px 18px}
 .map-empty{padding:0 18px 18px}
 .mobile-submit{padding-bottom:max(12px,env(safe-area-inset-bottom,0px))}
}
@media(max-width:350px){
 .topbar{padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px));gap:5px}
 .topbar .mobile-toggle{width:36px;min-width:36px}
 .topbar .partner-brand{gap:4px}
 .topbar .partner-wordmark{font-size:18px}
 .topbar .partner-brand-label{padding-left:5px;padding-right:5px}
}
