/* Original page styles remain in their original files. These rules serve the added functionality. */
@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/open-sans.woff2')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:600 800;font-display:swap;src:url('/assets/open-sans-bold.woff2')}@font-face{font-family:avis-icons;src:url('/assets/avis-icons.woff')}
[hidden]{display:none!important}.app-main{flex:1}.app-main .primary-section{padding:32px 0 60px}.app-page-title{font-size:13px;color:#696969;margin-bottom:25px}.app-page-title h1{font-size:32px;color:#d4002a;margin:20px 0}.app-box{border:1px solid #d1ceca;background:white;padding:26px;margin:24px 0}.app-box h2,.app-box h3{font-size:22px;margin-bottom:20px}.app-narrow{max-width:620px;margin:24px auto}.app-box label{display:block;margin-bottom:18px}.app-box label input:not([type=checkbox]):not([type=radio]),.app-box label select,.app-box label textarea{display:block;width:100%;margin-top:7px}.app-box input[type=checkbox],.app-box input[type=radio]{accent-color:#d4002a;width:18px;height:18px;vertical-align:middle;margin-right:9px}.app-box textarea{min-height:100px}.app-box .btn{margin:8px 8px 0 0}.app-box .btn-rounded,.app-search-inline .btn-rounded{background:#d4002a;color:#fff;border-radius:24px;padding:12px 24px;border:0}.app-muted{color:#656565;font-size:13px}.app-warning{background:#fff3d8;border-left:4px solid #bf7b0c;padding:16px;margin:16px 0}.app-good{background:#f0f8f3;border-left:4px solid #328451;padding:16px;margin:16px 0}.app-loading,.app-empty{padding:40px;text-align:center}.app-prose{white-space:pre-line;line-height:1.8}.app-notice{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);max-width:90vw;width:550px;background:#202020;color:white;padding:18px 24px;z-index:10000;border-radius:6px;box-shadow:0 8px 30px #0003}.app-notice.error{background:#a50026}.app-search-bar{padding-top:24px;padding-bottom:12px}.app-search-inline{display:grid;grid-template-columns:1.3fr 1.3fr 1fr 1fr auto;gap:16px;align-items:end;margin-bottom:20px}.app-search-inline label{font-size:12px;font-weight:700}.app-search-inline input,.app-search-inline select{display:block;width:100%;padding:7px;border:1px solid #d1ceca;background:white;min-height:36px}.app-search-inline input[type=time]{margin-top:4px}.app-date,.app-time{border:0;background:transparent!important;max-width:100%;outline-offset:3px}.app-time{width:80px;font-size:15px}.app-date{width:145px;font-size:15px}.rent-card-new .mx-datepicker{width:auto!important}.app-dropoff{margin-top:12px}.app-filter-label{display:flex;gap:8px;align-items:center;margin:0}.app-filter{border:0;background:transparent;padding:10px 6px;max-width:210px;font-size:14px;color:#141414}.app-search-bar>label{display:flex;align-items:center;gap:8px}.app-card-unavailable{opacity:.65}.primary-vehicle-card .price-button:disabled{cursor:not-allowed}.app-back-extra{font-size:13px;line-height:1.7;padding:0 15px}.app-steps{display:flex;flex-wrap:wrap;gap:20px;border-bottom:1px solid #ddd;padding-bottom:18px}.app-steps b{color:#d4002a}.app-checkout{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}.app-summary{position:sticky;top:90px}.app-summary img{width:100%;height:auto;object-fit:contain}.app-price-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eee}.app-total{font-size:24px;color:#d4002a;font-weight:700}.app-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.app-form-grid label{margin:0}.app-option{border:1px solid #ddd;padding:14px;cursor:pointer;display:flex!important;justify-content:space-between;gap:15px;align-items:center}.app-option:has(input:checked){border-color:#d4002a;background:#fff7f8}.app-option small{display:block}.app-bank{background:#f8f6f6;border:1px solid #ddd;padding:25px;margin:20px 0}.app-iban-number{font-size:22px;word-break:break-word;font-weight:700;letter-spacing:1px}.app-status{display:inline-block;padding:5px 12px;border-radius:20px;background:#f4eeee;color:#ad0026;font-size:13px}.app-office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.app-office-grid .app-box{margin:0}.app-box details{border-bottom:1px solid #ddd;padding:20px 0}.app-box summary{cursor:pointer;font-weight:700}.app-box details p{margin:15px 0 0}.app-link-button{border:0;background:transparent;color:#d4002a;text-decoration:underline;padding:6px;cursor:pointer}.app-dialog{border:0;max-width:90vw;width:500px;padding:28px}.app-dialog::backdrop{background:#0007}.app-dialog button{padding:10px 24px;margin-right:12px}.app-home-slider .swiper-wrapper{display:block!important;transform:none!important;height:100%!important}.app-home-slider .swiper-slide{width:100%!important;display:none!important;height:100%}.app-home-slider .swiper-slide.app-active{display:block!important}.app-menu-toggle{cursor:pointer}.app-receipt-file{display:block;margin:12px 0}.app-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.app-offline-banner{padding:16px;background:#fff3d8;text-align:center}
/* Added admin pages use the same red, typography, controls and spacious white panels. */
body.app-admin{background:#f5f5f5;display:block;color:#181818;font:14px/1.6 'Open Sans',Arial,sans-serif;margin:0}.app-admin *{box-sizing:border-box}.admin-header{background:white;border-bottom:1px solid #ddd;display:flex;align-items:center;justify-content:space-between;padding:20px 5%;gap:20px}.admin-brand{font-size:28px;font-weight:800;font-style:italic;color:#d4002a}.admin-header a{color:#555}.admin-shell{max-width:1440px;margin:24px auto;padding:0 24px}.admin-tabs{display:flex;gap:12px;flex-wrap:wrap;border-bottom:1px solid #ddd;padding-bottom:16px}.admin-tabs button{border:1px solid #d1ceca;background:white;padding:12px 20px;cursor:pointer;border-radius:4px}.admin-tabs button.active{background:#d4002a;color:white;border-color:#d4002a}.app-admin button,.app-admin input,.app-admin select,.app-admin textarea{font:inherit}.app-admin .form-control{height:auto;padding:10px;border:1px solid #ccc;border-radius:3px}.app-admin .btn{display:inline-block;padding:11px 20px;color:white;background:#d4002a;border:0;border-radius:4px;cursor:pointer;text-decoration:none}.app-admin .btn.secondary{background:#333}.app-admin .btn.danger{background:#a00024}.app-admin .btn:disabled{opacity:.5;cursor:wait}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:24px 0}.admin-stat{padding:20px;background:white;border:1px solid #ddd}.admin-stat strong{display:block;font-size:30px;color:#d4002a}.admin-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;background:white;font-size:13px}.admin-table th,.admin-table td{padding:14px;text-align:left;border-bottom:1px solid #ddd;vertical-align:top}.admin-table th{background:#f7f6f6;white-space:nowrap}.admin-table img{width:100px}.admin-table button{margin:4px 4px 4px 0}.admin-toolbar{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin:24px 0}.admin-toolbar input{flex:1;min-width:200px}.admin-upload-preview{height:140px;width:100%;object-fit:contain;margin:12px 0}.admin-service-row{display:grid;grid-template-columns:1fr 100px 45px;gap:8px;margin:10px 0}.admin-login{max-width:470px;margin:60px auto}.app-admin h1{font-size:26px}.app-admin h2{font-size:21px}.app-admin label{font-size:13px}.app-admin .app-box{margin-top:0}.admin-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.admin-settings-grid .full{grid-column:1/-1}.app-admin .admin-reservation-detail{white-space:normal;line-height:1.8}
.app-search-dialog{width:760px}.app-search-dialog .container{max-width:100%;padding:0}.app-search-dialog .app-search-inline{grid-template-columns:1fr 1fr}.app-search-dialog .app-search-inline .btn{grid-column:1/-1}.app-native-driver .base-input__control{width:100%}.app-native-driver .driver-info-step__form-grid{margin-bottom:24px}.app-native-driver .driver-info-step__member-passwords[style*="none"]{display:none!important}
@media(max-width:991px){.app-search-inline{grid-template-columns:1fr 1fr}.app-checkout,.admin-columns,.admin-settings-grid{grid-template-columns:1fr}.app-summary{position:static;grid-row:1}.app-office-grid{grid-template-columns:1fr 1fr}.admin-stats{grid-template-columns:1fr 1fr}.app-filter{max-width:140px}.app-home-slider .swiper-slide{background-image:var(--mobile-image)!important}.admin-settings-grid .full{grid-column:auto}}
@media(max-width:575px){.app-form-grid,.app-info-grid,.app-office-grid{grid-template-columns:1fr}.app-box{padding:18px}.app-page-title h1{font-size:26px}.app-search-inline{gap:10px}.app-iban-number{font-size:18px}.admin-header{padding:15px;flex-wrap:wrap}.admin-shell{padding:0 12px}.admin-tabs{gap:6px}.admin-tabs button{padding:10px}.app-filter-label{flex-wrap:wrap;gap:0}.app-filter{max-width:120px}.app-main .primary-section{padding-top:16px}}

.app-native-driver .app-native-select{appearance:auto;cursor:pointer;background-color:white;padding-right:12px}.app-native-driver .app-native-select:disabled{background-color:#f1f1f1;color:#777;cursor:default}.app-native-driver .app-select-wrap{display:block;width:100%}.app-native-driver .iti__selected-country:disabled{opacity:1;cursor:default}

.app-payment-alert{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:490px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:34px 30px 30px;border:0;border-top:6px solid #d4002a;border-radius:12px;background:#fff;color:#202020;text-align:center;box-shadow:0 24px 70px #0005;font-family:inherit}
.app-payment-alert::backdrop{background:rgba(15,15,15,.65)}
.app-payment-alert .app-payment-alert-icon{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#d4002a;color:#fff;font-size:36px;font-weight:700;line-height:1}
.app-payment-alert h2{margin:0 0 14px;font-size:26px;line-height:1.25;font-weight:700;color:#d4002a}
.app-payment-alert p{margin:0 0 16px;font-size:17px;line-height:1.6}
.app-payment-alert .app-payment-alert-note{padding:14px;background:#f7f4f5;border-radius:6px;color:#555;font-size:14px}
.app-payment-alert button{display:block;width:100%;padding:14px 24px;margin:24px 0 0;border:0;border-radius:6px;background:#d4002a;color:white;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;cursor:pointer}
.app-payment-alert button:hover{background:#af0023}.app-payment-alert button:focus-visible{outline:3px solid #202020;outline-offset:4px}
@media(max-width:480px){.app-payment-alert{padding:28px 20px 22px}.app-payment-alert h2{font-size:23px}.app-payment-alert p{font-size:16px}}

/* Invoice editor */
#tab-documents fieldset{border:1px solid #ddd;margin:18px 0;min-width:0}#tab-documents legend{font-size:20px;font-weight:700;padding:0 8px;width:auto}#tab-documents .app-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#tab-documents label{display:block;margin-bottom:15px}#tab-documents textarea{width:100%}.doc-totals{padding:16px;background:#fff5f6;border:1px solid #e3002b;border-radius:8px}.doc-actions{position:sticky;bottom:0;z-index:3;box-shadow:0 -4px 18px #0001}.doc-actions button,.doc-actions a{margin:4px}.doc-actions p{margin:8px 4px;color:#a90022;font-weight:700}#tab-documents .admin-toolbar{flex-wrap:wrap}#tab-documents .admin-table td{min-width:130px}@media(max-width:650px){#tab-documents .app-form-grid{grid-template-columns:1fr}.doc-actions{position:static}}

/* Live visitors */
#tab-visitors .admin-toolbar{flex-wrap:wrap}#tab-visitors .admin-table td{min-width:120px}.visitor-status{display:inline-block;padding:5px 10px;border-radius:20px;font-size:13px;font-weight:700}.visitor-status.visible{background:#e9f7ee;color:#146a36}.visitor-status.background{background:#f3f3f3;color:#666}#visitors-error{color:#b00025}#visitors-updated{font-size:13px;color:#666}
.app-admin #access-filter-panel{margin-bottom:24px}.app-admin .access-switch{display:flex;align-items:center;gap:12px;font-size:17px;margin:18px 0}.app-admin .access-switch input{width:24px;height:24px;accent-color:#d50032}.app-admin .access-providers{border:1px solid #ddd;padding:20px;margin:20px 0}.app-admin .access-providers legend{font-weight:bold;padding:0 8px}.app-admin #access-provider-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.app-admin #access-provider-list label{display:flex;align-items:flex-start;gap:10px;margin:0}.app-admin #access-provider-list input{accent-color:#d50032;width:18px;height:18px;margin-top:2px}.app-admin #access-provider-list small{display:block;color:#666;margin-top:6px}.app-admin .access-actions{display:flex;gap:12px;flex-wrap:wrap}.app-admin #access-filter-state{font-weight:bold}
