/* Vai+ Caronas follows the neutral cards and primary actions of the customer area. */
.vai-mais-carpools .card { border: 1px solid #e9ecef; border-radius: 10px; box-shadow: 0 2px 8px rgba(24,39,75,.06); }
.vai-mais-carpools .card .card { box-shadow: none; background: #fff; }
.vai-mais-carpools h3 { margin-bottom: .35rem; font-size: 1.25rem; }
.vai-mais-carpools h4 { margin: 1.5rem 0 .75rem; font-size: 1rem; }
.vai-mais-carpools form + form { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid #edf0f2; }
.vai-mais-carpools .form-control { min-height: 42px; border-radius: 7px; }
.vai-mais-carpools textarea.form-control { min-height: 100px; }
.vai-mais-carpools .btn { min-height: 38px; border-radius: 7px; font-weight: 600; }
.vai-mais-carpools .badge { padding: .38em .6em; text-transform: capitalize; }
.vai-mais-carpools .alert { border-radius: 8px; }
.vai-mais-carpools .carpool-empty { padding: 2rem 1rem; text-align: center; color: #6c757d; }
.vai-mais-carpools .carpool-acknowledgement { border-left: 4px solid #ffb000 !important; }
.vai-mais-carpools .carpool-acknowledgement strong { display: block; margin-bottom: .25rem; }
.vai-mais-carpools .carpool-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.vai-mais-carpools .carpool-actions form { margin: 0; padding: 0; border: 0; }
.vai-mais-carpools .carpool-meta { color: #59636d; line-height: 1.6; }
.vai-mais-carpools .carpool-pin { max-width: 180px; letter-spacing: .1em; }
@media (max-width: 575.98px) { .vai-mais-carpools .content { padding-left: 10px; padding-right: 10px; } .vai-mais-carpools .card-body { padding: 1rem; } .vai-mais-carpools .btn { width: 100%; } .vai-mais-carpools .carpool-actions { display: block; } .vai-mais-carpools .carpool-actions > * { display:block!important; width:100%; margin:0 0 .5rem; } .vai-mais-carpools .carpool-pin { max-width: none; width: 100%; margin-bottom: .5rem; } }

/* Caronas hub: local app header and tabbed entry point. */
body.vai-mais-carpools-app-view { background: #f5f5f5; }
body.vai-mais-carpools-app-view .cliente-main { padding-top: 0; }
.carpool-hub { color: #222; }
.carpool-hub-header { min-height: 92px; padding: calc(18px + env(safe-area-inset-top)) 16px 16px; display: flex; align-items: center; gap: 12px; background: #fff; border-radius: 0 0 24px 24px; }
.carpool-hub-header__back { width: 40px; height: 40px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f5f5f5; color: #252525; text-decoration: none; }
.carpool-hub-header__title { min-width: 0; flex: 1; }
.carpool-hub-header__title span { display: block; color: #e31b46; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.carpool-hub-header__title h1 { margin: 2px 0 0; font-size: 23px; font-weight: 800; line-height: 1.1; }
.carpool-hub-header__profile,.carpool-hub-header__vehicles { width: 40px; height: 40px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #f5f5f5; color: #252325; font-size: 18px; text-decoration: none; }
.carpool-hub-header__vehicles[hidden] { display: none !important; }
.carpool-hub-content { max-width: 680px; margin: 0 auto; padding: 14px 16px 0; }
.carpool-hub-intro { margin: 0 2px 18px; }
.carpool-hub-intro p { margin: 0; color: #737373; font-size: 14px; line-height: 1.5; }
.carpool-hub-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 5px; border-radius: 12px; background: #ececed; }
.carpool-hub-tab { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 8px; background: transparent; color: #6d696b; cursor: pointer; font: 800 13px inherit; transition: background .18s ease, color .18s ease, box-shadow .18s ease, transform .18s ease; }
.carpool-hub-tab:hover { color: #282526; }
.carpool-hub-tab:active { transform: scale(.98); }
.carpool-hub-tab.is-active { background: #fff; box-shadow: 0 2px 7px rgba(30,30,30,.1); color: #e31b46; }
.carpool-hub-panels { position: relative; margin-top: 18px; overflow: hidden; }
.carpool-hub-panel { animation: carpool-hub-panel-in .22s ease both; }
.carpool-hub-panel.is-leaving { animation: carpool-hub-panel-out .16s ease both; }
.carpool-hub-card { min-height: 0; padding: 30px 24px; display: grid; grid-template-columns: 54px minmax(0, 1fr); column-gap: 15px; align-content: start; align-items: center; border: 1px solid #eceaec; border-radius: 18px; background: #fff; box-shadow: 0 7px 22px rgba(21,21,21,.05); }
.carpool-hub-card__icon { width: 54px; height: 54px; display: grid; place-items: center; border-radius: 16px; background: #f1f1f1; color: #5f5b5d; font-size: 22px; }
.carpool-hub-card h2 { margin: 0; color: #262324; font-size: 22px; font-weight: 800; line-height: 1.2; }
.carpool-hub-card p { grid-column: 1 / -1; max-width: 450px; margin: 22px 0 24px; color: #737073; font-size: 14px; line-height: 1.55; }
.carpool-hub-card > .carpool-hub-primary-action, .carpool-hub-card > .carpool-hub-acknowledgement { grid-column: 1 / -1; }
.carpool-hub-primary-action { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 17px; border: 0; border-radius: 9px; background: #e31b46; color: #fff; cursor: pointer; font: 800 13px inherit; text-decoration: none; transition: background .18s ease, transform .18s ease, box-shadow .18s ease; }
.carpool-hub-primary-action:hover { background: #cc143d; color: #fff; box-shadow: 0 9px 18px rgba(227,27,70,.2); transform: translateY(-1px); }
.carpool-hub-card--search > .carpool-hub-primary-action { justify-self: center; }
.carpool-hub-card--search { min-height: 0; padding: 22px 24px; }
.carpool-hub-card--offer .carpool-hub-card__icon { background: #f1f1f1; color: #5f5b5d; }
.carpool-hub-messages { margin-top:20px; padding:17px; border:1px solid #eceaec; border-radius:18px; background:#fff; box-shadow:0 6px 18px rgba(21,21,21,.04); }.carpool-hub-messages__head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:13px; }.carpool-hub-messages__head h2 { margin:0; color:#2c292b; font-size:17px; font-weight:800; }.carpool-hub-messages__head p { margin:4px 0 0; color:#777174; font-size:11px; line-height:1.35; }.carpool-hub-messages__head>span,.carpool-hub-message-card em { min-width:24px; height:24px; display:grid; flex:0 0 auto; place-items:center; border-radius:50%; background:#fff0f3; color:#c71742; font-size:11px; font-style:normal; font-weight:800; }.carpool-hub-messages__list { border-top:1px solid #f0eef0; }.carpool-hub-message-card { display:grid; grid-template-columns:minmax(0,1fr) auto 12px; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid #f0eef0; color:inherit; text-decoration:none; }.carpool-hub-message-card:last-child { padding-bottom:1px; border-bottom:0; }.carpool-hub-message-card>div { min-width:0; display:grid; gap:4px; }.carpool-hub-message-card strong { overflow:hidden; color:#3c3739; font-size:13px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }.carpool-hub-message-card span { overflow:hidden; color:#777174; font-size:10px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }.carpool-hub-message-card span i { margin:0 4px; color:#d5224c; font-size:9px; }.carpool-hub-message-card span b { margin:0 3px; color:#aaa3a6; }.carpool-hub-message-card>i { color:#aaa3a6; font-size:10px; }.carpool-hub-message-card:hover strong { color:#e31b46; }
.carpool-hub-passengers { margin-top: 20px; padding: 17px; border: 1px solid #eceaec; border-radius: 18px; background: #fff; box-shadow: 0 6px 18px rgba(21,21,21,.04); }
.carpool-hub-passengers__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.carpool-hub-passengers__head h2 { margin: 0; color: #2c292b; font-size: 17px; font-weight: 800; }
.carpool-hub-passengers__head p { margin: 4px 0 0; color: #777174; font-size: 11px; line-height: 1.35; }
.carpool-hub-passengers__head > span,.carpool-hub-passenger-offer summary > b { min-width: 24px; height: 24px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 50%; background: #fff0f3; color: #c71742; font-size: 11px; font-weight: 800; }
.carpool-hub-passengers__list { display: grid; gap: 9px; }
.carpool-hub-passenger-offer { overflow: hidden; border: 1px solid #eee7e9; border-radius: 13px; background: #fffdfe; }
.carpool-hub-passenger-offer summary { display: grid; grid-template-columns: 33px minmax(0,1fr) auto 16px; align-items: center; gap: 9px; padding: 12px; cursor: pointer; list-style: none; }
.carpool-hub-passenger-offer summary::-webkit-details-marker { display: none; }
.carpool-hub-passenger-offer__icon { width: 33px; height: 33px; display: grid; place-items: center; border-radius: 10px; background: #fff0f3; color: #d5224c; font-size: 13px; }
.carpool-hub-passenger-offer summary > span:not(.carpool-hub-passenger-offer__icon) { min-width: 0; display: grid; gap: 3px; }
.carpool-hub-passenger-offer summary strong,.carpool-hub-passenger-offer summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.carpool-hub-passenger-offer summary strong { color: #3c3739; font-size: 12px; font-weight: 800; }
.carpool-hub-passenger-offer summary small { color: #777174; font-size: 10px; font-weight: 700; }
.carpool-hub-passenger-offer summary small i { margin-right: 5px; color: #d5224c; font-size: 9px; }
.carpool-hub-passenger-offer summary > i { color: #a0989b; font-size: 11px; transition: transform .18s ease; }
.carpool-hub-passenger-offer[open] summary > i { transform: rotate(180deg); }
.carpool-hub-passenger-offer__details { display: grid; gap: 8px; padding: 0 12px 12px; border-top: 1px solid #f2ebed; }
.carpool-hub-passenger { display: grid; gap: 10px; padding-top: 11px; }
.carpool-hub-passenger > div:first-child { min-width: 0; display: grid; gap: 3px; }
.carpool-hub-passenger strong { overflow: hidden; color: #403b3d; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.carpool-hub-passenger span { color: #777174; font-size: 10px; font-weight: 700; }
.carpool-hub-passenger span i { width: 15px; color: #d5224c; }
.carpool-hub-passenger.is-confirmed span i { color: #27824d; }
.carpool-hub-passenger__actions { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; gap: 7px; }
.carpool-hub-passenger__actions form,.vai-mais-carpools .carpool-hub-passenger__actions form + form { min-width: 0; margin: 0; padding: 0; border: 0; }
.carpool-hub-decision-slide { user-select: none; touch-action: pan-y; }
.carpool-hub-decision-slide > div { position: relative; height: 35px; overflow: hidden; border: 1px solid #efc9d4; border-radius: 8px; background: #fff7f9; }
.carpool-hub-decision-slide > div > span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 0 9px 0 30px; color: #b8143a; font-size: 9px; font-weight: 800; text-align: center; pointer-events: none; }
.carpool-hub-decision-slide.is-accept > div > span { padding: 0 35px 0 8px; }
.carpool-hub-decision-slide > div > button { position: absolute; top: 3px; left: 3px; width: 27px; height: 27px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 6px; background: #e31b46; color: #fff; cursor: grab; font-size: 10px; }
.carpool-hub-decision-slide.is-accept > div > button { right: auto; left: calc(100% - 30px); transform: rotate(180deg); }
.carpool-hub-decision-slide.is-reject > div { border-color: #e2dfe1; background: #fff; }.carpool-hub-decision-slide.is-reject > div > span { color: #716b6d; }.carpool-hub-decision-slide.is-reject > div > button { background: #746e71; }
.carpool-hub-recent-searches { margin-top: 20px; padding: 18px; border: 1px solid #eceaec; border-radius: 18px; background: #fff; box-shadow: 0 6px 18px rgba(21,21,21,.04); }
.carpool-hub-recent-searches .carpool-recent-searches__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.carpool-hub-recent-searches .carpool-recent-searches__head span { display: block; color: #e31b46; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.carpool-hub-recent-searches .carpool-recent-searches__head h2 { margin: 3px 0 0; color: #2c292b; font-size: 17px; font-weight: 800; }
.carpool-hub-recent-searches .carpool-recent-searches__head > i { color: #e31b46; font-size: 18px; }
.carpool-hub-recent-searches .carpool-recent-searches__list { border-top: 1px solid #f0eef0; }
.carpool-hub-recent-searches .carpool-recent-search { position: relative; display: block; padding: 13px 28px 13px 0; border-bottom: 1px solid #f0eef0; color: inherit; text-decoration: none; }
.carpool-hub-recent-searches .carpool-recent-search:last-child { border-bottom: 0; padding-bottom: 1px; }
.carpool-hub-recent-searches .carpool-recent-search__route { display: flex; min-width: 0; align-items: center; gap: 7px; }
.carpool-hub-recent-searches .carpool-recent-search__route strong { overflow: hidden; color: #383436; font-size: 13px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.carpool-hub-recent-searches .carpool-recent-search__route i { flex: 0 0 auto; color: #e31b46; font-size: 10px; }
.carpool-hub-recent-searches .carpool-recent-search__details { display: block; margin-top: 5px; color: #7a7578; font-size: 11px; font-weight: 600; }
.carpool-hub-recent-searches .carpool-recent-search__next { position: absolute; top: 50%; right: 2px; color: #9b9497; font-size: 12px; transform: translateY(-50%); }
.carpool-hub-recent-searches .carpool-recent-search:hover .carpool-recent-search__route strong { color: #e31b46; }
.carpool-hub-acknowledgement { width: 100%; margin-top: 20px; padding: 17px; border: 1px solid #e7e5e6; border-radius: 12px; background: #f8f8f8; }
.carpool-hub-acknowledgement strong { display: block; color: #403d3e; font-size: 13px; }
.carpool-hub-acknowledgement p { margin: 9px 0 0; color: #6f6a6c; font-size: 12px; line-height: 1.5; }
.carpool-hub-acknowledgement p strong { display: inline; color: inherit; font-size: inherit; }
.carpool-hub-acknowledgement form { display: flex; justify-content: center; margin-top: 18px; }
.carpool-hub-photo-required .carpool-hub-primary-action { display: flex; width: fit-content; margin: 20px auto 0; }
@keyframes carpool-hub-panel-in { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: translateX(0); } }
@keyframes carpool-hub-panel-out { from { opacity: 1; transform: translateX(0); } to { opacity: 0; transform: translateX(-10px); } }
@media (max-width: 440px) { .carpool-hub-card { min-height: 0; padding: 25px 19px; } }
@media (max-width: 380px) { .carpool-hub-header__profile,.carpool-hub-header__vehicles { width: 38px; height: 38px; font-size: 16px; } }
