:root{
  --km-bg:#101215;
  --km-panel:#181c21;
  --km-panel-2:#20252b;
  --km-line:#343b43;
  --km-text:#f5f7f9;
  --km-muted:#aeb7c2;
  --km-yellow:#ffb321;
  --km-green:#31c77a;
  --km-red:#ff6f61;
}

body{background:var(--km-bg);color:var(--km-text)}
.app-main{padding-top:18px}
.content{max-width:780px}
.app-head{margin-bottom:18px}
.app-head .eyebrow{font-size:11px;letter-spacing:0;color:var(--km-yellow)}
.app-head h1{font-size:30px;letter-spacing:0;margin:8px 0 5px}
.app-head p{max-width:560px;color:var(--km-muted);font-size:14px}
.trust-row{margin-top:18px}

.km-wizard-shell{gap:12px!important}
.km-wizard-top{top:8px!important;border-radius:8px!important;background:rgba(16,18,21,.96)!important;border-color:var(--km-line)!important;padding:12px 14px!important}
.km-wizard-top strong{font-size:19px!important;letter-spacing:0}
.km-wizard-top span{letter-spacing:0!important}
.km-wizard-dots{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.km-flow-section{border-radius:8px!important;border-color:var(--km-line)!important;background:var(--km-panel)!important;padding:16px!important}
.km-flow-head strong{font-size:16px!important}
.km-flow-head span{color:var(--km-muted)!important;font-size:12px!important}

.km-service-grid{grid-template-columns:1fr!important}
.km-service-card{border-radius:8px!important;min-height:82px!important;grid-template-columns:44px 1fr!important;column-gap:12px!important;align-items:center!important;background:var(--km-panel-2)!important}
.km-service-card span{grid-row:1/3;font-size:26px!important}
.km-service-card strong,.km-service-card small{grid-column:2}
.km-service-card.active{border-color:var(--km-yellow)!important;background:#30291b!important}

.km-location-hub{border-radius:8px!important;background:#15191e!important;border-color:var(--km-line)!important;box-shadow:0 12px 30px rgba(0,0,0,.26)!important}
.km-location-row{border-radius:6px!important;grid-template-columns:1fr 36px!important}
.km-location-hub [hidden]{display:none!important}
.km-location-row-main{border-radius:5px!important}
.km-location-row.active{background:#2a251a!important}
.km-location-row-remove{width:32px;height:32px;border:0;background:transparent;color:var(--km-muted);font-size:21px;display:grid;place-items:center;cursor:pointer;border-radius:6px}
.km-location-row-remove:hover{background:rgba(255,255,255,.08);color:var(--km-text)}
.km-location-pin{border-radius:8px!important}
.km-location-ref{border-radius:6px!important}

.km-search-label{font-size:12px!important;color:var(--km-text)!important}
.km-search-label input{min-height:54px;border-radius:7px!important;border-color:#46505b!important;background:#111418!important;font-size:16px!important;padding:0 14px!important}
.km-search-label input:focus{border-color:var(--km-yellow)!important;box-shadow:0 0 0 3px rgba(255,179,33,.16)!important;outline:0}
.km-address-details-toggle{border-radius:6px!important;color:var(--km-muted)!important;background:transparent!important;border-style:dashed!important}
.km-place-listbox{border-radius:8px!important;background:#111418!important;border-color:#4a535d!important}
.km-place-option{border-radius:6px!important;grid-template-columns:24px 1fr!important}
.km-place-option strong{font-size:13.5px!important}
.km-place-option em{letter-spacing:0}
.km-place-option .km-place-ok{color:var(--km-green)!important}
.km-place-option .km-place-dev-score{display:block;margin-top:5px;color:#8ea0b4!important;font:700 10px/1.35 'JetBrains Mono',monospace!important;white-space:normal}
.km-place-option mark{background:transparent;color:#fff;font-weight:950;text-decoration:underline;text-decoration-color:rgba(255,176,32,.78);text-decoration-thickness:2px;text-underline-offset:3px}
.km-place-did-you-mean{display:flex;align-items:baseline;gap:6px;padding:8px 11px 9px;border-bottom:1px solid #343b43;color:#aeb7c2;font-size:11px}
.km-place-did-you-mean strong{color:#ffbf3f;font-size:12px}
.km-place-loading{display:flex;align-items:center;gap:9px;padding:12px;color:#d8dee6;font-size:12px}
.km-place-loading>span{width:14px;height:14px;border:2px solid #505a65;border-top-color:#ffb020;border-radius:50%;animation:km-search-spin .72s linear infinite;flex:0 0 auto}
@keyframes km-search-spin{to{transform:rotate(360deg)}}

.km-status{border-radius:6px!important}
.km-location-map{border-radius:8px!important;border-color:var(--km-line)!important;position:relative}
.km-location-map-head{padding:12px 14px!important}
.km-location-map-badge{border-radius:5px!important;letter-spacing:0!important}
.km-location-js-map{position:relative;height:clamp(390px,56dvh,620px)!important}
.km-location-js-map .maplibregl-ctrl-group button,.km-route-map .maplibregl-ctrl-group button{width:40px!important;height:40px!important}
.km-location-map-address{font-size:13px!important}
.km-location-map-foot{display:none!important}

.km-map-adjust-ui{position:absolute;inset:0;z-index:5;pointer-events:none;display:grid;grid-template-rows:1fr auto}
.km-map-center-pin{align-self:center;justify-self:center;position:relative;width:54px;height:72px;transform:translateY(-18px)}
.km-map-center-pin .km-map-marker-glyph{position:absolute;left:7px;top:2px}
.km-map-marker-glyph svg{width:23px;height:23px;display:block;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.km-map-center-pin .km-map-marker-badge{top:31px}
.km-map-center-pin .km-map-marker-stem{bottom:3px}
.km-map-adjust-panel{pointer-events:auto;background:rgba(16,18,21,.96);border-top:1px solid var(--km-line);padding:12px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.km-map-adjust-panel strong,.km-map-adjust-panel span{display:block}
.km-map-adjust-panel strong{font-size:13px}
.km-map-adjust-panel span{font-size:11px;color:var(--km-muted);margin-top:3px;line-height:1.35}
.km-map-confirm{min-height:44px;border:0;border-radius:6px;padding:0 16px;background:var(--km-yellow);color:#17120a;font-weight:900;cursor:pointer}
.km-map-confirm:hover{filter:brightness(1.04)}
.km-map-moving .km-map-center-pin{transform:translateY(-22px)}

.km-precision{margin-top:10px;border-left:3px solid var(--km-yellow);padding:9px 11px;background:#282319;color:var(--km-text);font-size:12px;line-height:1.45}
.km-precision[data-precision=exact],.km-precision[data-precision=cnefe_exact],.km-precision[data-precision=cnefe_adjusted],.km-precision[data-precision=gps],.km-precision[data-precision=manual]{border-color:var(--km-green);background:#17271f}
.km-precision[data-precision=cnefe_estimated],.km-precision[data-precision=cnefe_street_area]{border-color:var(--km-yellow);background:#282319}
.km-precision strong{display:block;margin-bottom:2px}

.km-vehicle-choice-grid{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.km-vehicle-choice-grid button{border-radius:8px!important;background:var(--km-panel-2)!important;min-height:82px!important}
.km-vehicle-choice-grid button.active{background:#30291b!important}
.km-radio-row label{border-radius:7px!important}

.km-route-preview{border-radius:8px!important;border-color:var(--km-line)!important}
.km-route-ab{background:#14171b!important}
.km-route-ab-icon{border-radius:7px!important}
.km-manual-summary,.km-done-card{border-radius:8px!important}
.km-summary-grid div{border-radius:7px!important}

.km-wizard-footer{bottom:8px!important;border-radius:8px!important;background:rgba(16,18,21,.96)!important;border-color:var(--km-line)!important}
.km-wizard-footer button{border-radius:6px!important}
.km-wizard-message{border-radius:7px!important;order:98}
.km-location-dev{margin-top:12px;border:1px dashed #46505b;border-radius:6px;padding:8px 10px;color:var(--km-muted);font:11px/1.45 "JetBrains Mono",monospace}
.km-location-dev summary{cursor:pointer;color:var(--km-yellow);font-weight:800}
.km-location-dev pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}

button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid rgba(255,179,33,.48);outline-offset:2px}

@media(max-width:560px){
  .app-main{padding-top:10px}.content{padding-inline:10px}.app-head h1{font-size:25px}.app-head p{font-size:13px}
  .km-wizard-top{top:4px!important}.km-wizard-top strong{font-size:17px!important}
  .km-flow-section{padding:12px!important}
  .km-location-hub{position:relative!important;top:auto!important}
  .km-location-js-map{height:54dvh!important;min-height:360px!important;max-height:560px!important}
  .km-map-adjust-panel{grid-template-columns:1fr;padding:10px}.km-map-confirm{width:100%}
  .km-vehicle-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .km-vehicle-choice-grid button:last-child{grid-column:1/-1}
  .km-wizard-footer{position:relative!important;bottom:auto!important;grid-template-columns:auto 1fr!important;padding:8px!important;margin-top:12px!important}
  .km-wizard-footer button:first-child{order:1!important}.km-wizard-footer button:last-child{order:2!important}
  .km-place-listbox{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;max-height:min(46dvh,360px)!important}
  #kmDiagnosticsButton{display:none!important}
}
