*{box-sizing:border-box}html,body{margin:0;background:#08090b;color:#f4f4f4;font-family:Arial,Helvetica,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}.app{max-width:560px;margin:auto;min-height:100dvh;background:#08090b;padding-bottom:90px}.top{height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;background:#08090b;position:sticky;top:0;z-index:3;border-bottom:1px solid #262626}.top span{font-size:11px;letter-spacing:2px;color:#d5d5d5}.iconbtn{background:transparent;border:0;color:#ff681c;font-size:28px;min-width:38px}.page{display:none;padding:16px 16px 26px}.page.active{display:block}.page h1{font-size:25px;line-height:1.14;margin:14px 0 9px}.page h2{font-size:17px}.muted{color:#b5b5b5;font-size:13px;margin:0 0 20px}.logo{display:block;width:100%;max-height:155px;object-fit:cover;object-position:center;margin:0 auto 12px}.hero{min-height:320px;border:1px solid #3a241b;border-radius:16px;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.05)),url('pista-exclusiva.jpg') center/cover;position:relative;overflow:hidden}.heroShade{padding:28px 19px;max-width:80%}.kicker{color:#ff782e;font-size:10px;letter-spacing:1.5px;font-weight:700}.hero h1{font-size:40px;letter-spacing:1px;margin:18px 0 12px;line-height:1}.hero strong{color:#ff681c}.hero p{font-weight:700;max-width:220px}.hero small{display:block;color:#c9c9c9;font-size:9px;line-height:1.4;max-width:235px}.bigcta{margin:15px 0 20px;width:100%;border:1px solid #ff681c;background:linear-gradient(110deg,#f05b16,#ff8a31);color:#111;display:flex;align-items:center;gap:14px;text-align:left;border-radius:14px;padding:17px 15px;box-shadow:0 3px 19px #ff681c40}.bigcta>span:first-child{font-size:30px}.bigcta>span:nth-child(2){flex:1}.bigcta b{font-size:16px}.bigcta small{display:block;font-size:11px;margin-top:4px}.bigcta>span:last-child{font-size:27px}.sectiontitle{display:flex;justify-content:space-between;margin:18px 0 11px}.sectiontitle span{font-size:11px;color:#ff681c}.hscroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;scroll-snap-type:x mandatory}.miniCar{min-width:145px;max-width:145px;scroll-snap-align:start;background:#161719;border:1px solid #3c3c3c;border-radius:12px;text-align:left;padding:8px;color:white}.miniCar img{width:100%;height:95px;object-fit:contain}.miniCar b,.miniCar small{display:block}.miniCar b{font-size:13px}.miniCar small{color:#a6a6a6;font-size:10px;margin-top:4px}.benefits{display:flex;flex-wrap:wrap;gap:12px;color:#bbb;font-size:11px;padding:14px 0}.serviceCard{width:100%;margin:10px 0;padding:22px 15px;display:flex;gap:16px;align-items:center;background:linear-gradient(130deg,#191919,#101010);border:1px solid #4a3428;border-radius:15px;color:white;text-align:left}.serviceCard span:nth-child(2){flex:1}.serviceCard b{display:block;font-size:17px}.serviceCard small{display:block;font-size:12px;color:#bbb;margin-top:7px}.serviceCard>span:last-child{font-size:24px;color:#ff681c}.serviceIcon{font-size:26px;color:#ff681c}.mapMock{height:205px;position:relative;overflow:hidden;border-radius:13px;border:1px solid #393939;background:repeating-linear-gradient(34deg,transparent 0 26px,#27303a 27px,#27303a 29px,transparent 30px 56px),repeating-linear-gradient(125deg,#111a22 0 35px,#2a343a 36px,#2a343a 38px,#111a22 39px 80px)}.pinStart,.pinEnd{position:absolute;font-size:28px;color:#23c774;top:30px;left:30%}.pinEnd{color:#ff4a37;top:125px;left:72%}.routeLine{position:absolute;top:56px;left:35%;height:108px;width:37%;border-left:5px solid #ff681c;border-bottom:5px solid #ff681c;border-radius:0 0 0 30px;transform:skew(13deg)}.mapLabel{position:absolute;bottom:9px;left:12px;font-size:13px;letter-spacing:2px;text-shadow:0 2px 6px #000}.mapLabel small{display:block;letter-spacing:0;font-size:9px;color:#bbb}.panel{padding:15px;background:#141516;border:1px solid #363636;border-radius:14px;margin:13px 0}.panel label{display:block;font-size:12px;color:#ddd;margin:0 0 14px;font-weight:600}.panel label:last-child{margin-bottom:0}input,textarea{margin-top:7px;width:100%;background:#0b0d0f;border:1px solid #464646;border-radius:8px;color:white;padding:12px 11px;outline:none;font-size:14px}input:focus,textarea:focus{border-color:#ff681c}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary{display:flex;justify-content:center;align-items:center;gap:15px;width:100%;background:linear-gradient(#ff852c,#f05a0d);color:#141414;border:0;border-radius:10px;padding:16px 12px;font-weight:800;font-size:15px;margin:18px 0 10px}.primary span{font-size:19px}.routeSummary{font-size:12px;background:#151515;border:1px solid #303030;border-radius:10px;padding:12px;margin-bottom:15px;color:#ccc}.carList{display:grid;gap:10px}.carOption{display:flex;width:100%;gap:10px;align-items:center;text-align:left;background:#121315;color:white;border:1px solid #343434;border-radius:12px;padding:10px 9px;min-height:104px}.carOption.on{border:2px solid #ff681c;padding:9px 8px;box-shadow:0 0 10px #ff681c22}.carOption img{width:104px;height:78px;object-fit:contain;flex-shrink:0}.carInfo{flex:1;min-width:0}.carInfo b,.carInfo small,.carInfo strong{display:block}.carInfo b{font-size:15px}.carInfo small{color:#b7b7b7;font-size:10px;margin:4px 0;line-height:1.4}.carInfo strong{color:#ff751e;font-size:20px;margin-top:5px}.info{font-size:12px;line-height:1.5;color:#d0d0d0;background:#17212a;border:1px solid #36506a;border-radius:10px;padding:13px;margin:14px 0}.chosen{display:flex;align-items:center;gap:10px;background:#161719;border:1px solid #333;border-radius:12px;padding:10px}.chosen img{width:105px;height:77px;object-fit:contain}.chosen strong{color:#ff681c;font-size:20px}.success{text-align:center}.successMark{width:95px;height:95px;border:4px solid #ff681c;color:#ff681c;border-radius:50%;font-size:70px;margin:55px auto 25px}.success p{color:#bbb}.success .panel{text-align:left;line-height:1.8}.outline{border:1px solid #ff681c;background:transparent;color:#ff681c;border-radius:10px;padding:14px;width:100%}.request{background:#151515;border:1px solid #3c3c3c;border-radius:10px;padding:13px;margin:10px 0;font-size:13px;line-height:1.7}.request button{border:1px solid #ff681c;background:#1b1b1b;color:#ff681c;padding:9px 10px;border-radius:7px;margin:6px 5px 0 0}.bottom{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:560px;display:flex;background:#0b0b0c;border-top:1px solid #333;z-index:5;padding:9px 0 max(10px,env(safe-area-inset-bottom))}.bottom button{width:50%;border:0;background:none;color:#bdbdbd;font-size:12px;display:flex;align-items:center;flex-direction:column;gap:3px}.bottom button span{font-size:25px}.bottom button.selected{color:#ff681c}
.hero{min-height:280px;background: url("pista-exclusiva.jpg") center center/cover no-repeat}.heroShade{display:none}

.logo{cursor:pointer;user-select:none;-webkit-user-select:none}
.adminhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.adminhead h1{font-size:23px}
.adminbadge{font-size:9px;font-weight:bold;border:1px solid #ff681c;border-radius:7px;color:#ff681c;padding:7px}
.adminStats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.adminStats div{background:#171717;border:1px solid #353535;border-radius:12px;text-align:center;padding:14px 5px}.adminStats b{font-size:25px;color:#ff681c;display:block}.adminStats small{font-size:10px;color:#bbb}
.filterbar{display:flex;gap:7px;overflow:auto;margin:12px 0 18px}.filterbar button{background:#181818;color:#ddd;border:1px solid #393939;border-radius:30px;padding:10px 12px;white-space:nowrap;font-size:12px}.filterbar .filterOn{border-color:#ff681c;color:#ff681c}
.adminTrip{width:100%;display:flex;flex-direction:column;text-align:left;gap:6px;color:white}.adminTrip small{color:#aaa}.requestTop{display:flex;justify-content:space-between;align-items:center;width:100%}.statusChip{font-size:10px;border:1px solid #ff681c;color:#ff681c;border-radius:30px;padding:4px 7px}.viewDetail{color:#ff681c;font-size:12px;text-align:right}.adminData p{line-height:1.5;font-size:13px}.statusButtons{display:flex;flex-wrap:wrap;gap:7px}.statusButtons button{border:1px solid #ff681c;background:#171717;color:#ff681c;border-radius:8px;padding:10px}.audit{font-size:11px;color:#aaa;line-height:1.8}

/* Login and payment choices */
.loginBox{max-width:410px;margin:12px auto;padding:16px;background:#141516;border:1px solid #3a3a3a;border-radius:16px}
.loginLogo{width:100%;height:125px;object-fit:contain;margin-bottom:6px}
.loginBox h1{text-align:center;margin:10px 0 7px}.loginBox>.muted{text-align:center}
.loginBox label{display:block;font-size:12px;font-weight:700;margin:15px 0;color:#ddd}
.loginError{color:#ff8e65;min-height:19px;font-size:12px}
.lockIcon{margin:auto;width:45px;height:45px;border:1px solid #ff681c;border-radius:50%;color:#ff681c;display:flex;align-items:center;justify-content:center;font-size:24px}
.payment{margin-top:18px;border:1px solid #424242;border-radius:11px;padding:12px}
.payment legend{font-size:14px;font-weight:bold;padding:0 5px;color:#ff8a38}
.payment .muted{margin:3px 0 10px;font-size:11px}
.panel label.payChoice{display:flex;align-items:center;gap:11px;background:#0c0d0e;border:1px solid #373737;border-radius:9px;margin:8px 0;padding:12px;font-size:14px}
.payChoice input{width:19px;height:19px;margin:0;accent-color:#ff681c}
.payChoice span{font-size:18px;color:#ff681c}

.danger{border-color:#d66!important;color:#ff9292!important}.bookingCard{margin-bottom:12px}.success .primary,.success .outline{margin-top:10px}.page>.outline{margin-top:12px}.top .iconbtn{min-width:44px;min-height:44px}

/* Versão 1.0 */
.departureChoices{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0 18px}.departureChoices button{min-height:65px;padding:9px;background:#101113;color:#ddd;border:1px solid #3e3e3e;border-radius:11px;font-size:12px;font-weight:700}.departureChoices button.departSelected{color:#ff7b29;border:2px solid #ff681c;background:#24170f}.urgentBanner{padding:15px;margin:12px 0;border-radius:10px;background:#351b0e;color:#ffb77e;border:2px solid #ff681c;font-weight:800}.top span{letter-spacing:1px}.mapMock{opacity:.88}

.suggestions{display:flex;flex-direction:column;gap:4px;margin:0 0 10px}.suggestion{display:block;width:100%;text-align:left;background:#202020;border:1px solid #444;color:#f5f5f5;padding:12px;border-radius:8px;font-size:13px}.suggestion:active{border-color:#ff681c}.suggestionNotice{font-size:12px;color:#bbb;padding:10px;background:#181818;border-radius:7px}

/* v1.3: imagens sem recorte, inclusive nas telas menores */
#home .logo {display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;border:0;border-radius:0;margin:0 auto 12px;}
#home .hero {height:auto;min-height:0;aspect-ratio:16 / 9;background-image:linear-gradient(90deg,rgba(0,0,0,.18),rgba(0,0,0,.03)),url('pista-exclusiva.jpg');background-size:contain;background-position:center;background-repeat:no-repeat;background-color:#08090b;overflow:hidden;}
@media (max-width:400px) {#home .hero {aspect-ratio:16 / 9;} .page{padding-left:12px;padding-right:12px;}}

.nativeMapSlot{height:205px;position:relative;border:1px solid #393939;border-radius:13px;overflow:hidden;background:#17212a;display:flex;align-items:center;justify-content:center;color:#bcbcbc;font-size:12px}
#mapStatus{padding:12px;text-align:center}

/* O mapa nativo ocupa esta area. O texto e exibido somente ate o mapa carregar. */
#mapStatus{font-size:12px;color:#b8c2c8;line-height:1.5}

/* Versao 2.1: banner sem faixas laterais e mensagem discreta de atendimento */
#home .hero{aspect-ratio:820/595!important;background-image:url("pista-exclusiva.jpg")!important;background-size:cover!important;background-position:center!important;background-color:#08090b!important;}
.tripAssurance{background:#17191b;border:1px solid #3a3f43;border-left:3px solid #ff781f;color:#dedede;border-radius:10px;padding:13px 14px;font-size:12px;line-height:1.5;margin:14px 0;}

/* Adaptação web mantendo a proporção e os elementos do APK */
.nativeMapSlot{display:block}.leaflet-container{background:#17212a;color:#111;font:12px Arial}.leaflet-control-attribution{font-size:9px!important}.page{min-height:calc(100dvh - 160px)}
@media(min-width:900px){body{background:#151617}.app{box-shadow:0 0 0 1px #292929,0 24px 80px #0009}}

/* v2.2 — layout responsivo real para monitores e notebooks; celular permanece como no app */
@media (min-width: 800px) {
 html,body {min-height:100%;background:radial-gradient(ellipse at 80% 0%,#302015 0%,#131416 44%,#090a0c 100%);}
 .app {max-width:1240px;width:calc(100% - 64px);min-height:100vh;margin:0 auto;padding-bottom:48px;background:#0b0c0e;box-shadow:0 0 0 1px #34302d,0 28px 90px #0009;}
 .top {height:78px;padding:0 38px;background:#111214;position:sticky;top:0;z-index:900;border-bottom:1px solid #34302d;}
 .top span {font-size:17px;font-weight:800;letter-spacing:2px;}
 .top .iconbtn {font-size:34px;}
 .page {padding:28px 46px 54px;min-height:calc(100vh - 80px);}
 .page h1 {font-size:34px;}
 #home.page.active {display:grid;grid-template-columns:minmax(300px,0.92fr) minmax(420px,1.3fr);column-gap:28px;row-gap:22px;align-content:start;align-items:center;}
 #home .logo {grid-column:1;grid-row:1;width:100%;max-height:340px;object-fit:contain;margin:0;}
 #home .hero {grid-column:2;grid-row:1;aspect-ratio:820/595!important;width:100%;border-radius:19px;}
 #home .bigcta {grid-column:1/-1;grid-row:2;margin:0;padding:23px 30px;}
 #home .bigcta b {font-size:22px;}
 #home .bigcta small {font-size:14px;}
 #home .sectiontitle {grid-column:1/-1;grid-row:3;margin:14px 0 -12px;font-size:23px;}
 #home .sectiontitle span {display:none;}
 #home .hscroll {grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;gap:16px;padding:0;}
 #home .miniCar {max-width:none;min-width:0;width:100%;padding:14px;transition:transform .2s,border-color .2s;}
 #home .miniCar:hover {transform:translateY(-3px);border-color:#f58220;}
 #home .miniCar img {height:135px;}
 #home .miniCar b {font-size:16px;}
 #home .miniCar small {font-size:12px;line-height:1.5;}
 #home>.outline {grid-column:1/-1;grid-row:5;margin-top:10px;}
 #home .benefits {grid-column:1/-1;grid-row:6;justify-content:center;font-size:14px;}
 #service,#route,#cars,#details,#success,#bookings,#admin,#adminDetail {max-width:900px;margin:auto;}
 #service .serviceCard {padding:30px;}
 #route .nativeMapSlot {height:350px;}
 #route .panel,#details .panel {padding:25px;}
 #cars .carList {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
 #cars .carOption {min-height:140px;padding:16px;}
 #cars .carOption img {width:135px;height:110px;}
 #cars .carOption.on {padding:15px;}
 #details .panel {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;}
 #details .panel>label:has(textarea),#details .payment {grid-column:1/-1;}
 .bottom {position:static;transform:none;max-width:none;width:100%;border-top:1px solid #333;padding:15px 30px;justify-content:center;gap:35px;background:#101113;}
 .bottom button {width:auto;min-width:160px;flex-direction:row;justify-content:center;gap:12px;font-size:15px;}
 .bottom button span {font-size:23px;}
}
@media (min-width:800px) and (max-width:1080px) {
 .app{width:calc(100% - 28px)}.page{padding:24px}
 #home.page.active{grid-template-columns:1fr 1.2fr;gap:16px}
 #home .hscroll{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:600px) and (max-width:799px) {
 .app{max-width:720px}
 #home .hscroll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 #home .miniCar{max-width:none;min-width:0}
}

/* Versão 2.3: centralização desktop e WhatsApp flutuante */
@media(min-width:800px){
 .app{max-width:1440px;width:min(100% - 48px,1440px);margin-inline:auto;}
 #home.page.active{grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1280px;margin-inline:auto;justify-content:center;column-gap:30px;}
 #home .logo{width:100%;max-width:520px;justify-self:center;}
 #home .hero{width:100%;max-width:610px;justify-self:center;}
 #home .sectiontitle{text-align:center;justify-content:center;margin-top:20px;}
 #home .hscroll{width:100%;max-width:1240px;justify-self:center;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));justify-content:center;}
 #home .miniCar{width:100%;max-width:none;}
 #home .bigcta,#home>.outline{max-width:950px;width:100%;justify-self:center;}
}
@media(min-width:800px) and (max-width:1080px){#home.page.active{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#home .hscroll{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
.whatsapp-float{position:fixed;right:22px;bottom:24px;width:62px;height:62px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 5px 20px #0009;z-index:999;text-decoration:none;transition:transform .2s,background .2s;}
.whatsapp-float:hover{transform:scale(1.08);background:#1ebe5d;}
.whatsapp-float svg{width:34px;height:34px;fill:currentColor;}
@media(max-width:799px){.whatsapp-float{right:14px;bottom:86px;width:54px;height:54px}.whatsapp-float svg{width:30px;height:30px}}
