:root{--navy:#062536;--navy2:#0a3448;--green:#16c6a8;--green2:#0ea98f;--ink:#17333f;--muted:#6f838b;--line:#dce8ea;--bg:#f4f8f8;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--white)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:76px;padding:0 max(6vw,28px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #edf2f3;position:sticky;top:0;z-index:20}.brand{font-size:29px;font-weight:800;letter-spacing:-1.5px;color:var(--navy);text-decoration:none}.brand b{color:var(--green)}.topbar nav{display:flex;align-items:center;gap:28px}.topbar nav a{color:#45606b;text-decoration:none;font-size:14px;font-weight:600}.ghost,.secondary{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:12px;padding:11px 19px;font-weight:700}.hero{min-height:670px;padding:70px max(7vw,30px);display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;background:linear-gradient(135deg,#f8fbfb 0%,#edf9f7 100%)}.hero-copy{max-width:650px}.eyebrow{display:inline-block;color:var(--green2);font-size:12px;letter-spacing:1.8px;font-weight:800;margin-bottom:16px}.hero h1{font-size:clamp(44px,6vw,76px);line-height:1.03;letter-spacing:-4px;margin:0 0 22px;color:var(--navy)}.hero h1 em{font-style:normal;color:var(--green2)}.hero-copy>p{font-size:19px;line-height:1.7;color:#5b737d;max-width:590px}.hero-actions{display:flex;gap:12px;margin:30px 0 24px}.primary{background:var(--green2);color:#fff;border:0;border-radius:12px;padding:14px 22px;font-weight:800;box-shadow:0 8px 20px #0ea98f30}.primary:hover{background:#0b987f}.secondary{padding:14px 22px}.trust{display:flex;gap:20px;flex-wrap:wrap;font-size:12px;color:#668089;font-weight:600}.trust span::first-letter{color:var(--green2)}.phone-wrap{height:500px;display:grid;place-items:center;position:relative}.blob{position:absolute;width:440px;height:440px;background:var(--green);opacity:.13;border-radius:44% 56% 63% 37%/42% 45% 55% 58%;transform:rotate(15deg)}.phone{width:245px;height:485px;border:9px solid var(--navy);border-radius:39px;box-shadow:0 28px 55px #06324535;position:relative;overflow:hidden;background:#ddede9;transform:rotate(4deg)}.speaker{position:absolute;z-index:4;top:10px;left:82px;width:65px;height:17px;background:var(--navy);border-radius:15px}.map-grid{position:absolute;inset:0;background:linear-gradient(32deg,transparent 47%,#fff 48% 53%,transparent 54%),linear-gradient(150deg,transparent 42%,#c8dfdb 43% 47%,transparent 48%),linear-gradient(82deg,transparent 53%,#fff 54% 59%,transparent 60%)}.pin{position:absolute;color:var(--green2);font-size:30px;text-shadow:0 4px 5px #0002}.p1{top:115px;left:55px}.p2{top:210px;right:50px;color:#ffb443}.route{position:absolute;width:110px;height:105px;top:135px;left:70px;border-right:4px dashed var(--green2);border-bottom:4px dashed var(--green2);border-radius:0 0 60px}.ride-card{position:absolute;left:12px;right:12px;bottom:12px;background:#fff;border-radius:18px;padding:16px;box-shadow:0 8px 25px #06253630}.ride-card small{display:block;color:#789099;font-size:10px}.ride-card>b{display:block;margin:4px 0 14px}.ride-card div{display:flex;justify-content:space-between;font-size:11px}.ride-card button{width:100%;margin-top:12px;background:var(--green2);color:#fff;border:0;padding:10px;border-radius:9px;font-size:11px;font-weight:800}.steps{padding:90px max(7vw,30px);text-align:center}.steps h2,.safety h2{font-size:38px;letter-spacing:-1.5px;color:var(--navy);margin:0 auto 40px;max-width:680px}.step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.step-grid article{padding:34px;border:1px solid var(--line);border-radius:20px}.step-grid i{font-style:normal;display:grid;place-items:center;width:45px;height:45px;margin:auto;background:#e3f8f4;color:var(--green2);border-radius:50%;font-weight:800}.step-grid h3{margin:18px 0 8px}.step-grid p,.safety p{color:var(--muted);line-height:1.65}.safety{padding:80px max(10vw,30px);background:var(--navy);color:#fff;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px}.safety h2{color:#fff;margin:0 0 20px}.safety p{color:#b4c9d0}.safety ul{list-style:none;padding:0}.safety li{padding:9px 0}.safety li:before{content:'✓';color:var(--green);font-weight:900;margin-right:10px}.shield{width:210px;height:240px;margin:auto;border:5px solid var(--green);border-radius:48% 48% 60% 60%;display:grid;place-content:center;text-align:center;color:var(--green);font-size:60px}.shield small{font-size:14px;color:#fff;line-height:1.5;font-weight:700}footer{padding:45px max(7vw,30px);background:#041b28;color:#a8bec6;display:flex;align-items:center;gap:30px;flex-wrap:wrap}footer .brand{color:#fff}footer p{flex:1}footer small{font-size:11px}.modal{position:fixed;inset:0;background:#041b28b8;backdrop-filter:blur(5px);z-index:50;display:grid;place-items:center;padding:20px}.modal-box{width:min(590px,100%);max-height:94vh;overflow:auto;background:#fff;border-radius:24px;padding:34px;position:relative}.close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:30px;color:#6d8087}.modal-brand{margin-bottom:20px}.modal h2{font-size:27px;margin:0 0 7px;color:var(--navy)}.modal section>p{color:var(--muted);margin:0 0 22px}.modal form{display:grid;gap:15px}.modal label{font-size:13px;font-weight:700;display:grid;gap:7px}.modal input,.modal select{width:100%;padding:13px;border:1px solid #cadadd;border-radius:10px;outline:none}.modal input:focus,.modal select:focus{border-color:var(--green2);box-shadow:0 0 0 3px #16c6a818}.two{display:grid;grid-template-columns:1fr 1fr;gap:13px}.full{width:100%;padding:14px}.text-btn{display:block;margin:17px auto 0;border:0;background:transparent;color:var(--green2);font-weight:800}.role-switch{display:grid;grid-template-columns:1fr 1fr;background:#edf4f4;border-radius:11px;padding:4px;margin-bottom:18px}.role-switch button{border:0;background:transparent;border-radius:8px;padding:11px;font-weight:700;color:#698087}.role-switch button.active{background:#fff;color:var(--navy);box-shadow:0 3px 10px #05263718}.terms{display:flex!important;grid-template-columns:20px 1fr!important;align-items:center}.terms input{width:17px}.toast{position:fixed;left:50%;top:20px;transform:translate(-50%,-130%);z-index:100;background:var(--navy);color:#fff;padding:13px 20px;border-radius:12px;box-shadow:0 10px 30px #0003;transition:.25s;max-width:90vw}.toast.show{transform:translate(-50%,0)}.toast.error{background:#a83b3b}.account{min-height:100vh;background:var(--bg);display:grid;grid-template-columns:235px 1fr}.account-nav{background:var(--navy);padding:27px 19px;color:#fff;display:flex;flex-direction:column;gap:8px}.account-nav .brand{color:#fff;margin:0 10px 25px}.account-nav a,.account-nav button{padding:13px;border-radius:10px;color:#b5c9d0;background:transparent;border:0;text-align:left;font-weight:700}.account-nav a.active{background:var(--navy2);color:#fff}.account-nav button{margin-top:auto}.account-main>header{height:80px;padding:0 32px;background:#fff;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.account-main header small{color:var(--muted)}.account-main header h2{margin:2px 0}.status{background:#def6f0;color:#08705f;padding:8px 12px;border-radius:20px;font-size:12px;font-weight:800}.account-content{padding:35px;max-width:1150px}.welcome-card{min-height:270px;border-radius:22px;padding:40px;color:#fff;display:flex;align-items:center;justify-content:space-between;overflow:hidden}.welcome-card.passenger{background:linear-gradient(120deg,#082d40,#0b5360)}.welcome-card.driver{background:linear-gradient(120deg,#087564,#14b79c)}.welcome-card span{font-size:11px;letter-spacing:1.6px;font-weight:800}.welcome-card h1{font-size:35px;margin:10px 0}.welcome-card p{opacity:.8;max-width:550px}.welcome-card button{margin-top:14px;padding:13px 18px;border:0;border-radius:10px;font-weight:800}.welcome-card button:disabled{opacity:.55}.car-icon{font-size:95px;filter:drop-shadow(0 15px 15px #0004)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.info-grid article{background:#fff;padding:22px;border:1px solid var(--line);border-radius:15px}.info-grid small{display:block;color:var(--muted);font-weight:700;margin-bottom:8px}.info-grid b{color:var(--navy)}@media(max-width:800px){.topbar nav a{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero-copy{text-align:center}.hero-copy>p{margin-left:auto;margin-right:auto}.hero-actions,.trust{justify-content:center}.phone-wrap{height:520px}.steps h2,.safety h2{font-size:31px}.step-grid{grid-template-columns:1fr}.safety{grid-template-columns:1fr;text-align:center}.safety ul{text-align:left;display:inline-block}.account{grid-template-columns:1fr}.account-nav{display:none}.account-content{padding:20px}.welcome-card{padding:28px}.car-icon{font-size:60px}}@media(max-width:520px){.topbar{padding:0 18px}.topbar nav{gap:0}.hero{padding:45px 20px}.hero h1{letter-spacing:-2.8px}.hero-actions{display:grid}.phone{transform:none}.two{grid-template-columns:1fr}.modal-box{padding:28px 20px}.welcome-card{display:block}.car-icon{text-align:right;margin-top:15px}.info-grid{grid-template-columns:1fr}.account-main>header{padding:0 20px}}
/* ViaOn 3.5B — operação de corridas */
.driver-operations{margin:24px 0;background:#fff;border:1px solid #e2e8eb;border-radius:24px;padding:28px;box-shadow:0 18px 50px rgba(6,37,54,.08)}
.driver-ops-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}.driver-ops-head span,.current-driver-ride>span{color:var(--green);font-size:12px;font-weight:900;letter-spacing:1.6px}.driver-ops-head h2{font-size:30px;margin:5px 0}.driver-ops-head p{color:#60717a;margin:0}
#driverOnlineToggle{display:flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:14px 20px;cursor:pointer;background:#e9eef0;color:#1b2d36}#driverOnlineToggle i{width:12px;height:12px;border-radius:50%;background:#7d8c92}#driverOnlineToggle.online{background:#d8f7e9;color:#087044}#driverOnlineToggle.online i{background:#12b76a;box-shadow:0 0 0 5px rgba(18,183,106,.15)}
.nearby-ride-list{display:grid;gap:16px}.nearby-ride-card{border:1px solid #dce4e7;border-radius:20px;padding:20px;background:#fff}.passenger-summary{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center}.passenger-summary img{width:58px;height:58px;border-radius:18px;object-fit:cover;background:#e7edef}.passenger-summary div{display:flex;flex-direction:column}.passenger-summary small{font-size:10px;color:#168361;font-weight:900}.passenger-summary b{font-size:18px}.passenger-summary span{font-size:13px;color:#6b7b82}.passenger-summary>strong{font-size:22px;color:#0d2633}
.driver-route{margin:18px 0;padding:14px 0;border-top:1px solid #edf1f2;border-bottom:1px solid #edf1f2}.driver-route p{display:flex;gap:12px;margin:8px 0}.driver-route i{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#102e3b;color:white;font-style:normal;font-size:11px;flex:none}.driver-route p:last-child i{background:var(--green)}.driver-route span{font-weight:700}.driver-route small{display:block;color:#75858b;font-weight:500}.driver-trip-meta{display:flex;gap:9px;flex-wrap:wrap}.driver-trip-meta span{padding:7px 10px;border-radius:9px;background:#f1f5f6;font-size:13px;font-weight:700}.pickup-note-view{color:#53656d;background:#fff8ef;padding:10px;border-radius:10px}
.driver-response{display:grid;grid-template-columns:auto 1fr auto;gap:10px;margin-top:18px}.driver-response>div{display:flex}.driver-response input{width:100%;min-width:100px;border:1px solid #ccd8dc;border-radius:10px 0 0 10px;padding:10px}.driver-response button{border:0;border-radius:10px;padding:11px 15px;font-weight:800;cursor:pointer}.driver-response>div button{border-radius:0 10px 10px 0;background:#172c36;color:#fff}.driver-response .accept{background:var(--green);color:#fff}.driver-response .decline{background:#fff0f0;color:#b42318}
.current-driver-ride{margin-bottom:20px;padding:20px;border-radius:16px;background:#092c3a;color:#fff}.current-driver-ride h3{font-size:22px;margin:6px 0 14px}.current-driver-ride p{margin:7px 0}.current-driver-ride small{color:#bdd0d7}
.ride-offers{margin-top:14px}.ride-offers h4{margin:0 0 9px}.waiting-offers{display:block;color:#6c7c83;padding:10px 0}.passenger-offer{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;background:#fff7ef;border:1px solid #ffd9b8;border-radius:12px;padding:12px;margin:8px 0}.passenger-offer div{display:flex;flex-direction:column}.passenger-offer small{color:#687980}.passenger-offer button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:9px 13px;font-weight:800;cursor:pointer}.accepted-offer{color:#087044;font-weight:800}.chosen-driver{margin-top:13px;padding:12px;border-radius:12px;background:#e9f8f2;display:flex;flex-direction:column}.chosen-driver span{color:#567069;font-size:13px}
@media(max-width:700px){.driver-operations{padding:18px;border-radius:18px}.driver-ops-head{align-items:flex-start;flex-direction:column}.driver-ops-head h2{font-size:25px}.passenger-summary{grid-template-columns:50px 1fr}.passenger-summary img{width:50px;height:50px}.passenger-summary>strong{grid-column:2}.driver-response{grid-template-columns:1fr 1fr}.driver-response>div{grid-column:1/-1;grid-row:1}.passenger-offer{grid-template-columns:1fr auto}.passenger-offer button{grid-column:1/-1}}
/* ViaOn 3.5C — ciclo da corrida */
.passenger-live-panel{margin-top:15px;padding:16px;border-radius:15px;background:#0b2e3b;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:18px}.passenger-live-panel>div:first-child{display:flex;flex-direction:column}.passenger-live-panel small{color:#ffb476;font-weight:800}.passenger-live-panel strong{font-size:32px;letter-spacing:7px}.passenger-live-panel span{font-size:12px;color:#c5d5db}.passenger-live-actions{display:flex;gap:8px;flex-wrap:wrap}.passenger-live-actions button,.driver-lifecycle-actions button,.rating-box button{border:0;border-radius:10px;padding:10px 13px;font-weight:800;cursor:pointer}.passenger-live-actions button{background:#fff;color:#16333e}.passenger-live-actions .sos,.driver-lifecycle-actions .sos{background:#c62828;color:#fff}.passenger-live-actions .cancel-active,.driver-lifecycle-actions .cancel-trip{background:#fff0f0;color:#a3221a}
.driver-lifecycle-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.driver-lifecycle-actions>button,.pin-start button{background:var(--green);color:#fff}.driver-lifecycle-actions .complete-trip{background:#12a66b}.pin-start{display:flex}.pin-start input{width:145px;padding:11px;border:0;border-radius:9px 0 0 9px;font-size:18px;letter-spacing:4px}.pin-start button{border-radius:0 9px 9px 0}
.rating-box{margin-top:14px;padding:14px;border:1px solid #ffd4af;background:#fff8f0;border-radius:13px}.rating-box>div{display:flex;gap:8px;margin-top:9px}.rating-box select,.rating-box input{border:1px solid #d5dfe2;border-radius:9px;padding:9px}.rating-box input{flex:1}.rating-box button{background:var(--green);color:#fff}.cancel-reason{margin-top:12px;padding:10px;border-radius:10px;background:#fff1f1;color:#8f2b24}
.ride-status.arrived{background:#fff0cf;color:#825600}.ride-status.in_progress{background:#daf0ff;color:#075987}
@media(max-width:700px){.passenger-live-panel{align-items:flex-start;flex-direction:column}.passenger-live-actions{width:100%}.passenger-live-actions button{flex:1}.rating-box>div{flex-direction:column}.driver-lifecycle-actions{flex-direction:column}.driver-lifecycle-actions button,.pin-start{width:100%}.pin-start input{flex:1}}
/* ViaOn 3.6 — financeiro */
.driver-wallet{margin:24px 0;padding:28px;background:#fff;border:1px solid #e0e7e9;border-radius:24px;box-shadow:0 18px 50px rgba(6,37,54,.08)}.wallet-head{display:flex;justify-content:space-between;align-items:center}.wallet-head span{font-size:12px;letter-spacing:1.5px;font-weight:900;color:var(--green)}.wallet-head h2{font-size:29px;margin:5px 0}.wallet-head button{border:1px solid #d4dfe2;border-radius:10px;background:#fff;padding:10px 14px;font-weight:700}.wallet-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.wallet-values article{padding:18px;border-radius:15px;background:#0b2e3b;color:#fff}.wallet-values small{display:block;color:#b8ced6}.wallet-values b{font-size:23px}.withdraw-form{display:flex;align-items:end;gap:10px;padding:16px;border-radius:14px;background:#f4f7f8}.withdraw-form label{flex:1;font-weight:800}.withdraw-form input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #cfdbdf;border-radius:9px}.withdraw-form button,.pending-payments button{border:0;border-radius:9px;padding:12px 15px;background:var(--green);color:#fff;font-weight:800}.wallet-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.wallet-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:11px 0;border-bottom:1px solid #e8edef}.wallet-row div{display:flex;flex-direction:column}.wallet-row small{color:#718087}.wallet-row strong.negative{color:#bd2424}.pending-payments{padding:16px;border-radius:14px;background:#fff8ed;border:1px solid #ffd6a8;margin-bottom:15px}.pending-payments h3{margin-top:0}.payment-box{margin-top:13px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-radius:13px;background:#f0f5f7}.payment-box>div{display:flex;flex-direction:column}.payment-box small{font-weight:900;color:#65777e}.payment-box button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:10px 13px;font-weight:800}.payment-box.confirmed{background:#e5f7ef}.payment-box.confirmed>strong{color:#087044}
@media(max-width:700px){.driver-wallet{padding:18px}.wallet-values{grid-template-columns:1fr}.wallet-columns{grid-template-columns:1fr}.withdraw-form{align-items:stretch;flex-direction:column}.withdraw-form button{width:100%}.payment-box{align-items:flex-start;flex-direction:column}}
/* ViaOn 3.7 — comunicação e suporte */
.notification-bell{position:relative;border:1px solid #d8e0e3;background:#fff;border-radius:12px;padding:10px 13px;font-size:18px}.notification-bell b{position:absolute;right:-6px;top:-7px;background:#e84e2c;color:#fff;min-width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px}.communication-center{margin:24px 32px;padding:26px;background:#fff;border:1px solid #dfe7e9;border-radius:22px;box-shadow:0 18px 50px #06253614}.comm-head{display:flex;justify-content:space-between;align-items:center}.comm-head span{color:var(--green);font-size:12px;font-weight:900;letter-spacing:1.4px}.comm-head h2{margin:5px 0}.comm-head button,.comm-tabs button{border:1px solid #d8e0e3;background:#fff;border-radius:10px;padding:10px 14px;font-weight:800}.comm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.notification-list article,.ticket-list article,.contact-list article{padding:14px;border-bottom:1px solid #e7edef}.notification-list article.unread{border-left:4px solid var(--green);background:#fff8f0}.notification-list p{margin:5px 0}.notification-list small,.ticket-list span,.contact-list span{display:block;color:#6c7c83;font-size:12px}.support-form,.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px;background:#f4f7f8;border-radius:15px}.support-form h3,.contact-form h3,.support-form textarea,.support-form input[type=file]{grid-column:1/-1}.support-form input,.support-form select,.support-form textarea,.contact-form input{padding:12px;border:1px solid #ccd8dc;border-radius:9px}.support-form button,.contact-form button{border:0;border-radius:9px;background:var(--green);color:#fff;padding:12px;font-weight:800}.contact-list article{display:flex;justify-content:space-between}.contact-list button{border:0;background:#fff0f0;color:#a3221a;border-radius:8px}.chat-modal{position:fixed;inset:0;background:#061b25aa;z-index:200;display:grid;place-items:center;padding:18px}.chat-modal>div{width:min(540px,100%);background:#fff;border-radius:20px;overflow:hidden}.chat-modal header{display:flex;justify-content:space-between;padding:18px;background:#0b2e3b;color:#fff}.chat-modal header button{background:none;border:0;color:#fff;font-size:24px}.chat-modal #chatMessages{height:340px;overflow:auto;padding:16px}.chat-modal #chatMessages p{display:flex;flex-direction:column;background:#f1f5f6;padding:10px;border-radius:10px}.chat-modal #chatMessages b,.chat-modal #chatMessages small{font-size:11px;color:#66777e}.chat-modal form{display:flex;padding:14px;border-top:1px solid #e1e8ea}.chat-modal input{flex:1;padding:12px;border:1px solid #ccd8dc;border-radius:9px 0 0 9px}.chat-modal form button{border:0;background:var(--green);color:#fff;padding:0 18px;border-radius:0 9px 9px 0}.shared-ride{max-width:650px;margin:8vh auto;padding:34px;background:#fff;border-radius:24px;box-shadow:0 20px 70px #06253626}.shared-ride>span{display:block;color:var(--green);font-weight:900;margin-top:25px}.shared-status{display:inline-block;padding:8px 12px;background:#e4f7ef;color:#087044;border-radius:999px}.shared-ride article{display:flex;flex-direction:column;padding:18px;margin:15px 0;background:#f3f6f7;border-radius:14px}.shared-ride article small{margin-top:10px;color:#687980}.hidden{display:none!important}@media(max-width:700px){.communication-center{margin:15px;padding:18px}.support-form,.contact-form{grid-template-columns:1fr}.support-form>*{grid-column:1}.shared-ride{margin:0;min-height:100vh;border-radius:0}}
