:root{--purple:#155d50;--purple2:#267868;--ink:#183c35;--muted:#657770;--bg:#f5f7f3;--line:#e0e8df;--green:#196649;--red:#a13e40;--lime:#d8ed9c}body{font-family:'Segoe UI',system-ui,sans-serif;line-height:1.5}h1,h2,h3,p{overflow-wrap:anywhere}button,input,select,textarea{font:inherit}button{border-radius:12px;min-height:44px;font-size:14px;padding:11px 17px;transition:background .15s,transform .15s}button:hover{filter:brightness(.96)}button:active{transform:translateY(1px)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #cc9434;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #79a993;outline-offset:1px}.secondary{background:#edf2ec!important;color:var(--ink)!important;border:1px solid var(--line)!important}.quiet,.status{color:var(--muted);font-size:13px}.eyebrow{color:var(--muted);font-size:10px;letter-spacing:1.5px}.shell{grid-template-columns:224px minmax(0,1fr)}aside{position:sticky;top:0;height:100vh;background:#fff;color:var(--ink);border-right:1px solid var(--line);padding:30px 16px}.brand{margin:0 4px 42px;gap:10px}.brand>span{width:40px;height:44px;background:var(--lime);color:var(--ink)}.brand svg,.login-mark svg{width:29px;height:29px}.brand b{font-size:16px}.brand small{font-size:10px;color:var(--muted)}nav{gap:7px}nav button{display:flex;align-items:center;gap:12px;padding:13px 16px;color:var(--muted);font-weight:600}nav button>span{width:20px;font-size:21px;text-align:center;line-height:1}nav button.active{background:#e7efe3;color:var(--purple)}.logout{background:transparent;color:var(--muted);text-align:left;border-top:1px solid var(--line);border-radius:0}.content{max-width:1320px;width:100%;margin:0 auto;padding:34px 48px 60px}header{margin-bottom:38px}header h2{font-size:21px;font-weight:600;margin:4px 0}.user-pill{font-size:12px;border:1px solid var(--line);background:transparent}.mobile-logout{display:none!important}header>.eyebrow{display:none}#pageBusy{font-size:12px;color:var(--muted)}.today-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:24px}.today-top h1,.section-heading h1{font-size:36px;line-height:1.15;letter-spacing:-1px;font-weight:650;margin:8px 0 12px}.today-top p{font-size:14px;color:var(--muted);margin:0}.route-picker{font-size:12px;color:var(--muted);display:grid;gap:6px;min-width:180px;max-width:280px}.route-picker select{width:100%;font-size:13px}.journey-card{position:relative;background:#e7efdc;border:1px solid #dfe9d3;padding:28px 30px;border-radius:22px;overflow:hidden;margin-bottom:22px;display:grid;grid-template-columns:1fr auto;gap:18px}.journey-card h2{font-size:27px;line-height:1.25;margin:9px 0;font-weight:650;letter-spacing:-.5px}.journey-card p{margin:0;font-size:14px;color:#52684b}.journey-symbol{width:76px;height:76px;display:grid;place-items:center;align-self:center;transform:rotate(-8deg);border-radius:23px;background:var(--lime)}.journey-symbol svg{width:45px;height:45px}.trip-overview{display:flex;gap:10px;flex-wrap:wrap;grid-column:1/-1}.trip-pill{background:#ffffff9c;border:1px solid #d8e3cd;border-radius:99px;font-size:12px;padding:7px 13px;color:#345342}.journey-card>button{grid-column:1/-1;justify-self:start;background:#155d50;min-width:180px}.panel{box-shadow:none;padding:25px 28px;border-radius:18px;margin-bottom:20px;border-color:var(--line)}.panel h3{font-size:21px;letter-spacing:-.3px;margin:5px 0 12px}.panel-title{margin-bottom:18px;align-items:center}.panel-title h3{margin-bottom:0}.panel-title p{margin:6px 0 0}.panel label{font-size:12px;color:#52645b}.route-details summary,details>summary{cursor:pointer;font-weight:600;font-size:14px;padding:5px 0;min-height:32px}.route-details[open] summary{margin-bottom:18px}.route-details{padding-top:16px;padding-bottom:16px}.map-actions{display:flex;flex-wrap:wrap}.map-actions a{font-size:12px;background:#edf2ec!important;color:var(--purple)!important;min-width:130px}.route-stop{font-size:14px;padding:10px 0}.live-status{margin:0 3px;font-size:11px;color:var(--muted)}.live-status:before{color:#398361}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.response-card{padding:20px;background:#f7f9f5;border:1px solid var(--line);border-radius:15px}.response-card .direction{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:18px}.direction b{font-size:17px}.answer-badge{font-size:11px;color:var(--muted);font-weight:500}.answer-badge[data-status=YES]{color:#146645}.answer-badge[data-status=NO]{color:#a13e40}.answer-badge[data-status=MAYBE]{color:#85671f}.choice-buttons{display:flex;gap:7px}.choice-buttons button{flex:1;background:#fff;color:var(--ink);border:1px solid #d8e2d5;min-height:46px;padding:10px 8px;font-size:13px;white-space:nowrap;font-weight:600}.choice-buttons button[aria-pressed=true]{background:#155d50;border-color:#155d50;color:white}.choice-buttons button.no[aria-pressed=true]{background:#f7e4e2;color:#953635;border-color:#e7c5c1}.choice-buttons button.maybe-choice[aria-pressed=true]{background:#f8efd8;border-color:#d8c58e;color:#785a18}.response-note{margin-top:12px;font-size:12px}.response-note summary{font-weight:400;font-size:12px}.response-note input{width:100%;margin-top:8px}.person-compact{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 0;border-bottom:1px solid var(--line)}.person-compact:last-child{border:0}.person-compact summary{font-size:12px;color:var(--muted);font-weight:400}.person-compact .choice-grid{grid-column:1/-1}.person-compact .response-card{padding:12px}.person-compact details{grid-column:1/-1}.person-chips{display:flex;gap:8px;flex-wrap:wrap}.person-chips span{font-size:11px;padding:4px 10px;border-radius:99px;background:#f0f4ed}.empty-state{padding:26px 10px;color:var(--muted);text-align:center;font-size:14px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.menu-tile{padding:23px;text-align:left;color:var(--ink);background:#fff;border:1px solid var(--line);display:grid;gap:6px;min-height:100px}.menu-tile b{font-size:16px}.menu-tile span{font-size:13px;color:var(--muted);font-weight:400}.preferences button{margin:5px 6px 0 0}.about-panel{background:transparent;border:0;padding-left:0;padding-right:0}.about-panel h3{font-size:15px}.back-link{background:transparent;color:var(--muted);padding:0 0 12px;font-size:13px;min-height:32px}.trip-controls{display:grid;grid-template-columns:1fr 1.7fr 1fr auto;gap:12px;align-items:end;margin-bottom:24px}.trip-controls label{margin:0}.trip-controls input,.trip-controls select{width:100%;min-width:0}.trip-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:16px}.trip-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.trip-card-head h3{margin:0 0 3px;font-size:19px}.state-tag{padding:5px 10px;border-radius:99px;background:#e7efdc;font-size:11px;white-space:nowrap}.step-track{display:flex;gap:12px;margin:20px 0;padding:0;list-style:none}.step-track li{font-size:11px;color:#819086;display:flex;align-items:center;gap:6px}.step-track li:before{content:attr(data-step);width:21px;height:21px;display:grid;place-items:center;border:1px solid #d4ddd1;border-radius:50%;font-size:10px}.step-track li.done{color:#155d50}.step-track li.done:before{background:#155d50;color:#fff;border-color:#155d50}.board-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.board-row strong,.board-row small{display:block}.board-row small{font-size:12px;color:var(--muted);margin-top:4px}.board-actions{display:flex;gap:7px}.board-actions button{font-size:12px;padding:9px 12px}.trip-primary{margin-top:20px;display:flex;justify-content:space-between;gap:14px;align-items:center}.trip-primary .quiet{font-size:12px;max-width:300px}.trip-options{margin-top:15px;padding-top:12px;border-top:1px solid var(--line)}.trip-options summary{font-size:12px;color:var(--muted);font-weight:400}.trip-options label{display:flex;align-items:center;gap:9px}.trip-options input[type=checkbox]{width:18px;height:18px}.trip-options .danger{background:#f7e4e2;color:#953635;font-size:12px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid>*{min-width:0}.form-grid>label{border:0;padding:0;margin:0}.form-grid label input,.form-grid label select{width:100%}.finance-admin{margin-top:20px;background:#f6f8f3;padding:12px 16px;border-radius:12px}.finance-admin .user-actions{margin:12px 0;flex-wrap:wrap}.user-actions{flex-wrap:wrap}.user-actions button{min-height:42px;font-size:13px;padding:10px 14px}.health-grid{gap:12px;margin:18px 0}.health-card{box-shadow:none;background:#f7f9f5;padding:18px}.health-card .health-dot{display:none}.health-card b{font-size:12px;color:var(--muted);font-weight:500}.health-card div>span{color:var(--ink);font-size:21px}.finance-balance{background:#e7efdc;border-radius:17px;padding:24px;display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.finance-balance .amount{display:block;font-size:36px;font-weight:650;letter-spacing:-1px;margin:4px 0}.finance-balance small{font-size:12px;color:var(--muted)}.money-breakdown{display:flex;gap:28px;flex-wrap:wrap;font-size:13px;margin:18px 0}.money-breakdown span{display:block;color:var(--muted);font-size:12px}.money-breakdown b{font-size:18px;font-weight:600}.statement-box{padding-bottom:0}.statement-box:empty{display:none}.statement-box h3{font-size:18px}.pix-area{display:grid;grid-template-columns:170px 1fr;gap:20px;align-items:center;padding:20px;background:#f7f9f5;border-radius:14px}.pix-area img{width:170px;height:170px}.pix-area textarea{font-size:11px;padding:10px;border:1px solid var(--line);border-radius:8px;resize:vertical;background:#fff}.calculation-details{margin-top:20px;padding-top:12px;border-top:1px solid var(--line)}.calculation-details p{font-size:12px}.payment-details .panel-title{display:none}.payment-details[open]>summary{margin-bottom:20px}th{font-size:11px}td{font-size:13px}th,td{padding:12px 9px}.create-details{margin-bottom:24px}.create-details>summary{color:var(--purple);margin-bottom:10px}.create-details>h3,.create-details>.eyebrow{display:none}.mini-card:not(.trip-card){background:#f7f9f5;padding:18px;gap:15px}.mini-card .status{display:block;margin-top:4px}.login-wrap{background:#eaf0e2}.login-card{padding:38px 40px;background:#fff;border:1px solid var(--line);border-radius:26px;box-shadow:none;width:min(440px,92vw)}.login-mark{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;background:var(--lime);margin-bottom:24px}.login-card h1{font:650 44px/1.06 'Segoe UI',system-ui,sans-serif;letter-spacing:-1.5px;margin:12px 0 18px}.login-card h1>span{color:#639743}.login-card>p{font-size:14px;color:var(--muted);margin-bottom:28px}.login-card label{display:block;font-size:12px;color:var(--muted);margin-top:16px}.login-card input{margin-top:5px}.login-card form button{display:flex;justify-content:space-between;margin-top:24px}.login-footer{display:block;margin-top:24px;color:var(--muted);font-size:10px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);max-width:90vw;padding:13px 20px;background:#183c35;color:#fff;border-radius:12px;z-index:100;font-size:14px;box-shadow:0 6px 30px #183c351c}.toast.error-toast{background:#923b3b}dialog{border:1px solid var(--line);border-radius:20px;padding:28px;width:min(520px,calc(100vw - 30px));max-height:90dvh;overflow:auto;color:var(--ink)}dialog::backdrop{background:#102c2366}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-top h2{font-size:22px;margin:0}.icon-button{background:transparent;color:var(--muted);font-size:25px;padding:2px 10px;min-width:44px}.dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0}.dialog-fields label{font-size:12px;color:var(--muted);display:grid;gap:6px}.dialog-fields label:only-child,.dialog-fields .full-field{grid-column:1/-1}.dialog-fields input,.dialog-fields select,.dialog-fields textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.hidden{display:none!important}
@media(min-width:851px){.admin-only:not(.hidden){display:revert}.menu-tile.admin-only:not(.hidden){display:grid}}
@media(max-width:1050px){.content{padding:28px}.shell{grid-template-columns:200px minmax(0,1fr)}.trip-controls{grid-template-columns:1fr 1fr}.choice-grid{gap:12px}.choice-buttons{gap:5px}}
@media(max-width:850px){.shell{display:block}.content{padding:22px 20px calc(105px + env(safe-area-inset-bottom));overflow:visible}aside{position:fixed;top:auto;bottom:0;left:0;right:0;height:auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-right:0;background:#fff;z-index:20}.brand,.logout{display:none}nav{display:flex;overflow:visible;gap:5px;justify-content:space-around}nav button{flex:1;flex-direction:column;gap:4px;font-size:11px;padding:8px 5px;min-width:0}nav button>span{font-size:21px}header{margin:0 0 28px}header .eyebrow{font-size:9px;letter-spacing:1px}header h2{font-size:19px}.user-pill{font-size:11px;max-width:120px;padding:8px 11px}.today-top{align-items:flex-start;gap:14px}.today-top h1{font-size:29px}.today-top .eyebrow{font-size:9px}.route-picker{min-width:0;max-width:140px;flex:0 1 140px}.route-picker select{padding:10px 7px;font-size:12px}.journey-card{padding:23px;gap:16px}.journey-card h2{font-size:23px}.journey-symbol{width:62px;height:62px}.journey-symbol svg{width:37px;height:37px}.panel{padding:22px;border-radius:16px}.panel-title{flex-direction:row;align-items:flex-start}.panel h3{font-size:20px}.choice-grid{grid-template-columns:1fr;gap:12px}.response-card{padding:18px}.choice-buttons button{font-size:14px}.response-card .direction{margin-bottom:14px}.admin-only:not(.hidden){display:block}.menu-tile.admin-only:not(.hidden){display:grid}.form-grid{grid-template-columns:1fr 1fr}.health-grid{grid-template-columns:1fr}.user-actions{width:auto}.user-actions button{flex:0 1 auto}.toast{bottom:calc(95px + env(safe-area-inset-bottom));width:max-content}.more-grid{gap:10px}.menu-tile{padding:18px}.trip-card{padding:18px}.board-row{align-items:flex-start;flex-direction:column}.board-actions{width:100%}.board-actions button{flex:1}.trip-primary{align-items:stretch;flex-direction:column}.step-track{gap:8px;flex-wrap:wrap}.step-track li{font-size:10px}.person-compact{grid-template-columns:1fr}.person-chips{gap:6px}.finance-balance{padding:20px}.finance-balance .amount{font-size:32px}.pix-area{grid-template-columns:1fr}.pix-area img{margin:auto}.trip-card-head{flex-wrap:wrap}}
@media(max-width:420px){.content{padding-left:16px;padding-right:16px}.today-top{flex-wrap:wrap}.route-picker{max-width:none;flex-basis:100%}.route-picker label{display:none}.route-picker select{padding:10px 12px}.panel{padding:20px}.journey-card{padding:20px}.journey-symbol{width:50px;height:50px}.journey-card h2{font-size:22px}.more-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.dialog-fields{grid-template-columns:1fr}.trip-controls{gap:10px}.step-track{gap:9px}.login-card{padding:30px}.user-pill{max-width:90px}.header-account{max-width:100px}.choice-buttons button{font-size:13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.dialog-extra{grid-column:1/-1}.dialog-extra summary{font-size:12px;color:var(--muted)}.dialog-extra>div{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
@media(max-width:850px){body[data-role=PASSENGER] header{margin-bottom:18px}body[data-role=PASSENGER] .today-top{margin-bottom:18px}body[data-role=PASSENGER] .today-top .eyebrow{display:none}body[data-role=PASSENGER] .today-top h1{font-size:27px;margin:0 0 6px}body[data-role=PASSENGER] .journey-card{padding:18px 20px;margin-bottom:16px;gap:12px}body[data-role=PASSENGER] .journey-card h2{font-size:22px;margin:5px 0}body[data-role=PASSENGER] .journey-card p{font-size:12px}body[data-role=PASSENGER] .trip-pill{padding:5px 10px;font-size:11px}body[data-role=PASSENGER] .trip-overview{gap:6px}body[data-role=PASSENGER] .response-card{padding:14px}body[data-role=PASSENGER] .direction{margin-bottom:12px}body[data-role=PASSENGER] .response-note{margin-top:7px}body[data-role=PASSENGER] .confirmations-panel{padding:18px 20px}body[data-role=PASSENGER] .confirmations-panel .panel-title{margin-bottom:14px}}

.login-mark img,.brand>span img,.journey-symbol img{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}.journey-symbol{transform:none;overflow:hidden}.login-mark,.brand>span{overflow:hidden}

.driver-controls{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}.driver-controls button{min-height:52px;flex:1 1 180px}.driver-hint{padding:14px;border-radius:12px;background:#f0f6f2}.driver-card .trip-options button{margin:6px}.cost-preview-dialog{width:min(560px,92vw);max-height:90vh;overflow:auto;border:0;border-radius:22px;padding:24px;color:var(--ink)}.cost-preview-dialog::backdrop{background:#18251c99}.cost-preview-dialog label{display:grid;gap:8px}.cost-preview-dialog input{font:inherit;padding:14px;border:1px solid #ccc;border-radius:10px}.cost-preview-dialog [role=alert]{color:#a32d2d}.cost-preview-dialog .money-breakdown{display:grid;gap:12px;margin:20px 0}@media(max-width:540px){.driver-controls{flex-direction:column}.driver-controls button{flex:auto;width:100%}.driver-card .board-row{flex-wrap:wrap;gap:12px}.driver-card .board-actions{width:100%;display:flex}.driver-card .board-actions button{flex:1;min-height:48px}}

/* O resumo financeiro vira cartões no celular para nenhum valor ficar fora da tela. */
@media(max-width:850px){.finance-summary-wrap{overflow:visible}.finance-summary-wrap table,.finance-summary-wrap tbody{display:block;width:100%}.finance-summary-wrap thead{display:none}.finance-summary-wrap tr{display:block;margin:12px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#f7f9f5}.finance-summary-wrap td{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:7px 0;border:0;text-align:right;font-size:14px}.finance-summary-wrap td::before{content:attr(data-label);color:var(--muted);font-size:12px;text-align:left}.finance-summary-wrap td:first-child{padding-top:0;font-size:18px;font-weight:650;color:var(--ink)}.finance-summary-wrap td:first-child::before{content:''}.finance-summary-wrap td:nth-child(2){margin:4px 0 2px;padding:10px 12px;border-radius:10px;background:#e7efdc;color:var(--purple);font-size:20px}.finance-summary-wrap td:nth-child(2)::before{color:var(--purple);font-weight:600}.finance-summary-wrap td:last-child{padding-bottom:0}}
