/* Camada final compartilhada pelas etapas do cliente. */
:root{
  --km-radius:8px;
  --km-shadow:0 18px 52px rgba(0,0,0,.3);
}

html{scroll-padding-top:76px}
body{font-feature-settings:"cv02","cv03","cv04","cv11";text-wrap:pretty}
button,a,input,textarea,select{touch-action:manipulation}
button,[role=button],a.btn{min-height:44px}
button:disabled,[aria-disabled=true]{cursor:not-allowed!important;transform:none!important;filter:saturate(.72)}

.app-header,.tracking-header{box-shadow:0 1px 0 rgba(255,255,255,.025)}
.app-header .bar{min-height:68px}
.back{min-width:44px;justify-content:flex-start}
.trust-row{line-height:1.5}

.km-wizard-shell,.criteria-card,.result-card,.provider-card,.payment-sheet,.dispatch-modal,.panel{
  box-shadow:var(--km-shadow);
}
.km-flow-section,.criteria-card,.provider-card,.result-card,.panel{border-radius:var(--km-radius)!important}
.km-wizard-footer button,.choose-btn,.payment-continue,.btn-track-dispatch-main,.btn-primary{min-height:48px!important;border-radius:7px!important}
.km-wizard-footer button:active,.choose-btn:active,.payment-continue:active,.btn-primary:active{transform:translateY(1px)!important}

.km-location-dev{display:none!important}
.km-place-option{min-height:58px}
.km-place-option strong{line-height:1.35}
.km-search-label input{font-size:16px!important}
.km-map-confirm{min-height:48px}

.provider-card{isolation:isolate;padding:17px!important}
.provider-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:8px 0 0 8px;background:transparent}
.provider-card.highlight-price::before{background:var(--beacon)}
.provider-card.highlight-near::before,.provider-card.highlight-fast::before{background:var(--success)}
.provider-title h3{font-size:15px!important}
.provider-meta{line-height:1.55}
.choose-btn{font-size:13px!important}
.choose-btn:focus-visible{box-shadow:0 0 0 4px rgba(255,176,32,.18)}

.payment-sheet{border-radius:8px 8px 0 0!important}
.payment-method,.payment-note{border-radius:7px!important}
.payment-method{min-height:72px}
.payment-breakdown>div{min-height:46px}

.tracking-map-shell{box-shadow:var(--km-shadow)}
.tracking-live-metrics>div,.tracking-alert,.tracking-dialog,.tracking-message{border-radius:7px!important}
.tracking-chat-form button{min-height:44px}
.tracking-live{letter-spacing:.02em}

.rating-shell{max-width:560px}
.rating-panel{padding:24px!important}
.rating-provider{display:flex;align-items:center;gap:12px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.08)}
.rating-success-icon{width:58px;height:58px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:rgba(57,217,138,.12);color:#39d98a}
.rating-success-icon svg{width:30px;height:30px}
.rating-submit{margin-top:18px}
.rating-thanks{text-align:center;padding:44px 24px!important}

@media(max-width:620px){
  .app-header .bar{min-height:60px}
  .provider-card{grid-template-columns:1fr!important;gap:14px!important}
  .provider-action{width:100%;display:grid!important;grid-template-columns:1fr 1fr;align-items:center!important;min-width:0!important}
  .provider-price{text-align:left!important}.provider-price .price-row{justify-content:flex-start!important}
  .choose-btn{width:100%!important}
  .payment-sheet{padding:18px 14px calc(18px + env(safe-area-inset-bottom))!important}
  .rating-panel{padding:18px!important}
}

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