@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap";:root{color:#18201c;font-synthesis:none;text-rendering:optimizelegibility;background:#f2f5f1;font-family:DM Sans,sans-serif}body{min-width:320px;min-height:100vh;margin:0}h1,h2,h3,p{letter-spacing:0}button{border-radius:3px}a{color:inherit}::selection{background:#b9d8cc}body{--green:#2563eb;--green-2:#1d4ed8;--wash:#f3f6ff;--line:#d8dee8}.client-auth>section{background:linear-gradient(145deg,#273550,#1d4ed8)}.client-dashboard>header{background:#273550}.client-hero{background:#2563eb}.client-brand svg,.vehicle-grid article>svg,.appointment-list svg,.booking-widget .eyebrow,.warranty.active{color:#2563eb}.booking-widget{border-top-color:#2563eb}.portal-admin{width:min(980px,100%)}.portal-tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:20px;display:flex;overflow:auto}.portal-tabs button{white-space:nowrap;cursor:pointer;color:var(--muted);background:0 0;border:0;padding:11px 14px;font-weight:700}.portal-tabs button.active{color:var(--green);box-shadow:inset 0 -3px var(--green)}.admin-section>p{color:var(--muted);font-size:13px}.admin-form{background:#f5f7f4;grid-template-columns:1.5fr 1fr auto;align-items:end;gap:10px;padding:16px;display:grid}.admin-form.grid{grid-template-columns:repeat(2,1fr)}.admin-form label{margin:0}.admin-form input[type=checkbox]{width:auto}.admin-form button{min-height:41px}.admin-list{gap:1px;max-height:240px;margin-top:16px;display:grid;overflow:auto}.admin-list>div{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px;display:flex}.admin-list svg{color:var(--green);width:20px}.admin-list span{display:grid}.admin-list small{color:var(--muted)}.client-brand{align-items:center;gap:9px;display:flex}.client-brand svg{color:#56a083}.client-brand strong{font-size:19px}.client-brand span{text-transform:uppercase;letter-spacing:.12em;border-left:1px solid #fff4;padding-left:10px;font-size:11px}.client-auth{background:#edf1ec;grid-template-columns:1.2fr minmax(380px,.8fr);min-height:100vh;display:grid}.client-auth>section{color:#fff;background:linear-gradient(145deg,#112e25,#176047);flex-direction:column;justify-content:center;padding:clamp(40px,8vw,120px);display:flex}.client-auth>section .eyebrow{color:#9fd4c1;margin-top:auto}.client-auth h1{margin:12px 0 24px;font-family:Georgia,serif;font-size:clamp(44px,6vw,78px);font-weight:500;line-height:1}.client-auth>section>p:last-child{color:#c5d8d0;max-width:560px;margin-bottom:auto}.client-auth form{background:#fff;flex-direction:column;justify-content:center;padding:clamp(40px,7vw,90px);display:flex}.client-auth form>svg{color:var(--green);width:34px;height:34px}.client-auth form h2{font-family:Georgia,serif;font-size:30px}.client-auth form label{gap:6px;margin-bottom:13px;font-size:12px;font-weight:700;display:grid}.text-button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:14px;font-weight:700}.client-dashboard{background:#eef2ee;min-height:100vh}.client-dashboard>header{color:#fff;background:#15241e;justify-content:space-between;align-items:center;height:72px;padding:0 clamp(20px,6vw,80px);display:flex}.client-dashboard>header>div:last-child{align-items:center;gap:12px;display:flex}.client-dashboard>header .icon-button{color:#fff}.client-hero{color:#fff;background:#174c3b;justify-content:space-between;align-items:center;gap:30px;padding:38px clamp(20px,6vw,80px);display:flex}.client-hero h1{margin:8px 0;font-family:Georgia,serif;font-size:clamp(36px,5vw,60px);font-weight:500}.client-hero>div:first-child>p:last-child{color:#c7d9d2}.member-pass{color:#263029;background:#e8c46d;grid-template-columns:1fr auto;width:290px;min-height:165px;padding:22px;display:grid;box-shadow:0 15px 30px #0c241a55}.member-pass svg{grid-row:1/4;align-self:end;width:42px;height:42px}.member-pass span,.member-pass strong,.member-pass small{text-align:right;grid-column:2}.member-pass span{letter-spacing:.15em;font-size:10px}.member-pass strong{font-family:Georgia,serif;font-size:23px}.muted-pass{background:#d9e1dc}.client-content{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:30px;padding:34px clamp(20px,6vw,80px) 80px;display:grid}.client-main>h2,.booking-widget h2{margin:25px 0 14px;font-family:Georgia,serif;font-size:25px;font-weight:500}.client-main>h2:first-child{margin-top:0}.vehicle-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.vehicle-grid article{border:1px solid var(--line);background:#fff;grid-template-columns:auto 1fr;gap:12px;padding:18px;display:grid}.vehicle-grid article>svg{color:var(--green)}.vehicle-grid h3{margin:3px 0;font-size:18px}.vehicle-grid p{color:var(--muted);margin:0;font-size:12px}.vehicle-grid article>div>span{letter-spacing:.12em;font-size:11px;font-weight:800}.warranty{border-top:1px solid var(--line);color:#8a3b2f;grid-column:1/-1;align-items:center;gap:7px;padding-top:12px;font-size:12px;font-weight:700;display:flex}.warranty svg{width:17px}.warranty small{margin-left:auto}.warranty.active{color:var(--green)}.offer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.offer-grid article{background:#fff;border-top:3px solid #d2a53d;flex-direction:column;min-height:210px;padding:17px;display:flex}.offer-grid svg{color:#b58418}.offer-grid>article>span{color:#9b7115;margin-top:10px;font-size:10px;font-weight:800}.offer-grid h3{margin:5px 0;font-size:17px}.offer-grid p{color:var(--muted);flex:1;font-size:12px}.offer-grid code{background:#f5ecd5;align-self:start;padding:5px 8px}.offer-grid small{color:var(--muted);margin-top:10px}.appointment-list{border:1px solid var(--line);background:#fff}.appointment-list>div{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px;display:flex}.appointment-list svg{color:var(--green);width:20px}.appointment-list span{flex:1;display:grid}.appointment-list small{color:var(--muted)}.booking-widget{border-top:4px solid var(--green);background:#fff;padding:22px;position:sticky;top:20px;box-shadow:0 10px 30px #18312410}.booking-widget label{gap:6px;margin-bottom:14px;font-size:12px;font-weight:700;display:grid}.client-popup{z-index:30;background:#fff;border-top:4px solid #d2a53d;width:min(370px,100vw - 32px);padding:22px;position:fixed;top:92px;right:24px;box-shadow:0 20px 60px #0003}.client-popup>button{cursor:pointer;background:0 0;border:0;position:absolute;top:8px;right:8px}.client-popup>svg{color:#b58418}.client-popup h2{font-family:Georgia,serif}.client-popup .primary{text-decoration:none}.empty-state{border:1px dashed var(--line);color:var(--muted);background:#fff;padding:18px;font-size:13px}@media (width<=900px){.client-auth{grid-template-columns:1fr}.client-auth>section{min-height:360px}.client-content{grid-template-columns:1fr}.booking-widget{position:static}.offer-grid,.admin-form,.admin-form.grid{grid-template-columns:1fr 1fr}}@media (width<=600px){.client-auth>section,.client-auth form{padding:38px 22px}.client-dashboard>header{padding:0 14px}.client-dashboard>header>div:last-child>span{display:none}.client-hero{padding:34px 20px;display:block}.member-pass{width:100%;margin-top:25px}.client-content{padding:24px 14px 60px}.vehicle-grid,.offer-grid,.admin-form,.admin-form.grid{grid-template-columns:1fr}.portal-admin{padding:15px}.client-brand span{display:none}}:root{--ink:#18201c;--muted:#68736d;--line:#d9dfda;--paper:#fff;--wash:#f2f5f1;--green:#164c3b;--green-2:#226b53;--red:#b42318}*{box-sizing:border-box}button,input,select,textarea{font:inherit}.loading-screen{min-height:100vh;color:var(--green);place-content:center;gap:12px;font-weight:700;display:grid}.auth-page{background:#eef1ed;grid-template-columns:140px minmax(420px,600px) 1fr;min-height:100vh;display:grid}.auth-mark{color:var(--green);writing-mode:vertical-rl;align-items:flex-start;gap:10px;padding:34px 24px;font-weight:800;display:flex}.auth-panel{background:#fff;flex-direction:column;justify-content:center;padding:clamp(48px,9vh,100px) clamp(40px,7vw,90px);display:flex}.auth-panel h1,.booking-copy h1{margin:8px 0 44px;font-family:Georgia,serif;font-size:clamp(42px,5vw,68px);font-weight:500;line-height:1.02}.auth-panel label,.booking-form label,.modal label{color:#435048;gap:7px;margin-bottom:17px;font-size:12px;font-weight:700;display:grid}.auth-panel a{text-align:center;color:var(--green);margin-top:20px}.auth-aside{color:#fff;background:linear-gradient(160deg,#143e31,#1c5a45);place-content:center;display:grid}.auth-aside div{text-align:center;display:grid}.auth-aside span{letter-spacing:.22em}.auth-aside strong{font-family:Georgia,serif;font-size:140px;line-height:1}.auth-aside p{text-transform:capitalize}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--green);margin:0;font-size:10px;font-weight:800}.primary,.secondary,.icon-button,.danger-link,.slot{cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.primary{background:var(--green);color:#fff;padding:11px 16px;font-weight:750}.primary:hover{background:var(--green-2)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff;padding:10px 15px;font-weight:700}.wide{width:100%}.icon-button{width:38px;height:38px;color:var(--muted);background:0 0}input,select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:3px;outline:none;padding:11px 12px}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 2px #164c3b1a}.app-shell{background:var(--wash);grid-template-columns:220px 1fr;min-height:100vh;display:grid}aside{background:var(--ink);color:#fff;flex-direction:column;min-height:100vh;padding:22px 14px;display:flex}.brand{align-items:center;gap:10px;padding:6px 10px;font-size:20px;display:flex}.brand svg{color:#7fb9a5}aside nav{gap:4px;margin-top:42px;display:grid}aside nav button,aside nav a{color:#aab3ae;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:11px;padding:11px 12px;text-decoration:none;display:flex}aside nav button:hover,aside nav a:hover,aside nav .active{color:#fff;background:#ffffff12}aside nav svg{width:18px}.user-card{border-top:1px solid #ffffff1a;align-items:center;gap:9px;margin-top:auto;padding:18px 4px 2px;display:flex}.avatar{background:#2d6652;place-content:center;width:34px;height:34px;font-size:11px;font-weight:800;display:grid}.user-card>div:nth-child(2){min-width:0;display:grid}.user-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.user-card span{color:#8e9b94;text-transform:capitalize;font-size:10px}.user-card .icon-button{color:#aab3ae;margin-left:auto}.workspace{min-width:0;padding:28px}.topbar{justify-content:space-between;align-items:end;gap:20px;display:flex}.topbar h1{margin:4px 0 0;font-family:Georgia,serif;font-size:34px;font-weight:500}.top-actions{align-items:center;gap:8px;display:flex}.top-actions select{width:210px}.metrics{gap:1px;margin:22px 0 14px;display:flex}.metrics>div{border:1px solid var(--line);background:#fff;align-items:center;gap:8px;padding:9px 14px;font-size:12px;display:flex}.metrics svg{width:16px;color:var(--green)}.metrics strong{font-size:16px}.calendar-panel{border:1px solid var(--line);background:#fff;padding:18px;box-shadow:0 8px 30px #1c30250a}.fc{--fc-border-color:#e1e5e1;--fc-button-bg-color:#164c3b;--fc-button-border-color:#164c3b;--fc-button-hover-bg-color:#226b53;--fc-button-active-bg-color:#0f382b;font-size:13px}.fc .fc-toolbar-title{text-transform:capitalize;font-family:Georgia,serif;font-size:22px}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:var(--ink);text-decoration:none}.fc-event{cursor:pointer;padding:2px 4px;border:0!important}.modal-backdrop{z-index:20;background:#111a16aa;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border-top:4px solid var(--green);background:#fff;width:min(720px,100%);max-height:92vh;padding:22px;overflow:auto;box-shadow:0 30px 80px #0004}.modal.compact{width:min(540px,100%)}.modal.settings-modal{width:min(960px,100%)}.modal>header{justify-content:space-between;align-items:start;margin-bottom:22px;display:flex}.modal h2{margin:3px 0;font-family:Georgia,serif;font-size:28px}.modal h3{margin:0 0 15px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:0 14px;display:grid}.span-2{grid-column:1/-1}.modal footer{align-items:center;gap:8px;margin-top:8px;display:flex}.modal footer span{flex:1}.danger-link{color:var(--red);background:0 0;padding:10px 0;font-weight:700}.error-text{color:var(--red);font-size:12px}.error-banner,.notice{color:#624814;background:#fff7df;border:1px solid #ecd69c;padding:10px 12px}.error-banner{justify-content:space-between;margin-bottom:12px;display:flex}.error-banner button{background:0 0;border:0}.import-drop{text-align:center;background:#f6f8f5;border:1px dashed #9aa79f;place-items:center;gap:6px;margin-bottom:18px;padding:28px;display:grid}.import-drop p{color:var(--muted);margin:0;font-size:12px}.import-drop input{background:#fff;margin-top:8px}.settings-columns{grid-template-columns:1.2fr .8fr;gap:30px;display:grid}.inline-form{grid-template-columns:1.1fr .8fr .8fr auto;gap:6px;display:grid}.inline-form.vertical{grid-template-columns:1fr 1fr auto}.rule-list{max-height:300px;margin:14px 0;padding:0;list-style:none;overflow:auto}.rule-list li{border-bottom:1px solid var(--line);justify-content:space-between;padding:9px;font-size:12px;display:flex}.rule-list span{color:var(--muted)}.public-page{background:#edf1ec;min-height:100vh}.public-page>header{justify-content:space-between;align-items:center;height:74px;padding:0 clamp(24px,7vw,100px);display:flex}.public-page>header a{color:var(--green)}.booking-layout{grid-template-columns:1fr minmax(400px,560px);min-height:calc(100vh - 74px);display:grid}.booking-copy{background:var(--green);color:#fff;padding:clamp(50px,10vw,140px);position:relative}.booking-copy .eyebrow{color:#9cd2bf}.booking-copy h1{margin-bottom:24px}.booking-copy>p{color:#c7d8d1;max-width:500px}.booking-date{display:grid;position:absolute;bottom:50px}.booking-date span,.booking-date small{text-transform:capitalize}.booking-date strong{font-family:Georgia,serif;font-size:80px;line-height:.9}.booking-form{background:#fff;padding:clamp(40px,7vw,90px)}.booking-form h2{margin:0 0 28px;font-family:Georgia,serif;font-size:28px}.field-label{margin-bottom:8px;font-size:12px;font-weight:700;display:block}.slot-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:18px;display:grid}.slot{border:1px solid var(--line);background:#f1f4f1;padding:9px}.slot.active{background:var(--green);color:#fff}.two-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.muted{color:var(--muted);grid-column:1/-1;font-size:12px}@media (width<=900px){.app-shell{grid-template-columns:72px 1fr}aside .brand strong,aside nav button:not(.active),aside nav a,.user-card>div:nth-child(2){display:none}aside .brand,aside nav .active{justify-content:center}.workspace{padding:18px}.topbar{align-items:start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.metrics{overflow:auto}.booking-layout{grid-template-columns:1fr}.booking-copy{min-height:360px}.auth-page{grid-template-columns:1fr}.auth-mark,.auth-aside{display:none}.settings-columns{grid-template-columns:1fr}}@media (width<=620px){.app-shell{display:block}.app-shell>aside{z-index:10;flex-direction:row;height:64px;min-height:auto;padding:10px;position:sticky;top:0}aside nav{display:none}.user-card{border:0;margin:0 0 0 auto;padding:0}.workspace{padding:12px}.topbar{display:block}.top-actions{justify-content:start;margin-top:14px}.top-actions select{width:100%}.metrics{margin-top:14px}.form-grid,.settings-columns,.two-fields{grid-template-columns:1fr}.span-2{grid-column:auto}.slot-grid{grid-template-columns:repeat(3,1fr)}.booking-copy{padding:48px 24px}.booking-form{padding:38px 24px}.auth-panel{padding:50px 24px}.inline-form,.inline-form.vertical{grid-template-columns:1fr 1fr}.inline-form button{grid-column:1/-1}}body.crm-embedded{--ink:#0f172a;--muted:#64748b;--line:#d8dee8;--wash:#f3f6ff;--green:#2563eb;--green-2:#1d4ed8;background:var(--wash)}body.crm-embedded .app-shell{background:var(--wash);min-height:100vh;display:block}body.crm-embedded .app-shell>aside{display:none}body.crm-embedded .workspace{padding:18px}body.crm-embedded .calendar-panel{box-shadow:0 18px 45px #0f172a0d}body.crm-embedded .fc{--fc-button-bg-color:#2563eb;--fc-button-border-color:#2563eb;--fc-button-hover-bg-color:#1d4ed8;--fc-button-active-bg-color:#1d4ed8}body.crm-embedded .primary{background:#2563eb}body.crm-embedded .primary:hover{background:#1d4ed8}@media (width<=620px){body.crm-embedded .workspace{padding:10px}}
