:root{--navy:#02254A;--navy2:#063B70;--orange:#FF631C;--bg:#F4F7FA;--card:#fff;--text:#142536;--muted:#6B7785;--green:#11995B;--red:#B53631;--yellow:#F3B43F;--border:#DCE4EA;--shadow:0 10px 28px rgba(2,37,74,.09)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}a{color:var(--navy2);text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:82px;padding:8px max(18px,calc((100vw - 1220px)/2));background:#fff;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:1000;box-shadow:0 2px 16px #001b3512}.brand img{width:245px;max-height:66px;object-fit:contain}.main-nav{display:flex;gap:8px;align-items:center}.main-nav a{padding:11px 13px;border-radius:10px;font-weight:750;color:var(--navy)}.main-nav a:hover{background:#edf4f8}.main-nav .nav-cta{background:var(--orange);color:#fff}.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--navy)}.container{max-width:1220px;margin:auto;padding:24px 18px}.hero{background:linear-gradient(120deg,var(--navy),#064B88);color:#fff;border-radius:26px;padding:46px;display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:center}.hero h1{font-size:clamp(2rem,5vw,4.2rem);line-height:1;margin:0 0 16px}.hero h1 em{color:var(--orange);font-style:normal}.hero p{font-size:1.15rem;line-height:1.6}.hero-logo{background:#fff;border-radius:22px;padding:18px}.hero-logo img{width:100%;display:block}.actions{display:flex;flex-wrap:wrap;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:13px 17px;font-weight:850;cursor:pointer}.btn-primary{background:var(--orange);color:#fff}.btn-navy{background:var(--navy);color:#fff}.btn-light{background:#eef3f7;color:var(--navy)}.btn-danger{background:var(--red);color:#fff}.btn-success{background:var(--green);color:#fff}.btn-yellow{background:var(--yellow);color:#17212a}.btn-outline{background:#fff;color:var(--navy);border:1px solid var(--border)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:#fff;border:1px solid #eef1f4;border-radius:18px;padding:20px;box-shadow:var(--shadow)}.card h2,.card h3{margin-top:0;color:var(--navy)}.kpi small{display:block;color:var(--muted);font-weight:650}.kpi strong{display:block;margin-top:5px;font-size:1.65rem;color:var(--navy)}.kpi .orange{color:var(--orange)}.section-title{margin:38px 0 14px;color:var(--navy);font-size:1.7rem}.muted{color:var(--muted)}.area-nav{max-width:1220px;margin:14px auto 0;padding:0 18px;display:flex;gap:8px;overflow:auto}.area-nav a{white-space:nowrap;background:#fff;color:var(--navy);padding:10px 13px;border:1px solid var(--border);border-radius:11px;font-weight:750}.area-nav a.active{background:var(--navy);color:#fff}.form-card{max-width:850px;margin:0 auto}.field{margin-bottom:14px}.field label{display:block;font-weight:800;color:var(--navy);margin:0 0 6px}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid #cfd9e0;border-radius:11px;background:#fff;outline:none}.field textarea{min-height:105px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--orange);box-shadow:0 0 0 3px #ff631c18}.help{font-size:.89rem;color:var(--muted);margin-top:5px}.table-wrap{overflow:auto;background:#fff;border-radius:16px;box-shadow:var(--shadow)}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;border-bottom:1px solid #edf0f2;text-align:left;white-space:nowrap}th{background:#f3f6f8;color:var(--navy);font-size:.88rem}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf0f4;font-size:.82rem;font-weight:800}.badge.green{background:#dff5e9;color:#077040}.badge.blue{background:#e5eef7;color:#174d7f}.flash{max-width:1220px;margin:12px auto;padding:13px 18px;border-radius:12px;font-weight:700}.flash.success{background:#e1f6ea;color:#096b3e}.flash.error{background:#ffe7e3;color:#922f2a}.flash.info{background:#e8f1fa;color:#19517d}.login-shell{min-height:calc(100vh - 160px);display:grid;place-items:center;padding:25px}.login-card{width:min(540px,100%);background:#fff;border-radius:24px;padding:28px;box-shadow:0 15px 45px #002a4c20}.login-logo{display:block;width:min(380px,90%);margin:0 auto 12px}.fee-card{text-align:center}.fee-card .icon{font-size:2.4rem}.fee-card strong{display:block;font-size:1.8rem;color:var(--orange)}.ad-card{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center}.ad-icon{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,var(--navy),var(--navy2));display:grid;place-items:center;color:#fff;font-size:2rem}.freight-card{border-left:5px solid var(--orange)}.freight-card .price{font-size:1.8rem;color:var(--navy);font-weight:900}.tracking-map{height:55vh;min-height:360px;border-radius:20px;overflow:hidden;box-shadow:var(--shadow)}.tracking-panel{margin-top:14px}.overlay{position:fixed;inset:0;background:#001b35e8;z-index:2000;display:grid;place-items:center;padding:16px}.overlay.hidden{display:none}.call-card{width:min(690px,100%);background:#fff;border-radius:24px;padding:24px;text-align:center}.timer{width:76px;height:76px;border-radius:50%;background:var(--navy);color:#fff;font-size:2.1rem;font-weight:950;display:grid;place-items:center;margin:auto}.call-price{font-size:3rem;color:var(--orange);font-weight:950}.call-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.voice-tip{background:#fff3e9;padding:12px;border-radius:12px}.footer{margin-top:45px;background:var(--navy);color:#d8e3ec;padding:28px max(18px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;gap:24px;line-height:1.5}.map-search{display:grid;grid-template-columns:1fr auto;gap:8px}.map-box{height:330px;border-radius:14px;overflow:hidden;border:1px solid var(--border)}@media(max-width:900px){.hero{grid-template-columns:1fr;padding:28px}.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.footer{flex-direction:column}.brand img{width:205px}}@media(max-width:680px){.site-header{height:72px}.brand img{width:180px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:72px;left:10px;right:10px;background:#fff;border-radius:15px;padding:10px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.menu-open .main-nav{display:flex}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:16px 12px}.hero{border-radius:18px;padding:22px}.call-actions{grid-template-columns:1fr}.tracking-map{height:48vh;min-height:320px}.area-nav{padding:0 12px}.footer{padding:24px 16px}.login-shell{padding:12px}.login-card{padding:20px;border-radius:18px}}

.eyebrow{display:inline-block;font-size:.76rem;font-weight:950;letter-spacing:.14em;color:#ff9a69;margin-bottom:10px}.eyebrow.dark{color:var(--orange)}.btn-large{padding:15px 21px;font-size:1rem}.institutional-hero{min-height:500px}.trust-line{margin-top:18px;color:#d9e9f5;font-weight:700;line-height:1.8}.quick-freight{background:#fff;margin-top:-24px;position:relative;z-index:5;border-radius:20px;padding:22px;box-shadow:0 16px 38px rgba(2,37,74,.15);border:1px solid #e9eef2}.quick-head{display:flex;align-items:end;justify-content:space-between;gap:20px}.quick-head h2{margin:3px 0;color:var(--navy)}.quick-head p{color:var(--muted)}.quick-form{display:grid;grid-template-columns:1.35fr 1.35fr .9fr auto;gap:10px;align-items:end}.quick-form .field{margin:0}.quick-submit{min-height:48px}.centered-title{text-align:center;margin-bottom:7px}.section-subtitle{text-align:center;color:var(--muted);margin:0 auto 20px;max-width:720px}.feature-card{text-align:center;padding:26px}.feature-icon{width:68px;height:68px;margin:0 auto 15px;border-radius:20px;background:#fff0e8;display:grid;place-items:center;font-size:2rem}.feature-card p,.vehicle-public p{color:var(--muted);line-height:1.6}.vehicle-public .card{text-align:center}.vehicle-emoji{font-size:3rem;margin-bottom:8px}.tracking-public{margin-top:38px;border-radius:26px;background:linear-gradient(125deg,#02254A,#063f73);color:#fff;padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.tracking-public h2{font-size:2.2rem;margin:5px 0 10px}.tracking-public p{color:#d8e8f3;line-height:1.7}.check-list{list-style:none;padding:0;margin:18px 0}.check-list li{margin:9px 0;padding-left:26px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#ff7b39;font-weight:950}.tracking-mock{background:#fff;border-radius:22px;padding:13px;color:var(--text);box-shadow:0 16px 40px #0003}.mock-map{height:260px;border-radius:15px;background:linear-gradient(135deg,#e7edf0,#f9fbfc);position:relative;overflow:hidden}.mock-map:before,.mock-map:after{content:'';position:absolute;background:#d1dbe1;transform:rotate(-25deg);height:28px;width:120%;left:-10%;top:34%}.mock-map:after{transform:rotate(30deg);top:66%}.route-line{position:absolute;width:68%;height:7px;background:var(--orange);left:16%;top:49%;transform:rotate(-12deg);border-radius:10px;z-index:2}.pin{position:absolute;color:var(--navy);font-size:28px;z-index:3}.pin-a{left:13%;top:53%}.pin-b{right:13%;top:28%}.truck{position:absolute;left:50%;top:42%;font-size:34px;z-index:4}.mock-info{display:flex;justify-content:space-between;gap:14px;padding:13px 5px 3px}.mock-info span{color:var(--muted);font-size:.87rem}.public-empty{text-align:center;padding:30px}.driver-cta{margin-top:36px;background:#fff;border-radius:22px;padding:27px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow);border-left:6px solid var(--orange)}.driver-cta h2{margin:0 0 7px;color:var(--navy)}.faq-public{max-width:900px;margin:45px auto 0}.faq-public details{background:#fff;border-radius:14px;margin:10px 0;padding:16px 18px;box-shadow:0 4px 15px #0021400b}.faq-public summary{font-weight:850;color:var(--navy);cursor:pointer}.faq-public details p{color:var(--muted);line-height:1.6}.public-request-card{margin-top:20px}.continue-note{background:#fff0e8;color:#9b431b;border-radius:11px;padding:11px 13px;margin:10px 0 14px;font-weight:750}.driver-public-hero{background:linear-gradient(120deg,#02254A,#063B70);color:#fff;border-radius:26px;padding:42px;display:grid;grid-template-columns:1.2fr .8fr;gap:26px;align-items:center}.driver-public-hero h1{font-size:clamp(2rem,4.6vw,3.8rem);line-height:1.05;margin:6px 0 15px}.driver-public-hero p{font-size:1.08rem;line-height:1.65;color:#d9e8f3}.fee-explainer{margin-top:14px;border-left:5px solid var(--orange)}.driver-summary{background:#fff;color:var(--text);text-align:left}.driver-big-price{font-size:2.2rem;color:var(--orange);font-weight:950;margin:10px 0}.voice-bubble{background:#eef4f8;padding:13px;border-radius:13px;color:var(--navy);font-weight:850;margin-top:14px}
@media(max-width:1000px){.quick-form{grid-template-columns:1fr 1fr}.quick-submit{width:100%}.tracking-public,.driver-public-hero{grid-template-columns:1fr}}
@media(max-width:680px){.quick-freight{margin-top:12px}.quick-head{display:block}.quick-form{grid-template-columns:1fr}.tracking-public{padding:22px;border-radius:18px}.tracking-public h2{font-size:1.8rem}.driver-cta{align-items:flex-start;flex-direction:column}.mock-info{flex-direction:column}.driver-public-hero{padding:24px;border-radius:18px}}


/* ===== Frete Urgente 1.0.3 ===== */
.quick-form-extended{grid-template-columns:1fr 1fr 1.2fr 1.2fr .9fr auto}
.cep-inline .input-action{display:flex;gap:8px}
.location-preview{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px;color:var(--muted)}
.meta-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#eef4f8;color:var(--navy);font-size:.82rem;font-weight:700;border:1px solid #d7e4ee}
.tracking-public-enhanced .tracking-mock{background:#fff;border-radius:22px;padding:14px;color:var(--text);box-shadow:0 16px 40px #0003}
.google-like-map{height:270px;border-radius:18px;background:linear-gradient(180deg,#edf1f4,#f7f8fa);position:relative;overflow:hidden;border:1px solid #e1e7ec}
.google-like-map .road{position:absolute;background:#d5dde5;border-radius:999px;box-shadow:inset 0 0 0 5px #f8fafb}
.google-like-map .road-a{width:125%;height:24px;left:-10%;top:54%;transform:rotate(-18deg)}
.google-like-map .road-b{width:110%;height:22px;left:-8%;top:28%;transform:rotate(29deg)}
.google-like-map .road-c{width:88%;height:18px;left:4%;top:70%;transform:rotate(10deg)}
.google-like-map .road-d{width:19px;height:120%;left:67%;top:-12%;transform:rotate(2deg)}
.google-like-map .park{position:absolute;background:#d8efcf;border:1px solid #c1e0b5;border-radius:18px}
.google-like-map .park-a{width:130px;height:80px;left:30px;top:26px}
.google-like-map .park-b{width:110px;height:90px;right:30px;bottom:22px}
.google-like-map .route{position:absolute;background:#ff6c23;border-radius:999px;box-shadow:0 3px 10px rgba(255,108,35,.25)}
.google-like-map .route-main{width:56%;height:7px;left:20%;top:52%;transform:rotate(-12deg)}
.google-like-map .route-soft{width:20%;height:7px;left:59%;top:44%;transform:rotate(18deg)}
.pin-spot{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px;font-weight:800;color:var(--navy);font-size:.75rem}
.pin-spot span{display:block;width:18px;height:18px;border-radius:50%;background:var(--orange);border:3px solid #fff;box-shadow:0 3px 8px rgba(0,0,0,.18)}
.pin-start{left:16%;top:52%}
.pin-end{right:17%;top:28%}
.truck-marker{position:absolute;left:49%;top:42%;transform:translate(-50%,-50%) rotate(-11deg);background:#fff;border-radius:16px;padding:10px 10px 8px;width:150px;box-shadow:0 10px 24px rgba(2,37,74,.18);border:1px solid #dde5eb}
.truck-top{display:flex;align-items:center;justify-content:center;height:46px;margin-bottom:5px}
.truck-top img{max-width:112px;max-height:36px}
.truck-status{font-size:.78rem;color:var(--navy);font-weight:900;text-align:center}
.map-control{position:absolute;right:12px;width:34px;height:34px;border-radius:10px;background:#fff;display:grid;place-items:center;font-size:1.3rem;font-weight:900;color:var(--navy);box-shadow:0 6px 15px rgba(0,0,0,.12);border:1px solid #dce5ea}
.zoom-plus{top:12px}
.zoom-minus{top:52px}
.map-badge{position:absolute;background:#fff;border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:800;box-shadow:0 8px 18px rgba(0,0,0,.12)}
.eta-badge{left:14px;bottom:12px;color:var(--navy)}
.live-badge{left:14px;top:12px;color:#008446}
.proposal-card .proposal-actions{display:flex;gap:8px;flex-wrap:wrap}
.faq-public details summary{line-height:1.45}
@media(max-width:1180px){
  .quick-form-extended{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .quick-form-extended{grid-template-columns:1fr}
  .cep-inline .input-action{flex-direction:column}
  .google-like-map{height:235px}
  .truck-marker{width:132px}
}


/* ===== 1.0.3.1 - correção do bloco de CEP da home ===== */
.quick-cep-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
    margin-top:18px;
}
.quick-cep-card{
    min-width:0;
    background:#f7f9fb;
    border:1px solid #e0e7ed;
    border-radius:15px;
    padding:14px;
}
.quick-cep-card label{
    display:block;
    color:var(--navy);
    font-weight:850;
    margin-bottom:8px;
}
.quick-cep-control{
    display:grid;
    grid-template-columns:minmax(150px,1fr) auto;
    gap:9px;
    align-items:stretch;
}
.quick-cep-control input{
    width:100%;
    min-width:0;
    height:46px;
    padding:11px 13px;
    border:1px solid #cfd9e0;
    border-radius:11px;
    background:#fff;
    outline:none;
    font-weight:750;
    color:var(--navy);
}
.quick-cep-control input:focus{
    border-color:var(--orange);
    box-shadow:0 0 0 3px rgba(255,99,28,.12);
}
.quick-cep-button{
    min-width:116px;
    height:46px;
    padding:10px 14px;
    white-space:nowrap;
}
.quick-cep-card .location-preview{
    min-height:31px;
    margin-top:9px;
}
.muted-chip{
    background:#eef2f5 !important;
    color:#7b8790 !important;
    border-color:#e2e8ec !important;
}
.quick-address-row{
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(0,1.45fr) minmax(180px,.85fr) auto;
    gap:12px;
    align-items:end;
    margin-top:14px;
}
.quick-address-row .field{
    margin:0;
    min-width:0;
}
.quick-address-row input,
.quick-address-row select{
    width:100%;
    min-width:0;
    height:48px;
}
.quick-continue{
    min-width:128px;
    height:48px;
}
.quick-freight{
    overflow:visible;
}
@media(max-width:1050px){
    .quick-address-row{
        grid-template-columns:1fr 1fr;
    }
    .quick-vehicle{
        grid-column:1/2;
    }
    .quick-continue{
        grid-column:2/3;
        width:100%;
    }
}
@media(max-width:760px){
    .quick-cep-row{
        grid-template-columns:1fr;
    }
    .quick-address-row{
        grid-template-columns:1fr;
    }
    .quick-vehicle,
    .quick-continue{
        grid-column:auto;
    }
    .quick-continue{
        width:100%;
    }
}
@media(max-width:460px){
    .quick-cep-control{
        grid-template-columns:1fr;
    }
    .quick-cep-button{
        width:100%;
    }
}


/* ===== 1.0.4 - Endereço completo + procura em tempo real ===== */
.quick-location-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}
.quick-location-card{background:#fff;border:1px solid #dfe7ed;border-radius:16px;padding:15px;min-width:0}
.quick-location-card h3{margin:0 0 11px;color:var(--navy)}
.location-detail-grid{display:grid;grid-template-columns:.55fr 1fr 1.25fr;gap:9px}
.quick-location-card .field{margin-bottom:9px}
.quick-final-row{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:12px;align-items:end;margin-top:14px}
.quick-final-row .field{margin:0}
.live-search-link{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px;border-left:5px solid var(--orange)}
.live-search-link div{display:flex;flex-direction:column;gap:3px}.live-search-link span{color:var(--muted);font-size:.9rem}

.search-driver-shell{position:relative;max-width:1220px;margin:16px auto 30px;padding:0 18px}
.search-driver-map{height:62vh;min-height:500px;border-radius:24px;overflow:hidden;box-shadow:0 18px 45px rgba(2,37,74,.15);background:#dfe5e9}
.search-driver-panel{position:relative;z-index:600;width:min(880px,calc(100% - 36px));margin:-120px auto 0;background:#fff;border-radius:24px;padding:22px;box-shadow:0 18px 45px rgba(2,37,74,.2)}
.search-top{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.search-top h1{margin:6px 0 4px;color:var(--navy)}
.search-pulse{display:inline-flex;align-items:center;gap:8px;color:var(--orange);font-size:.76rem;font-weight:950;letter-spacing:.12em}
.search-pulse i{width:10px;height:10px;border-radius:50%;background:var(--orange);animation:searchPulse 1.4s infinite}
@keyframes searchPulse{0%{box-shadow:0 0 0 0 rgba(255,99,28,.4)}70%{box-shadow:0 0 0 11px rgba(255,99,28,0)}100%{box-shadow:0 0 0 0 rgba(255,99,28,0)}}
.search-route{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.search-route>div{display:grid;grid-template-columns:18px 1fr;gap:9px;min-width:0}
.search-route small{display:block;color:var(--muted);font-weight:800;margin-bottom:3px}.search-route strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--navy)}
.dot{width:13px;height:13px;border-radius:50%;margin-top:3px}.dot.pickup{background:var(--orange)}.dot.delivery{background:var(--navy)}
.search-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.search-kpis>div{background:#f4f7f9;border-radius:13px;padding:12px}.search-kpis small{display:block;color:var(--muted);margin-bottom:4px}.search-kpis strong{font-size:1.25rem;color:var(--navy)}
.proposal-live-list{display:grid;gap:12px}.live-proposal-card{border:1px solid #dce5eb;border-radius:17px;padding:16px;background:#fff}
.live-proposal-card.accepted-original{border-left:5px solid #16a05d;background:#f6fcf8}.live-proposal-card.counter-offer{border-left:5px solid var(--orange)}
.proposal-live-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.proposal-live-head h3{margin:5px 0 2px;color:var(--navy)}.proposal-live-head p{margin:0;color:var(--muted)}
.proposal-type{font-size:.74rem;font-weight:950;letter-spacing:.08em;color:#0d8550}.counter-offer .proposal-type{color:var(--orange)}
.proposal-live-price{font-size:1.8rem;font-weight:950;color:var(--orange);white-space:nowrap}.proposal-live-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}
.search-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 16px;color:var(--muted);gap:7px}.search-empty strong{color:var(--navy)}
.radar{width:58px;height:58px;border-radius:50%;border:3px solid rgba(255,99,28,.18);position:relative;margin-bottom:8px}.radar:before,.radar:after{content:'';position:absolute;border-radius:50%;inset:8px;border:2px solid rgba(255,99,28,.28)}.radar:after{inset:20px;background:var(--orange);border:0}
.live-driver-marker{width:50px;height:50px;border-radius:17px;background:#fff;border:2px solid var(--navy);box-shadow:0 8px 20px rgba(2,37,74,.25);display:grid;place-items:center;position:relative;animation:driverFloat 2.2s ease-in-out infinite}
.live-driver-marker span{font-size:25px;line-height:1}.live-driver-marker b{position:absolute;right:-7px;bottom:-6px;min-width:24px;height:21px;padding:0 5px;border-radius:8px;background:var(--orange);color:#fff;font-size:.64rem;display:grid;place-items:center;border:2px solid #fff}
@keyframes driverFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.pickup-map-pin,.delivery-map-pin{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:950;border:4px solid #fff;box-shadow:0 7px 18px rgba(0,0,0,.22)}.pickup-map-pin{background:var(--orange)}.delivery-map-pin{background:var(--navy)}
.selected-driver-card{background:linear-gradient(135deg,#02254A,#064d86);color:#fff;border-radius:18px;padding:17px;margin:16px 0}.selected-badge{font-size:.76rem;font-weight:950;letter-spacing:.08em;color:#ff9b68;margin-bottom:10px}
.selected-driver-main{display:flex;align-items:center;gap:12px}.selected-avatar{width:58px;height:58px;border-radius:16px;background:#fff;color:var(--navy);display:grid;place-items:center;font-size:2rem}
.selected-driver-main h2{margin:0 0 3px;color:#fff}.selected-driver-main p{margin:0;color:#dceaf4}.selected-driver-card .actions{margin-top:13px}.selected-waiting{display:inline-flex;align-items:center;min-height:44px;color:#dceaf4;font-weight:700}
@media(max-width:900px){.quick-location-cards{grid-template-columns:1fr}.search-driver-panel{margin:-70px auto 0}}
@media(max-width:760px){.location-detail-grid{grid-template-columns:1fr}.quick-final-row{grid-template-columns:1fr}.search-driver-shell{padding:0;margin-top:0}.search-driver-map{height:53vh;min-height:390px;border-radius:0}.search-driver-panel{width:calc(100% - 20px);margin:-45px auto 0;border-radius:20px;padding:16px}.search-top{flex-direction:column}.search-route,.search-kpis{grid-template-columns:1fr}.proposal-live-head{flex-direction:column}}


/* ===== 1.0.4.1 - custo automático de ajudantes ===== */
.helper-price-box{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(230px,.72fr);
    gap:14px;
    align-items:stretch;
    margin:8px 0 4px;
}
.helper-price-box .field{
    margin:0;
}
.helper-total-card{
    border-radius:15px;
    padding:16px 18px;
    background:linear-gradient(135deg,#02254A,#064C86);
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:100px;
}
.helper-total-card small{
    color:#cfe2ef;
    font-size:.75rem;
    letter-spacing:.08em;
    font-weight:900;
}
.helper-total-card strong{
    display:block;
    font-size:1.7rem;
    margin:5px 0 2px;
    color:#fff;
}
.helper-total-card span{
    color:#dcebf5;
    font-size:.88rem;
}
.helper-summary{
    padding:10px 12px;
    border-radius:11px;
    background:#fff3e9;
    color:#6e3a1d;
}
@media(max-width:680px){
    .helper-price-box{grid-template-columns:1fr}
}


/* ===== 1.0.4.2 - Pinos automáticos + rota automática ===== */
.address-section{
    margin:14px 0;
    padding:15px;
    border:1px solid #dfe7ed;
    border-radius:16px;
    background:#fbfcfd;
}
.address-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:10px;
}
.address-title strong{
    color:var(--navy);
    font-size:1rem;
}
.pin-status{
    display:inline-flex;
    align-items:center;
    min-height:29px;
    padding:5px 10px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:850;
}
.pin-status.waiting{background:#eef2f5;color:#65727c}
.pin-status.loading{background:#fff0e7;color:#a94a1a}
.pin-status.ready{background:#def5e8;color:#087143}
.pin-status.error{background:#ffe5e2;color:#992e29}

.route-card{
    margin:16px 0 20px;
    border-radius:18px;
    overflow:hidden;
    background:#fff;
    border:1px solid #dbe4ea;
    box-shadow:0 9px 24px rgba(2,37,74,.08);
}
.route-card-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
    background:#f5f8fa;
}
.route-card-head small{
    display:block;
    color:var(--orange);
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.1em;
    margin-bottom:3px;
}
.route-card-head strong{
    color:var(--navy);
}
.route-badge{
    display:inline-flex;
    padding:7px 11px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:950;
    white-space:nowrap;
}
.route-badge.waiting{background:#e9eef2;color:#67747d}
.route-badge.loading{background:#fff0e8;color:#a34b20}
.route-badge.ready{background:#def5e8;color:#087143}
.route-badge.error{background:#fff2d8;color:#865b00}

.auto-route-map{
    height:370px !important;
    min-height:370px;
    border-radius:0 !important;
    border-left:0 !important;
    border-right:0 !important;
}

.route-stats{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:#dfe6eb;
}
.route-stats>div{
    background:#fff;
    padding:13px 15px;
}
.route-stats small{
    display:block;
    color:var(--muted);
    font-size:.72rem;
    font-weight:850;
    margin-bottom:3px;
}
.route-stats strong{
    color:var(--navy);
    font-size:1.05rem;
}

.auto-map-pin{
    width:74px;
    display:flex;
    flex-direction:column;
    align-items:center;
    filter:drop-shadow(0 5px 7px rgba(0,0,0,.22));
}
.auto-map-pin span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50% 50% 50% 4px;
    transform:rotate(-45deg);
    color:#fff;
    font-weight:950;
    border:3px solid #fff;
}
.auto-map-pin span::first-letter{
    transform:rotate(45deg);
}
.auto-map-pin b{
    margin-top:3px;
    padding:3px 7px;
    border-radius:7px;
    background:#fff;
    color:var(--navy);
    font-size:.58rem;
    font-weight:950;
    box-shadow:0 4px 8px rgba(0,0,0,.12);
}
.auto-pin-origin span{background:var(--orange)}
.auto-pin-destination span{background:var(--navy)}

.location-detail-grid{
    display:grid;
    grid-template-columns:.55fr 1fr 1.25fr;
    gap:10px;
}
.location-detail-grid .field{
    margin-bottom:8px;
}

@media(max-width:700px){
    .location-detail-grid{grid-template-columns:1fr}
    .route-card-head{align-items:flex-start;flex-direction:column}
    .route-stats{grid-template-columns:1fr}
    .auto-route-map{height:320px !important;min-height:320px}
}


/* ===== 1.0.4.3 - dois pinos + setas em movimento ===== */
.auto-map-pin span{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50% 50% 50% 4px;
    transform:rotate(-45deg);
    color:#fff;
    font-weight:950;
    border:3px solid #fff;
}
.auto-map-pin span i{
    transform:rotate(45deg);
    font-style:normal;
    font-size:.92rem;
    line-height:1;
}
.tracking-pin{width:78px}
.tracking-car-icon{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    font-size:31px;
    filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));
}


/* ===== 1.0.4.4 - distância, data e preço 100% automáticos ===== */
.auto-summary-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:10px 0 13px;
}
.auto-summary-card{
    position:relative;
    min-height:110px;
    padding:15px;
    border:1px solid #dfe7ed;
    border-radius:15px;
    background:#f7f9fb;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.auto-summary-card small{
    display:block;
    color:var(--muted);
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.06em;
    margin-bottom:5px;
}
.auto-summary-card strong{
    display:block;
    color:var(--navy);
    font-size:1.25rem;
    line-height:1.2;
    margin-bottom:4px;
}
.auto-summary-card span{
    color:var(--muted);
    font-size:.78rem;
    line-height:1.35;
}
.price-auto-card{
    background:linear-gradient(135deg,#02254A,#07528f);
    border-color:#02254A;
}
.price-auto-card small,
.price-auto-card span{
    color:#d6e7f3;
}
.price-auto-card strong{
    color:#fff;
    font-size:1.55rem;
}
.automatic-price-explanation{
    display:flex;
    gap:7px;
    align-items:flex-start;
    flex-wrap:wrap;
    padding:11px 13px;
    margin-bottom:14px;
    background:#fff3e9;
    border-left:4px solid var(--orange);
    border-radius:10px;
    color:#6c3a20;
    font-size:.86rem;
}
@media(max-width:1000px){
    .auto-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
    .auto-summary-grid{grid-template-columns:1fr}
}


/* ===== 1.0.4.5 - desconto do cliente somente 10% ou 20% ===== */
.discount-request-box{
    margin:14px 0 17px;
    padding:17px;
    border:1px solid #dce5eb;
    border-radius:18px;
    background:#fff;
}
.discount-request-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:13px;
}
.discount-request-head small{
    color:var(--orange);
    font-weight:950;
    letter-spacing:.07em;
}
.discount-request-head h3{
    margin:3px 0 4px;
    color:var(--navy);
}
.discount-request-head p{
    margin:0;
    color:var(--muted);
}
.discount-final-price{
    min-width:190px;
    padding:13px 15px;
    border-radius:15px;
    background:linear-gradient(135deg,#02254A,#07528f);
    color:#fff;
}
.discount-final-price small{color:#d5e7f3}
.discount-final-price strong{
    display:block;
    margin-top:4px;
    color:#fff;
    font-size:1.55rem;
}
.discount-options{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.discount-option{
    position:relative;
    display:flex;
    flex-direction:column;
    min-height:128px;
    padding:14px;
    border:2px solid #e0e7ec;
    border-radius:15px;
    background:#f8fafb;
    cursor:pointer;
    transition:.18s ease;
}
.discount-option input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}
.discount-option:hover{
    border-color:#ffb18a;
    transform:translateY(-1px);
}
.discount-option.selected{
    border-color:var(--orange);
    background:#fff3ea;
    box-shadow:0 7px 18px rgba(255,99,28,.11);
}
.discount-percent{
    color:var(--navy);
    font-weight:950;
    font-size:.78rem;
    margin-bottom:7px;
}
.discount-option.selected .discount-percent{color:var(--orange)}
.discount-option strong{
    color:var(--navy);
    font-size:1.35rem;
    margin-bottom:4px;
}
.discount-option small{
    color:var(--muted);
    line-height:1.4;
}
.discount-warning{
    margin-top:11px;
    padding:9px 11px;
    border-radius:10px;
    background:#eef4f8;
    color:#4c5d68;
    font-size:.83rem;
}
.driver-discount-alert{
    background:#fff1e8;
    border-left:5px solid var(--orange);
    border-radius:11px;
    padding:11px 13px;
    margin:10px 0;
    color:#70401f;
}
.driver-discount-ok{
    background:#e9f8ef;
    border-left:5px solid #16a05d;
    border-radius:11px;
    padding:11px 13px;
    margin:10px 0;
    color:#16613c;
}
.discount-origin-price,.discount-requested-mini,.search-discount-note{
    display:block;
    margin-top:4px;
    font-size:.76rem;
    color:var(--muted);
}
.search-discount-note{
    color:var(--orange);
    font-weight:850;
}
@media(max-width:820px){
    .discount-request-head{flex-direction:column;align-items:stretch}
    .discount-final-price{min-width:0}
    .discount-options{grid-template-columns:1fr}
}


/* ===== 1.0.4.6 - pinos validados + rota azul + setas laranja ===== */
.auto-pin-origin span{
    background:#FF631C !important;
}
.auto-pin-destination span{
    background:#1469B8 !important;
}
.auto-pin-origin b{
    color:#9d3d12 !important;
    border:1px solid #ffd4bf;
}
.auto-pin-destination b{
    color:#0a4d88 !important;
    border:1px solid #c7ddf0;
}


/* ===== 1.0.4.6.2 - Coleta laranja / Entrega azul ===== */
.origin-address-section{
    position:relative;
    border:2px solid #ff9b68 !important;
    border-left:7px solid #FF631C !important;
    background:linear-gradient(180deg,#fff9f5 0%,#ffffff 100%) !important;
    box-shadow:0 7px 18px rgba(255,99,28,.08);
}
.destination-address-section{
    position:relative;
    border:2px solid #91bfe7 !important;
    border-left:7px solid #1469B8 !important;
    background:linear-gradient(180deg,#f5faff 0%,#ffffff 100%) !important;
    box-shadow:0 7px 18px rgba(20,105,184,.08);
}
.address-ribbon{
    margin:-15px -15px 13px;
    padding:8px 13px;
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.055em;
    border-radius:13px 13px 0 0;
}
.collection-ribbon{
    color:#8c350e;
    background:#ffe9dc;
    border-bottom:1px solid #ffd3bb;
}
.delivery-ribbon{
    color:#084878;
    background:#e1f0fc;
    border-bottom:1px solid #bddcf3;
}
.collection-title strong{
    color:#d94c08 !important;
}
.delivery-title strong{
    color:#0c5d9f !important;
}
.address-step{
    display:inline-grid;
    place-items:center;
    width:27px;
    height:27px;
    border-radius:50%;
    margin-right:6px;
    color:#fff;
    font-size:.78rem;
    font-weight:950;
    vertical-align:middle;
}
.collection-title .address-step{
    background:#FF631C;
    box-shadow:0 0 0 4px rgba(255,99,28,.13);
}
.delivery-title .address-step{
    background:#1469B8;
    box-shadow:0 0 0 4px rgba(20,105,184,.13);
}
.origin-address-section input:focus,
.origin-address-section select:focus{
    border-color:#FF631C !important;
    box-shadow:0 0 0 3px rgba(255,99,28,.11) !important;
}
.destination-address-section input:focus,
.destination-address-section select:focus{
    border-color:#1469B8 !important;
    box-shadow:0 0 0 3px rgba(20,105,184,.11) !important;
}
.origin-address-section .pin-status.ready{
    background:#ffeadf !important;
    color:#9a390f !important;
}
.destination-address-section .pin-status.ready{
    background:#e3f1fb !important;
    color:#07558f !important;
}


/* ===== 1.0.4.6.3 - pinos conferidos em verde ===== */

/* Quando o pino estiver conferido, o status fica VERDE nas duas áreas,
   independentemente da cor visual do bloco coleta/entrega. */
.origin-address-section .pin-status.ready,
.destination-address-section .pin-status.ready,
.pin-status.ready{
    background:#DDF7E8 !important;
    color:#087443 !important;
    border:1px solid #9FDEBA !important;
    box-shadow:0 2px 7px rgba(8,116,67,.10) !important;
    font-weight:950 !important;
}

.origin-address-section .pin-status.ready::before,
.destination-address-section .pin-status.ready::before,
.pin-status.ready::before{
    content:'✓';
    display:inline-grid;
    place-items:center;
    width:18px;
    height:18px;
    margin-right:6px;
    border-radius:50%;
    background:#15945A;
    color:#fff;
    font-size:.68rem;
    font-weight:950;
}

.both-pins-confirmed{
    display:flex;
    align-items:center;
    gap:12px;
    margin:14px 0;
    padding:13px 15px;
    border:2px solid #79D3A0;
    border-left:7px solid #15945A;
    border-radius:14px;
    background:linear-gradient(135deg,#E9FAF0,#F8FFFB);
    color:#075B37;
    box-shadow:0 7px 18px rgba(21,148,90,.10);
}

.both-pins-confirmed[hidden]{
    display:none !important;
}

.both-pins-check{
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#15945A;
    color:#fff;
    font-size:1.35rem;
    font-weight:950;
    box-shadow:0 0 0 5px rgba(21,148,90,.12);
}

.both-pins-confirmed strong{
    display:block;
    color:#075B37;
    font-size:.92rem;
    margin-bottom:2px;
}

.both-pins-confirmed small{
    display:block;
    color:#3F735A;
    line-height:1.4;
}

@media(max-width:650px){
    .both-pins-confirmed{
        align-items:flex-start;
    }
}


/* ===== 1.0.4.7 - Busca estilo Uber com vários veículos reais ===== */

.search-route-vertical{
    display:block !important;
    margin:15px 0;
}

.search-address-card{
    display:grid !important;
    grid-template-columns:18px minmax(0,1fr) !important;
    gap:10px !important;
    align-items:flex-start;
    padding:11px 13px;
    border-radius:13px;
}

.pickup-address-card{
    background:#FFF2E9;
    border:1px solid #FFD2BB;
}

.delivery-address-card{
    background:#EDF6FD;
    border:1px solid #C4DFF3;
}

.search-address-card small{
    display:block;
    margin-bottom:3px;
    font-size:.72rem;
    font-weight:950;
    letter-spacing:.06em;
}

.pickup-address-card small{
    color:#C64A0D !important;
}

.delivery-address-card small{
    color:#075B99 !important;
}

.search-address-card strong{
    display:block !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
    word-break:break-word;
    line-height:1.4;
}

.search-address-connector{
    width:2px;
    height:15px;
    margin-left:18px;
    background:linear-gradient(#FF631C,#1469B8);
}

.search-kpis-four{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

/* Radar central na coleta */
.pickup-search-radar{
    position:relative;
    width:150px;
    height:150px;
    pointer-events:none;
}

.pickup-search-radar i{
    position:absolute;
    inset:50%;
    width:24px;
    height:24px;
    margin:-12px;
    border:2px solid rgba(255,99,28,.38);
    border-radius:50%;
    animation:pickupRadarPulse 2.4s infinite ease-out;
}

.pickup-search-radar i:nth-child(2){
    animation-delay:.8s;
}

.pickup-search-radar i:nth-child(3){
    animation-delay:1.6s;
}

@keyframes pickupRadarPulse{
    0%{
        transform:scale(.55);
        opacity:.85;
    }
    100%{
        transform:scale(5.5);
        opacity:0;
    }
}

/* Motoristas compatíveis: destaque forte */
.compatible-driver{
    border-color:#FF631C !important;
    background:#fff !important;
    box-shadow:
        0 8px 22px rgba(255,99,28,.32),
        0 0 0 5px rgba(255,99,28,.11) !important;
}

.compatible-driver b{
    background:#FF631C !important;
}

/* Outros motoristas online na região: discretos */
.regional-driver{
    border-color:#8A98A3 !important;
    background:#F4F7F9 !important;
    opacity:.78;
    filter:grayscale(.18);
    box-shadow:0 6px 15px rgba(2,37,74,.14) !important;
}

.regional-driver b{
    background:#75838D !important;
}

/* Pequena animação de disponibilidade, sem falsificar movimento GPS */
.compatible-driver{
    animation:compatibleDriverPulse 1.8s infinite ease-in-out !important;
}

@keyframes compatibleDriverPulse{
    0%,100%{
        transform:translateY(0) scale(1);
    }
    50%{
        transform:translateY(-2px) scale(1.04);
    }
}

.search-map-legend{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
    margin:9px 0 16px;
    padding:9px 11px;
    border-radius:11px;
    background:#F5F8FA;
    color:#586773;
    font-size:.77rem;
}

.search-map-legend>span{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.legend-car{
    width:18px;
    height:18px;
    border-radius:6px;
    display:inline-block;
    background:#fff;
}

.legend-car.eligible{
    border:2px solid #FF631C;
    box-shadow:0 0 0 3px rgba(255,99,28,.10);
}

.legend-car.regional{
    border:2px solid #87959E;
    background:#EDF1F4;
}

.legend-note{
    margin-left:auto;
    color:#74818B;
}

@media(max-width:900px){
    .search-kpis-four{
        grid-template-columns:repeat(2,1fr) !important;
    }

    .legend-note{
        width:100%;
        margin-left:0;
    }
}

@media(max-width:540px){
    .search-kpis-four{
        grid-template-columns:1fr !important;
    }
}


/* ===== 1.0.4.8 - Veículos animados durante a busca ===== */

.search-swarm-note{
    margin:10px 0 16px;
    padding:10px 12px;
    border-left:5px solid #1469B8;
    border-radius:10px;
    background:#EEF6FD;
    color:#214B70;
    font-size:.83rem;
    line-height:1.45;
}

.legend-car.searching{
    border:2px solid #1469B8;
    background:#E9F3FB;
    box-shadow:0 0 0 3px rgba(20,105,184,.10);
}

.searching-vehicle-marker{
    position:relative;
    width:52px;
    height:52px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid #1469B8;
    background:linear-gradient(135deg,#ffffff,#edf5fb);
    color:#0c4f87;
    box-shadow:
        0 10px 20px rgba(20,105,184,.18),
        0 0 0 5px rgba(20,105,184,.08);
    animation:searchVehicleFloat 1.45s infinite ease-in-out;
}

.searching-vehicle-marker span{
    font-size:1.1rem;
    line-height:1;
}

.searching-vehicle-marker b{
    position:absolute;
    left:50%;
    bottom:-11px;
    transform:translateX(-50%);
    padding:2px 7px;
    border-radius:999px;
    background:#1469B8;
    color:#fff;
    font-size:.55rem;
    letter-spacing:.04em;
    font-weight:900;
    white-space:nowrap;
    box-shadow:0 4px 10px rgba(20,105,184,.22);
}

.searching-vehicle-marker.type-moto{
    border-color:#7c3aed;
    color:#5f28c3;
    background:linear-gradient(135deg,#ffffff,#f3edfe);
    box-shadow:
        0 10px 20px rgba(124,58,237,.16),
        0 0 0 5px rgba(124,58,237,.08);
}

.searching-vehicle-marker.type-moto b{
    background:#7c3aed;
}

.searching-vehicle-marker.type-carro{
    border-color:#0f9d68;
    color:#0a7d53;
    background:linear-gradient(135deg,#ffffff,#ebfaf4);
    box-shadow:
        0 10px 20px rgba(15,157,104,.16),
        0 0 0 5px rgba(15,157,104,.08);
}

.searching-vehicle-marker.type-carro b{
    background:#0f9d68;
}

.searching-vehicle-marker.type-caminhao{
    border-color:#ff631c;
    color:#c44710;
    background:linear-gradient(135deg,#ffffff,#fff2ea);
    box-shadow:
        0 10px 20px rgba(255,99,28,.17),
        0 0 0 5px rgba(255,99,28,.08);
}

.searching-vehicle-marker.type-caminhao b{
    background:#ff631c;
}

.searching-vehicle-marker.type-utilitario{
    border-color:#1469B8;
    color:#0b4a81;
}

.swarm-wave{
    position:absolute;
    inset:-6px;
    border-radius:18px;
    border:2px solid rgba(20,105,184,.18);
    animation:swarmPing 1.9s infinite ease-out;
    pointer-events:none;
}

.wave-2{
    animation-delay:.45s;
}

.wave-3{
    animation-delay:.9s;
}

@keyframes swarmPing{
    0%{
        transform:scale(.88);
        opacity:.82;
    }
    100%{
        transform:scale(1.36);
        opacity:0;
    }
}

@keyframes searchVehicleFloat{
    0%,100%{
        transform:translateY(0px);
    }
    50%{
        transform:translateY(-3px);
    }
}


/* ==========================================================
   1.0.4.9 - PWA + MOBILE-FIRST GLOBAL
   ========================================================== */

html{
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
    overflow-x:hidden;
}

body{
    min-width:0;
    overflow-x:hidden;
    padding-bottom:env(safe-area-inset-bottom);
}

*,
*::before,
*::after{
    box-sizing:border-box;
}

img,
svg,
video,
canvas,
iframe{
    max-width:100%;
    height:auto;
}

input,
select,
textarea,
button{
    max-width:100%;
    font:inherit;
}

button,
.btn,
input,
select,
textarea{
    touch-action:manipulation;
}

input,
select,
textarea{
    font-size:16px;
}

.container{
    width:min(100% - 28px, 1120px);
    margin-inline:auto;
}

.site-header{
    padding-left:max(14px,env(safe-area-inset-left));
    padding-right:max(14px,env(safe-area-inset-right));
}

.brand img{
    max-width:145px;
    height:auto;
}

.pwa-install-btn{
    border:0;
    border-radius:10px;
    padding:9px 12px;
    background:#FF631C;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}

.pwa-install-btn[hidden]{
    display:none !important;
}

.area-nav{
    width:min(100% - 24px, 1120px);
    margin-inline:auto;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
    white-space:nowrap;
}

.area-nav a{
    flex:0 0 auto;
}

.table-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

table{
    min-width:680px;
}

.map-box,
.search-driver-map,
.tracking-map{
    width:100% !important;
    max-width:100% !important;
}

/* Formulários não podem estourar no celular */
.form-card,
.login-card,
.card{
    min-width:0;
}

.form-card{
    width:min(100%, 760px);
}

.grid > *,
.quick-location-card,
.quick-cep-card,
.search-driver-panel,
.search-address-card{
    min-width:0;
}

.field input,
.field select,
.field textarea{
    width:100%;
}

/* Standalone PWA */
.pwa-standalone body{
    padding-top:env(safe-area-inset-top);
}

@media(max-width:900px){
    .site-header{
        min-height:64px;
        position:sticky;
        top:0;
        z-index:2000;
    }

    .brand img{
        max-width:125px;
    }

    .menu-toggle{
        display:inline-grid;
        place-items:center;
        width:44px;
        height:44px;
        min-width:44px;
        border-radius:11px;
        border:1px solid #dbe4ea;
        background:#fff;
        color:var(--navy);
        font-size:1.25rem;
    }

    .main-nav{
        position:fixed;
        top:64px;
        left:12px;
        right:12px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:5px;
        max-height:calc(100vh - 82px);
        overflow-y:auto;
        padding:12px;
        border:1px solid #dce5eb;
        border-radius:16px;
        background:#fff;
        box-shadow:0 16px 40px rgba(2,37,74,.20);
        z-index:2500;
    }

    body.menu-open .main-nav{
        display:flex;
    }

    .main-nav a,
    .main-nav .pwa-install-btn{
        width:100%;
        min-height:46px;
        display:flex;
        align-items:center;
        justify-content:flex-start;
        padding:11px 13px;
        border-radius:10px;
    }

    .main-nav .nav-cta{
        justify-content:center;
    }

    .container{
        width:min(100% - 20px, 1120px);
    }

    .hero,
    .institutional-hero,
    .driver-public-hero{
        padding:22px !important;
        min-height:auto !important;
        border-radius:18px !important;
    }

    .hero h1,
    .institutional-hero h1,
    .driver-public-hero h1{
        font-size:clamp(2rem,9vw,3rem) !important;
    }

    .hero-logo{
        min-width:0;
        width:100%;
    }

    .quick-freight,
    .card,
    .form-card,
    .login-card{
        border-radius:15px;
    }

    .search-driver-shell{
        width:100%;
        padding:0;
    }

    .search-driver-map{
        width:100%;
        height:52vh;
        min-height:380px;
        border-radius:0;
    }

    .search-driver-panel{
        width:calc(100% - 16px);
        margin:-34px auto 0;
        padding:14px;
        border-radius:18px;
    }

    .tracking-map{
        height:52vh !important;
        min-height:360px;
        border-radius:0 !important;
    }

    .tracking-panel{
        margin-top:-28px;
        position:relative;
        z-index:600;
        border-radius:18px 18px 0 0;
    }
}

@media(max-width:680px){
    body{
        background:#F4F7F9;
    }

    .container{
        width:min(100% - 14px, 1120px);
    }

    .area-nav{
        width:calc(100% - 14px);
        padding-bottom:5px;
    }

    .area-nav a{
        min-height:42px;
        display:inline-flex;
        align-items:center;
    }

    .actions{
        width:100%;
        flex-wrap:wrap;
    }

    .actions .btn,
    .actions button,
    .proposal-live-actions .btn,
    .proposal-live-actions form{
        width:100%;
    }

    .proposal-live-actions form button{
        width:100%;
    }

    .btn-large{
        width:100%;
        text-align:center;
    }

    .quick-cep-row,
    .quick-location-cards,
    .quick-final-row,
    .grid,
    .grid-2,
    .grid-3,
    .grid-4,
    .auto-summary-grid,
    .search-kpis,
    .search-kpis-four{
        grid-template-columns:1fr !important;
    }

    .quick-head,
    .search-top,
    .driver-cta{
        flex-direction:column;
        align-items:stretch;
    }

    .quick-cep-control,
    .map-search,
    .input-action{
        display:grid !important;
        grid-template-columns:1fr !important;
    }

    .quick-cep-button,
    .map-search .btn,
    .input-action .btn{
        width:100%;
    }

    .field{
        margin-bottom:12px;
    }

    .field label{
        line-height:1.35;
    }

    .form-card{
        padding:15px;
    }

    .login-shell{
        padding:12px;
    }

    .login-card{
        width:100%;
        padding:18px;
    }

    .route-card{
        margin-left:0;
        margin-right:0;
    }

    .auto-route-map{
        height:300px !important;
        min-height:300px !important;
    }

    .route-stats{
        grid-template-columns:1fr !important;
    }

    .address-title{
        align-items:flex-start;
        flex-direction:column;
    }

    .pin-status{
        width:100%;
        justify-content:flex-start;
    }

    .both-pins-confirmed{
        flex-direction:row;
    }

    .search-address-card{
        padding:10px;
    }

    .search-map-legend{
        align-items:flex-start;
        flex-direction:column;
    }

    .discount-options{
        grid-template-columns:1fr !important;
    }

    .discount-final-price{
        width:100%;
    }

    .proposal-live-head{
        flex-direction:column;
    }

    .proposal-live-price{
        font-size:1.55rem;
    }

    .footer{
        padding-bottom:max(18px,env(safe-area-inset-bottom));
        text-align:center;
    }
}

@media(max-width:420px){
    .container{
        width:calc(100% - 10px);
    }

    .form-card,
    .card{
        padding:12px;
    }

    .hero,
    .institutional-hero,
    .driver-public-hero{
        padding:17px !important;
    }

    .hero h1,
    .institutional-hero h1,
    .driver-public-hero h1{
        font-size:2rem !important;
    }

    .search-driver-map,
    .tracking-map{
        min-height:330px;
    }

    .search-driver-panel{
        width:calc(100% - 8px);
        padding:12px;
    }
}


/* ===== 1.0.4.10 - aguardando respostas com efeito da coleta + ilustração ===== */
.search-waiting-state{display:grid;grid-template-columns:minmax(260px,340px) minmax(280px,1fr);gap:18px;align-items:stretch}
.enhanced-waiting{justify-content:center;min-height:100%;padding:26px 16px;border:1px solid #E4EBF0;border-radius:16px;background:linear-gradient(180deg,#fff,#F8FBFD)}
.waiting-response-radar{position:relative;width:118px;height:118px;display:grid;place-items:center;margin:0 auto 12px}
.waiting-response-radar i{position:absolute;inset:50%;width:28px;height:28px;margin:-14px;border-radius:50%;border:2px solid rgba(255,99,28,.30);animation:waitingPulse 2.2s infinite ease-out}
.waiting-response-radar i:nth-child(2){animation-delay:.65s}
.waiting-response-radar i:nth-child(3){animation-delay:1.3s}
.waiting-response-core{position:relative;z-index:2;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#FF631C;color:#fff;box-shadow:0 10px 24px rgba(255,99,28,.25),0 0 0 10px rgba(255,99,28,.08)}
.waiting-response-core span{font-size:1.4rem;line-height:1}
.waiting-response-radar-carro .waiting-response-core{background:#0F9D68;box-shadow:0 10px 24px rgba(15,157,104,.22),0 0 0 10px rgba(15,157,104,.08)}
.waiting-response-radar-carro i{border-color:rgba(15,157,104,.28)}
.waiting-response-radar-moto .waiting-response-core{background:#7C3AED;box-shadow:0 10px 24px rgba(124,58,237,.22),0 0 0 10px rgba(124,58,237,.08)}
.waiting-response-radar-moto i{border-color:rgba(124,58,237,.28)}
.waiting-response-radar-caminhao .waiting-response-core{background:#FF631C;box-shadow:0 10px 24px rgba(255,99,28,.25),0 0 0 10px rgba(255,99,28,.08)}
.waiting-response-radar-caminhao i{border-color:rgba(255,99,28,.30)}
.waiting-response-radar-utilitario .waiting-response-core{background:#1469B8;box-shadow:0 10px 24px rgba(20,105,184,.24),0 0 0 10px rgba(20,105,184,.08)}
.waiting-response-radar-utilitario i{border-color:rgba(20,105,184,.28)}
@keyframes waitingPulse{0%{transform:scale(.55);opacity:.9}100%{transform:scale(4.9);opacity:0}}
.waiting-illustration-card{display:grid;grid-template-columns:minmax(220px,360px) minmax(220px,1fr);gap:16px;align-items:center;padding:16px;border-radius:18px;background:linear-gradient(135deg,#EDF6FD,#FFF7F2);border:1px solid #DAE7F0;box-shadow:0 8px 20px rgba(2,37,74,.05)}
.waiting-illustration-card img{display:block;width:100%;height:auto;border-radius:16px;box-shadow:0 10px 22px rgba(2,37,74,.10)}
.waiting-illustration-copy .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:#E9F3FB;color:#1469B8;font-size:.72rem;font-weight:900;letter-spacing:.05em}
.waiting-illustration-copy .eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:#2FB355;box-shadow:0 0 0 6px rgba(47,179,85,.12)}
.waiting-illustration-copy h3{margin:12px 0 8px;color:#02254A;font-size:1.15rem;line-height:1.25}
.waiting-illustration-copy p{margin:0;color:#5D6B76;line-height:1.55}
@media(max-width:900px){.search-waiting-state{grid-template-columns:1fr}.waiting-illustration-card{grid-template-columns:1fr}.waiting-illustration-copy{text-align:left}}
@media(max-width:560px){.waiting-response-radar{width:104px;height:104px}.waiting-illustration-card{padding:12px}.waiting-illustration-copy h3{font-size:1rem}}
