.tgro-card {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(20, 20, 20, .06);
    padding: 24px;
}

/* Les fiches de course restent volontairement plus étroites que le tableau de
   bord chauffeur : elles sont plus lisibles et ne débordent pas du modèle. */
.tgro-ride-workspace {
    box-sizing: border-box;
    margin: 0 auto 28px;
    max-width: 920px;
    position: relative;
    width: 100%;
    z-index: 1;
}
.tgro-ride-workspace > .tgro-passenger-nav { margin-bottom: 18px; }
.tgro-ride-workspace > .tgro-card { width: 100%; }
@media (min-width:901px) {
    .tgro-ride-workspace { transition:transform .18s ease; }
    .tgro-ride-workspace > .tgro-passenger-nav {
        border-radius:18px;
        box-shadow:0 12px 32px rgba(16,42,58,.14);
        min-height:96px;
        padding:14px 18px 14px 24px;
    }
    .tgro-ride-workspace > .tgro-passenger-nav nav { align-items:stretch; gap:8px; }
    .tgro-ride-workspace > .tgro-passenger-nav nav a {
        align-items:center;
        display:flex;
        flex-direction:column;
        font-size:.78rem;
        gap:5px;
        justify-content:center;
        line-height:1.05;
        min-height:70px;
        min-width:76px;
        padding:8px 10px;
        transition:background .2s ease,color .2s ease,transform .2s ease;
    }
    .tgro-ride-workspace > .tgro-passenger-nav nav a:hover { background:rgba(255,255,255,.1); transform:translateY(-1px); }
    .tgro-ride-workspace > .tgro-passenger-nav nav a.is-active { background:#ff7a00; box-shadow:0 7px 18px rgba(255,122,0,.26); }
    .tgro-ride-workspace > .tgro-passenger-nav nav a.is-active .tgro-nav-icon { color:#fff; }
    .tgro-ride-workspace > .tgro-passenger-nav .tgro-nav-icon { height:28px; width:28px; }
}

.tgro-form,
.tgro-offer-list {
    display: grid;
    gap: 16px;
}

.tgro-form label {
    display: grid;
    font-weight: 600;
    gap: 7px;
}

.tgro-form input,
.tgro-form textarea {
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    padding: 11px 12px;
}

.tgro-form button,
.tgro-offer button {
    background: #f27b05;
    border: 0;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 12px 16px;
}

.tgro-offer {
    border: 1px solid #ececec;
    border-radius: 10px;
    padding: 16px;
}

.tgro-offer:focus { border-color: #f27b05; box-shadow: 0 0 0 3px rgba(242,123,5,.14); outline: 0; }
.tgro-offer-position { color: #687681; display: block; font-weight: 700; margin-bottom: 8px; }
.tgro-offer-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
.tgro-offer-actions button { margin: 0; }
.tgro-passenger-return { display: flex; margin-top: 16px; }
.tgro-passenger-return a { background: #173246; border-radius: 8px; color: #fff !important; display: inline-block; font-weight: 700; padding: 11px 16px; text-decoration: none; }

.tgro-feedback {
    color: #247a3e;
    margin-bottom: 12px;
}

.tgro-feedback--error {
    color: #b42318;
}

.tgro-request-summary { background: #f8fafb; border: 1px solid #e0e6ea; border-radius: 14px; margin: 14px 0 22px; overflow: hidden; }
.tgro-request-summary__label { background: #172b3a; color: #fff; font-size: .82em; font-weight: 800; letter-spacing: .08em; padding: 10px 16px; text-transform: uppercase; }
.tgro-request-summary .tgro-route { border: 0; border-radius: 0; margin: 0; }
.tgro-request-summary__facts { border-top: 1px solid #e3e8ec; display: grid; gap: 1px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tgro-request-summary__facts > div { background: #fff; display: grid; gap: 4px; padding: 15px 18px; }
.tgro-request-summary__facts small, .tgro-request-summary__note small { color: #667681; font-size: .92rem; line-height: 1.3; }
.tgro-request-summary__facts strong { color: #172b3a; font-size: 1.05rem; line-height: 1.35; }
.tgro-request-summary__note { background: #fff7ef; border-top: 1px solid #f6d7b8; padding: 15px 18px; }
.tgro-request-summary__note p { color: #172b3a; margin: 5px 0 0; }
.tgro-offer-waiting { align-items: center; background: #edf8f0; border: 1px solid #b9dfc4; border-radius: 12px; display: flex; gap: 13px; margin: 18px 0 12px; padding: 16px 18px; }
.tgro-offer-waiting > span { align-items: center; background: #258b47; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 30px; font-weight: 800; height: 30px; justify-content: center; }
.tgro-offer-waiting div { display: grid; gap: 3px; }
.tgro-offer-waiting strong { color: #176b35; }
.tgro-offer-waiting small { color: #51665a; }
.tgro-offer-waiting-actions { display: flex; justify-content: flex-start; margin: -2px 0 14px; }
.tgro-offer-waiting-actions a { background: #173246; border-radius: 8px; color: #fff !important; display: inline-block; font-weight: 700; padding: 11px 16px; text-decoration: none; }
.tgro-offer-form-actions { align-items: stretch; display: grid; gap: 10px; grid-template-columns: 1fr 1fr; }
.tgro-offer-form-actions button { margin: 0; width: 100%; }
.tgro-offer-form-actions a { align-items: center; background: #173246; border-radius: 8px; color: #fff !important; display: flex; font-weight: 700; justify-content: center; padding: 12px 16px; text-align: center; text-decoration: none; }
.tgro-offer-reveal { border: 0; margin-top: 18px; }
.tgro-offer-reveal > summary { align-items: center; background: #f27b05; border-radius: 10px; color: #fff; cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; padding: 14px 18px; }
.tgro-offer-reveal > summary::-webkit-details-marker { display: none; }
.tgro-offer-reveal[open] > summary { border-radius: 10px 10px 0 0; }
.tgro-offer-reveal__content { border: 1px solid #f2d2b2; border-radius: 0 0 12px 12px; padding: 20px; }

.tgro-driver-summary {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    margin: 14px 0;
}

.tgro-driver-summary > div {
    background: #fff7ef;
    border-radius: 10px;
    display: grid;
    gap: 2px;
    padding: 10px 14px;
}
.tgro-driver-summary > .tgro-driver-summary__daily { background: #eaf8ef; border: 1px solid #b9e2c6; }
.tgro-driver-summary > .tgro-driver-summary__daily strong { color: #18763a; }

.tgro-driver-summary strong { color: #c55f00; font-size: 20px; line-height: 1.1; }
.tgro-driver-summary span { color: #555; font-size: .92rem; line-height: 1.25; }
.tgro-revenue-chart { background: #fff; border: 1px solid #dfe8ee; border-radius: 12px; margin: 14px 0; padding: 16px 18px 10px; }
.tgro-revenue-chart > div { align-items: baseline; display: flex; gap: 10px; justify-content: space-between; }
.tgro-revenue-chart h3 { margin: 0; }
.tgro-revenue-chart > div span { color: #687781; font-size: .86rem; }
.tgro-revenue-chart svg { display: block; height: auto; margin-top: 8px; overflow: visible; width: 100%; }
.tgro-chart-axis { stroke: #bcc9d0; stroke-width: 1.5; }
.tgro-chart-grid { stroke: #e8eef1; stroke-dasharray: 5 6; stroke-width: 1; }
.tgro-chart-line { fill: none; stroke: #f27b05; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.tgro-chart-point { fill: #18763a; stroke: #fff; stroke-width: 3; }
.tgro-chart-label { fill: #687781; font-size: 13px; }
.tgro-chart-value { fill: #173246; font-size: 12px; font-weight: 700; }
.tgro-driver-table { border-collapse: collapse; min-width: 850px; width: 100%; }
.tgro-driver-table th, .tgro-driver-table td { border-bottom: 1px solid #e8e8e8; padding: 12px; text-align: left; }
.tgro-export-button { background: #f27b05; border-radius: 8px; color: #fff; display: inline-block; font-weight: 700; padding: 11px 16px; text-decoration: none; }
.tgro-export-button--secondary { background: #172b3a; }
.tgro-driver-dashboard { box-sizing: border-box; margin: 0 auto; max-width: 1600px; padding: 0 18px 28px; width: 100%; }
.tgro-driver-welcome { align-items: center; background: linear-gradient(135deg,#172b3a,#24475d); border-radius: 16px; color: #fff; display: flex; gap: 18px; justify-content: space-between; margin: 0 0 16px; padding: 19px 22px; }
.tgro-driver-welcome span { color: #ffb362; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tgro-driver-welcome h2 { color: #fff; font-size: 1.65rem; line-height: 1.1; margin: 3px 0 0; }
.tgro-driver-welcome strong { align-items: center; background: rgba(255,255,255,.11); border-radius: 999px; display: inline-flex; font-size: .84rem; gap: 7px; padding: 8px 12px; white-space: nowrap; }
.tgro-driver-welcome i { background: #42d879; border-radius: 50%; height: 8px; width: 8px; }
.tgro-driver-view-heading { align-items: center; background: linear-gradient(135deg,#fff7ef,#fff); border: 1px solid #f2d2b2; border-radius: 16px; display: flex; gap: 16px; justify-content: space-between; margin: 0 0 14px; padding: 18px 20px; }
.tgro-driver-view-heading span { color: #c55f00; font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tgro-driver-view-heading h2 { color: #172b3a; font-size: 1.65rem; margin: 3px 0 4px; }
.tgro-driver-view-heading p { color: #5e6c75; margin: 0; }
.tgro-driver-view-heading > strong { background: #173246; border-radius: 999px; color: #fff; font-size: .82rem; padding: 7px 11px; white-space: nowrap; }
.tgro-requests-empty { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 330px; padding: 28px 18px; text-align: center; }
.tgro-requests-empty > svg { color: #f27b05; height: 82px; margin-bottom: 12px; stroke: currentColor; stroke-linecap: round; stroke-width: 2.5; width: 82px; }
.tgro-requests-empty h3 { color: #172b3a; font-size: 1.45rem; margin: 0 0 7px; }
.tgro-requests-empty p { color: #65737d; line-height: 1.5; margin: 0 auto 17px; max-width: 520px; }
.tgro-requests-empty button { background: #f27b05; border: 0; border-radius: 10px; color: #fff; cursor: pointer; font-weight: 800; min-height: 44px; padding: 10px 16px; }
.tgro-requests-empty small { align-items: center; color: #5c6d77; display: flex; font-weight: 700; gap: 7px; margin-top: 14px; }
.tgro-requests-empty small i { background: #36c86d; border-radius: 50%; height: 8px; width: 8px; }
.tgro-driver-tools { align-items: center; display: flex; flex-wrap: wrap; gap: 14px; margin: 18px 0; }
.tgro-active-rides { background: #eefaf1; border: 1px solid #91d7a1; border-radius: 14px; margin: 16px 0 20px; padding: 16px; }
.tgro-pending-rides { background: #fff8ec; border: 1px solid #efc77f; border-radius: 14px; margin: 16px 0 20px; padding: 16px; }
.tgro-pending-rides .tgro-active-rides__heading > span { background: #b76800; }
.tgro-active-ride--pending { border-color: #efc77f; }
.tgro-active-ride--pending .tgro-active-ride__status { color: #a55b00; }
.tgro-ride-waiting { background: #fff4df; border: 1px solid #efc77f; border-radius: 10px; display: grid; gap: 3px; margin: 10px 0; padding: 12px 14px; }
.tgro-ride-waiting strong { color: #935000; }
.tgro-decline-offer { display: grid; gap: 8px; width: 100%; }
.tgro-decline-offer__form { background: #fff7f5; border: 1px solid #efc6bf; border-radius: 10px; display: grid; gap: 9px; padding: 12px; }
.tgro-decline-offer__form[hidden] { display: none; }
.tgro-decline-offer__form label { display: grid; font-weight: 700; gap: 5px; }
.tgro-decline-offer__form select,.tgro-decline-offer__form input { border: 1px solid #ccd6dc; border-radius: 8px; min-height: 42px; padding: 8px 10px; width: 100%; }
.tgro-declined-reason { color: #8a3028; display: block; font-weight: 700; width: 100%; }
.tgro-alert--declined { background: #fff2ef; border-color: #e6a9a0; }
.tgro-active-rides__heading { align-items: start; display: flex; gap: 16px; justify-content: space-between; }
.tgro-active-rides__heading h3,.tgro-active-rides__heading p { margin: 0 0 4px; }
.tgro-active-rides__heading > span { background: #176b35; border-radius: 999px; color: #fff; font-weight: 700; padding: 6px 10px; white-space: nowrap; }
.tgro-active-rides__grid { display: grid; gap: 11px; grid-template-columns: repeat(auto-fit,minmax(260px,1fr)); margin-top: 12px; }
.tgro-active-ride { background: #fff; border: 1px solid #b9dfc4; border-radius: 11px; display: grid; gap: 6px; padding: 13px; }
.tgro-active-ride__status { color: #176b35; font-size: .85rem; font-weight: 800; }
.tgro-active-ride small { color: #5d6770; }
.tgro-active-ride > div { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-top: 3px; }
.tgro-active-ride a { background: #f27b05; border-radius: 7px; color: #fff !important; font-weight: 700; padding: 8px 11px; text-decoration: none; }
.tgro-driver-period { align-items: end; background: #f7fafc; border: 1px solid #dce5eb; border-radius: 12px; display: flex; flex-wrap: wrap; gap: 12px; padding: 14px; }
.tgro-driver-period strong { align-self: center; margin-right: 6px; }
.tgro-driver-period label { display: grid; gap: 4px; }
.tgro-driver-period input { border: 1px solid #ccd6dc; border-radius: 7px; min-height: 38px; padding: 6px 9px; }
.tgro-driver-period button,.tgro-driver-period a { background: #173246; border: 0; border-radius: 8px; color: #fff !important; cursor: pointer; font-weight: 700; padding: 10px 15px; text-decoration: none; }
.tgro-invoice-download { background: #f27b05; border-radius: 7px; color: #fff !important; display: inline-block; font-size: .86em; font-weight: 700; padding: 7px 10px; text-decoration: none; white-space: nowrap; }
.tgro-invoice-waiting { background: #f1f3f5; border-radius: 7px; color: #65727b; display: inline-block; font-size: .82em; font-weight: 700; padding: 7px 9px; white-space: nowrap; }
.tgro-auth-card { background: #fff; border: 1px solid #e2e7ea; border-radius: 16px; box-shadow: 0 12px 35px rgba(23,43,58,.12); margin: 20px auto; max-width: 680px; overflow: hidden; }
.tgro-auth-hero { background: linear-gradient(135deg,#172b3a,#23445a); color: #fff; padding: 28px 30px; }
.tgro-auth-hero h2 { color: #fff; font-size: clamp(1.65rem,4vw,2.25rem); line-height: 1.12; margin: 6px 0 10px; }.tgro-auth-hero p { color: #dce5ea; line-height: 1.5; margin: 0; max-width: 610px; }
.tgro-auth-benefits { display: flex; flex-wrap: wrap; gap: 7px 16px; margin-top: 17px; }.tgro-auth-benefits span { color: #fff; font-size: .86rem; font-weight: 700; }
.tgro-auth-form { box-sizing: border-box; color: #172b3a; display: grid; gap: 12px; max-width: 100%; min-width: 0; overflow: hidden; padding: 22px 30px 26px; width: 100%; }.tgro-auth-form * { box-sizing: border-box; }.tgro-auth-form__heading { border-bottom: 1px solid #e8ecef; display: grid; gap: 1px; margin-bottom: 2px; min-width: 0; padding-bottom: 12px; }.tgro-auth-form__heading strong { font-size: 1.2rem; }.tgro-auth-form__heading small { color: #697983; }.tgro-auth-form label { display: grid; font-size: .95rem; font-weight: 700; gap: 5px; max-width: 100%; min-width: 0; }.tgro-auth-form input { border: 1px solid #d6dce1; border-radius: 9px; display: block; max-width: 100%; min-height: 44px; min-width: 0; padding: 9px 11px; width: 100%; }.tgro-auth-form input[type="checkbox"] { border-radius: 3px; flex: 0 0 auto; min-height: 0; padding: 0; width: auto; }.tgro-auth-form button { background: #f27b05; border: 0; border-radius: 9px; color: #fff; font-weight: 800; max-width: 100%; min-height: 46px; padding: 11px 14px; width: 100%; }.tgro-auth-form .tgro-request-form__grid { max-width: 100%; min-width: 0; }.tgro-auth-form .tgro-request-consent span { min-width: 0; overflow-wrap: anywhere; }.tgro-hp { height: 0 !important; left: -10000px !important; opacity: 0 !important; position: absolute !important; width: 0 !important; }
.tgro-vehicles { margin: 0 auto; max-width: 1000px; }.tgro-vehicles > h2 { font-size: 1.7rem; margin: 22px 0 5px; }.tgro-vehicles > p { font-size: 1rem; line-height: 1.45; margin: 0 0 18px; }.tgro-vehicle-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); margin: 20px 0; }.tgro-vehicle-item { background: #fff; border: 1px solid #e2e7ea; border-radius: 12px; overflow: hidden; padding: 14px; }.tgro-vehicle-item img { aspect-ratio: 16/9; background: #f7f7f7; object-fit: contain; width: 100%; }.tgro-vehicle-item h3 { font-size: 1.2rem; margin: 12px 0 4px; }.tgro-vehicle-item p { font-size: .95rem; margin: 0 0 8px; }.tgro-vehicle-item span { background: #edf8f0; border-radius: 999px; color: #176b35; display: inline-block; font-size: .88rem; padding: 4px 8px; }.tgro-vehicle-item a { color: #b42318; display: block; margin-top: 12px; }
.tgro-vehicle-add { margin-top: 22px; }.tgro-vehicle-add summary { align-items: center; background: #f27b05; border-radius: 10px; color: #fff; cursor: pointer; display: flex; font-size: 1.05rem; font-weight: 800; gap: 8px; justify-content: center; list-style: none; max-width: 280px; padding: 13px 20px; }.tgro-vehicle-add summary::-webkit-details-marker { display: none; }.tgro-vehicle-add[open] summary { background: #172f3f; margin-bottom: 16px; }.tgro-vehicle-add[open] summary span { transform: rotate(45deg); }.tgro-vehicle-add summary span { font-size: 1.35em; line-height: 1; transition: transform .2s ease; }.tgro-vehicle-form { scroll-margin-top: 20px; }.tgro-vehicle-limit { background: #edf8f0; border: 1px solid #c9e8d2; border-radius: 10px; color: #176b35; font-weight: 700; margin-top: 20px; padding: 14px; }
.tgro-vehicle-validation-info { background: #fff7ed; border: 1px solid #f6c78f; border-left: 5px solid #f27b05; border-radius: 12px; display: grid; gap: 4px; margin: 16px 0 20px; padding: 15px 17px; }.tgro-vehicle-validation-info strong { color: #a84e00; }.tgro-vehicle-validation-info span { color: #485761; line-height: 1.45; }.tgro-vehicle-item span.is-pending { background: #fff3df; color: #9a4b00; }.tgro-vehicle-item span.is-verified { background: #edf8f0; color: #176b35; }
.tgro-driver-vehicle-onboarding { align-items: center; background: #fff7ed; border: 1px solid #f6c78f; border-left: 5px solid #f27b05; border-radius: 14px; display: grid; gap: 5px; margin: 16px 0; padding: 16px 18px; }.tgro-driver-vehicle-onboarding strong { color: #a84e00; font-size: 1.05rem; }.tgro-driver-vehicle-onboarding span { color: #485761; line-height: 1.45; }.tgro-driver-vehicle-onboarding a { background: #f27b05; border-radius: 8px; color: #fff !important; font-weight: 800; justify-self: start; margin-top: 5px; padding: 10px 14px; text-decoration: none; }
.tgro-vehicle-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px 12px; margin-top: 12px; }.tgro-vehicle-actions form { margin: 0; }.tgro-vehicle-actions button,.tgro-vehicle-edit summary { background: none; border: 0; cursor: pointer; font: inherit; padding: 0; }.tgro-vehicle-edit summary { color: #172f3f; font-weight: 700; list-style: none; }.tgro-vehicle-edit summary::-webkit-details-marker { display: none; }.tgro-vehicle-edit[open] { flex-basis: 100%; order: 4; }.tgro-vehicle-edit[open] summary { margin-bottom: 10px; }.tgro-vehicle-edit form { background: #f8fafb; border-radius: 10px; display: grid; gap: 9px; padding: 12px; }.tgro-vehicle-edit label { display: grid; font-size: .86rem; font-weight: 700; gap: 3px; }.tgro-vehicle-edit input,.tgro-vehicle-edit select { border: 1px solid #d7dce1; border-radius: 7px; max-width: 100%; padding: 8px; }.tgro-vehicle-edit form>button { background: #f27b05; border-radius: 7px; color: #fff; font-weight: 700; padding: 9px; }.tgro-vehicle-action-link { color: #176b35; font-weight: 700 !important; }.tgro-vehicle-delete { color: #b42318; }.tgro-manual-vehicle { display: grid; gap: 12px; }.tgro-manual-vehicle[hidden],.tgro-saved-vehicle-note[hidden] { display: none !important; }.tgro-saved-vehicle-note { background: #edf8f0; border: 1px solid #c9e8d2; border-radius: 8px; color: #176b35; font-size: .88rem; font-weight: 700; padding: 10px 12px; }
.tgro-share { background: #eef6ff; border: 1px solid #bfd9f0; border-radius: 12px; display: grid; gap: 10px; margin: 14px 0 20px; padding: 15px; }.tgro-share > div { display: flex; flex-wrap: wrap; gap: 8px; }.tgro-share a,.tgro-share button { background: #172b3a; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 700; padding: 9px 12px; text-decoration: none; }.tgro-share a:first-child { background: #25d366; }.tgro-share small { color: #49606f; }
.tgro-offer-period { align-items: center; background: #eefaf1; border: 1px solid #91d7a1; border-radius: 12px; display: grid; gap: 12px; grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto; margin: 14px 0; padding: 13px 15px; }.tgro-offer-period > div { display: grid; gap: 2px; }.tgro-offer-period small { color: #5d6770; }.tgro-offer-period span { background: #176b35; border-radius: 999px; color: #fff; font-weight: 800; padding: 7px 11px; white-space: nowrap; }.tgro-offer-period--closed { background: #fff3df; border-color: #f2c57c; }.tgro-offer-period--closed span { background: #9a4b00; }
.tgro-tip { background: #fff7ef; border: 1px solid #f6d7b8; border-radius: 12px; margin: 18px 0; padding: 18px; }.tgro-tip__choices { align-items: end; display: flex; flex-wrap: wrap; gap: 9px; }.tgro-tip__choices form { margin: 0; }.tgro-tip button { background: #f27b05; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 700; padding: 10px 14px; }.tgro-tip__custom { align-items: end; display: flex; gap: 7px; }.tgro-tip__custom label { display: grid; gap: 4px; }.tgro-tip__custom input { border: 1px solid #d8d8d8; border-radius: 8px; max-width: 130px; padding: 9px; }
.tgro-tip--received { background: #eefaf1; border-color: #91d7a1; }
.tgro-driver-next-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.tgro-driver-next-actions a { border-radius: 8px; display: inline-flex; font-weight: 700; justify-content: center; padding: 11px 16px; text-decoration: none; }
.tgro-driver-next-actions__primary { background: #f27b05; color: #fff !important; }
.tgro-driver-next-actions__secondary { background: #173246; color: #fff !important; }
.tgro-available-requests { background: #f7fafc; border: 1px solid #dce5eb; border-radius: 14px; margin: 18px 0 24px; padding: 18px; scroll-margin-top: 24px; }
.tgro-available-requests__heading { align-items: start; display: flex; gap: 16px; justify-content: space-between; }
.tgro-available-requests__heading h3,.tgro-available-requests__heading p { margin: 0 0 5px; }
.tgro-available-requests__heading > span { background: #173246; border-radius: 999px; color: #fff; font-weight: 700; padding: 6px 10px; white-space: nowrap; }
.tgro-available-requests__grid { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit,minmax(220px,1fr)); margin: 12px auto 0; max-width: 1120px; }
.tgro-available-request { background: #fff; border: 1px solid #dce5eb; border-radius: 12px; padding: 11px 12px; text-align: center; }
.tgro-available-request__route { align-items: center; display: flex; flex-wrap: wrap; gap: 6px 9px; justify-content: center; }
.tgro-available-request__route span { color: #f27b05; font-weight: 800; }
.tgro-available-request p { color: #5d6770; margin: 7px 0; }
.tgro-available-request a { background: #f27b05; border-radius: 7px; color: #fff !important; display: inline-flex; font-size: .9rem; font-weight: 700; padding: 7px 10px; text-decoration: none; }
.tgro-invoice-pending { background: #fff3df; border-radius: 999px; color: #9b5700; display: inline-block; font-size: .86em; font-weight: 700; padding: 5px 9px; white-space: nowrap; }
.tgro-passenger-dashboard { box-sizing: border-box; margin: 0 auto; max-width: 1180px; padding: 0 18px 28px; width: 100%; }
.tgro-passenger-nav { align-items: center; background: #172b3a; border-radius: 14px; display: flex; flex-wrap: wrap; gap: 18px; justify-content: space-between; margin-bottom: 26px; padding: 14px 18px; }
.tgro-mobile-topbar { display: none; }
.tgro-passenger-nav__brand { color: #fff; font-size: 1.35em; font-weight: 800; text-decoration: none; }
.tgro-passenger-nav__brand::first-letter { color: #f27b05; }
.tgro-passenger-nav nav { display: flex; flex-wrap: wrap; gap: 7px; }
.tgro-passenger-nav nav a { border-radius: 8px; color: #fff; font-weight: 700; padding: 9px 11px; text-decoration: none; }
.tgro-passenger-nav nav a:hover,
.tgro-passenger-nav nav a.is-active { background: #f27b05; color: #fff; }
.tgro-account-profile { background: #f7fafc; border: 1px solid #dce5eb; border-radius: 12px; margin-top: 24px; overflow: hidden; scroll-margin-top: 18px; }
.tgro-account-profile summary { align-items: center; cursor: pointer; display: flex; font-weight: 800; justify-content: space-between; list-style: none; padding: 15px 18px; }
.tgro-account-profile summary::-webkit-details-marker { display: none; }
.tgro-account-profile summary small { color: #667681; font-weight: 500; }
.tgro-account-profile form { border-top: 1px solid #dce5eb; display: grid; gap: 12px; padding: 18px; }
.tgro-account-profile label { display: grid; font-weight: 700; gap: 5px; }
.tgro-account-profile input { border: 1px solid #ccd6dc; border-radius: 8px; min-height: 42px; padding: 9px 11px; width: 100%; }
.tgro-account-profile button { background: #f27b05; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 800; justify-self: start; padding: 11px 16px; }
.tgro-passenger-summary { display: grid; gap: 8px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 12px auto 20px; max-width: 980px; }
.tgro-passenger-summary > div { background: #fff7ef; border: 1px solid #f6d7b8; border-radius: 8px; display: grid; gap: 1px; padding: 7px 10px; }
.tgro-passenger-summary strong { color: #f27b05; font-size: 1.15em; line-height: 1.05; }
.tgro-passenger-summary span { color: #555; font-size: .8rem; line-height: 1.15; }
.tgro-passenger-heading { align-items: center; display: flex; gap: 18px; justify-content: space-between; margin: 4px 0 10px; }
.tgro-passenger-heading h2 { color: #172b3a; margin: 0; }
.tgro-passenger-heading p { color: #687781; margin: 3px 0 0; }
.tgro-passenger-heading > a,.tgro-dashboard-empty-state a { background: #f27b05; border-radius: 9px; color: #fff !important; display: inline-flex; font-weight: 800; padding: 10px 14px; text-decoration: none !important; }
.tgro-dashboard-empty-state { align-items: center; background: linear-gradient(180deg,#f7fafc,#fff); border: 1px solid #dce5eb; border-radius: 14px; display: grid; gap: 8px; justify-items: center; margin: 22px 0; padding: 34px 20px; text-align: center; }
.tgro-dashboard-empty-state strong { color: #172b3a; font-size: 1.25rem; }
.tgro-dashboard-empty-state span { color: #687781; max-width: 540px; }
.tgro-dashboard-section { border-top: 1px solid #ececec; margin-top: 28px; padding-top: 22px; }
.tgro-dashboard-section { border-left: 4px solid #d8dde1; border-radius: 8px; padding-left: 14px; }
.tgro-dashboard-section--offers { border-left-color: #8b5cf6; }
.tgro-dashboard-section--accepted { border-left-color: #22a447; }
.tgro-dashboard-section--active { border-left-color: #2584c6; }
.tgro-dashboard-section--requests { border-left-color: #f27b05; }
.tgro-dashboard-section--history { border-left-color: #87939b; }
.tgro-problem-form { background: #fff7ef; border: 1px solid #f6d7b8; border-radius: 10px; display: grid; gap: 10px; margin-top: 14px; padding: 14px; }
.tgro-problem-form[hidden] { display: none !important; }
.tgro-problem-form label { display: grid; gap: 7px; }
.tgro-problem-form textarea { border: 1px solid #d7dce1; border-radius: 8px; padding: 10px; resize: vertical; width: 100%; }
.tgro-problem-form > div { display: flex; flex-wrap: wrap; gap: 9px; }
.tgro-problem-form button { background: #f27b05; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 700; padding: 10px 14px; }
.tgro-dashboard-grid { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.tgro-dashboard-card { background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; box-shadow: 0 7px 22px rgba(28, 34, 45, .06); padding: 18px; }
.tgro-dashboard-card--new-offer { animation: tgroOfferGlow 1.8s ease-in-out infinite alternate; background: linear-gradient(135deg,#fff9f1,#fff); border: 2px solid #f27b05; box-shadow: 0 10px 28px rgba(242,123,5,.2); position: relative; }
.tgro-dashboard-card--new-offer::before { background: #f27b05; border-radius: 999px; color: #fff; content: "Nouvelle offre"; font-size: .72rem; font-weight: 800; padding: 5px 9px; position: absolute; right: 12px; top: 10px; }
@keyframes tgroOfferGlow { from { box-shadow: 0 8px 20px rgba(242,123,5,.12); } to { box-shadow: 0 12px 34px rgba(242,123,5,.3); } }
.tgro-dashboard-card__route { align-items: center; display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.tgro-dashboard-card__route span { color: #f27b05; font-size: 1.3em; }
.tgro-dashboard-card__meta { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; margin-top: 14px; }
.tgro-dashboard-status { background: #fff3df; border-radius: 999px; color: #9a4b00; font-size: .9em; font-weight: 700; padding: 5px 9px; }
.tgro-dashboard-card__link { background: #f27b05; border-radius: 8px; color: #fff; display: inline-block; font-weight: 700; margin-top: 10px; padding: 9px 13px; text-decoration: none; }
.tgro-dashboard-empty { background: #f7f7f7; border-radius: 9px; color: #666; padding: 14px; }
.tgro-request-intro { background: linear-gradient(135deg, #172b3a 0%, #233f52 68%, #f27b05 160%); border-radius: 16px; color: #fff; margin-bottom: 20px; padding: 28px; }
.tgro-request-page { box-sizing: border-box; margin-left: auto; margin-right: auto; max-width: 1100px; width: 100%; }
.tgro-request-eyebrow { color: #ffad59; display: block; font-size: .82em; font-weight: 800; letter-spacing: .12em; margin-bottom: 7px; text-transform: uppercase; }
.tgro-request-intro h2 { color: #fff; font-size: clamp(1.8rem, 4vw, 2.65rem); margin: 0 0 8px; }
.tgro-request-intro p { color: #e8eef2; font-size: 1.05em; margin: 0; max-width: 760px; }
.tgro-request-benefits { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 20px; }
.tgro-request-benefits span { color: #fff; font-size: .92em; font-weight: 700; }
.tgro-request-form { background: #f8fafb; border: 1px solid #e5e9ed; border-radius: 16px; box-shadow: 0 12px 38px rgba(28, 34, 45, .09); display: grid; gap: 18px; padding: 22px; }
.tgro-request-step { background: #fff; border: 1px solid #e8ebee; border-radius: 13px; display: grid; gap: 17px; padding: 20px; }
.tgro-request-step__heading { align-items: center; display: flex; gap: 12px; }
.tgro-request-step__heading > span { align-items: center; background: #f27b05; border-radius: 50%; color: #fff; display: inline-flex; flex: 0 0 34px; font-weight: 800; height: 34px; justify-content: center; }
.tgro-request-step__heading div { display: grid; gap: 2px; }
.tgro-request-step__heading strong { color: #172b3a; font-size: 1.12em; }
.tgro-request-step__heading small { color: #6d7780; }
.tgro-request-form__grid { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }
.tgro-request-form__grid--three { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tgro-request-form label { display: grid; font-weight: 700; gap: 7px; }
.tgro-request-form input[type="text"],
.tgro-request-form input[type="date"],
.tgro-request-form input[type="time"],
.tgro-request-form select,
.tgro-request-form textarea { border: 1px solid #d7dce1; border-radius: 9px; font: inherit; padding: 12px; width: 100%; }
.tgro-request-form textarea { resize: vertical; }
.tgro-premium-field { align-items: center; border: 1px solid #d7dce1; border-radius: 9px; display: flex; padding-left: 12px; }
.tgro-premium-field:focus-within { border-color: #f27b05; box-shadow: 0 0 0 3px rgba(242, 123, 5, .12); }
.tgro-premium-field b { color: #f27b05; font-size: .78em; }
.tgro-premium-field input { border: 0 !important; box-shadow: none !important; }
.tgro-request-consent { align-items: start; display: flex !important; font-weight: 400 !important; gap: 10px !important; }
.tgro-request-consent input { margin-top: 4px; }
.tgro-request-form button { background: #f27b05; border: 0; border-radius: 9px; color: #fff; cursor: pointer; font-size: 1.05em; font-weight: 800; padding: 13px 18px; }
.tgro-request-submit { align-items: center; background: #172b3a; border-radius: 12px; display: grid; gap: 18px; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); padding: 16px; }
.tgro-request-submit > div { display: grid; gap: 2px; }
.tgro-request-submit strong { color: #fff; }
.tgro-request-submit small { color: #cfd9df; }
.tgro-request-submit button { grid-column: 2; min-width: 230px; }
@media (max-width: 700px) { .tgro-passenger-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .tgro-passenger-nav { align-items: stretch; flex-direction: column; } .tgro-passenger-nav nav { display: grid; grid-template-columns: 1fr 1fr; } }
@media (max-width: 800px) { .tgro-request-form__grid, .tgro-request-form__grid--three { grid-template-columns: 1fr; } .tgro-request-form { padding: 13px; } .tgro-request-step { padding: 16px; } .tgro-request-submit { align-items: stretch; grid-template-columns: 1fr; } .tgro-request-submit button { grid-column: 1; min-width: 0; width: 100%; } }
@media (max-width: 700px) { .tgro-request-summary__facts { grid-template-columns: 1fr; } .tgro-offer-reveal__content { padding: 14px; } }
@media (max-width: 800px) { .tgro-driver-summary { grid-template-columns: 1fr 1fr; }.tgro-driver-period { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; }.tgro-driver-period strong { grid-column: 1 / -1; }.tgro-driver-tools { gap: 10px; }.tgro-driver-tools a { flex: 1; text-align: center; } }
@media (max-width: 600px) { .tgro-card { border-radius: 10px; padding: 14px; }.tgro-passenger-nav nav { grid-template-columns: 1fr; }.tgro-passenger-summary { grid-template-columns: 1fr 1fr; }.tgro-request-intro { padding: 20px; }.tgro-request-benefits { display: grid; }.tgro-confirmation-actions { display: grid; }.tgro-confirmation-actions button,.tgro-progress-actions button { min-height: 48px; width: 100%; }.tgro-contact-actions a { flex: 1; text-align: center; }.tgro-auth-card { border-radius: 13px; margin: 8px; }.tgro-auth-hero { padding: 18px; }.tgro-auth-hero .tgro-request-eyebrow { font-size: .68rem; letter-spacing: .08em; }.tgro-auth-hero h2 { font-size: 1.65rem; line-height: 1.1; margin: 5px 0 8px; }.tgro-auth-hero p { font-size: .9rem; line-height: 1.4; }.tgro-auth-benefits { display: grid; gap: 4px; margin-top: 12px; }.tgro-auth-benefits span { font-size: .78rem; }.tgro-auth-form { gap: 10px; padding: 17px 18px 20px; }.tgro-auth-form .tgro-request-form__grid { gap: 9px; grid-template-columns: 1fr 1fr; }.tgro-auth-form label { font-size: .86rem; }.tgro-auth-form input { min-height: 42px; }.tgro-request-consent { font-size: .78rem !important; }.tgro-tip__custom { align-items: stretch; flex-direction: column; width: 100%; }.tgro-tip__custom input { max-width: none; width: 100%; }.tgro-driver-next-actions { display: grid; }.tgro-driver-next-actions a { min-height: 48px; width: 100%; }.tgro-available-requests { padding: 14px; }.tgro-available-requests__heading { display: grid; }.tgro-available-requests__heading > span { justify-self: start; }.tgro-available-requests__grid { grid-template-columns: 1fr; }.tgro-available-request__route { display: grid; grid-template-columns: 1fr; }.tgro-available-request__route span { transform: rotate(90deg); width: 18px; }.tgro-driver-summary,.tgro-driver-period { grid-template-columns: 1fr; }.tgro-driver-period strong { grid-column: 1; }.tgro-driver-tools { align-items: stretch; display: grid; }.tgro-driver-tools a { width: 100%; } }
@media (max-width: 600px) { .tgro-active-rides__heading { display: grid; }.tgro-active-rides__heading > span { justify-self: start; }.tgro-active-rides__grid { grid-template-columns: 1fr; }.tgro-active-ride > div { align-items: stretch; flex-direction: column; }.tgro-active-ride a { text-align: center; } }
@media (max-width: 600px) { .tgro-vehicles { padding: 0 14px 155px; }.tgro-vehicles > h2 { font-size: 1.45rem; margin-top: 18px; }.tgro-vehicles > p { font-size: .92rem; }.tgro-vehicle-grid { gap: 14px; margin-top: 14px; }.tgro-vehicle-item { padding: 12px; }.tgro-vehicle-item img { max-height: 210px; }.tgro-vehicle-item h3 { font-size: 1.12rem; }.tgro-vehicle-actions { font-size: .92rem; }.tgro-vehicle-add summary { max-width: none; width: 100%; } }
@media (max-width: 600px) { .tgro-offer-form-actions { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .tgro-passenger-return { display: grid; } .tgro-passenger-return a { text-align: center; width: 100%; } }
@media (max-width: 600px) { .tgro-available-request__route { text-align: center; }.tgro-available-request__route span { justify-self: center; } }
@media (max-width: 600px) { .tgro-offer-period { align-items: start; grid-template-columns: 1fr; }.tgro-offer-period span { justify-self: start; } }

.tgro-confirmation { border-top: 1px solid #ececec; margin-top: 20px; padding-top: 20px; }
.tgro-confirmation-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.tgro-confirmation-actions button { background: #f27b05; border: 0; border-radius: 8px; color: #fff; cursor: pointer; padding: 10px 14px; }
.tgro-confirmation-actions button:nth-last-child(-n+2) { background: #555; }
.tgro-waiting-confirmation { background: #eef6ff; border-left: 4px solid #5b9bd5; border-radius: 8px; color: #24577f; padding: 14px; }
.tgro-contact-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0; }
.tgro-contact-actions a { background: #f27b05; border-radius: 8px; color: #fff; display: inline-block; font-weight: 700; padding: 10px 16px; text-decoration: none; }
.tgro-contact-actions a:last-child { background: #25d366; }
.tgro-reveal-contact { background:#138a45 !important; border:2px solid #0d6d35 !important; border-radius:10px !important; box-shadow:0 5px 14px rgba(19,138,69,.24); color:#fff !important; cursor:pointer; font-weight:800 !important; min-height:44px; padding:10px 18px !important; text-decoration:none !important; }
.tgro-reveal-contact:hover,.tgro-reveal-contact:focus { background:#0d6d35 !important; outline:3px solid rgba(37,211,102,.25); }
.tgro-dashboard-section--history .tgro-dashboard-status { background:#eef1f3; color:#5c6670; }
.tgro-driver-card,
.tgro-progress {
    background: #fff7ef;
    border: 1px solid #f6d7b8;
    border-radius: 12px;
    margin-top: 18px;
    padding: 18px;
}
.tgro-driver-card p,
.tgro-progress p { margin: 7px 0; }
.tgro-progress__status { background: #fff; border-left: 5px solid #f27b05; border-radius: 8px; font-size: 1.05rem; padding: 12px 14px; }
.tgro-progress__status--en_route { background: #eef6ff; border-color: #3f8bc9; }
.tgro-progress__status--arrived { background: #edf8f0; border-color: #2f9b50; }
.tgro-progress__status--passenger_on_board { background: #f4f0ff; border-color: #7657bd; }
.tgro-status-banner { background: #173246; border: 2px solid #173246; border-left: 10px solid #f27b05; border-radius: 12px; box-shadow: 0 8px 22px rgba(23,50,70,.18); color: #fff; display: grid; gap: 4px; justify-items: center; margin: 16px 0; padding: 17px 20px; text-align: center; }
.tgro-status-banner strong { color: #fff; font-size: 1.28em; line-height: 1.25; }
.tgro-status-banner small { color: #dbe8ef; font-weight: 700; }
.tgro-status-banner--en_route { background: #075985; border-color: #075985; border-left-color: #38bdf8; }
.tgro-status-banner--arrived { background: #166534; border-color: #166534; border-left-color: #4ade80; }
.tgro-status-banner--passenger_on_board { background: #5b21b6; border-color: #5b21b6; border-left-color: #c4b5fd; }
.tgro-progress-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.tgro-progress-actions button {
    background: #f27b05;
    border: 0;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    font-weight: 700;
    padding: 10px 14px;
}
.tgro-progress-actions button:disabled { background: #aaa; cursor: not-allowed; opacity: .65; }
.tgro-rating-form {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    display: grid;
    gap: 14px;
    margin-top: 20px;
    padding: 18px;
}
.tgro-rating-form label { display: grid; font-weight: 600; gap: 6px; }
.tgro-rating-form select,
.tgro-rating-form textarea { border: 1px solid #d9d9d9; border-radius: 8px; padding: 10px; }
.tgro-rating-criteria { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.tgro-rating-form button { background: #f27b05; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 700; padding: 11px 15px; }
.tgro-rating-thanks { background: #edf8f0; border-radius: 10px; color: #247a3e; margin-top: 18px; padding: 14px; }
.tgro-offer-photo,
.tgro-vehicle-photo img { border-radius: 10px; display: block; height: auto; margin-bottom: 12px; max-height: 340px; object-fit: cover; width: 100%; }
.tgro-operations { border-top: 1px solid #ececec; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: 20px; padding-top: 20px; }
.tgro-operations form,
.tgro-inline-form { display: grid; gap: 9px; }
.tgro-operations label,
.tgro-inline-form label { display: grid; font-weight: 600; gap: 5px; }
.tgro-operations input,
.tgro-operations select,
.tgro-operations textarea,
.tgro-inline-form textarea { border: 1px solid #d9d9d9; border-radius: 8px; padding: 9px; }
.tgro-operations button,
.tgro-inline-form button { background: #f27b05; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 700; padding: 10px 14px; }
.tgro-button--danger { background: #5b5b5b !important; }
.tgro-alert { background: #fff3df; border-left: 4px solid #f27b05; border-radius: 7px; margin-top: 14px; padding: 12px; }
.tgro-alert--final { margin-top: 20px; }
.tgro-route { align-items: center; background: #fff7ef; border: 1px solid #f6d7b8; border-radius: 12px; display: grid; gap: 14px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto; margin: 16px 0; padding: 16px; }
.tgro-route__point { align-items: center; display: flex; gap: 10px; min-width: 0; }
.tgro-route__point div,
.tgro-route__time { display: grid; gap: 2px; }
.tgro-route__point small,
.tgro-route__time small { color: #666; }
.tgro-route__point strong { overflow-wrap: anywhere; }
.tgro-route__arrow { color: #f27b05; font-size: 26px; font-weight: 800; }
.tgro-route__time { border-left: 1px solid #f6d7b8; padding-left: 16px; }
@media (max-width: 700px) {
    .tgro-route { align-items: start; grid-template-columns: 1fr; }
    /* On stacked mobile routes, keep the arrow in the same reading column as
       the two addresses instead of centring it across the whole card. */
    .tgro-route__arrow { justify-self: start; margin: 0 0 0 32px; text-align: center; transform: rotate(90deg); width: 20px; }
    .tgro-route__time { border-left: 0; border-top: 1px solid #f6d7b8; padding-left: 0; padding-top: 12px; }
}
.tgro-ride-request .elementor-widget-lst_listing_user_v2,
.tgro-ride-request .elementor-widget-lst_listing_reviews,
.tgro-ride-request .elementor-widget-lst_listing_reviews_v2,
.tgro-ride-request .elementor-widget-lst_related_listings,
.tgro-ride-request .elementor-widget-lst_listing_related,
.tgro-ride-request .elementor-widget-lst_listing_user_listings {
    display: none !important;
}
/* Les demandes TaxiGustave utilisent leur propre fiche complète. Masquer les
   widgets natifs de l’annonce Listivo évite le double titre, le fil d’Ariane,
   le bouton de publication, les vues et les actions génériques. La règle est
   strictement limitée aux annonces reconnues comme demandes de trajet. */
.tgro-ride-request [class*="elementor-widget-lst_listing_"],
.tgro-ride-request [class*="elementor-widget-listivo_listing_"] {
    display: none !important;
}
.tgro-native-listing-header-hidden { display: none !important; }
.tgro-ride-request .tgro-listing-header { display: none !important; }
.tgro-support-whatsapp { align-items: center; background: #25d366; border-radius: 999px; bottom: 22px; box-shadow: 0 8px 24px rgba(0,0,0,.22); color: #fff !important; display: inline-flex; font-size: 14px; font-weight: 800; gap: 8px; padding: 12px 18px; position: fixed; right: 22px; text-decoration: none !important; z-index: 99999; }
.tgro-support-whatsapp:hover { background: #1fb85a; transform: translateY(-1px); }

@media (min-width: 701px) {
    .tgro-revenue-chart svg { height: 300px; }
}
.tgro-debt-payment__details { background: rgba(255,255,255,.65); border-radius: 9px; display: grid; gap: 4px; margin-top: 10px; padding: 12px; }.tgro-debt-payment__support { background: #25d366; border-radius: 7px; color: #fff !important; display: inline-block; font-weight: 800; margin-top: 10px; padding: 9px 13px; text-decoration: none !important; }
.tgro-stripe-payment,.tgro-card-payment { background: #f2f8ff; border: 1px solid #a9c9eb; border-radius: 12px; margin: 12px 0; padding: 14px; }.tgro-stripe-payment { display: grid; gap: 7px; }.tgro-stripe-payment button,.tgro-card-payment button { background: #635bff; color: #fff; font-weight: 800; }.tgro-card-payment h4 { margin-top: 0; }
@media (max-width: 600px) { .tgro-support-whatsapp { bottom: 14px; font-size: 12px; padding: 10px 14px; right: 14px; } }
.tgro-payment-choice{display:grid;gap:8px;margin:12px 0;padding:12px;border:1px solid #f0cda9;border-radius:10px;background:#fffaf5}.tgro-payment-choice legend{font-weight:700}.tgro-payment-choice label{display:flex;gap:8px;align-items:flex-start}.tgro-payment-choice small{color:#5f6f7b}
.tgro-route-estimate { background: #eef6ff; border: 1px solid #9bc5e8; border-radius: 12px; display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 14px 0; padding: 14px 16px; }
.tgro-route-estimate > div { display: grid; gap: 2px; justify-items: center; text-align: center; }
.tgro-route-estimate small { color: #486579; }
.tgro-route-estimate strong { color: #173246; font-size: 1.12rem; }
.tgro-route-estimate__price { align-content: center; background: #173246; border-radius: 9px; margin: -5px; padding: 8px 12px; }
.tgro-route-estimate__price small,.tgro-route-estimate__price strong,.tgro-route-estimate__price span { color: #fff; }
.tgro-route-estimate__price span { font-size: .78rem; }
@media (max-width: 600px) { .tgro-route-estimate { grid-template-columns: 1fr 1fr; }.tgro-route-estimate__price { grid-column: 1 / -1; } }

/* Interface mobile de type application. La navigation de bureau reste
   inchangée au-dessus de 700 px. */
@media (max-width: 700px) {
    html { scroll-padding-bottom: 92px; }
    .tgro-driver-dashboard,
    .tgro-passenger-dashboard,
    .tgro-ride-workspace,
    .tgro-vehicles {
        padding-bottom: calc(108px + env(safe-area-inset-bottom));
    }

    .tgro-passenger-nav {
        align-items: stretch;
        background: rgba(23, 43, 58, .98);
        border: 0;
        border-radius: 20px 20px 0 0;
        bottom: 0;
        box-shadow: 0 -10px 30px rgba(15, 35, 48, .2);
        display: block;
        left: 0;
        margin: 0;
        padding: 7px max(8px, env(safe-area-inset-left)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right));
        position: fixed;
        right: 0;
        width: auto;
        z-index: 9998;
    }
    .tgro-mobile-topbar {
        align-items: center;
        background: linear-gradient(135deg,#172b3a,#24475d);
        border-radius: 0 0 18px 18px;
        box-shadow: 0 8px 22px rgba(23,43,58,.14);
        display: flex;
        justify-content: space-between;
        margin: 0 -12px 16px;
        min-height: 58px;
        padding: 10px 16px;
    }
    .tgro-mobile-topbar > a { color: #fff !important; font-size: 1.25rem; font-weight: 800; letter-spacing: -.02em; text-decoration: none !important; }
    .tgro-mobile-topbar > a b { color: #f27b05; }
    .tgro-mobile-topbar > span { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: #e9f0f4; display: inline-flex; font-size: .68rem; font-weight: 700; gap: 6px; padding: 6px 9px; }
    .tgro-mobile-topbar i { background: #43d67b; border-radius: 50%; box-shadow: 0 0 0 3px rgba(67,214,123,.15); height: 7px; width: 7px; }
    .tgro-passenger-nav__brand { display: none; }
    .tgro-passenger-nav nav {
        display: flex;
        gap: 3px;
        justify-content: space-around;
        margin: 0 auto;
        max-width: 620px;
        width: 100%;
    }
    .tgro-passenger-nav nav a {
        align-items: center;
        color: #d9e3e9;
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
        font-size: 10px;
        font-weight: 700;
        gap: 2px;
        justify-content: center;
        line-height: 1.1;
        min-height: 54px;
        min-width: 0;
        padding: 4px 2px;
        text-align: center;
        white-space: nowrap;
    }
    .tgro-passenger-nav nav a::before {
        align-items: center;
        color: #fff;
        content: attr(data-icon);
        display: flex;
        font-size: 23px;
        font-weight: 500;
        height: 26px;
        justify-content: center;
        line-height: 1;
    }
    .tgro-passenger-nav nav a::before { display: none; }
    .tgro-nav-icon { color: #fff; display: block; height: 24px; width: 24px; }
    .tgro-passenger-nav nav a.is-active {
        background: rgba(242, 123, 5, .16);
        color: #fff;
    }
    .tgro-passenger-nav nav a.is-active .tgro-nav-icon { color: #f27b05; }
    .tgro-passenger-nav nav a:hover { color: #fff; }

    .tgro-support-whatsapp {
        bottom: calc(84px + env(safe-area-inset-bottom));
        font-size: 12px;
        min-height: 42px;
        padding: 8px 13px;
        right: 10px;
        z-index: 9996;
    }
    .tgro-support-whatsapp__label { display: none; }
    .tgro-support-whatsapp::after { content: "Aide"; }

    #gt_float_wrapper,
    .gt_float_switcher_wrapper {
        bottom: calc(84px + env(safe-area-inset-bottom)) !important;
        left: 10px !important;
        right: auto !important;
        z-index: 9995 !important;
    }
    #gt_float_wrapper,
    #gt_float_wrapper > div { max-width: 88px !important; }
    #gt_float_wrapper .gt_float_switcher,
    .gt_float_switcher_wrapper .gt_float_switcher {
        border-radius: 999px !important;
        box-shadow: 0 6px 18px rgba(23,43,58,.15) !important;
        font-size: 12px !important;
        min-width: 0 !important;
        overflow: visible !important;
        width: 82px !important;
    }
    #gt_float_wrapper .gt-selected,
    #gt_float_wrapper .gt-current-lang,
    .gt_float_switcher_wrapper .gt-selected,
    .gt_float_switcher_wrapper .gt-current-lang { border-radius: 999px !important; box-sizing: border-box !important; padding: 7px 8px !important; width: 82px !important; }
    #gt_float_wrapper .gt-current-lang img,
    .gt_float_switcher_wrapper .gt-current-lang img { height: auto !important; margin-right: 5px !important; width: 22px !important; }
    #gt_float_wrapper .gt_float_switcher-arrow,
    .gt_float_switcher_wrapper .gt_float_switcher-arrow { display: none !important; }
    #gt_float_wrapper .gt_options,
    .gt_float_switcher_wrapper .gt_options { bottom: 48px !important; left: 0 !important; position: absolute !important; width: 150px !important; }

    .tgro-driver-dashboard,
    .tgro-passenger-dashboard { padding-left: 12px; padding-right: 12px; }
    .tgro-passenger-heading { align-items: stretch; display: grid; gap: 10px; margin: 2px 0 12px; }
    .tgro-passenger-heading h2 { font-size: 1.65rem; line-height: 1.1; }
    .tgro-passenger-heading p { font-size: .84rem; }
    .tgro-passenger-heading > a { justify-content: center; min-height: 44px; }
    .tgro-passenger-summary { gap: 8px; margin: 10px 0 16px; }
    .tgro-passenger-summary > div { min-height: 72px; padding: 10px 11px; }
    .tgro-passenger-summary > div:last-child { grid-column: 1 / -1; min-height: 58px; }
    .tgro-passenger-summary strong { font-size: 1.3rem; }
    .tgro-passenger-summary span { font-size: .75rem; }
    .tgro-dashboard-section { margin-top: 16px; padding-top: 14px; }
    .tgro-dashboard-section h3 { font-size: 1.25rem; margin: 0 0 10px; }
    .tgro-dashboard-empty-state { margin: 16px 0; padding: 25px 16px; }
    .tgro-request-intro { border-radius: 14px; margin-bottom: 12px; padding: 17px 18px; }
    .tgro-request-eyebrow { font-size: .68rem; margin-bottom: 4px; }
    .tgro-request-intro h2 { font-size: 1.55rem; line-height: 1.12; margin-bottom: 6px; }
    .tgro-request-intro p { font-size: .86rem; line-height: 1.4; }
    .tgro-request-benefits { display: flex; gap: 5px 12px; margin-top: 11px; }
    .tgro-request-benefits span { font-size: .72rem; }
    .tgro-request-form { border-radius: 14px; gap: 11px; padding: 11px; }
    .tgro-request-step { gap: 12px; padding: 14px; }
    .tgro-request-step__heading strong { font-size: 1rem; }
    .tgro-request-step__heading small { font-size: .76rem; line-height: 1.3; }
    .tgro-account-profile { margin-top: 14px; }
    .tgro-account-profile summary { align-items: flex-start; display: grid; gap: 2px; padding: 14px 15px; }
    .tgro-account-profile summary span { font-size: 1.05rem; }
    .tgro-account-profile summary small { font-size: .76rem; }
    .tgro-account-profile form { gap: 10px; padding: 14px; }
    .tgro-account-profile .tgro-request-form__grid { gap: 10px; grid-template-columns: 1fr 1fr; }
    .tgro-account-profile label { font-size: .86rem; }
    .tgro-account-profile input { font-size: 16px; min-height: 44px; }
    .tgro-account-profile button { min-height: 46px; width: 100%; }
    .tgro-driver-welcome { align-items: flex-start; border-radius: 15px; margin: 3px 0 12px; padding: 15px 16px; }
    .tgro-driver-welcome h2 { font-size: 1.35rem; }
    .tgro-driver-welcome strong { font-size: .7rem; padding: 7px 9px; }
    .tgro-driver-view-heading { border-radius: 15px; margin: 3px 0 12px; padding: 15px 16px; }
    .tgro-driver-view-heading { align-items: flex-start; }
    .tgro-driver-view-heading h2 { font-size: 1.35rem; }
    .tgro-driver-view-heading p { font-size: .84rem; }
    .tgro-driver-view-heading > strong { font-size: .72rem; padding: 6px 8px; }
    .tgro-driver-summary { gap: 9px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 12px 0 15px; }
    .tgro-driver-summary > div { min-height: 83px; padding: 12px 13px; }
    .tgro-driver-summary strong { font-size: 1.32rem; }
    .tgro-driver-summary span { font-size: .75rem; }
    .tgro-card {
        border-color: #e2e9ed;
        box-shadow: 0 7px 24px rgba(23, 43, 58, .08);
    }
    .tgro-dashboard-card,
    .tgro-active-ride,
    .tgro-available-request {
        border-radius: 16px;
        box-shadow: 0 6px 18px rgba(23, 43, 58, .07);
    }
    .tgro-available-requests,
    .tgro-active-rides { border-radius: 16px; margin: 13px 0 16px; padding: 13px 12px; }
    .tgro-available-requests--empty { background: linear-gradient(180deg,#f7fafc,#fff); min-height: calc(100vh - 330px); }
    .tgro-requests-empty { min-height: 340px; padding: 24px 12px; }
    .tgro-requests-empty > svg { height: 70px; width: 70px; }
    .tgro-requests-empty h3 { font-size: 1.25rem; }
    .tgro-requests-empty p { font-size: .86rem; }
    .tgro-available-requests__heading { align-items: center; display: flex; gap: 9px; }
    .tgro-available-requests__heading h3 { font-size: 1.2rem; }
    .tgro-available-requests__heading p { font-size: .84rem; line-height: 1.35; }
    .tgro-available-requests__heading > span { font-size: .75rem; padding: 5px 8px; }
    .tgro-available-requests > .tgro-dashboard-empty { font-size: .86rem; margin: 10px 0 0; padding: 11px 12px; }
    .tgro-revenue-chart { margin: 13px 0; padding: 13px 12px 8px; }
    .tgro-revenue-chart > div { align-items: flex-start; display: grid; gap: 2px; }
    .tgro-revenue-chart h3 { font-size: 1.18rem; }
    .tgro-revenue-chart svg { max-height: 210px; }
    .tgro-available-request {
        padding: 15px;
        text-align: left;
    }
    .tgro-available-request__route {
        align-items: start;
        display: grid;
        gap: 5px;
        grid-template-columns: 1fr;
        justify-items: start;
        text-align: left;
    }
    .tgro-available-request__route span {
        justify-self: start;
        margin-left: 5px;
        transform: rotate(90deg);
    }
    .tgro-available-request p { margin: 10px 0 12px; }
    .tgro-available-request a,
    .tgro-active-ride a,
    .tgro-dashboard-card__link {
        align-items: center;
        display: flex;
        justify-content: center;
        min-height: 46px;
        text-align: center;
        width: 100%;
    }
    .tgro-active-ride > div { align-items: stretch; display: grid; gap: 10px; }
    .tgro-active-ride > div b { color: #173246; font-size: 1.2rem; }

    .tgro-request-form button,
    .tgro-form button,
    .tgro-confirmation-actions button,
    .tgro-progress-actions button,
    .tgro-offer-actions button {
        min-height: 48px;
        touch-action: manipulation;
    }
    .tgro-request-form input,
    .tgro-request-form select,
    .tgro-request-form textarea,
    .tgro-form input,
    .tgro-form textarea { font-size: 16px; }

    .tgro-driver-table { min-width: 0; width: 100%; }
    .tgro-driver-table thead { display: none; }
    .tgro-driver-table tbody,
    .tgro-driver-table tr,
    .tgro-driver-table td { display: block; width: 100%; }
    .tgro-driver-table tr {
        background: #fff;
        border: 1px solid #dfe7ec;
        border-radius: 16px;
        box-shadow: 0 6px 18px rgba(23, 43, 58, .06);
        margin-bottom: 12px;
        overflow: hidden;
        padding: 6px 14px;
    }
    .tgro-driver-table td {
        align-items: center;
        border-bottom: 1px solid #edf1f3;
        box-sizing: border-box;
        display: flex;
        gap: 16px;
        justify-content: space-between;
        min-height: 43px;
        padding: 9px 0;
        text-align: right;
    }
    .tgro-driver-table td:last-child { border-bottom: 0; }
    .tgro-driver-table td[colspan] { justify-content: center; text-align: center; }
    .tgro-driver-table td[colspan]::before { display: none; }
    .tgro-driver-table td::before {
        color: #687781;
        content: attr(data-label);
        flex: 0 0 36%;
        font-size: .76rem;
        font-weight: 800;
        letter-spacing: .03em;
        text-align: left;
        text-transform: uppercase;
    }
    .tgro-driver-table td:first-child {
        align-items: flex-start;
        font-weight: 800;
        padding-bottom: 12px;
    }
    .tgro-driver-table td:first-child a { overflow-wrap: anywhere; }
    .tgro-invoice-download,
    .tgro-invoice-waiting { white-space: normal; }
}

@media (max-width: 380px) {
    .tgro-passenger-nav nav a { font-size: 9px; }
    .tgro-passenger-nav nav a::before { font-size: 21px; }
}
.tgro-address-autocomplete { background: #fff; border: 1px solid #ccd7df; border-radius: 9px; box-shadow: 0 10px 28px rgba(23,50,70,.18); left: 0; list-style: none; margin: 5px 0 0; max-height: 280px; overflow-y: auto; padding: 5px; position: absolute; right: 0; top: 100%; z-index: 100000; }
.tgro-address-autocomplete[hidden] { display: none; }
.tgro-address-autocomplete li + li { border-top: 1px solid #edf0f2; }
.tgro-address-autocomplete button { background: #fff; border: 0; border-radius: 6px; color: #173246; cursor: pointer; display: block; font: inherit; padding: 11px 12px; text-align: left; width: 100%; }
.tgro-address-autocomplete button:hover,.tgro-address-autocomplete button:focus { background: #fff3e6; color: #9a4b00; outline: none; }
.tgro-premium-field:has([data-tgro-address-autocomplete]) { position: relative; }

.tgro-sound-prompt { align-items:center; background:#fff8ef; border:1px solid #f4c48f; border-radius:12px; color:#173246; display:flex; gap:12px; justify-content:space-between; margin:12px auto; max-width:1564px; padding:10px 14px; }
.tgro-sound-prompt span { font-weight:800; }
.tgro-sound-prompt button { background:#f27b05; border:0; border-radius:9px; color:#fff; cursor:pointer; font-weight:800; min-height:38px; padding:8px 14px; }
.tgro-sound-prompt.is-enabled { background:#ecf9f0; border-color:#9ed8af; }
.tgro-sound-prompt.is-enabled button { background:#147d42; }
@media (max-width:700px) { .tgro-sound-prompt { margin:10px 18px; } .tgro-sound-prompt button { font-size:12px; } }

/* TaxiGustave Driver — application shell 0.20.0 */
.tg-driver-app {
    --tg-navy:#153447;
    --tg-navy-deep:#102a3a;
    --tg-orange:#ff7a00;
    --tg-green:#20c979;
    --tg-bg:#f6f8fa;
    --tg-surface:#fff;
    --tg-text:#102a3a;
    --tg-muted:#647481;
    --tg-danger:#b42318;
    --tg-radius:18px;
    --tg-shadow:0 12px 34px rgba(16,42,58,.09);
    color:var(--tg-text);
}
.tg-driver-app *, .tg-driver-app *::before, .tg-driver-app *::after { box-sizing:border-box; }
.tg-driver-app :focus-visible { outline:3px solid rgba(255,122,0,.35); outline-offset:3px; }
.tg-screen-heading { margin:8px 0 22px; }
.tg-screen-heading > span { color:var(--tg-orange); font-size:.72rem; font-weight:900; letter-spacing:.14em; }
.tg-screen-heading h1 { color:var(--tg-text); font-size:2rem; letter-spacing:-.035em; line-height:1.05; margin:5px 0 6px; }
.tg-screen-heading p { color:var(--tg-muted); margin:0; }
.tg-profile-screen { margin:auto; max-width:760px; }
.tg-profile-screen .tgro-account-profile { background:var(--tg-surface); border-color:#dfe7ec; border-radius:var(--tg-radius); box-shadow:var(--tg-shadow); margin-top:0; }
.tg-profile-screen .tgro-account-profile > summary { display:none; }
.tg-profile-screen .tgro-account-profile form { border-top:0; }
.tg-more-menu { background:var(--tg-surface); border:1px solid #e1e8ec; border-radius:var(--tg-radius); box-shadow:var(--tg-shadow); margin:auto; max-width:760px; overflow:hidden; }
.tg-more-menu > a { align-items:center; border-bottom:1px solid #edf1f3; color:var(--tg-text)!important; display:grid; gap:14px; grid-template-columns:28px 1fr auto; min-height:76px; padding:14px 18px; text-decoration:none!important; transition:background .2s ease; }
.tg-more-menu > a:hover { background:#fff8f1; }
.tg-more-menu > a:last-child { border-bottom:0; }
.tg-more-menu .tgro-nav-icon { color:var(--tg-orange); height:25px; width:25px; }
.tg-more-menu span { display:grid; gap:2px; }
.tg-more-menu small { color:var(--tg-muted); }
.tg-more-menu b { color:#91a0a9; font-size:1.6rem; }
.tg-more-menu__logout strong, .tg-more-menu__logout .tgro-nav-icon { color:var(--tg-danger); }
.tg-revenue-hero { background:linear-gradient(135deg,var(--tg-navy),#244f68); border-radius:var(--tg-radius); box-shadow:var(--tg-shadow); color:#fff; display:grid; margin:0 0 16px; padding:24px; }
.tg-revenue-hero strong { color:#fff; font-size:2.35rem; line-height:1; }
.tg-revenue-hero span { color:#fff; font-weight:800; margin-top:8px; }
.tg-revenue-hero small { color:#cfe0e9; margin-top:3px; }
.tg-tabs { background:#eaf0f3; border-radius:14px; display:grid; gap:4px; grid-template-columns:repeat(3,1fr); margin:0 0 16px; padding:4px; }
.tg-tabs a { align-items:center; border-radius:11px; color:var(--tg-muted)!important; display:flex; font-size:.86rem; font-weight:800; gap:6px; justify-content:center; min-height:46px; padding:8px; text-decoration:none!important; }
.tg-tabs a.is-active { background:#fff; box-shadow:0 3px 12px rgba(16,42,58,.09); color:var(--tg-text)!important; }
.tg-tabs b { align-items:center; background:#dce5ea; border-radius:999px; display:inline-flex; font-size:.7rem; height:21px; justify-content:center; min-width:21px; padding:0 5px; }
.tg-tabs a.is-active b { background:var(--tg-orange); color:#fff; }
.tg-trip-list { display:grid; gap:14px; }
.tg-trip-card { background:#fff; border:1px solid #e0e7eb; border-radius:var(--tg-radius); box-shadow:0 7px 22px rgba(16,42,58,.07); padding:18px; transition:box-shadow .2s ease,transform .2s ease; }
.tg-trip-card:hover { box-shadow:var(--tg-shadow); transform:translateY(-2px); }
.tg-trip-card__top,.tg-trip-card__footer { align-items:center; display:flex; gap:12px; justify-content:space-between; }
.tg-trip-card__top time { color:var(--tg-text); font-weight:800; }
.tg-trip-card__top span { background:#eaf8ef; border-radius:999px; color:#147a40; font-size:.72rem; font-weight:900; padding:6px 9px; }
.tg-trip-route { display:grid; gap:12px; grid-template-columns:15px 1fr; margin:18px 0; }
.tg-trip-route > i { background:linear-gradient(var(--tg-orange) 0 50%,var(--tg-navy) 50%); border-radius:999px; position:relative; width:3px; }
.tg-trip-route > i::before,.tg-trip-route > i::after { background:#fff; border:3px solid var(--tg-orange); border-radius:50%; content:""; height:11px; left:-4px; position:absolute; width:11px; }
.tg-trip-route > i::before { top:0; }.tg-trip-route > i::after { border-color:var(--tg-navy); bottom:0; }
.tg-trip-route > div { display:grid; gap:14px; }
.tg-trip-route strong { overflow-wrap:anywhere; }
.tg-trip-card__footer b { color:var(--tg-orange); font-size:1.3rem; }
.tg-trip-card__footer a { background:var(--tg-orange); border-radius:10px; color:#fff!important; font-weight:800; min-height:44px; padding:11px 15px; text-decoration:none!important; }
.tg-empty-state { background:#fff; border:1px dashed #cdd9df; border-radius:var(--tg-radius); color:var(--tg-muted); padding:42px 20px; text-align:center; }
.tg-empty-state strong { color:var(--tg-text); font-size:1.1rem; }
.tg-ride-timeline { list-style:none; margin:20px 0; padding:0; }
.tg-ride-timeline li { align-items:center; color:#829099; display:grid; gap:12px; grid-template-columns:24px 1fr; min-height:46px; position:relative; }
.tg-ride-timeline li:not(:last-child)::after { background:#dbe4e9; content:""; height:24px; left:11px; position:absolute; top:35px; width:2px; }
.tg-ride-timeline i { background:#fff; border:2px solid #b8c5cc; border-radius:50%; height:14px; justify-self:center; width:14px; }
.tg-ride-timeline .is-done,.tg-ride-timeline .is-current { color:var(--tg-text); font-weight:800; }
.tg-ride-timeline .is-done i { background:var(--tg-green,#20c979); border-color:var(--tg-green,#20c979); }
.tg-ride-timeline .is-current i { background:var(--tg-orange,#ff7a00); border-color:#fff; box-shadow:0 0 0 4px rgba(255,122,0,.2); }
.tgro-progress-actions button[hidden] { display:none; }
.tgro-progress-actions button:not([hidden]) { font-size:1rem; min-height:56px; width:100%; }
.tgro-auth-card--login { margin-left:auto; margin-right:auto; max-width:980px; }
.tgro-auth-links { display:flex; flex-wrap:wrap; gap:10px 20px; justify-content:space-between; margin-top:4px; }
.tgro-auth-links a,.tgro-auth-switch a { color:#e96f00; font-weight:800; text-decoration:none; }
.tgro-auth-links a:hover,.tgro-auth-switch a:hover { text-decoration:underline; }
.tgro-auth-switch { margin:14px 0 0; text-align:center; }
.tgro-auth-connected { margin:30px auto; max-width:640px; text-align:center; }
body.tgro-auth-page .tgro-auth-theme-hidden { display:none!important; }
body.tgro-auth-page .tgro-auth-shell-path { box-sizing:border-box!important; float:none!important; margin-left:0!important; margin-right:0!important; max-width:none!important; padding-left:0!important; padding-right:0!important; width:100%!important; }
body.tgro-auth-page.tgro-auth-isolated { min-height:100vh; }
body.tgro-auth-page .tgro-auth-card { display:grid; grid-template-columns:minmax(330px,.85fr) minmax(440px,1.15fr); margin:32px auto; max-width:1180px; min-height:620px; width:calc(100% - 48px); }
body.tgro-auth-page .tgro-auth-card--login { max-width:1180px; }
body.tgro-auth-page .tgro-auth-hero { display:flex; flex-direction:column; grid-column:1; grid-row:1 / span 4; justify-content:center; padding:48px; }
body.tgro-auth-page .tgro-auth-card > .tgro-alert { align-self:end; grid-column:2; margin:28px 38px 0; }
body.tgro-auth-page .tgro-auth-card > .tgro-auth-form { align-content:center; grid-column:2; padding:38px; }
body.tgro-auth-page .tgro-auth-card > .tgro-auth-switch { grid-column:2; margin:0; padding:0 38px 32px; }
body.tgro-auth-page .tgro-auth-form { background:#fff; }

@media (max-width:700px) {
    body.tgro-auth-page .tgro-auth-card { border-radius:0; border-left:0; border-right:0; display:block; margin:0 0 24px; min-height:0; width:100%; }
    body.tgro-auth-page .tgro-auth-hero { display:block; padding:54px 18px 18px; }
    body.tgro-auth-page .tgro-auth-card > .tgro-alert { margin:14px 18px 0; }
    body.tgro-auth-page .tgro-auth-card > .tgro-auth-form { padding:17px 18px 20px; }
    body.tgro-auth-page .tgro-auth-card > .tgro-auth-switch { padding:0 18px 22px; }
    .tg-driver-app { background:var(--tg-bg); margin:0 -12px; padding-left:16px; padding-right:16px; }
    .tg-driver-app .tgro-mobile-topbar { margin-left:-16px; margin-right:-16px; min-height:70px; padding-left:20px; padding-right:20px; }
    .tg-driver-app .tgro-passenger-nav nav a { border-radius:13px; min-height:61px; }
    .tg-screen-heading { margin-top:14px; }
    .tg-screen-heading h1 { font-size:1.75rem; }
    .tg-tabs { position:sticky; top:4px; z-index:8; }
    .tg-tabs a { font-size:.72rem; gap:4px; padding:6px 3px; }
    .tg-trip-card { padding:16px; }
    .tg-trip-card__footer { align-items:stretch; display:grid; }
    .tg-trip-card__footer a { text-align:center; }
    .tg-profile-screen .tgro-account-profile .tgro-request-form__grid { grid-template-columns:1fr; }
    .tg-revenue-hero strong { font-size:2rem; }
}

@media (min-width:1024px) {
    .tg-driver-app { min-height:760px; padding-left:270px; position:relative; }
    .tg-driver-app > .tgro-passenger-nav { align-content:start; align-items:stretch; border-radius:18px; bottom:0; display:grid; left:18px; padding:24px 14px; position:absolute; top:0; width:225px; }
    .tg-driver-app > .tgro-passenger-nav .tgro-passenger-nav__brand { align-self:start; font-size:1.35rem; padding:8px 10px 24px; }
    .tg-driver-app > .tgro-passenger-nav nav { align-self:start; display:grid; gap:7px; width:100%; }
    .tg-driver-app > .tgro-passenger-nav nav a { align-items:center; display:flex; gap:12px; min-height:49px; padding:11px 13px; }
    .tg-driver-app > .tgro-passenger-nav nav a.is-active { background:rgba(255,122,0,.16); color:#fff; }
    .tg-driver-app > .tgro-passenger-nav .tgro-nav-icon { height:23px; width:23px; }
    .tg-driver-app > .tgro-mobile-topbar { display:none; }
}
.tgro-public-gateway{position:relative;z-index:9998;background:#172f3f;color:#fff;width:100%;box-shadow:0 8px 24px rgba(18,43,57,.16)}
.tgro-public-gateway__inner{width:min(1180px,calc(100% - 36px));min-height:82px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}
.tgro-public-gateway__inner>div{display:flex;flex-direction:column;gap:3px}.tgro-public-gateway strong{font-size:24px;line-height:1.1;color:#fff}.tgro-public-gateway strong span{color:#f27b05}.tgro-public-gateway small{font-size:14px;color:#dbe7ed}
.tgro-public-gateway nav{display:flex;align-items:center;gap:10px}.tgro-public-gateway a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 19px;border-radius:12px;font-weight:800;text-decoration:none!important;white-space:nowrap}
.tgro-public-gateway__login{color:#fff!important;border:1px solid rgba(255,255,255,.55)}.tgro-public-gateway__register{background:#f27b05;color:#fff!important;border:1px solid #f27b05;box-shadow:0 7px 18px rgba(242,123,5,.27)}
.tgro-public-gateway__driver{background:#fff;color:#173246!important;border:1px solid #fff}.tgro-auth-button{background:#173246;border-radius:9px;color:#fff!important;display:inline-flex;font-weight:800;justify-content:center;padding:12px 18px;text-decoration:none!important}.tgro-auth-card--pending .tgro-auth-form{align-content:center}
@media(max-width:700px){.tgro-public-gateway__inner{width:calc(100% - 24px);min-height:0;display:grid;gap:11px;padding:14px 0}.tgro-public-gateway__inner>div{text-align:center}.tgro-public-gateway strong{font-size:21px}.tgro-public-gateway small{font-size:12px}.tgro-public-gateway nav{display:grid;grid-template-columns:1fr 1fr}.tgro-public-gateway__driver{grid-column:1/-1}.tgro-public-gateway a{min-height:44px;padding:8px 10px;font-size:14px}}

/* Compact public access: one main action, account login and folded driver links. */
.tgro-public-gateway{background:#fffaf3;color:#193445;box-shadow:0 3px 18px rgba(25,52,69,.08);border-bottom:1px solid #f3e1cc}
.tgro-public-gateway strong{color:#193445}.tgro-public-gateway small{color:#536875;max-width:440px;line-height:1.45}
.tgro-public-gateway__login{color:#193445!important;border-color:#c6d1d8;background:#fff}
.tgro-public-gateway__drivers{position:relative;color:#193445;font-size:14px}
.tgro-public-gateway__drivers summary{cursor:pointer;font-weight:700;padding:12px;white-space:nowrap}
.tgro-public-gateway__drivers>div{position:absolute;right:0;top:100%;min-width:280px;background:#fff;border:1px solid #e1e7eb;border-radius:12px;padding:10px;box-shadow:0 10px 30px rgba(25,52,69,.12)}
.tgro-public-gateway__drivers a{display:flex;color:#193445!important;white-space:normal;justify-content:flex-start;font-size:13px;box-shadow:none;background:#fff}
.tgro-public-gateway a:focus-visible,.tgro-public-gateway summary:focus-visible{outline:3px solid #193445;outline-offset:3px}
@media(max-width:700px){.tgro-public-gateway__inner{padding:16px 0;gap:14px}.tgro-public-gateway strong{font-size:23px}.tgro-public-gateway small{font-size:13px;max-width:340px;margin:3px auto 0}.tgro-public-gateway nav{gap:10px}.tgro-public-gateway a{font-size:13px;min-height:44px;box-sizing:border-box;white-space:normal;padding:10px}.tgro-public-gateway__drivers{grid-column:1/-1;text-align:center}.tgro-public-gateway__drivers summary{padding:5px 10px;font-size:12px}.tgro-public-gateway__drivers>div{position:static;min-width:0;margin-top:10px;box-shadow:none}.tgro-public-gateway__drivers a{justify-content:center}}

/* Compact original TaxiGustave logo, paired with the existing brand name. */
.tgro-brand-line{display:flex;align-items:center;gap:10px;min-width:0}.tgro-brand-logo{display:block;width:90px;height:50px;object-fit:contain;flex:0 0 auto}.tgro-brand-line strong{min-width:0}
@media(max-width:700px){.tgro-brand-line{justify-content:center;gap:8px}.tgro-brand-logo{width:76px;height:44px}.tgro-public-gateway .tgro-brand-line strong{font-size:19px;line-height:1.2}}

/* Public partner application entry, alongside the chauffeur access. */
.tgro-public-gateway nav{flex-wrap:wrap;justify-content:flex-end}.tgro-public-gateway__partner{color:#193445!important;background:#fff;border:1px solid #e3c8a8;font-size:13px}
@media(max-width:700px){.tgro-public-gateway__drivers{grid-column:auto;min-width:0}.tgro-public-gateway__drivers summary{min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 6px}.tgro-public-gateway a.tgro-public-gateway__partner{font-size:12px;padding:8px 6px}.tgro-public-gateway__drivers>div{position:absolute;left:0;right:auto;width:min(280px,calc(100vw - 36px));text-align:left;margin-top:0}.tgro-public-gateway__drivers a{justify-content:flex-start}}

/* One account, explicit passenger/driver spaces. */
.tgro-account-spaces { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; background:#f5f8fa; border:1px solid #dce5eb; border-radius:12px; padding:12px 14px; margin:0 0 20px; color:#172b3a; }
.tgro-account-spaces > div { min-width:0; }
.tgro-account-spaces strong,.tgro-account-spaces small { display:block; }
.tgro-account-spaces small { font-size:12px; line-height:1.5; }
.tgro-account-spaces__links { display:flex; flex-wrap:wrap; gap:8px; }
.tgro-account-spaces__links a { display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 12px; border:1px solid #cad6df; border-radius:8px; background:white; color:#172b3a; font-size:13px; font-weight:700; text-decoration:none; box-sizing:border-box; }
.tgro-account-spaces__links a[aria-current] { background:#172b3a; border-color:#172b3a; color:white; }
.tgro-account-spaces__links a:focus-visible { outline:3px solid #f27b05; outline-offset:3px; }
@media(max-width:600px) { .tgro-account-spaces__links { width:100%; } .tgro-account-spaces__links a { flex:1 1 120px; } }
