:root{--bg:#f4f5f6;--surface:#fff;--ink:#16181b;--muted:#737a83;--line:#e0e3e6;--black:#0d0e10;--gold:#d3a029;--gold-soft:#fff7df;--shadow:0 10px 34px rgba(20,24,29,.06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}input,select,textarea{min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d3a0291f}textarea{width:100%;min-height:105px;resize:vertical}label{display:grid;gap:7px;color:#525963;font-size:12px;font-weight:700}label small{color:var(--muted);font-weight:500}.eyebrow{margin-bottom:6px;color:#a57912;text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:850}.muted{color:var(--muted)}.auth-shell,.loading{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,#3b382f,#101112 58%)}.auth-card{width:min(400px,100%);display:grid;gap:15px;padding:34px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;box-shadow:0 30px 90px #00000061}.auth-card img{justify-self:center;width:240px;height:auto;margin:-8px 0 2px}.auth-card h1{margin-bottom:0;font-family:Georgia,serif;font-size:33px}.primary-btn{min-height:43px;border:0;border-radius:5px;color:#151515;background:linear-gradient(135deg,#efcb67,#c58c13);font-weight:800}.error-box{padding:11px 13px;color:#84251e;border:1px solid #e9b3ad;border-radius:5px;background:#fff1ef}.app-shell{display:grid;grid-template-columns:226px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:0 11px 14px;color:#fff;background:#0b0c0d;border-right:1px solid #000}.brand-block{height:116px;display:grid;place-items:center;margin:0 -11px 13px;border-bottom:1px solid rgba(255,255,255,.09);overflow:hidden}.brand-block img{width:194px;height:auto}.sidebar nav{display:grid;gap:7px}.sidebar button{min-height:43px;display:grid;grid-template-columns:21px 1fr;align-items:center;gap:11px;padding:9px 12px;border:1px solid rgba(255,255,255,.07);border-radius:5px;color:#ffffffc7;background:#ffffff0e;text-align:left;font-weight:750}.sidebar button svg{width:20px;height:20px}.sidebar button:hover{color:#fff;background:#ffffff1a}.sidebar button.active{color:#171717;background:linear-gradient(135deg,#edc65d,#bf8918);border-color:#edc65d;box-shadow:inset 3px 0 #fff}.sidebar-bottom{margin-top:auto;display:grid;gap:9px}.sidebar-bottom>span{padding:0 5px;color:#ffffff6b;text-transform:uppercase;letter-spacing:.16em;font-size:9px}.sidebar-bottom button{background:#fff;color:#161719;border-color:#fff}.main-panel{min-width:0;display:grid;align-content:start;gap:16px;padding:22px 26px 30px}.page-header{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:3px 0 8px}.page-header p{margin-bottom:3px;color:#9b7218;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:850}.page-header h1{margin:0;font-family:Georgia,serif;font-size:32px}.vehicle-chip{display:flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid var(--line);border-radius:99px;background:#fff;color:#545b64;font-size:12px;font-weight:650}.vehicle-chip span{width:8px;height:8px;border-radius:50%;background:#26824b;box-shadow:0 0 0 3px #dcf4e5}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card,.panel{border:1px solid var(--line);border-radius:7px;background:var(--surface);box-shadow:var(--shadow)}.stat-card{padding:18px;border-top:3px solid var(--gold)}.stat-card span{display:block;margin-bottom:14px;color:var(--muted);font-size:12px;font-weight:700}.stat-card strong{font-family:Georgia,serif;font-size:32px}.panel{min-width:0;padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.panel-head h2{margin:0;font-family:Georgia,serif;font-size:24px}.secondary-btn,.calendar-actions button{min-height:36px;padding:8px 12px;border:1px solid var(--line);border-radius:5px;color:#333;background:#fff;font-weight:700}.upcoming-list{display:grid;border-top:1px solid var(--line)}.upcoming-list>article{display:grid;grid-template-columns:53px 1fr auto;align-items:center;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line)}.upcoming-list article>div:nth-child(2){display:grid;gap:3px}.upcoming-list article>div:nth-child(2)>span{color:var(--muted);font-size:12px}.date-tile{height:47px;display:grid;place-content:center;text-align:center;border-radius:5px;color:#2f250b;background:var(--gold-soft)}.date-tile strong{font-size:17px;line-height:1}.date-tile span{text-transform:uppercase;font-size:9px;font-weight:800}.status{display:inline-flex;width:max-content;padding:5px 9px;border-radius:99px;text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:850}.status.requested{color:#8b5a00;background:#fff0c4}.status.confirmed{color:#17643a;background:#dff5e8}.status.completed{color:#335b8c;background:#e5effb}.status.cancelled{color:#873d39;background:#f9e5e4}.empty{padding:34px;text-align:center;color:var(--muted)}.filters{display:flex;gap:8px}.filters input{width:270px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:5px}table{width:100%;border-collapse:collapse;min-width:1050px}th{padding:10px 12px;text-align:left;color:#727983;background:#f7f8f9;text-transform:uppercase;letter-spacing:.08em;font-size:9px}td{padding:13px 12px;vertical-align:top;border-top:1px solid var(--line);font-size:12px}td>strong,td>span,td>small{display:block}td>strong{margin-bottom:4px}td>span{color:var(--muted);line-height:1.45}td>small{max-width:260px;margin-top:7px;padding-top:7px;border-top:1px dashed var(--line);color:#777;font-style:italic}.contact-pill{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:99px;color:#4d5560!important;background:#eef0f2;text-transform:capitalize;font-weight:750}.status-select{min-height:32px;padding:5px 7px;font-size:11px;font-weight:750}.status-select.requested{background:#fff7df}.status-select.confirmed{background:#edfaf2}.status-select.cancelled{background:#fff0ef}.calendar-actions{display:flex;gap:6px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(100px,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.weekday{padding:8px;color:var(--muted);background:#f6f7f8;border-right:1px solid var(--line);text-align:center;text-transform:uppercase;font-size:9px;font-weight:800}.calendar-cell{min-height:124px;padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.calendar-cell.blank{background:#fafafa}.day-number{display:block;margin-bottom:8px;color:#6f7680;font-size:11px;font-weight:800}.calendar-booking{display:grid;gap:2px;margin-bottom:5px;padding:7px;border-left:3px solid var(--gold);border-radius:3px;background:#fff7df;font-size:10px;overflow:hidden}.calendar-booking.confirmed{border-color:#2e8b57;background:#edf8f1}.calendar-booking span{color:var(--muted)}.calendar-cell.has-bookings{background:linear-gradient(145deg,#fffdf7,#fff)}.calendar-cell.has-bookings .day-number{color:#8a6512}.admin-booking-panel{max-width:1120px}.confirmed-note{padding:7px 10px;border-radius:99px;color:#17643a;background:#e5f7ec;font-size:11px;font-weight:750}.admin-booking-form{display:grid;gap:16px}.admin-booking-form fieldset{margin:0;padding:18px;border:1px solid var(--line);border-radius:6px}.admin-booking-form legend{padding:0 8px;color:#8b6818;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:850}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.admin-notes{grid-column:1 / -1}.admin-submit{justify-self:start;min-width:220px;padding:10px 16px}.success-box{padding:12px 14px;border:1px solid #a8dbb9;border-radius:5px;color:#17643a;background:#effbf3}.money-input{display:grid;grid-template-columns:auto 1fr;align-items:center;min-height:40px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}.money-input:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px #d3a0291f}.money-input>span{padding-left:12px;color:#765814;font-size:16px}.money-input input{width:100%;border:0;box-shadow:none!important}.created-payment{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;border:1px solid #d9bd72;border-radius:6px;background:#fff9e8}.created-payment>div:first-child{display:grid;gap:4px}.created-payment>div:first-child span{color:var(--muted);font-size:12px}.payment-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.created-payment .payment-actions{justify-content:flex-end;margin-top:0}.payment-actions button{min-height:34px;padding:7px 10px;border-radius:5px;font-size:11px;font-weight:800}.payment-open{border:0;color:#171717;background:linear-gradient(135deg,#efcb67,#c58c13)}.payment-send{border:1px solid #bd8b18;color:#684b08;background:#fff}.payment-actions button:disabled{cursor:wait;opacity:.65}.payment-feedback{flex-basis:100%;max-width:none!important;margin:0!important;padding:0!important;border:0!important;color:#666!important;font-style:normal!important}.table-wrap .payment-actions{min-width:210px}.table-wrap .payment-actions button{width:100%}.pricing-layout{display:grid;gap:16px;max-width:1280px}.owner-review{padding:14px 16px;border:1px solid #e4bd62;border-left:4px solid #c18a13;color:#684b08;background:#fff8e5;font-weight:700}.pricing-config{display:grid;gap:18px}.pricing-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pricing-config fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:6px}.pricing-config legend{padding:0 7px;color:#8b6818;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:850}.rule-json-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rule-json-grid textarea{min-height:260px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.rules-panel{display:grid;gap:18px}.compact-admin-form{display:grid;grid-template-columns:1.2fr repeat(4,minmax(120px,.8fr)) auto auto;gap:8px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:6px;background:#fafafa}.compact-admin-form h3{grid-column:1/-1;margin:0;font-family:Georgia,serif}.inline-check{display:flex;align-items:center;gap:6px;white-space:nowrap}.inline-check input{min-height:0}.rule-list{display:grid;border-top:1px solid var(--line)}.rule-list article{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 4px;border-bottom:1px solid var(--line)}.rule-list article>div{display:grid;gap:3px}.rule-list span{color:var(--muted);font-size:11px}.rule-list button{min-height:32px;padding:6px 10px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:11px;font-weight:700}.audit-panel .rule-list{max-height:360px;overflow:auto}@media(max-width:960px){.app-shell{grid-template-columns:72px 1fr}.sidebar{padding-inline:8px}.brand-block{height:78px;margin-inline:-8px}.brand-block img{width:66px;height:auto}.sidebar button{grid-template-columns:1fr;justify-items:center;padding:9px}.sidebar button span,.sidebar-bottom>span{display:none}.stats-grid{grid-template-columns:repeat(2,1fr)}.main-panel{padding:18px}.panel-head{align-items:flex-start;flex-direction:column}.filters,.filters input{width:100%}}@media(max-width:640px){.main-panel{padding:13px}.page-header{align-items:flex-start;flex-direction:column}.vehicle-chip{display:none}.stats-grid{grid-template-columns:1fr 1fr}.stat-card{padding:13px}.filters{flex-direction:column}.calendar-panel{overflow:hidden}.calendar-grid{overflow:auto;grid-template-columns:repeat(7,100px)}.panel{padding:13px}.admin-form-grid{grid-template-columns:1fr}.admin-notes{grid-column:1}.confirmed-note{white-space:normal}.created-payment{align-items:stretch;flex-direction:column}.created-payment .payment-actions{justify-content:stretch}.created-payment .payment-actions button{flex:1}}@media(max-width:1100px){.pricing-groups,.rule-json-grid{grid-template-columns:1fr}.compact-admin-form{grid-template-columns:1fr 1fr}}@media(max-width:640px){.compact-admin-form{grid-template-columns:1fr}.rule-list article{align-items:flex-start;flex-direction:column}}.promotion-admin-layout{display:grid;gap:16px;max-width:1280px}.promotion-builder{display:grid;gap:18px}.promotion-builder fieldset{margin:0;padding:16px;border:1px solid var(--line);border-radius:6px}.promotion-builder legend{padding:0 7px;color:#8b6818;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:850}.promotion-floor{align-self:end;min-height:40px;padding:10px;border:1px solid var(--line);border-radius:6px;background:#fafafa}.campaign-list{display:grid;border-top:1px solid var(--line)}.campaign-list article{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.5fr) auto;gap:20px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line)}.campaign-summary,.campaign-details{display:grid;gap:5px}.campaign-summary code{width:max-content;padding:4px 7px;border:1px solid #dfd5b8;border-radius:4px;color:#6d5110;background:#fff9e8;font-weight:800;letter-spacing:.08em}.campaign-summary span,.campaign-details span{color:var(--muted);font-size:11px}.campaign-kind{width:max-content;padding:3px 7px;border-radius:99px;color:#5c6570!important;background:#edf0f2;text-transform:uppercase;letter-spacing:.08em;font-size:9px!important;font-weight:800}.campaign-kind.automatic{color:#725310!important;background:#fff0c2}.campaign-list article>button{min-height:34px;padding:7px 11px;border:1px solid var(--line);border-radius:5px;background:#fff;font-weight:700}@media(max-width:850px){.campaign-list article{grid-template-columns:1fr}.campaign-list article>button{justify-self:start}}.status.payment_pending{color:#6d561a;background:#f5edcf}.table-wrap table{min-width:1280px}.payment-pill{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:99px;color:#4d5560!important;background:#eef0f2;text-transform:capitalize;font-weight:750}.payment-pill.paid{color:#17643a!important;background:#dff5e8}.payment-pill.checkout_pending{color:#795c16!important;background:#fff3ce}.payment-pill.failed,.payment-pill.expired{color:#873d39!important;background:#f9e5e4}.payment-amount{margin-top:7px}.stripe-id{max-width:220px!important;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px!important;font-style:normal!important}.status-select.payment_pending{background:#fff8df}
