/* OzMates shared skin: Modern Business public pages + Tabler portal core. */
:root {
  --font-heading: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --color-primary:#17634d; --color-primary-hover:#104b3a; --color-primary-light:#e8f4ee;
  --color-accent:#d5f484; --color-accent-hover:#c3e770; --color-accent-light:#f0f8dd;
  --color-text-primary:#162e28; --color-text-secondary:#566b64; --color-border:#dce5df;
  --color-background:#fbfcf9; --color-surface:#f1f5ee; --color-bg-alt:#f1f5ee;
  --border-radius-md:12px; --border-radius-lg:20px; --border-radius-xl:24px;
  --shadow-md:0 12px 32px #173c2510; --shadow-xl:0 24px 60px #173c2520;
  --tblr-primary:#17634d; --tblr-body-bg:#f1f5ee; --tblr-body-color:#162e28;
}
body {font-family:var(--font-body); background:var(--color-background);}
.container {max-width:1240px; width:100%; padding-inline:28px; margin-inline:auto;}
h1,h2,h3 {letter-spacing:-.045em;}
h2 {font-size:clamp(1.8rem,3.5vw,2.7rem);}
a,button,input,select,textarea {touch-action:manipulation;}
:focus-visible {outline:3px solid #277b60;outline-offset:4px;}
.skip-link {position:fixed;left:20px;top:-100px;z-index:10000;padding:12px 20px;background:white;border:2px solid #17634d;}
.skip-link:focus {top:45px;}
.main-nav {background:#fbfcf9f5!important; backdrop-filter:blur(16px); border-bottom:1px solid var(--color-border);box-shadow:none;}
.main-nav .logo img {height:52px!important;}
.nav-links {margin:0;padding:0;gap:24px;}
.nav-links__item {font-size:.88rem;font-weight:600;}
.nav-actions__phone {font-size:.85rem;}
.btn {border-radius:10px;font-weight:650;padding:12px 22px;font-size:.9rem;line-height:1.4;transition:background .2s,transform .2s;white-space:normal;}
.btn:hover {transform:translateY(-1px);}
.btn--primary {background:#17634d;color:white;border:1px solid #17634d;}
.btn--primary:hover {background:#104b3a;color:white;}
.btn--accent {background:#d5f484;color:#183525;border:1px solid #d5f484;}
.btn--secondary {background:#eef4f0;color:#17634d;border:1px solid #cfddd4;}
.btn--danger {background:#fff0ee;color:#9c3027;border:1px solid #f0ccc7;}
.btn--lg {padding:16px 26px;}
.section {padding-block:80px;}
#hero {padding:145px 0 70px!important;background:#edf2e8!important;overflow:hidden;}
.hero-layout {display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;}
.eyebrow {display:block;color:#36614c;font-size:.75rem;font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px;}
#hero h1 {font-size:clamp(3rem,5.7vw,5.2rem);line-height:1.04;font-weight:750;max-width:650px;margin-bottom:24px;}
#hero h1 em {font-style:normal;color:#427e52;}
.hero-description {font-size:1.08rem;max-width:470px;line-height:1.8;}
.hero-actions {display:flex;gap:12px;flex-wrap:wrap;margin:28px 0;}
.hero-footnote {font-size:.8rem;color:#536b59;}
.hero-visual {position:relative;padding-bottom:32px;}
.hero-visual img {width:100%;height:410px;object-fit:cover;border-radius:110px 22px 22px 22px;}
.hero-price {position:absolute;bottom:0;left:-20px;display:flex;align-items:center;gap:20px;padding:20px 24px;background:#fff;border:1px solid #e0e7db;border-radius:16px;box-shadow:var(--shadow-md);}
.hero-price small {display:block;color:#647368;font-size:.75rem;}
.hero-price strong {font-size:1.8rem;letter-spacing:-.04em;}
.hero-price span {font-size:.8rem;color:#5a6c61;}
.trust-strip {border-block:1px solid #dce4d6;background:#e5eddd;}
.trust-strip .container {display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-block:20px;font-size:.8rem;font-weight:650;color:#38503b;}
.why-grid {gap:20px;}
.why-card {text-align:left;padding:26px;border:1px solid var(--color-border);box-shadow:none;border-radius:18px;background:white;}
.why-card__icon {background:#eaf2e3;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.3rem;margin-bottom:22px;}
.why-card__title {font-size:1.12rem;letter-spacing:-.025em;}
.why-card p {font-size:.9rem;line-height:1.7;}
.fleet-grid {gap:24px;}
.fleet-card {background:#fff;border:1px solid var(--color-border);border-radius:20px;box-shadow:0 6px 18px #14372306;overflow:hidden;}
.fleet-card:hover {box-shadow:var(--shadow-md);transform:translateY(-4px);}
.fleet-card__image {height:225px;background:#e9eee6;}
.fleet-card__image img {height:100%;width:100%;object-fit:cover;}
.fleet-card__badge {background:#e4f6d6;color:#2e5c31;border:1px solid #c9dfbc;border-radius:50px;font-size:.7rem;}
.fleet-card__title {font-size:1.35rem;}
.fleet-card__body {padding:24px;}
.fleet-card__features {padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:.76rem;}
.fleet-card__price--discounted {color:#17634d;font-size:1.65rem;}
.fleet-card__savings-badge {color:#305a2d;background:#ebf4df;}
.fleet-upfront {font-size:.75rem;margin-top:12px;color:#5c6c60;}
.booking-engine {border:1px solid var(--color-border);border-radius:24px;background:#fff;padding:40px;box-shadow:var(--shadow-md);}
.form-group label {font-size:.82rem;font-weight:650;letter-spacing:0;color:#233e31;}
input:not([type=checkbox]):not([type=radio]),select,textarea,.custom-select__trigger {min-height:46px;border:1px solid #cad8cd!important;border-radius:9px!important;background-color:#fff!important;color:#20362b!important;font-family:inherit;}
input:disabled {background:#edf2ef!important;}
.booking-summary {border-radius:16px;background:#eef5e8;border-color:#d3e0c8;}
#fleet-hero {background:#edf2e8!important;padding-top:145px!important;}
.fleet-toolbar {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:28px;flex-wrap:wrap;}
.fleet-toolbar p {margin:0;font-size:.85rem;}
.how-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.how-step {border-top:1px solid #cbd8c6;padding-top:22px;}
.how-step strong {color:#60834f;font-size:.8rem;}
.how-step h3 {font-size:1.25rem;margin-top:16px;}
.how-step p {font-size:.92rem;}
.portal-main {padding-top:120px;background:#f1f5ee;}
.portal-main>.container {max-width:1480px;}
.portal-card,.portal-sidebar {box-shadow:0 4px 18px #173c2507;border:1px solid #dce5df;border-radius:18px;}
.portal-card {padding:28px!important;}
.auth-card {max-width:510px;padding:40px!important;margin:50px auto 100px;border-top:4px solid #17634d;}
.auth-card__title {font-size:1.9rem;}
.auth-card__subtitle {margin-block:16px 28px;}
.auth-card:before {content:'OZMATES / YOUR ACCOUNT';font-size:.65rem;font-weight:700;letter-spacing:.15em;display:block;color:#66836d;margin-bottom:16px;}
#admin-dashboard>.filter-tabs {padding:8px;background:#edf2ec;border:1px solid #dce5df!important;border-radius:12px;gap:4px;}
.filter-tabs {overflow-x:auto;flex-wrap:wrap;}
.filter-tab {border-radius:8px;font-size:.8rem;padding:11px 14px;white-space:nowrap;}
.filter-tab.active,.menu-tab.active {background:#17634d!important;color:white!important;border-color:#17634d;}
.admin-stats-grid {gap:16px;}
.stat-card {border:1px solid #dce5df;box-shadow:none;border-radius:14px;padding:24px;}
.stat-label {font-size:.74rem;letter-spacing:.025em;color:#617468;}
.stat-val {font-size:2rem;}
.table-container {overflow:auto;border:1px solid #dce5df;border-radius:12px;}
table {width:100%;font-size:.84rem;}
th {background:#f0f4ed!important;color:#536959!important;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;}
td,th {padding:16px!important;border-bottom:1px solid #e5ece2!important;}
tbody tr:hover {background:#f7faf4;}
.modal-overlay {z-index:2000;}
.modal-card {border:1px solid #d4dfd4;border-radius:20px;}
.modal-header {background:#eef4e9;}
.modal-header h3 {font-size:1.25rem;}
.modal-overlay .btn-close {width:36px;height:36px;}
.local-demo-bar {position:fixed;top:0;left:0;right:0;z-index:1600;height:30px;background:#173f31;color:#e5f2db;display:flex;align-items:center;justify-content:center;gap:18px;font-size:11px;letter-spacing:.025em;}
.local-demo-bar a {color:#e5f2db;text-decoration:underline;}
body.local-demo .main-nav {top:30px;}
body.local-demo #hero,body.local-demo #fleet-hero {padding-top:175px!important;}
body.local-demo .portal-main {padding-top:150px;}
.demo-helper {position:fixed;bottom:16px;left:16px;z-index:1500;width:270px;padding:14px;background:#fff;border:1px solid #ccdccc;border-radius:12px;box-shadow:var(--shadow-md);font-size:12px;}
.demo-helper summary {cursor:pointer;font-weight:700;color:#17634d;}
.demo-helper p {margin:10px 0;}
.demo-helper button {font-size:12px;padding:7px 12px;}
.demo-helper output {display:block;margin-top:8px;white-space:pre-line;}
@media(max-width:991px) {
 .hero-layout {grid-template-columns:1fr;gap:36px;}.hero-description {max-width:none;}.hero-visual {max-width:660px;}.hero-visual img {height:340px;}.hero-price {left:16px;}
 .portal-card {padding:18px!important;}.nav-links {gap:10px;}.how-grid {gap:20px;}
}
@media(max-width:600px) {
 .container {padding-inline:20px;}.section {padding-block:48px;}#hero h1 {font-size:3.2rem;}.hero-visual img {height:260px;border-radius:70px 18px 18px 18px;}
 .hero-price {padding:14px 18px;}.hero-price strong {font-size:1.4rem;}.trust-strip .container {display:grid;grid-template-columns:1fr 1fr;font-size:.72rem;}
 .how-grid {grid-template-columns:1fr;}.booking-engine {padding:22px;}.auth-card {padding:24px!important;margin-top:20px;}
 .admin-stats-grid {grid-template-columns:repeat(2,minmax(0,1fr));}.stat-card {padding:16px;}.filter-tabs {flex-wrap:nowrap;}
 .input-with-button {flex-wrap:wrap;}.input-with-button input {min-width:0;flex:1;}.local-demo-bar {gap:8px;font-size:9px;}.demo-helper {width:220px;bottom:10px;left:10px;}
 .modal-card {max-height:88vh;}.modal-body {padding:16px;}.table-container {max-width:100%;}.hero-actions .btn {flex:1;}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {scroll-behavior:auto!important;transition:none!important;animation:none!important;}}

/* Compatibility aliases for existing operational cards. */
:root {--border-color:var(--color-border);--radius-lg:18px;--text-color:var(--color-text-primary);--text-muted:var(--color-text-secondary);--color-success:#14734e;--color-error:#b43932;--color-warning:#92600b;}
#fleet-inventory-grid .fleet-card {padding:22px;background:white;border:1px solid #dce5df;border-radius:18px;gap:16px;}
#fleet-inventory-grid .fleet-card-title {display:block;}
#fleet-inventory-grid .fleet-card-details {gap:16px;}
#fleet-inventory-grid .fleet-card-status.rented {color:#80501b;background:#fff1db;}
#fleet-inventory-grid .fleet-card-status.available {color:#17634d;background:#e7f2eb;}
#admin-dashboard .admin-header-row h2 {font-size:1.8rem;}
.firebase-emulator-warning {display:none;} /* Replaced by persistent local demo banner. */
@media(min-width:1100px) { .fleet-grid {grid-template-columns:repeat(4,minmax(0,1fr));} .fleet-card__body {padding:20px;} .fleet-card__image {height:185px;} .fleet-card__features {grid-template-columns:1fr;} }
@media(min-width:601px) and (max-width:1099px) { .fleet-grid {grid-template-columns:repeat(2,minmax(0,1fr));} }

.btn--success {color:#fff!important;background:#17634d!important;}
.footer p,.footer a,.footer li {color:#bac8c1!important;}
.footer h3,.footer h4 {color:#f0f5ef;}
.custom-select__trigger {cursor:pointer;}
