/* Compact client portal forms and panels. */
.account-layout .form-grid{gap:14px 16px!important}
.account-layout .form-grid label,.account-layout form>label{gap:5px!important}
.account-layout :is(input,select):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]){min-height:38px!important;height:38px!important;padding:8px 12px!important;font:500 14px/1.3 "DM Sans",Arial,sans-serif!important}
.account-layout textarea{min-height:80px!important;padding:9px 12px!important;font:500 14px/1.4 "DM Sans",Arial,sans-serif!important}
.account-layout .password-field{min-height:38px!important}
.account-layout :is(.profile-card,.rewards-card,.panel,.claim-card,.lost-card,.payment-card,.urgent-card,.incident-card,.hours-card,.service-card){padding:18px!important;margin-bottom:16px!important;min-height:0!important}
.account-layout .card-heading{gap:12px!important;margin-bottom:16px!important;padding-bottom:14px!important}
.account-layout .card-heading>span{width:34px!important;height:34px!important;flex:0 0 34px}
.account-layout .card-heading h2{font-size:19px!important}
.account-layout .card-heading p{margin-top:4px!important;font-size:13px!important}
.account-layout :is(.loading,.empty,.empty-guidance){min-height:100px!important;padding:20px!important;gap:6px!important}
.account-layout #customerApp>.loading,.account-layout #customerVehicleGrid>.customer-vehicles-empty,.account-layout #customerLocationsGrid>.customer-locations-empty{min-height:120px!important;padding:20px!important}
.account-layout .after-trip-grid .panel{min-height:0!important}
.account-layout .portal-stats{gap:12px!important;margin-bottom:20px!important}
.account-layout .portal-stats article{padding:14px 16px!important;gap:6px!important}
.account-layout .portal-stats strong{font-size:25px!important}
.account-layout .rewards-grid>div{padding:14px 16px!important;min-height:100px!important}
.account-layout :is(.trip-summary,.tab-panel,.service-stage){padding:16px!important}
.account-layout .trip-tabs button{min-height:44px!important;padding:0 14px!important}
.account-layout .choice{padding:12px!important}
.account-layout .page-heading{margin-bottom:20px!important}
.account-layout .profile-card input[type="checkbox"],.account-layout .profile-card input[type="radio"]{width:18px!important;min-height:18px!important;height:18px!important}
@media(max-width:760px){.account-layout :is(input,select):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]){height:44px!important;min-height:44px!important;font-size:16px!important}.account-layout textarea{font-size:16px!important}.account-layout :is(.profile-card,.rewards-card,.panel,.claim-card,.lost-card,.payment-card){padding:16px!important}.account-layout .form-grid{gap:14px!important}}

/* Three visible mobile tabs share the full width. */
@media(max-width:760px){
 .portal-sidebar{height:calc(78px + env(safe-area-inset-bottom,0px))!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}
 .portal-sidebar .portal-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;height:78px!important;gap:0!important;padding:0!important}
 .portal-sidebar .portal-nav .desktop-only-nav{display:none!important}
 .portal-sidebar .portal-nav>a:not(.desktop-only-nav){width:100%!important;min-width:0!important;min-height:78px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important}
 .portal-sidebar .portal-nav>a i,.portal-sidebar .portal-nav>a i svg{width:25px!important;height:25px!important;flex-shrink:0}
 .portal-shell{padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important}
}
.account-deletion-card{scroll-margin-top:100px}
.account-deletion-card>p{color:#65717d;font-size:14px;line-height:1.65}
.account-delete-button{min-height:48px;padding:0 22px;border:1px solid #b42318;background:#fff;color:#b42318;font:700 14px "DM Sans",Arial,sans-serif;cursor:pointer}
.account-delete-button:disabled{color:#65717d;border-color:#cbd2d8;cursor:default}
.account-delete-dialog{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid #d7dde2;background:#fff;color:#101820;font:14px/1.6 "DM Sans",Arial,sans-serif}
.account-delete-dialog::backdrop{background:#10182080}
.account-delete-dialog h2{margin:0 0 12px;font:800 23px/1.25 Manrope,"DM Sans",sans-serif}
.account-delete-confirm{display:flex;align-items:flex-start;gap:10px;margin:20px 0}
.account-delete-confirm input{width:20px;min-height:20px;height:20px;margin:3px 0 0;flex:0 0 20px}
.account-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.account-delete-actions button{min-height:48px;padding:10px;border:1px solid #cbd2d8;background:#fff;color:#101820;font:700 14px "DM Sans",Arial,sans-serif;cursor:pointer}
.account-delete-actions #confirmAccountDeletionRequest{border-color:#b42318;background:#b42318;color:#fff}
.account-delete-actions button:disabled{opacity:.5;cursor:default}
#accountDeletionDialogNotice{color:#b42318}
.delete-account-shortcut{margin:0 0 18px;font-weight:700;color:#b42318}

/* Reservation lookup fits a single compact control row. */
html body .reservation-lookup{padding:16px!important;min-height:0!important;height:auto!important;align-items:center!important;gap:16px!important}
html body .reservation-lookup-controls{display:flex!important;align-items:stretch!important;min-height:0!important;height:44px!important}
html body #reservationLookupInput{box-sizing:border-box!important;display:block!important;flex:1 1 auto!important;min-width:0!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:11px 12px!important;line-height:20px!important;font-size:14px!important;resize:none!important;overflow:hidden!important}
html body #reservationLookupButton{height:44px!important;min-height:44px!important;padding:0 20px!important;align-self:stretch!important}
html body #reservationLookupMessage:empty{display:none!important}
@media(max-width:760px){html body .reservation-lookup{gap:12px!important}html body .reservation-lookup-controls{width:100%!important}}
