/* Isolate legacy site styles below the shared workspace system. */
@layer print-ui,legacy;
@import url('/styles.20261019r24.css?v=20261018c1') layer(legacy);
@layer print-ui{@media print{.portal-page .journal-print,.portal-page .journal-print *{visibility:visible!important}}}
/* Samodrive workspace design system. Shared tokens, controls and layouts. */
:root{--sd-ink:#17252b;--sd-muted:#53646d;--sd-accent:#ffd34d;--sd-line:#dce2e6;--sd-surface:#fff;--sd-canvas:#f4f6f8;--sd-good:#146744;--sd-danger:#b42318;--sd-radius:16px;--sd-shadow:0 6px 24px #17252b08;--sd-space:24px}
body.portal-page,body.owner-page{margin:0;min-width:0;background:var(--sd-canvas);color:var(--sd-ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;letter-spacing:0}
.portal-page::before,.owner-page::before{display:none}
:is(.portal-page,.owner-page) *{box-sizing:border-box;min-width:0}
:is(.portal-page,.owner-page) [hidden]{display:none!important}
:is(.portal-page,.owner-page) h1{font-size:30px;line-height:1.2;letter-spacing:-.7px;margin:0 0 8px}
:is(.portal-page,.owner-page) h2{font-size:21px;line-height:1.3;margin:0 0 14px;letter-spacing:-.3px}
:is(.portal-page,.owner-page) h3{font-size:17px;margin:0 0 8px}
:is(.portal-page,.owner-page) p{margin:0 0 12px}
:is(.portal-page,.owner-page) small{font-size:13px;color:var(--sd-muted);line-height:1.45}
:is(.portal-page,.owner-page) a{color:inherit;text-underline-offset:3px}
:is(.portal-page,.owner-page) button,:is(.portal-page,.owner-page) input,:is(.portal-page,.owner-page) select,:is(.portal-page,.owner-page) textarea{font:inherit}
:is(.portal-page,.owner-page) button{cursor:pointer}
:is(.portal-page,.owner-page) button:disabled{cursor:default;opacity:.55}
:is(.portal-page,.owner-page) :focus-visible{outline:3px solid #825b00;outline-offset:3px}
:is(.portal-page,.owner-page) .shell{width:min(1280px,calc(100% - 48px));max-width:1280px;margin:auto}
:is(.portal-page,.owner-page) .band{padding:28px 0 48px;min-height:0;background:none}
:is(.portal-page,.owner-page) .section-label{font-size:12px;letter-spacing:.07em;font-weight:700;text-transform:uppercase;color:var(--sd-muted)}
:is(.portal-page,.owner-page) .supporting-copy,:is(.portal-page,.owner-page) .owner-report-note{font-size:14px;color:var(--sd-muted);line-height:1.55}
:is(.portal-page,.owner-page) .button,:is(.portal-page,.owner-page) button:not(.client-tabs button):not(.owner-navigation button):not([data-report-view]):not(.sd-schedule button):not(.sd-vehicle-select){min-height:44px;border-radius:10px;padding:10px 16px;border:1px solid var(--sd-line);background:white;color:var(--sd-ink);font-size:14px;line-height:1.4;box-shadow:none;text-decoration:none;font-weight:600;transition:background .12s,border-color .12s}
:is(.portal-page,.owner-page) .button--primary{background:var(--sd-accent)!important;color:var(--sd-ink)!important;border-color:var(--sd-accent)!important}
:is(.portal-page,.owner-page) .button:hover,:is(.portal-page,.owner-page) button:hover{filter:brightness(.98)}
:is(.portal-page,.owner-page) .button--ghost{background:white;color:var(--sd-ink)}
:is(.portal-page,.owner-page) .field{display:grid;gap:7px;margin:0}
:is(.portal-page,.owner-page) .field__label,:is(.portal-page,.owner-page) label>span:first-child{font-size:14px;font-weight:600}
:is(.portal-page,.owner-page) .field__control,:is(.portal-page,.owner-page) input:not([type=checkbox]):not([type=hidden]),:is(.portal-page,.owner-page) select,:is(.portal-page,.owner-page) textarea{width:100%;min-height:46px;padding:11px 12px;border:1px solid #a9b5bc;border-radius:10px;background:white;color:var(--sd-ink);font-size:15px;box-shadow:none}
:is(.portal-page,.owner-page) input[type=checkbox]{width:22px;height:22px;accent-color:#17252b;flex:none;cursor:pointer}
:is(.portal-page,.owner-page) label:has(>input[type=checkbox]){display:flex;align-items:center;gap:12px;min-height:48px}
:is(.portal-page,.owner-page) .portal-card,:is(.portal-page,.owner-page) .owner-insights,:is(.portal-page,.owner-page) .owner-chart{border:1px solid var(--sd-line);border-radius:var(--sd-radius);background:white;padding:24px;box-shadow:var(--sd-shadow);margin:0}
:is(.portal-page,.owner-page) .profile-grid,:is(.portal-page,.owner-page) .form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0}
.field--full{grid-column:1/-1}.sd-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sd-stack{display:grid;gap:18px}.sd-split{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}
.sd-status{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:7px;background:#edf1f4;color:#344952;font-size:12px;font-weight:650;white-space:normal;line-height:1.3}
.sd-status--good{background:#e8f5ee;color:#146744}.sd-status--warning{background:#fff1cb;color:#744d00}.sd-status--danger{background:#fdebe8;color:#9e241b}
.sd-empty,.booking-empty{padding:28px 18px;border:1px dashed #b9c5cc;border-radius:12px;background:#fafbfc;color:var(--sd-muted);text-align:center}.sd-empty strong{color:var(--sd-ink);display:block;font-size:16px}.sd-empty p{margin:6px 0 0}
.sd-pages{display:flex;align-items:center;justify-content:center;gap:14px;padding:18px 0 0;grid-column:1/-1}.sd-pages span{font-size:13px;color:var(--sd-muted)}
.sd-dialog,.owner-customer-dialog{width:min(760px,calc(100% - 24px));max-width:900px;max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--sd-line);border-radius:20px;background:white;color:var(--sd-ink);box-shadow:0 24px 90px #0d202c40;overflow:auto}
dialog::backdrop{background:#15212788;backdrop-filter:blur(3px)}
.sd-dialog-head,.owner-customer-dialog__head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--sd-line);position:sticky;top:0;z-index:2;background:white}.sd-dialog-head h2{margin:0;font-size:21px}.sd-dialog-body,.owner-customer-dialog__body{padding:24px;display:grid;gap:18px}.sd-dialog-head button{font-size:24px!important;padding:4px 12px!important}.sd-confirm-copy{font-size:16px;line-height:1.7}
.owner-message,.form-result{border:1px solid var(--sd-line);padding:14px 16px;border-radius:10px;background:#edf6f0;color:var(--sd-good);font-size:14px}.owner-message--error{background:#fdebe8;color:var(--sd-danger);border-color:#e8b8b2}
.sd-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:5px;background:#e8edf0;border-radius:12px;margin-bottom:18px}.sd-tabs button{border:0!important;background:transparent!important;box-shadow:none;padding:9px 16px!important;flex:1;white-space:nowrap}.sd-tabs button.is-active{background:white!important;box-shadow:0 1px 4px #17252b12}
.sd-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:0 0 18px}.sd-toolbar>.field{flex:1 1 160px}.sd-toolbar>.field:first-child{flex-basis:240px}
.sd-table{display:grid;background:white;border:1px solid var(--sd-line);border-radius:14px;overflow:hidden}.sd-row{display:grid;grid-template-columns:1.1fr 1fr 1.3fr .9fr .7fr .7fr .7fr;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--sd-line);font-size:14px}.sd-row:last-child{border:0}.sd-row>div{display:grid;gap:3px}.sd-row--head{background:#f9fafb;color:var(--sd-muted);font-size:12px;font-weight:650}.sd-row small{font-size:12px}.sd-row button{padding:8px 10px!important}.sd-client-row{grid-template-columns:1.4fr 1.2fr 1fr .5fr .6fr .6fr .7fr}
/* Customer workspace */
.portal-page .client-topbar{position:static;background:var(--sd-ink);border:0;box-shadow:none;backdrop-filter:none;color:white}
.portal-page .client-topbar .topbar__inner{display:flex;min-height:76px;padding:12px 0;gap:24px;justify-content:space-between}
.portal-page .brand{gap:10px}.portal-page .brand__mark{width:42px;height:42px;object-fit:contain}.portal-page .brand__name{font-size:21px;letter-spacing:0;color:white}.portal-page .brand__subtitle{color:#d9e0e4;font-size:11px;display:block}
.portal-page .client-topbar__address{display:grid;font-size:13px;text-decoration:none}.portal-page .client-topbar__address span{color:#d9e0e4;font-size:12px}
.portal-page .topbar__actions--clean{display:flex;align-items:center;gap:18px}.portal-page .client-account-link{padding:9px 13px;border:1px solid #68777f;border-radius:9px;color:white;text-decoration:none}.client-help summary{display:flex;gap:7px;align-items:center;cursor:pointer}.client-help summary svg{width:20px;height:20px;fill:none;stroke:currentColor}.client-help__menu{z-index:20;background:white;color:var(--sd-ink);border:1px solid var(--sd-line);border-radius:12px;padding:16px}
.portal-page .client-tabs{position:relative;top:auto;display:flex;align-items:center;gap:8px;background:none;border:0;border-bottom:1px solid var(--sd-line);border-radius:0;margin:-10px 0 0;padding:0;box-shadow:none;overflow:visible;backdrop-filter:none}
.portal-page .client-tabs button{position:relative;display:flex;align-items:center;gap:8px;min-height:56px;padding:12px 18px;border:0;border-radius:0;background:none;color:var(--sd-muted);font-size:14px;font-weight:600;box-shadow:none}.portal-page .client-tabs button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.portal-page .client-tabs button.is-active{background:none;color:var(--sd-ink)}.portal-page .client-tabs button.is-active::after{content:"";position:absolute;height:3px;background:#b58200;bottom:-1px;left:16px;right:16px;border-radius:3px}.portal-page .client-tabs>a{margin-left:auto;font-size:13px;padding:12px}
.portal-page #profilePanel{display:block}.portal-page .profile-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0}.portal-page .profile-head .section-title{font-size:28px;margin:0 0 4px}.member-chip{font-size:12px;padding:6px 10px;border-radius:30px;background:#e7eeec;color:#245d45;white-space:nowrap}.portal-page .client-panel{display:none;padding:0;margin:0}.portal-page .client-panel.is-active{display:block}.portal-page .client-panel.is-active+.client-panel.is-active{margin-top:20px}
.portal-page .client-home-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:20px;align-items:start}.portal-page .client-booking-hero{background:white!important;color:var(--sd-ink)!important;padding:26px;min-height:0;box-shadow:var(--sd-shadow);border:1px solid var(--sd-line)}
.visit-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}.visit-caption .section-label{font-size:12px}.sd-visit-heading{display:flex;justify-content:space-between;gap:18px;align-items:center}.sd-visit-date{font-size:24px;font-weight:700;letter-spacing:-.4px}.sd-visit-clock{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.8px;margin:8px 0}.sd-visit-clock small{font-weight:400;letter-spacing:0}.sd-visit-resource{display:flex;align-items:center;gap:14px;margin:20px 0}.sd-visit-resource .sd-resource-icon{display:grid;place-items:center;width:48px;height:48px;background:#f2f4f6;border-radius:12px;font-size:22px}.sd-visit-resource strong{display:block}.sd-visit-price strong{font-size:24px;white-space:nowrap}.sd-visit-price{display:grid;gap:2px}.sd-visit-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;border-top:1px solid var(--sd-line);padding-top:18px}
.portal-page .booking-countdown{border:0;background:#edf6f0;border-radius:10px;padding:12px 16px;margin:14px 0;display:flex;gap:12px;align-items:center;justify-content:space-between;color:#146744;min-height:0}.portal-page .booking-countdown strong{font-size:22px}.portal-page .booking-countdown small{color:#245d45}.portal-page .booking-countdown__track{display:none}
.portal-page .loyalty-dashboard{display:grid;gap:0}.portal-page .loyalty-main{padding:24px;background:white;border:1px solid var(--sd-line);border-radius:16px;color:var(--sd-ink);box-shadow:var(--sd-shadow);min-height:0}.portal-page .loyalty-main h2{font-size:21px;margin:10px 0}.portal-page .loyalty-track{height:8px;margin:18px 0 12px;border-radius:6px;background:#e7edf0}.portal-page .loyalty-track i{background:#917000}.portal-page .loyalty-details{margin-top:12px}.portal-page .loyalty-secondary{display:none}.portal-page .loyalty-rules{display:none}
.portal-page .client-home-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.portal-page .client-home-actions>a{display:flex;gap:12px;align-items:center;border:1px solid var(--sd-line);background:white;border-radius:12px;padding:16px;text-decoration:none}.portal-page .client-home-actions>a>span{font-size:22px}.portal-page .client-home-actions strong{font-size:14px}.portal-page .client-home-actions small{display:block;font-size:12px}.portal-page .client-preparation{display:flex;align-items:center;gap:12px;padding:16px 0;font-size:14px;margin:0;color:var(--sd-muted)}.portal-page .client-preparation a{margin-left:auto;white-space:nowrap}.portal-page .client-help-card{display:none}
.sd-booking-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;background:white;border:1px solid var(--sd-line);border-radius:14px;margin-bottom:10px}.sd-booking-row>div{display:grid;gap:5px}.sd-booking-row .sd-booking-cost{margin-left:auto;text-align:right}.sd-booking-row strong{font-size:16px}.portal-page .profile-history{margin-bottom:20px}.portal-page .client-section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.portal-page .client-section-head h2{margin:0}.portal-page .history-item--booking{padding:0;border:0;background:white}.portal-page .booking-card__main{display:grid;gap:14px}.portal-page .booking-card__copy{display:grid;gap:8px}.portal-page .extend-control{margin-top:20px;padding:18px;border:1px solid var(--sd-line);border-radius:12px}.portal-page .extend-control>div{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.portal-page [data-reschedule-booking]{display:grid;gap:12px;padding-top:12px}.portal-page [data-reschedule-booking] label{display:grid;gap:6px}
.portal-page .garage-insights{display:none}.portal-page .garage-profile-grid{display:grid;grid-template-columns:1fr;gap:16px}.portal-page #vehicleList{display:flex;flex-wrap:wrap;gap:10px}.sd-vehicle-select{border:1px solid var(--sd-line);background:white;border-radius:12px;padding:14px 16px;display:flex;gap:12px;align-items:center;text-align:left;min-height:80px;flex:1 1 230px}.sd-vehicle-select.is-active{border:2px solid #8b6a00;background:#fff9e7}.sd-vehicle-select>span{display:grid;gap:3px}.sd-vehicle-select strong{font-size:16px}.sd-vehicle-select img{width:52px;height:42px;object-fit:cover;border-radius:6px}.portal-page .vehicle-editor{border:1px solid var(--sd-line);background:white;border-radius:12px;margin:0}.portal-page .vehicle-editor>summary{padding:14px 18px;min-height:52px;cursor:pointer}.portal-page .vehicle-editor>summary small{margin-left:auto}.portal-page .vehicle-editor__form{border:0;box-shadow:none;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.portal-page .vehicle-editor__form h2{font-size:18px}.portal-page .vehicle-editor__form .client-section-head{grid-column:1/-1}.portal-page [data-client-panel=garage]>.profile-grid{display:block;margin-top:20px}.portal-page .vehicle-journal{border:1px solid var(--sd-line);background:white;border-radius:16px;padding:24px}.sd-journal-head{display:flex;gap:12px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px}.sd-journal-head .field{flex:1}.sd-garage-tools{display:flex;gap:10px;margin:18px 0}.portal-page .maintenance-card{display:grid;grid-template-columns:100px 1fr;gap:16px;border:0;border-bottom:1px solid var(--sd-line);border-radius:0;padding:16px 0;box-shadow:none;margin:0}.portal-page .maintenance-card h3{font-size:16px}.portal-page .maintenance-card__photo{width:72px;height:72px;object-fit:cover}.portal-page .maintenance-card p{font-size:14px;margin:4px 0}.portal-page .maintenance-due{font-size:13px;color:#146744}.sd-plan{padding:16px;border-radius:12px;background:#f2f6f4;margin-bottom:16px}.sd-plan strong{display:block}.journal-print{display:none}
.portal-page .profile-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.portal-page #profileForm{padding:24px;display:grid;gap:6px}.profile-notification-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--sd-line)}.profile-notification-row small{display:block;margin-top:5px}.profile-action-list{display:grid;gap:14px}.profile-action-card{border:1px solid var(--sd-line);border-radius:14px;background:white}.profile-action-card>summary{display:flex;align-items:center;justify-content:space-between;padding:18px;font-weight:650;cursor:pointer;min-height:64px}.profile-action-content{padding:0 18px 18px;display:grid;gap:14px}.profile-action-content>a{display:flex;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--sd-line);border-radius:10px}.portal-page #clientAccountSecurity,.portal-page #ownerVerification,.portal-page #waitlistForm{display:grid;gap:16px}.portal-page #telegramLinkForm,.portal-page #acceptAdminInvitation{display:grid;gap:12px}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.portal-page .cabinet-footer{display:flex;justify-content:space-between;gap:18px;padding:24px 0;font-size:13px;color:var(--sd-muted);margin-top:26px;border-top:1px solid var(--sd-line)}.portal-page .portal-auth{display:grid;gap:20px;max-width:760px;margin:24px auto}.portal-page .auth-grid{display:block}.portal-page .auth-grid form{display:grid;gap:16px}.portal-page .auth-mode-switch{display:flex;gap:18px}.portal-page .loyalty-preview{display:none}.portal-page .auth-card__icon{display:none}.portal-page .portal-loading{padding:40px}
/* Owner workspace */
.owner-page .owner-page__main{max-width:none;margin:0;padding:0}.owner-page .owner-header{background:var(--sd-ink);color:white;border:0;box-shadow:none}.owner-page .owner-header__inner{display:flex;gap:14px;align-items:center;min-height:76px;padding:12px 0}.owner-page .brand__mark{width:44px;height:44px;object-fit:contain}.owner-page .owner-header__copy{display:grid;gap:2px}.owner-page .owner-header__copy strong{font-size:20px}.owner-page .owner-header__copy span{color:#d9e0e4;font-size:12px}.owner-page .owner-shell{display:block}.owner-page .owner-dashboard{display:block}.owner-page .owner-navigation{position:relative;display:flex;flex-wrap:wrap;gap:5px;align-items:center;border:0;border-bottom:1px solid var(--sd-line);border-radius:0;background:none;padding:0;margin:-10px 0 24px;box-shadow:none}.owner-page .owner-navigation button{position:relative;display:flex;gap:7px;align-items:center;min-height:52px;border:0;border-radius:0;color:var(--sd-muted);background:transparent;padding:10px 14px;font-size:14px;font-weight:600;white-space:nowrap}.owner-page .owner-navigation button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.owner-page .owner-navigation button.is-active{color:var(--sd-ink);background:none}.owner-page .owner-navigation button.is-active:after{content:"";position:absolute;bottom:-1px;left:12px;right:12px;height:3px;background:#b58200}.owner-page .owner-more{display:none}.owner-page .owner-view{display:none;padding:0;margin:0}.owner-page .owner-view.is-active{display:grid;gap:20px}.owner-page .owner-command-hero{display:flex;align-items:start;justify-content:space-between;gap:20px;padding:0;background:none;border:0;margin:0}.owner-page .owner-command-hero h2{font-size:28px;margin:0 0 8px}.owner-page .owner-command-hero p{color:var(--sd-muted)}.owner-page .owner-home-grid{display:grid;grid-template-columns:1fr;gap:20px}.owner-page .owner-insights--boxes{padding:0;border:0;background:none;box-shadow:none}.owner-page .owner-insights--boxes>.panel-head{display:none}.owner-page .owner-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.owner-page .owner-box{padding:22px;border-radius:16px;border:1px solid var(--sd-line);background:white;display:grid;gap:12px;box-shadow:var(--sd-shadow)}.owner-page .owner-box__head{display:flex;gap:10px;justify-content:space-between;align-items:start}.owner-page .owner-box__head strong{font-size:18px}.owner-page .owner-box p{font-size:14px;margin:0}.owner-page .owner-box__booking{display:grid;gap:4px;padding:12px;background:#f7f8fa;border-radius:9px}.owner-page .owner-box small{font-size:13px}.owner-page .owner-box .sd-actions{margin-top:6px}.owner-page .owner-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.owner-page .owner-stat{display:flex;flex-direction:column;gap:6px;min-height:0;padding:18px;background:white;border:1px solid var(--sd-line);border-radius:12px;color:var(--sd-ink)}.owner-page .owner-stat strong{font-size:25px;line-height:1.2}.owner-page .owner-stat span{font-size:13px;color:var(--sd-muted)}.owner-page .panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 18px}.owner-page .panel-head h2{margin:0}.owner-page .owner-notification{padding:16px;border-bottom:1px solid var(--sd-line)}.owner-page .owner-notification p{font-size:14px}.owner-page .owner-attention article{display:flex;gap:20px;justify-content:space-between;padding:14px 0}.owner-page .owner-all-clear{display:flex;gap:16px;align-items:center}.owner-page .owner-all-clear>span{font-size:22px;color:var(--sd-good)}.owner-page .owner-caldav-state{font-size:13px;color:var(--sd-muted);padding:8px 12px;background:#edf3f0;border-radius:8px;max-width:320px}.owner-page .owner-sync-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:16px;background:white;border:1px solid var(--sd-line);border-radius:12px;font-size:14px}.owner-page .owner-sync-panel small{display:block}.owner-page .owner-calendar-tools,.owner-page .owner-customer-tools{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.owner-page .owner-calendar-tools .field,.owner-page .owner-customer-tools .field{flex:1}.owner-page .owner-calendar-tools{margin:0}.owner-page .owner-block-form,.owner-page .owner-promo-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;border:1px solid var(--sd-line);border-radius:16px;background:white;margin:0}.owner-page .owner-block-form__actions{display:flex;gap:10px;flex-wrap:wrap}.owner-page .owner-filter-tabs,.owner-page .owner-report-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 16px}.owner-page .owner-filter-tabs button.is-active,.owner-page .owner-report-tabs button.is-active{background:var(--sd-ink);color:white}.owner-page .owner-date-filter{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px;padding:0;background:none;border:0;margin:0 0 18px}.owner-page .owner-date-filter label{display:grid;gap:6px}.owner-page .owner-filter-more{grid-column:1/-1}.owner-page .owner-filter-more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:14px}.owner-page .owner-analytics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}.owner-page .owner-analytics-grid article{padding:18px;background:#f7f9fa;border:1px solid var(--sd-line);border-radius:12px;display:grid;gap:5px}.owner-page .owner-analytics-grid strong{font-size:25px}.owner-page .owner-analytics-grid span{font-size:13px;color:var(--sd-muted)}.owner-page .owner-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.owner-page .owner-periods article{padding:16px;border:1px solid var(--sd-line);border-radius:12px}.owner-page .owner-periods strong{font-size:20px;display:block}.owner-page .owner-report-disclaimer{padding:12px;background:#f5f7f9;border-radius:8px;color:var(--sd-muted);font-size:13px}.owner-page .owner-time-adjustment{margin:0}.owner-page [data-owner-core-form]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 0}.owner-page [data-owner-core-form] label{display:grid;gap:6px}.owner-page [data-owner-core-form] button{grid-column:1/-1}.owner-page .administrator-card{padding:18px;border:1px solid var(--sd-line);border-radius:12px;margin:12px 0;background:white}.owner-page .admin-permissions{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin:12px 0}.owner-page .admin-permissions label{font-size:14px;padding:6px}.owner-page #adminInviteForm{max-width:800px}.owner-page #administratorManagement{display:grid;gap:12px}.owner-page fieldset{margin:0;padding:16px;border:1px solid var(--sd-line);border-radius:12px}.owner-page .owner-profile-button{white-space:normal}.owner-page .owner-customer-hero{padding:16px;background:#f7f9fa;border-radius:12px}.owner-page .owner-customer-profile{display:grid;gap:16px}
.sd-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sd-promo-card{border:1px solid var(--sd-line);background:white;border-radius:16px;padding:22px;display:grid;gap:16px}.sd-promo-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.sd-promo-head h3{font-size:19px;margin:5px 0}.sd-promo-code{font-family:ui-monospace,monospace;font-size:18px;font-weight:700}.sd-promo-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding-top:14px;border-top:1px solid var(--sd-line)}.sd-promo-numbers strong{display:block;font-size:18px}.sd-promo-numbers small{font-size:12px}.sd-event-history{display:grid;gap:12px}.sd-event-history article{padding:14px;border-left:3px solid #ccd9df;background:#f7f9fa;border-radius:0 9px 9px 0;font-size:14px}.sd-event-history article p{margin:6px 0}.sd-resource-label{font-size:13px;color:var(--sd-muted)}
/* Calendar: a local scroll area, never a horizontally scrolling page. */
.portal-page .sd-personal-card{margin-bottom:20px}.portal-page .sd-personal-card>summary{pointer-events:none;font-size:21px;padding:24px 24px 12px;min-height:0;list-style:none}.portal-page .sd-personal-card>.profile-action-content{grid-template-columns:1fr 1fr;padding:12px 24px 24px}.portal-page .sd-personal-card>.profile-action-content>.button{align-self:end}.portal-page #clientAccountSecurity,.portal-page .sd-security-card,.portal-page #ownerVerification{margin-top:20px}.portal-page .sd-waitlist-card{margin-top:20px}.portal-page .sd-waitlist-card .profile-grid{grid-template-columns:1.1fr 1fr}.portal-page .sd-waitlist-card #waitlistForm{box-shadow:none;padding:0;border:0}.portal-page .sd-waitlist-card #waitlistForm h2,.portal-page .sd-waitlist-card #waitlistForm>p{display:none}.sd-owner-account-actions{padding:18px;background:white;border:1px solid var(--sd-line);border-radius:12px}.sd-owner-account-actions summary{font-weight:650}.sd-owner-account-actions nav{display:flex;gap:12px;flex-wrap:wrap;padding-top:14px}.sd-notification{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--sd-line)}.sd-notification small{display:block;margin:3px 0}.sd-notification p{margin:6px 0 0;font-size:14px}.sd-dialog-summary{display:flex;justify-content:space-between;gap:16px}.sd-booking-facts{display:grid;gap:6px;padding:16px;background:#f4f7f9;border-radius:12px}.sd-admin-account{padding:16px;border:1px solid var(--sd-line);border-radius:12px;margin:10px 0}.sd-admin-account summary{font-weight:650;cursor:pointer}.sd-admin-account .administrator-card{margin-bottom:0}.owner-page .owner-calendar-toolbar{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.owner-page .owner-calendar-toolbar>.field{flex:1}.owner-page .owner-calendar-toolbar>.owner-segments{display:flex;gap:6px;flex-wrap:wrap}.owner-page .owner-controls{display:flex;align-items:end;gap:16px;margin-bottom:14px}.owner-page .owner-controls .owner-search{flex:1}.owner-page .owner-segments{display:flex;gap:6px}.owner-page .owner-segment.is-active{background:var(--sd-ink);color:white}.sd-schedule{max-height:700px;overflow:auto!important}.sd-schedule-head,.sd-schedule-body{grid-template-columns:58px repeat(var(--resource-columns,3),minmax(0,1fr))!important}.sd-calendar-resource-tabs{display:none}.portal-page .sd-bonus-notice{font-size:13px;color:#146744;background:#edf6f0;border-radius:8px;padding:10px;margin-top:12px}.owner-page .owner-report-table{width:100%;border-collapse:collapse;font-size:14px}.owner-page .owner-report-table th,.owner-page .owner-report-table td{text-align:left;padding:10px;border-bottom:1px solid var(--sd-line)}
@media(max-width:767px){.portal-page .sd-personal-card>.profile-action-content{grid-template-columns:1fr;padding:12px 18px 18px}.portal-page .sd-personal-card>summary{padding:18px 18px 8px}.portal-page .sd-waitlist-card .profile-grid{grid-template-columns:1fr}.sd-notification{display:block}.sd-notification>.sd-actions{margin-top:12px}.sd-schedule-head,.sd-schedule-body{grid-template-columns:44px minmax(0,1fr)!important}.sd-calendar-resource-tabs{display:flex}.owner-page .owner-controls{display:grid}.owner-page .owner-calendar-toolbar{display:grid;grid-template-columns:1fr 1fr}.owner-page .owner-calendar-toolbar>.owner-segments{grid-column:1/-1}.owner-page .owner-report-table{font-size:12px}.owner-page .owner-report-table th,.owner-page .owner-report-table td{padding:8px 4px}.owner-page #ownerReportTable{overflow:auto;max-width:100%}}
.sd-schedule{border:1px solid var(--sd-line);border-radius:14px;background:white;overflow:hidden}.sd-schedule-head{display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr));background:#f7f9fa;border-bottom:1px solid var(--sd-line);position:sticky;top:0;z-index:2}.sd-schedule-head>div{padding:14px 10px;font-size:14px;font-weight:650}.sd-schedule-body{position:relative;display:grid;grid-template-columns:58px repeat(3,minmax(0,1fr));height:960px;overflow:hidden}.sd-time-labels{display:grid;grid-template-rows:repeat(24,40px);font-size:11px;color:var(--sd-muted)}.sd-time-labels span{padding:4px 6px;border-top:1px solid #e5eaee}.sd-schedule-column{position:relative;border-left:1px solid var(--sd-line);height:960px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 39px,#e8edf0 39px,#e8edf0 40px)}.sd-schedule .sd-slot{position:absolute;left:0;right:0;width:100%;height:40px;border:0;background:transparent;color:#53646d;font-size:12px;text-align:left;padding:6px;opacity:0}.sd-schedule .sd-slot:hover,.sd-schedule .sd-slot:focus-visible{background:#e8f5ee;opacity:1}.sd-calendar-booking,.sd-calendar-block{position:absolute;left:5px;right:5px;width:calc(100% - 10px);padding:5px 8px!important;text-align:left;display:grid;align-content:start;gap:2px;border-radius:7px;border:1px solid #b7cdd9;background:#eaf3fa;color:#153f59;font-size:12px;line-height:1.3;overflow:hidden;min-height:24px;z-index:1}.sd-calendar-block{border-color:#d3c4b6;background:repeating-linear-gradient(135deg,#f2ece6,#f2ece6 5px,#ece3da 5px,#ece3da 7px);color:#61452e}.sd-calendar-booking strong{font-size:12px}.sd-calendar-booking small,.sd-calendar-block small{color:inherit;font-size:11px}.sd-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.sd-week-day{padding:12px;background:white;border:1px solid var(--sd-line);border-radius:12px}.sd-week-day>button{width:100%;padding:8px!important}.sd-week-event{display:block;padding:10px 6px!important;width:100%;text-align:left;margin-top:8px;font-size:12px!important}.sd-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--sd-muted);margin:12px 0}.sd-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;background:#b7cdd9;margin-right:6px}.sd-legend span:last-child::before{background:#d3c4b6}
.sd-chart-points{display:grid;gap:7px}.sd-chart-point{display:grid;grid-template-columns:100px 1fr 100px;align-items:center;gap:14px;border:0!important;padding:8px!important;background:transparent!important;text-align:left;font-size:13px!important}.sd-chart-point i{display:block;height:16px;border-radius:4px;background:#d9b547;min-width:2px}.sd-chart-point b{text-align:right}.sd-chart-point:hover{background:#f3f6f8!important}.sd-chart-note{padding:14px;border:1px solid var(--sd-line);border-radius:10px;background:#fafbfc;margin-top:16px}
@media(max-width:1000px){.owner-page .owner-navigation button{padding:10px;font-size:13px}.owner-page .owner-boxes{grid-template-columns:repeat(3,minmax(0,1fr))}.sd-row{gap:10px;padding:12px;font-size:13px}.owner-page .owner-box{padding:16px}.portal-page .client-topbar__address{display:none}.sd-week{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){:root{--sd-space:16px}:is(.portal-page,.owner-page) .shell{width:calc(100% - 28px)}:is(.portal-page,.owner-page) .band{padding:18px 0 32px}.portal-page{padding-bottom:88px}.portal-page .client-topbar .topbar__inner{min-height:64px;gap:12px;padding:10px 0}.portal-page .brand__mark{width:34px;height:34px}.portal-page .brand__name{font-size:18px}.portal-page .brand__subtitle{font-size:9px}.portal-page .topbar__actions--clean{gap:12px}.client-help summary span{display:none}.portal-page .client-account-link{font-size:12px;max-width:100px;padding:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-page .client-tabs{position:fixed;bottom:0;left:0;right:0;z-index:15;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:5px 8px calc(5px + env(safe-area-inset-bottom));margin:0;background:white;border-top:1px solid var(--sd-line);box-shadow:0 -5px 20px #17252b09}.portal-page .client-tabs button{display:grid;justify-items:center;gap:3px;min-height:56px;padding:5px;font-size:11px}.portal-page .client-tabs button.is-active{background:#fff7db;border-radius:9px}.portal-page .client-tabs button.is-active::after{display:none}.portal-page .client-tabs>a{display:none}.portal-page .profile-head{padding:5px 0 20px}.portal-page .profile-head .section-title{font-size:24px}.portal-page .member-chip{display:none}.portal-page .client-home-grid{grid-template-columns:1fr;gap:16px}.portal-page .client-booking-hero{padding:20px}.sd-visit-date{font-size:21px}.sd-visit-clock{font-size:26px}.sd-visit-heading{align-items:start}.sd-visit-price strong{font-size:21px}.sd-visit-price small{font-size:11px}.sd-visit-resource{margin:16px 0}.sd-visit-actions{gap:8px}.sd-visit-actions .button{flex:1 1 130px}.portal-page .loyalty-main{padding:18px}.portal-page .loyalty-main h2{font-size:18px;margin:5px 0}.portal-page .loyalty-details{font-size:13px}.portal-page .client-home-actions{grid-template-columns:1fr;gap:8px;margin-top:16px}.portal-page .client-home-actions>a{padding:12px 14px}.portal-page .client-preparation{flex-wrap:wrap;font-size:13px}.portal-page .client-preparation a{margin:0}.portal-page .profile-settings-grid,.sd-split{grid-template-columns:1fr}.portal-page .profile-grid{grid-template-columns:1fr}.portal-page .vehicle-editor__form{grid-template-columns:1fr}.portal-page .vehicle-journal{padding:18px}.sd-journal-head{gap:10px}.sd-journal-head .button{font-size:12px}.sd-garage-tools{flex-wrap:wrap}.sd-garage-tools .button{flex:1}.portal-page .maintenance-card{grid-template-columns:1fr;gap:5px}.portal-page .maintenance-card__date{font-size:12px}.sd-booking-row{gap:12px;padding:15px;flex-wrap:wrap}.sd-booking-row>div:first-child{flex:1}.sd-booking-row .sd-booking-cost{margin:0;text-align:left}.sd-booking-row>.button{width:100%}.sd-tabs{gap:4px}.sd-tabs button{font-size:12px!important;padding:9px 6px!important;flex-basis:calc(50% - 4px)}.portal-page .cabinet-footer{flex-direction:column;gap:8px}.portal-page .portal-card,.owner-page .portal-card,.owner-page .owner-insights,.owner-page .owner-chart{padding:18px}.portal-page .client-section-head{align-items:start}.portal-page .client-section-head h2{font-size:20px}.owner-page .owner-header__inner{min-height:64px;padding:10px 0}.owner-page .brand__mark{width:36px;height:36px}.owner-page .owner-header__copy strong{font-size:18px}.owner-page .owner-navigation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:-4px 0 20px}.owner-page .owner-navigation button{display:grid;justify-items:center;align-content:center;gap:4px;min-height:58px;font-size:11px;padding:7px 2px}.owner-page .owner-navigation button.is-active{background:#fff3c9;border-radius:8px}.owner-page .owner-navigation button.is-active::after{display:none}.owner-page .owner-command-hero{display:grid;gap:8px}.owner-page .owner-command-hero h2{font-size:25px}.owner-page .owner-boxes{grid-template-columns:1fr;gap:12px}.owner-page .owner-box{padding:18px;gap:8px}.owner-page .owner-box__head strong{font-size:17px}.owner-page .owner-home-grid{gap:16px}.owner-page .owner-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.owner-page .owner-stat{padding:16px}.owner-page .owner-stat strong{font-size:23px}.owner-page .owner-calendar-tools,.owner-page .owner-customer-tools{display:grid;grid-template-columns:1fr 1fr}.owner-page .owner-calendar-tools>.field:first-child{grid-column:1/-1}.owner-page .owner-block-form,.owner-page .owner-promo-form{grid-template-columns:1fr;padding:18px}.owner-page .owner-date-filter{grid-template-columns:1fr 1fr}.owner-page .owner-date-filter>label:first-child{grid-column:1/-1}.owner-page .owner-filter-more-grid{grid-template-columns:1fr}.owner-page .owner-analytics-grid{grid-template-columns:1fr 1fr}.owner-page .owner-analytics-grid strong{font-size:22px}.owner-page .owner-periods{grid-template-columns:1fr}.owner-page .owner-attention article{flex-wrap:wrap;gap:10px}.owner-page [data-owner-core-form]{grid-template-columns:1fr}.owner-page .admin-permissions{grid-template-columns:1fr}.owner-page .panel-head{align-items:start;flex-wrap:wrap}.sd-table{border:0;background:none;overflow:visible;gap:10px}.sd-row--head{display:none!important}.sd-row,.sd-client-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;border:1px solid var(--sd-line)!important;border-radius:12px;background:white;padding:16px;font-size:14px}.sd-row>div:before{content:attr(data-label);font-size:11px;font-weight:500;color:var(--sd-muted)}.sd-row>div:first-child,.sd-client-row>div:first-child{grid-column:1/-1}.sd-row>button{grid-column:1/-1;width:100%}.sd-promo-grid{grid-template-columns:1fr}.sd-promo-card{padding:18px}.sd-dialog-body,.owner-customer-dialog__body{padding:18px}.sd-dialog-head,.owner-customer-dialog__head{padding:16px 18px}.sd-dialog-head h2{font-size:19px}.sd-dialog{max-height:calc(100dvh - 20px)}.sd-schedule-head,.sd-schedule-body{grid-template-columns:44px minmax(0,1fr)}.sd-schedule-head>.sd-resource-hidden,.sd-schedule-body>.sd-resource-hidden{display:none}.sd-schedule-head>div{font-size:13px}.sd-schedule .sd-slot{opacity:1;text-align:center}.sd-week{grid-template-columns:1fr 1fr}.sd-chart-point{grid-template-columns:70px 1fr 75px;gap:8px;font-size:12px!important}.sd-toolbar{gap:10px}.sd-toolbar>.field{flex-basis:calc(50% - 10px)}.sd-toolbar>.field:first-child{flex-basis:100%}.sd-pages{gap:8px}.sd-pages button{padding:8px!important;font-size:12px!important}}
.portal-page .profile-head .section-title,.owner-page .owner-command-hero h2,.owner-page .owner-box strong,.owner-page .owner-box__booking span,.owner-page .owner-box p strong{color:var(--sd-ink)}
.owner-page .owner-header__inner{justify-content:flex-start}.owner-page .owner-header__copy{text-align:left}.owner-page .owner-box{color:var(--sd-ink);min-height:0}.owner-page .owner-box p,.owner-page .owner-box small{color:var(--sd-muted)}.owner-page .owner-box__head .sd-status{background:#edf1f4;color:#344952;text-transform:none;border-radius:7px;font-size:12px;letter-spacing:0;padding:5px 9px}.owner-page .owner-box__head .sd-status--good{background:#e8f5ee;color:#146744}.owner-page .owner-box__head .sd-status--warning{background:#fff1cb;color:#744d00}.owner-page .owner-box .owner-box__booking{min-height:0}.owner-page .owner-navigation button{box-shadow:none}.owner-page #ownerAttention .sd-empty{padding:12px 0;text-align:left;border:0;background:none}.portal-page .booking-countdown__face{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:transparent!important;padding:0;box-shadow:none;border:0;width:100%;height:auto;min-height:0;border-radius:0}.portal-page .booking-countdown__face>span{color:#146744;font-size:13px;text-transform:none;font-weight:600;letter-spacing:0;text-align:left;max-width:50%}.portal-page .booking-countdown__face>strong{color:#146744;font-size:24px;text-shadow:none}.portal-page .booking-countdown__face>small{flex-basis:100%;text-align:left;font-size:12px;margin:0}.portal-page .booking-countdown{box-shadow:none;min-width:0;max-width:none}.owner-page .owner-command-hero h2+p{color:var(--sd-muted)}
@media(max-width:767px){.portal-page .client-tabs{top:auto!important;height:auto!important}.portal-page .client-tabs button{height:auto}.owner-page .sd-owner-account-actions nav{display:flex}}
@media(max-width:400px){.portal-page .sd-visit-actions .button{flex:1 1 100px;padding:10px 8px;font-size:13px}.portal-page .visit-caption{gap:8px;margin-bottom:12px}.portal-page .visit-caption .section-label{font-size:11px}.portal-page .sd-visit-resource{margin:12px 0}.portal-page .sd-visit-heading{display:block}.portal-page .sd-visit-price{display:flex;align-items:baseline;gap:10px;margin-top:6px}.portal-page .sd-visit-price strong{font-size:20px}.portal-page .sd-visit-clock{font-size:25px;white-space:nowrap}.portal-page .client-booking-hero{padding:18px}}
.portal-page .booking-countdown{width:100%;height:auto;aspect-ratio:auto;flex-basis:auto;padding:10px 12px}
.portal-page .booking-countdown::before{display:none}
.portal-page .booking-countdown__face{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;text-align:left}
.portal-page .booking-countdown__face>span{max-width:none}
.portal-page .booking-countdown__face>strong{white-space:nowrap;font-variant-numeric:tabular-nums}
.portal-page .client-booking-hero .booking-countdown__face>small{display:none}
.owner-page .owner-box__head>div{display:grid;gap:3px}
.portal-page .loyalty-dashboard{grid-template-columns:minmax(0,1fr)}
.portal-page .loyalty-main{display:block}
.portal-page .loyalty-main h2{margin:6px 0}
.portal-page .loyalty-main .supporting-copy{font-size:13px;margin:0 0 8px}
.portal-page .loyalty-main .loyalty-track{margin:12px 0 8px}
.portal-page .loyalty-main .loyalty-details{margin-top:8px;font-size:13px}
.portal-page .loyalty-main .sd-bonus-notice{margin-top:8px;padding:8px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{body.portal-page{background:white;padding:0}.portal-page .client-topbar,.portal-page .client-tabs,.portal-page .profile-head,.portal-page .garage-profile-grid,.portal-page .sd-garage-tools,.portal-page #maintenanceForm,.portal-page #maintenanceList,.portal-page #exportJournalButton,.portal-page .sd-pages,.portal-page .sd-journal-head,.preview-toolbar{display:none!important}.portal-page .journal-print{display:block!important}.portal-page .client-panel{display:none!important}.portal-page [data-client-panel=garage]{display:block!important}.portal-page .vehicle-journal{border:0;padding:0}.portal-page .maintenance-card{break-inside:avoid}.portal-page .cabinet-footer{display:none}}

#historyRecoveryDialog .sd-dialog-body{overflow-wrap:anywhere}#historyRecoveryDialog button{min-height:44px;white-space:normal}#historyRecoveryDialog .sd-promo-card{margin:12px 0}
