@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";
:root{--surface-0:#f5f6f8;--surface-100:#fff;--surface-200:#eef0f3;--surface-300:#e4e7ec;--line-100:#dde1e7;--line-200:#838a97;--ink:#151a24;--ink-muted:#4a5262;--ink-subtle:#5b6372;--accent:#3446c8;--on-accent:#fff;--accent-hover:#2836a3;--accent-soft:#e8ebfb;--accent-ink:#28349a;--focus:#151a24;--danger:#b0261c;--on-danger:#fff;--danger-soft:#fbe7e4;--warning:#7d5200;--warning-soft:#fbf0d6;--info:#1d5580;--info-soft:#e4eef6;--success:#2e3fae;--success-soft:#e9ecfb;--status-enquiry:#5a4a1a;--status-enquiry-soft:#f6efd9;--status-booked:var(--accent);--status-booked-soft:var(--accent-soft);--status-completed:#334155;--status-completed-soft:#eceff3;--status-cancelled:#5f6570;--status-cancelled-soft:#f0f1f3;--biz-ochre:#8a4f00;--biz-ochre-soft:#fbead1;--biz-sky:#075985;--biz-sky-soft:#e0f2fe;--biz-moss:#3d6420;--biz-moss-soft:#e5efdb;--biz-plum:#7a2d6a;--biz-plum-soft:#f4e2ef;--biz-rust:#9c3a1b;--biz-rust-soft:#f8e3db;--now:#c6283d;--staff-indigo:#3446c8;--staff-indigo-soft:#e8ebfb;--staff-teal:#116b64;--staff-teal-soft:#e3f3ef;--staff-sky:#075985;--staff-sky-soft:#e0f2fe;--staff-plum:#7a2d6a;--staff-plum-soft:#f4e2ef;--staff-ochre:#8a4f00;--staff-ochre-soft:#fbead1;--staff-slate:#334155;--staff-slate-soft:#eceff3;--staff-green:#166534;--staff-green-soft:#dcfce7;--staff-rose:#9f1239;--staff-rose-soft:#ffe4e6;--staff-violet:#5b21b6;--staff-violet-soft:#ede9fe;--staff-cyan:#155e75;--staff-cyan-soft:#cffafe;--staff-orange:#9a3412;--staff-orange-soft:#ffedd5;--staff-olive:#3f6212;--staff-olive-soft:#ecfccb;--block-stripe:#cdd2da;--occupied:#d8dce3;--scrim:#151a247a;--print-ink:#000;--print-paper:#fff;--print-rule:#595959;--shadow-1:0 1px 2px #151a2414;--shadow-2:0 4px 12px #151a241f, 0 1px 3px #151a2414;--shadow-3:0 12px 32px #151a242e, 0 2px 6px #151a2414;--space-0-5:2px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--radius-xs:3px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:999px;--control-sm:28px;--control-md:36px;--control-lg:44px;--hour-height:64px;--hour-height-compact:48px;--time-gutter:56px;--drawer-width:480px;--board-header-height:64px;--time-gutter-12h:76px;--nav-bar-height:72px;--fab-size:56px;--avatar-sm:28px;--avatar-md:32px;--avatar-lg:72px;--bp-sm:600px;--bp-md:900px;--bp-lg:1200px;--z-board-block:0;--z-board-card:1;--z-sheet-chrome:3;--z-sticky:10;--z-dragging:20;--z-popover:30;--z-drawer:40;--z-dialog:50;--z-toast:60;--z-banner:70;--dur-fast:.12s;--dur-base:.18s;--dur-slow:.26s;--dur-spin:.8s;--dur-pulse:1.6s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--focus-width:2px;--focus-offset:2px;--opacity-disabled:.55;--font-sans:"Inter", "Segoe UI", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Menlo, monospace;--font-size-overline:11px;--font-size-caption:12px;--font-size-label:13px;--font-size-body:14px;--font-size-title-sm:15px;--font-size-body-lg:16px;--font-size-title:18px;--font-size-title-lg:24px;--line-height-overline:16px;--line-height-caption:16px;--line-height-label:18px;--line-height-body:20px;--line-height-title-sm:22px;--line-height-body-lg:24px;--line-height-title:26px;--line-height-title-lg:32px}.title-lg{font-family:var(--font-sans);letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:32px}.title{font-family:var(--font-sans);font-size:18px;font-weight:600;line-height:26px}.title-sm{font-family:var(--font-sans);font-size:15px;font-weight:600;line-height:22px}.body{font-family:var(--font-sans);font-size:14px;font-weight:400;line-height:20px}.body-strong{font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:20px}.body-lg{font-family:var(--font-sans);font-size:16px;font-weight:400;line-height:24px}.label{font-family:var(--font-sans);font-size:13px;font-weight:500;line-height:18px}.caption{font-family:var(--font-sans);font-size:12px;font-weight:400;line-height:16px}.overline{font-family:var(--font-sans);letter-spacing:.06em;font-size:11px;font-weight:600;line-height:16px}.time{font-family:var(--font-sans);font-size:13px;font-weight:600;line-height:16px}.money{font-family:var(--font-sans);font-size:14px;font-weight:500;line-height:20px}.plate{font-family:var(--font-mono);letter-spacing:.04em;font-size:13px;font-weight:500;line-height:16px}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--scrollbar-thumb:var(--line-200);--scrollbar-track:var(--surface-200);--scrollbar-hover:var(--ink-muted);--scrollbar-active:var(--ink)}*,:before,:after{box-sizing:border-box}*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}::-webkit-scrollbar-thumb:active{background:var(--scrollbar-active)}body{min-width:320px;color:var(--ink);background:var(--surface-0);font:var(--font-size-body)/var(--line-height-body) var(--font-sans);font-feature-settings:"cv11" 1, "ss03" 1;-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed;color:var(--ink-subtle);background:var(--surface-200)}:where(button,a,input,select,[tabindex]):focus-visible{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}:where(input,select):focus-visible{outline-offset:0}button{transition:background-color var(--dur-fast) var(--ease-standard)}button:active:not(:disabled){transform:translateY(1px)}h1,h2,p{margin:0}h1{font-size:var(--font-size-title-lg);line-height:var(--line-height-title-lg);letter-spacing:-.01em;font-weight:600}h2{font-size:var(--font-size-title);line-height:var(--line-height-title);font-weight:600}strong{font-weight:600}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{background:var(--surface-100);border-right:1px solid var(--line-100);height:100dvh;padding:var(--space-5) var(--space-3);gap:var(--space-6);z-index:var(--z-sticky);flex-direction:column;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:var(--space-2);padding:0 var(--space-2);letter-spacing:-.02em;font-size:20px;font-weight:600;text-decoration:none;display:flex}.brand>span{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:var(--radius-sm);font-size:var(--font-size-title);place-items:center;display:grid}.sidebar nav{gap:var(--space-1);display:grid}.nav-link{align-items:center;gap:var(--space-3);min-height:var(--control-md);color:var(--ink-muted);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-weight:500;text-decoration:none;display:flex}a.nav-link:hover{color:var(--ink)}.nav-link--active .ui-glyph{color:var(--accent)}a.nav-link:hover{background:var(--surface-200)}.nav-link--active,a.nav-link--active:hover{background:var(--accent-soft);color:var(--accent-ink)}.nav-link--disabled{color:var(--ink-subtle)}.nav-link small{font-size:var(--font-size-caption);font-weight:400;display:block}.sidebar-footer{align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line-100);font-size:var(--font-size-caption);margin-top:auto;display:flex}.sidebar-footer small{color:var(--ink-muted);font-size:var(--font-size-caption);display:block}.app-version{margin:var(--space-8) 0 0;color:var(--ink-muted);font-size:var(--font-size-caption);text-align:center}.workspace{width:100%;min-width:0;max-width:1600px;padding:var(--space-6) var(--space-8);margin:0 auto}.ui-glyph{flex-shrink:0}.account{align-items:center;gap:var(--space-1) var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--line-100);grid-template-columns:auto minmax(0,1fr);margin-top:auto;display:grid}.account__email{text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-size-label);color:var(--ink);overflow:hidden}.account__sign-out{grid-column:1/-1;justify-content:flex-start}.account__error{font-size:var(--font-size-caption);grid-column:1/-1}.page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-header__title{min-width:0}.page-actions,.toolbar-group{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.date-stepper{display:inline-flex}.date-stepper .button{border-radius:0;margin-left:-1px}.date-stepper .button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm);margin-left:0}.date-stepper .button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.date-stepper .button:disabled{background:var(--surface-100);color:var(--ink-subtle)}.date-field input{min-height:var(--control-md);border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);color:var(--ink);padding:0 var(--space-2);font-variant-numeric:tabular-nums}.date-field input:hover{border-color:var(--ink-muted)}.topbar,.topbar-actions,.schedule-toolbar,.filter-row,.summary-strip,.appointment-card__meta,.dialog-actions{align-items:center;gap:var(--space-2);display:flex}.topbar{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-6)}.eyebrow{color:var(--ink-muted);font-size:var(--font-size-caption);line-height:var(--line-height-caption);margin-bottom:var(--space-1);font-weight:500}.page-context{color:var(--ink-muted);font-size:var(--font-size-caption);margin-top:var(--space-1)}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-label);line-height:var(--line-height-label);white-space:nowrap;border:1px solid #0000;font-weight:500;text-decoration:none;display:inline-flex}a.button--primary,a.button--secondary{text-decoration:none}.button--quiet{color:var(--ink-muted);background:0 0}.button--quiet:hover{background:var(--surface-300);color:var(--ink)}.button--quiet:disabled{background:0 0}.button--icon{width:var(--control-md);padding:0}.button--primary{background:var(--accent);color:var(--on-accent)}.button--primary:hover{background:var(--accent-hover)}.button--secondary{background:var(--surface-100);color:var(--ink);border-color:var(--line-200)}.button--secondary:hover{background:var(--surface-300)}.text-button{padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-xs);color:var(--accent);font-size:var(--font-size-label);background:0 0;border:0;font-weight:500}.text-button:hover{color:var(--accent-hover);background:var(--accent-soft);text-underline-offset:2px;text-decoration:underline}.card-actions{gap:var(--space-0-5);flex-shrink:0;margin-left:auto;display:inline-flex}.card-action{align-items:center;gap:var(--space-1);min-width:24px;height:24px;padding:0 var(--space-1);border-radius:var(--radius-xs);color:var(--ink-muted);font-size:var(--font-size-caption);background:0 0;border:1px solid #0000;justify-content:center;font-weight:500;display:inline-flex}.card-action:hover{background:var(--surface-300);border-color:var(--line-200);color:var(--ink)}.schedule-toolbar{justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-4);background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md);flex-wrap:wrap}.segmented-control{border:1px solid var(--line-200);border-radius:var(--radius-sm);display:flex}.segmented-control button{color:var(--ink);min-height:var(--control-md);padding:0 var(--space-3);font-size:var(--font-size-label);background:0 0;border:0;font-weight:500}.segmented-control button:first-child{border-radius:5px 0 0 5px}.segmented-control button:last-child{border-radius:0 5px 5px 0}.segmented-control button:hover{background:var(--surface-300)}.segmented-control .segmented-control__active{color:var(--on-accent);background:var(--accent)}.segmented-control .segmented-control__active:hover{background:var(--accent-hover)}.filter-row{flex-wrap:wrap}.filter-button select,.field input,.field select{min-height:var(--control-md);border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);color:var(--ink);padding:0 var(--space-2)}.filter-button select{max-width:100%;font-size:var(--font-size-label)}.filter-button select:hover,.field input:hover,.field select:hover{border-color:var(--ink-muted)}.summary-strip{gap:var(--space-4);min-height:48px;padding:var(--space-2) var(--space-1);color:var(--ink-muted);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;flex-wrap:wrap}.summary-strip>span+span{border-left:1px solid var(--line-100);padding-left:var(--space-4)}.notice{bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);max-width:calc(100vw - var(--space-12));border:1px solid var(--success);background:var(--success-soft);color:var(--success);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-2);position:fixed}.schedule-board{grid-template-columns:var(--time-gutter) minmax(0, 1fr);border:1px solid var(--line-100);border-radius:var(--radius-md);background:var(--surface-100);display:grid;position:relative;overflow:hidden}.schedule-time-rail{grid-template-rows:var(--board-header-height) repeat(10, var(--hour-height));background:var(--surface-0);border-right:1px solid var(--line-100);color:var(--ink-subtle);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;display:grid}.schedule-rail-label,.schedule-time-label{padding:var(--space-2) var(--space-1);text-align:center}.schedule-rail-label{align-items:center;display:grid}.schedule-time-label{border-top:1px solid var(--line-100)}.schedule-columns{min-width:0;display:grid}.schedule-column{min-width:0}.schedule-column+.schedule-column{border-left:1px solid var(--line-100)}.technician-header{height:var(--board-header-height);padding:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.technician-header strong{font-size:var(--font-size-title-sm)}.technician-header small{color:var(--ink-muted);font-size:var(--font-size-caption);display:block}.avatar{width:var(--avatar-md);height:var(--avatar-md);background:var(--surface-200);color:var(--ink-muted);border:1px solid var(--line-100);border-radius:var(--radius-full);font-size:var(--font-size-caption);flex:none;place-items:center;font-weight:600;display:grid}.avatar--small{width:var(--avatar-sm);height:var(--avatar-sm)}.schedule-grid{height:calc(10 * var(--hour-height));grid-template-rows:repeat(600, calc(var(--hour-height) / 60));display:grid;position:relative}.schedule-slot{border:0;border-top:1px solid var(--line-100);background:0 0;grid-column:1}.schedule-slot:hover{background:var(--accent-soft)}.schedule-slot:focus-visible{outline-offset:-2px;background:var(--accent-soft)}.appointment-card{z-index:var(--z-board-card);min-width:0;margin:var(--space-0-5) var(--space-1);padding:var(--space-0-5) var(--space-2);background:var(--surface-100);border:1px solid var(--status-booked);border-radius:var(--radius-sm);box-shadow:var(--shadow-1);font-size:var(--font-size-caption);flex-direction:column;grid-column:1;justify-content:center;line-height:18px;display:flex;overflow:hidden}.appointment-card--enquiry{border-style:dashed;border-color:var(--status-enquiry)}.appointment-card--completed{border-color:var(--status-completed);background:var(--status-completed-soft);box-shadow:inset 0 0 0 1px var(--status-completed)}.appointment-card--cancelled{border-color:var(--status-cancelled);background:var(--status-cancelled-soft);text-decoration:line-through}.appointment-card__meta{font-variant-numeric:tabular-nums;justify-content:space-between;min-width:0}.appointment-card__meta time{font-weight:600;font-size:var(--font-size-label)}.appointment-card__name,.appointment-card__detail{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.appointment-card__name strong{font-size:var(--font-size-body)}.appointment-card__name strong,.appointment-card__detail>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.appointment-card__detail{color:var(--ink-muted);justify-content:flex-start}.appointment-card--open{cursor:pointer}.appointment-card--open:hover{background:var(--accent-soft)}.appointment-card--open:focus-visible{outline-offset:-2px}.appointment-card--movable{cursor:grab}.appointment-card--movable:active{cursor:grabbing}.schedule-column{container-type:inline-size}.shared-marker{color:var(--ink-muted);font-size:var(--font-size-caption);white-space:nowrap;flex-shrink:0}.time-block{z-index:var(--z-board-block);min-width:0;margin:var(--space-0-5) var(--space-1);padding:var(--space-0-5) var(--space-2);border:1px solid var(--line-200);border-radius:var(--radius-sm);color:var(--ink-muted);background:repeating-linear-gradient(135deg, var(--surface-200) 0 6px, var(--surface-100) 6px 12px);font-size:var(--font-size-caption);pointer-events:none;flex-direction:column;grid-column:1;justify-content:center;line-height:18px;display:flex;overflow:hidden}.time-block time{font-variant-numeric:tabular-nums;font-weight:600}.time-block__label{align-items:center;gap:var(--space-1);color:var(--ink);font-weight:500;display:flex}.time-block .card-actions{top:var(--space-0-5);right:var(--space-0-5);pointer-events:auto;position:absolute}.time-block{position:relative}.time-block--occupied{border-style:dashed}.appointment-card--ghost{border:1px dashed var(--line-200);color:var(--ink-muted);background:repeating-linear-gradient(135deg, var(--surface-200) 0 6px, var(--surface-100) 6px 12px);box-shadow:none}.business-badge{border-radius:var(--radius-xs);font-size:var(--font-size-overline);line-height:var(--line-height-overline);letter-spacing:.03em;white-space:nowrap;border:1px solid;align-items:center;gap:5px;padding:0 5px;font-weight:700;display:inline-flex}.business-badge:before{content:"";background:currentColor;border-radius:1px;width:7px;height:7px}.business-badge--ochre{color:var(--biz-ochre);background:var(--biz-ochre-soft)}.business-badge--sky{color:var(--biz-sky);background:var(--biz-sky-soft)}.business-badge--neutral{color:var(--ink-muted);background:var(--surface-200)}.status-badge{align-items:center;gap:var(--space-1);padding:0 var(--space-1);border-radius:var(--radius-xs);font-size:var(--font-size-caption);line-height:var(--line-height-caption);white-space:nowrap;border:1px solid;flex-shrink:0;font-weight:600;display:inline-flex}.ui-icon{stroke:currentColor;fill:none;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:12px;height:12px}.status-badge--booked{color:var(--status-booked);background:var(--status-booked-soft)}.status-badge--enquiry{color:var(--status-enquiry);background:var(--status-enquiry-soft);border-style:dashed}.status-badge--completed{color:var(--status-completed);background:var(--status-completed-soft)}.status-badge--cancelled{color:var(--status-cancelled);background:var(--status-cancelled-soft);text-decoration:line-through}.agenda-view,.week-view{padding:var(--space-4);border:1px solid var(--line-100);border-radius:var(--radius-md);background:var(--surface-100)}.week-view>p{color:var(--ink-muted);margin-top:var(--space-2)}.agenda-list{margin:var(--space-4) 0 0;border-top:1px solid var(--line-100);padding:0;list-style:none}.agenda-list li{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--line-100);grid-template-columns:56px 1fr;display:grid}.agenda-list time{font-variant-numeric:tabular-nums;font-weight:600}.agenda-list li>div{gap:var(--space-1);overflow-wrap:anywhere;min-width:0;display:grid}.agenda-list .appointment-card__meta{justify-content:flex-start}.empty-state{color:var(--ink-muted);padding:var(--space-4);background:var(--surface-100);border:1px dashed var(--line-200);border-radius:var(--radius-md);margin-bottom:var(--space-3)}.mobile-technicians{display:none}.dialog-backdrop{z-index:var(--z-drawer);background:var(--scrim);justify-content:flex-end;display:flex;position:fixed;inset:0}.booking-record-notice{border:1px solid var(--success);background:var(--success-soft);color:var(--success);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}.booking-dialog{width:min(var(--drawer-width), 100%);background:var(--surface-100);height:100dvh;padding:var(--space-6);box-shadow:var(--shadow-3);scrollbar-gutter:stable;overflow-y:auto}.dialog-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);padding-bottom:var(--space-4);border-bottom:1px solid var(--line-100);margin-bottom:var(--space-6);display:flex}.icon-button{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-sm);color:var(--ink-muted);font-size:var(--font-size-title-lg);background:0 0;border:0;flex-shrink:0;place-items:center;display:inline-grid}.icon-button:hover{background:var(--surface-300)}.field-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.field{gap:var(--space-1);min-width:0;font-size:var(--font-size-label);font-weight:500;display:grid}.field--wide{grid-column:span 2}.field input,.field select{width:100%;font-size:var(--font-size-body);font-weight:400}.field textarea,.field-grid textarea,.auth-form textarea{width:100%;min-height:80px;padding:var(--space-2);border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);color:var(--ink);font:var(--font-size-body)/var(--line-height-body) var(--font-sans);resize:vertical}.field textarea:hover{border-color:var(--ink-muted)}.field [aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.field-error{color:var(--danger);font-size:var(--font-size-caption);font-weight:500}.field-hint{color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:400}.input-action{gap:var(--space-2);display:flex}.input-action input{flex:1;min-width:0}.input-action .button{flex-shrink:0}.technician-fieldset{margin:var(--space-6) 0;border:0;padding:0}.technician-fieldset legend{font-size:var(--font-size-label);margin-bottom:var(--space-2);font-weight:500}.technician-options{gap:var(--space-2);flex-wrap:wrap;display:flex}.technician-option{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line-200);border-radius:var(--radius-sm);font-size:var(--font-size-label);cursor:pointer;display:flex}.technician-option:hover{background:var(--surface-200)}.technician-option:has(:checked){background:var(--accent-soft);border-color:var(--accent)}.technician-option input{accent-color:var(--accent);width:18px;height:18px}.dialog-actions{border-top:1px solid var(--line-100);margin-top:var(--space-6);padding:var(--space-4) 0;justify-content:flex-end}.auth-shell{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.auth-panel{gap:var(--space-6);width:min(440px,100%);padding:var(--space-6);background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md);display:grid}.auth-form{gap:var(--space-4);display:grid}.auth-panel a,.demo-banner a{color:var(--accent)}.password-toggle{justify-self:start}.form-alert{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-3)}.live-workspace{max-width:1080px}.filter-bar{align-items:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md);flex-wrap:wrap;display:flex}.filter-bar .field{min-width:140px}.filter-bar__end{margin-left:auto}.search-field{flex:320px;max-width:480px}.search-field__row{gap:var(--space-2);display:flex}.search-field__input{flex:1;align-items:center;display:flex;position:relative}.search-field__input .ui-glyph{left:var(--space-2);color:var(--ink-subtle);pointer-events:none;position:absolute}.search-field__input input{padding-left:30px}.row-actions{white-space:nowrap;text-align:right}.pagination__buttons{gap:var(--space-2);display:inline-flex}.admin-table tbody tr:hover>*{background:var(--surface-200)}.admin-table td,.admin-table th{font-variant-numeric:tabular-nums}.settings-layout{gap:var(--space-5);grid-template-columns:240px minmax(0,1fr);align-items:start;display:grid}.settings-list{top:var(--space-6);gap:var(--space-1);padding:var(--space-2);background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md);display:grid;position:sticky}.settings-list ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.settings-list__item{align-items:flex-start;gap:var(--space-0-5);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink);text-align:left;background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.settings-list__item:hover:not(:disabled){background:var(--surface-300)}.settings-list__item[aria-current=true]{background:var(--accent-soft);color:var(--accent-ink)}.settings-list__item:disabled{background:0 0}.settings-list__name{font-weight:600}.settings-list__meta{color:var(--ink-muted);font-size:var(--font-size-caption)}.settings-list__create{align-items:center;gap:var(--space-2);margin-top:var(--space-1);border-top:1px solid var(--line-100);border-radius:0 0 var(--radius-sm) var(--radius-sm);color:var(--accent);flex-direction:row;font-weight:500}.settings-card{background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md)}.settings-card__head{padding:var(--space-4) var(--space-5) var(--space-3)}.settings-card__head .page-context{margin-top:var(--space-0-5)}.settings-card__panel{padding:var(--space-5)}.settings-card__panel .business-setup-panel{background:0 0;border:0;max-width:none;margin:0;padding:0}.tabs{gap:var(--space-4);padding:0 var(--space-5);border-bottom:1px solid var(--line-100);display:flex}.tab{padding:var(--space-2) 0 var(--space-3);color:var(--ink-muted);background:0 0;border:0;font-weight:500;position:relative}.tab:hover{color:var(--ink);background:0 0}.tab[aria-selected=true]{color:var(--accent-ink)}.tab[aria-selected=true]:after{content:"";background:var(--accent);border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.settings-detail .business-create{max-width:480px;margin-top:0}.settings-card__panel .auth-form:not(.staff-panel__form){max-width:480px}.settings-card__panel .auth-form:not(.staff-panel__form)>.button,.settings-detail .business-create .auth-form>.button{justify-self:start}.settings-detail>.business-create,.settings-layout~.business-create{background:var(--surface-100)}.staff-panel__form{align-items:end;gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;display:grid}.staff-panel__form .form-alert,.staff-panel__form .business-success{grid-column:1/-1}.staff-panel__pending{margin-top:var(--space-6)}.fields-panel{gap:var(--space-2);display:grid}.fields-panel__intro{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.fields-panel__intro>p{flex-basis:100%}@media (max-width:899px){.settings-layout{grid-template-columns:1fr}.settings-list{position:static}.staff-panel__form{grid-template-columns:1fr}}.business-setup-panel h2{font-size:var(--font-size-body-lg);margin-bottom:var(--space-3)}.business-setup-panel h3{font-size:var(--font-size-body);margin:var(--space-4) 0 var(--space-2)}.business-setup-panel{max-width:440px;margin-top:var(--space-6);padding:var(--space-6);background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md)}.business-success{padding:var(--space-3);margin-bottom:var(--space-4);border:1px solid var(--success);border-radius:var(--radius-sm);color:var(--success);background:var(--success-soft)}.live-scope{color:var(--ink-muted);font-size:var(--font-size-label);margin:var(--space-4) 0}.demo-banner{padding:var(--space-2) var(--space-4);background:var(--warning-soft);color:var(--warning);font-size:var(--font-size-label)}.admin-workspace{max-width:1160px}.admin-actions,.pagination{justify-content:space-between;align-items:center;gap:var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;display:flex}.admin-table-wrap{background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-md);overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th,.admin-table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--line-100);vertical-align:top}.admin-table thead th{background:var(--surface-200);color:var(--ink-muted);font-size:var(--font-size-caption);font-weight:600}.admin-table tbody th{font-weight:600}.admin-table tbody tr:last-child>*{border-bottom:0}.admin-form{gap:var(--space-4);display:grid}.admin-explainer{margin:0 0 var(--space-5);line-height:20px}.admin-divider{border-top:1px solid var(--line-100);padding-top:var(--space-4)}.admin-divider h3{font-size:var(--font-size-title-sm);margin:0}.admin-confirm-backdrop{z-index:var(--z-dialog);padding:var(--space-4);justify-content:center;align-items:center}.admin-confirm{width:100%;max-width:440px;padding:var(--space-6);background:var(--surface-100);border:1px solid var(--line-100);border-radius:var(--radius-lg);box-shadow:var(--shadow-3)}.admin-confirm p{margin-top:var(--space-2);color:var(--ink-muted)}@media (max-width:599px){.admin-table-wrap{background:0 0;border:0;overflow:visible}.admin-table thead{display:none}.admin-table,.admin-table tbody,.admin-table tr{display:block}.admin-table tr{border:1px solid var(--line-100);background:var(--surface-100);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.admin-table tr>*{padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;border:0;display:block}}@media (max-width:1199px){.app-shell{grid-template-columns:200px minmax(0,1fr)}.workspace{padding:var(--space-5)}.topbar{flex-wrap:wrap}}@media (max-width:899px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-shell:has(.account){grid-template-rows:auto 1fr}.sidebar{display:none}:is(.app-shell:has(.primary-nav) .workspace,.app-shell:has(.account) .workspace){padding-bottom:calc(var(--nav-bar-height) + env(safe-area-inset-bottom))}.app-shell:has(.account) .sidebar{height:auto;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-3);border-right:0;border-bottom:1px solid var(--line-100);flex-direction:row;display:flex;position:sticky;top:0}.app-shell:has(.account) .brand{padding:0;font-size:17px}.app-shell:has(.account) .brand>span{width:28px;height:28px;font-size:var(--font-size-title-sm)}.primary-nav{z-index:var(--z-drawer);padding:var(--space-1) var(--space-1) max(var(--space-1), env(safe-area-inset-bottom));background:var(--surface-100);border-top:1px solid var(--line-100);grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;gap:0!important;display:grid!important}.primary-nav .nav-link{gap:var(--space-0-5);min-height:52px;padding:var(--space-1);font-size:var(--font-size-overline);text-align:center;flex-direction:column;justify-content:center;line-height:14px}.account{gap:var(--space-2);border:0;min-width:0;margin:0 0 0 auto;padding:0;display:flex}.account .avatar{display:none}.account__email{max-width:40vw;font-size:var(--font-size-caption);color:var(--ink-muted)}.account__sign-out{min-height:var(--control-lg)}.account__error{top:100%;right:var(--space-3);position:absolute}.schedule-toolbar{padding:var(--space-2);gap:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.schedule-toolbar>*{width:100%;min-width:0}.toolbar-group{justify-content:space-between}.date-field{flex:1;min-width:0}.date-field input{width:100%}.schedule-toolbar .view-switch{grid-template-columns:1fr 1fr;display:grid}.toolbar-group--end .button--secondary{flex:1}.page-actions{width:100%}.page-actions .button{flex:1}.booking-dialog{width:100%}.mobile-technicians{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.mobile-technicians button{border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);color:var(--ink);min-height:var(--control-lg);padding:0 var(--space-3)}.mobile-technicians button:hover{background:var(--surface-300)}.mobile-technicians button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.schedule-columns{display:block}.schedule-column{display:none}.schedule-column.is-mobile-active{border-left:0;display:block}.notice{bottom:calc(var(--nav-bar-height) + env(safe-area-inset-bottom))}.button--icon,.icon-button{width:var(--control-lg);min-width:var(--control-lg);min-height:var(--control-lg)}.date-field input,.technician-option{min-height:var(--control-lg)}.date-field input{font-size:var(--font-size-body-lg)}.booking-dialog{overscroll-behavior:contain;padding-top:max(var(--space-4), env(safe-area-inset-top))}.job-dialog{flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.job-dialog .dialog-header{margin-bottom:var(--space-4);flex-shrink:0}.job-dialog__form{flex-direction:column;flex:1;min-height:0;display:flex}.job-dialog__content{overscroll-behavior:contain;min-height:0;padding:var(--space-0-5) var(--space-1) var(--space-4);scroll-padding-block:var(--space-3);flex:1;overflow-y:auto}.job-dialog__actions{gap:var(--space-2);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));background:var(--surface-100);flex-wrap:wrap;flex-shrink:0;margin-top:0}.job-dialog__actions .button{flex:1 1 calc(50% - var(--space-2))}.job-dialog__actions .button--primary{flex-basis:100%}.job-dialog .job-financials{border-top:1px solid var(--line-100);padding-top:var(--space-4);margin-top:var(--space-5)}.job-dialog h3{margin:0 0 var(--space-3);font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg)}.job-dialog textarea{resize:none;min-height:112px}.job-dialog .detail-list div{min-width:0}.job-dialog .detail-list dd{overflow-wrap:anywhere;min-width:0}}@media (max-width:599px){.workspace{padding:var(--space-3)}.topbar{gap:var(--space-3)}h1{font-size:20px;line-height:28px}.topbar-actions{width:100%}.topbar-actions .button{flex:1}.filter-row,.filter-button,.filter-button select{width:100%}.field-grid{grid-template-columns:1fr}.field--wide{grid-column:auto}.booking-dialog{padding:var(--space-4);padding-top:max(var(--space-4), env(safe-area-inset-top))}.button,.segmented-control button,.filter-button select,.field input,.field select,.icon-button{min-height:var(--control-lg)}.field input,.field select,.field textarea,.filter-button select{font-size:var(--font-size-body-lg)}.appointment-card__detail>span:first-child:not(:last-child){display:none}.appointment-card__name strong{font-size:var(--font-size-label)}.status-badge{font-size:var(--font-size-overline)}.dialog-actions{padding-bottom:max(var(--space-4), env(safe-area-inset-bottom))}.job-dialog{padding-bottom:0}.account{flex-direction:column;align-items:flex-end;gap:0}.account__email{max-width:min(48vw,200px)}.date-stepper{flex:none}.date-stepper .button:not(.button--icon){padding-inline:var(--space-2)}.date-field{flex-basis:130px}.detail-list dt{min-width:5rem}}@media (pointer:coarse){.options-panel__group label,.button,.icon-button,.segmented-control button,.filter-button select,.field input,.field select{min-height:var(--control-lg)}.field input,.field select{font-size:var(--font-size-body-lg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto;transition-duration:0s;animation-duration:0s}}@media (forced-colors:active){*{scrollbar-color:auto}.status-badge,.business-badge,.appointment-card{border-color:canvastext}}@page{size:A4 portrait;margin:12mm}@media print{.sidebar,.app-version,.topbar-actions,.schedule-toolbar,.notice,.dialog-backdrop,.mobile-technicians,.text-button,.card-actions,.card-action,.page-actions,.page-header{display:none!important}body{color:var(--print-ink);background:var(--print-paper);font-size:11pt}.app-shell{display:block}.workspace{max-width:none;padding:0}.schedule-columns{display:grid}.schedule-column{display:block}.appointment-card,.business-badge,.status-badge{box-shadow:none;color:var(--print-ink);background:var(--print-paper);border-color:var(--print-rule)}.appointment-card__detail>span:first-child:not(:last-child){display:inline}}.suggestion-list{margin:var(--space-1) 0 0;border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);padding:0;list-style:none}.suggestion-list li+li{border-top:1px solid var(--line-200)}.suggestion-list .text-button{width:100%;padding:var(--space-2);text-align:left}.lookup{gap:var(--space-1);min-width:0;display:grid}.lookup__field{min-width:0;position:relative}.lookup__field input{padding-right:var(--control-lg)}.lookup__clear{inset-block:0;width:var(--control-md);min-height:0;color:var(--ink-muted);border-radius:var(--radius-sm);background:0 0;border:0;position:absolute;right:0}.lookup__clear:hover{color:var(--ink);background:var(--surface-200)}.lookup__popup{border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);min-width:0;box-shadow:var(--shadow-1);overflow:hidden}.lookup__popup>.field-hint,.lookup__popup>p,.lookup__popup>.loading-state{padding:var(--space-2) var(--space-3);margin:0}.lookup__popup>p,.lookup__popup>.loading-state{min-height:var(--control-md);line-height:20px}.lookup__options{overscroll-behavior:contain;max-height:min(240px,35dvh);margin:0;padding:0;list-style:none;overflow-y:auto}.lookup__option{gap:var(--space-0-5);min-height:var(--control-md);padding:var(--space-2) var(--space-3);cursor:pointer;overflow-wrap:anywhere;font-weight:400;display:grid}.lookup__option+.lookup__option{border-top:1px solid var(--line-100)}.lookup__option[aria-selected=true],.lookup__option:hover{background:var(--accent-soft);color:var(--accent-ink)}.lookup__option small{color:var(--ink-muted);font-size:var(--font-size-caption)}.lookup__footer{width:100%;min-height:var(--control-md);padding:var(--space-2) var(--space-3);border-top:1px solid var(--line-200);text-align:left}.lookup__footer[data-active=true]{background:var(--accent-soft);color:var(--accent-ink)}.customer-vehicle-section{border-top:1px solid var(--line-100);margin-top:var(--space-5);padding-top:var(--space-4)}.customer-vehicle-section__heading{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.customer-vehicle-section__heading h3{font-size:var(--font-size-body-lg);margin:0}@media (max-width:600px),(pointer:coarse){.lookup__clear{width:var(--control-lg)}.lookup__option,.lookup__footer{min-height:var(--control-lg)}}.detail-list{gap:var(--space-2);margin:0 0 var(--space-4);display:grid}.detail-list div{gap:var(--space-3);display:flex}.detail-list dt{min-width:6rem;color:var(--ink-muted)}.detail-list dd{margin:0}.summary-tiles{gap:var(--space-3);margin:var(--space-4) 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.summary-tiles li{padding:var(--space-2) var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);font-weight:600}.print-only{display:none}.print-controls{gap:var(--space-2);margin-bottom:var(--space-4);display:flex}.print-day{margin:var(--space-4) 0}.print-table__block td{color:var(--ink-muted);font-style:italic}@media print{.print-only{display:block}.print-controls{display:none}.print-day{break-inside:avoid-page}.print-table th,.print-table td{border-color:var(--print-rule);color:var(--print-ink);background:var(--print-paper)}}.view-switch{gap:0;display:inline-flex}.view-switch .button{border-radius:0}.view-switch .button:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.view-switch .button:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.view-switch .button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.resource-week-wrap{border:1px solid var(--line-200);border-radius:var(--radius-md);background:var(--surface-100);max-width:100%;overflow-x:auto}.resource-week{border-collapse:collapse;table-layout:fixed;width:100%;min-width:820px;font-size:var(--font-size-caption)}.resource-week th,.resource-week td{border:1px solid var(--line-100);padding:var(--space-2);vertical-align:top;text-align:left}.resource-week thead th{background:var(--surface-200);color:var(--ink-muted);position:sticky;top:0}.resource-week thead th:first-child{font-size:var(--font-size-caption);font-weight:600}.resource-week tbody th{font-size:var(--font-size-label);z-index:1;background:var(--surface-100);width:140px;font-weight:600;position:sticky;left:0}.resource-week ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.resource-week__entry{align-items:center;gap:var(--space-0-5) var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--status-booked);border-radius:var(--radius-sm);background:var(--surface-100);box-shadow:var(--shadow-1);overflow-wrap:anywhere;flex-wrap:wrap;display:flex;position:relative}.resource-week__entry time{font-variant-numeric:tabular-nums;margin-right:auto;font-weight:600}.resource-week__entry--enquiry{border-style:dashed;border-color:var(--status-enquiry)}.resource-week__entry--completed{border-color:var(--status-completed);background:var(--status-completed-soft)}.resource-week__entry--cancelled{border-color:var(--status-cancelled);background:var(--status-cancelled-soft);text-decoration:line-through}.resource-week__entry--block,.resource-week__entry--closure,.resource-week__entry--occupied{border-color:var(--line-200);box-shadow:none;color:var(--ink-muted);background:repeating-linear-gradient(135deg, var(--surface-200) 0 6px, var(--surface-100) 6px 12px)}.resource-week__entry--occupied{border-style:dashed}.week-entry__name{min-width:0;color:var(--ink);font-weight:600;font-size:var(--font-size-label);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:100%;padding:0;overflow:hidden}.week-entry__name:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.week-entry__label{align-items:center;gap:var(--space-1);flex:100%;display:flex}.week-entry__move{right:var(--space-0-5);bottom:var(--space-0-5);background:var(--surface-100);position:absolute}.resource-week__entry--completed .week-entry__move{background:var(--status-completed-soft)}.resource-week thead th.is-today{background:var(--accent-soft)}.resource-week thead th.is-today .week-day-button{color:var(--accent-ink)}.week-day-button{color:var(--ink);font-weight:600;font-size:var(--font-size-label);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}.week-day-button:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.resource-week__entry--movable{cursor:grab}.resource-week__entry--movable:active{cursor:grabbing}.resource-week__entry .text-button{text-align:left;padding:0}.resource-week__free{color:var(--ink-muted)}.card-field-selector{position:relative}.card-field-selector__count{margin:0 0 var(--space-1);font-weight:600}.card-field-selector__groups{gap:var(--space-3);margin:var(--space-3) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.card-field-selector__groups label:has(input:disabled){color:var(--ink-subtle)}.booking-card-fields{gap:0 var(--space-2);width:100%;min-width:0;font-size:var(--font-size-caption);grid-template-columns:repeat(2,minmax(0,1fr));line-height:12px;display:grid}.booking-card-field{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.booking-card-field--customer{font-weight:600}.booking-card-fields .business-badge,.booking-card-fields .status-badge{font-size:var(--font-size-overline);background:0 0;border:0;padding:0;line-height:12px}.appointment-card:has(.booking-card-fields) .appointment-card__meta{line-height:14px}.appointment-card:has(.booking-card-fields) .shared-marker{font-size:10px}.resource-week .booking-card-fields,.agenda-list .booking-card-fields{line-height:18px}.resource-week .week-entry__name{text-align:left;width:100%}.print-table .booking-card-fields{grid-template-columns:1fr;line-height:18px}.print-table .booking-card-field{white-space:normal;overflow-wrap:anywhere;overflow:visible}@media print{.card-field-selector{display:none!important}.schedule-board{display:block}.schedule-time-rail,.schedule-slot{display:none}.schedule-grid{background:0 0;height:auto;display:block}.appointment-card,.time-block{margin:var(--space-2) var(--space-1);padding:var(--space-2);break-inside:avoid;overflow:visible}.booking-card-fields{grid-template-columns:1fr;line-height:18px}.booking-card-field{white-space:normal;overflow-wrap:anywhere;overflow:visible}}.agenda-technicians{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.agenda-technicians button{border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--surface-100);color:var(--ink);min-height:var(--control-md);padding:0 var(--space-3)}.agenda-technicians button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.agenda-list .agenda-item{grid-template-columns:56px 1fr;position:relative}.agenda-list .agenda-item>div{align-items:center;gap:var(--space-2);min-width:0;display:flex}.agenda-item .booking-card-fields{flex:1;min-width:0}.agenda-item--link:hover{background:var(--surface-300)}.agenda-item__open{color:var(--ink-muted);padding:var(--space-2);cursor:pointer;background:0 0;border:0;flex-shrink:0}.agenda-item__open:after{content:"";position:absolute;inset:0}.agenda-item__block{color:var(--ink-muted)}.floating-action{right:var(--space-6);bottom:max(var(--space-6), env(safe-area-inset-bottom));z-index:var(--z-sticky);width:var(--fab-size);height:var(--fab-size);border-radius:var(--radius-full);box-shadow:var(--shadow-3);justify-content:center;padding:0;display:inline-flex;position:fixed}.app-shell:has(.floating-action) .workspace{padding-bottom:calc(88px + env(safe-area-inset-bottom))}@media (max-width:899px){.floating-action{right:var(--space-4);bottom:calc(var(--nav-bar-height) + env(safe-area-inset-bottom) + var(--space-4))}.app-shell:has(.floating-action) .workspace{padding-bottom:calc(var(--nav-bar-height) + 88px + env(safe-area-inset-bottom))}}@media (max-width:599px){.schedule-toolbar--phone .toolbar-group{flex-wrap:nowrap}.schedule-toolbar--phone .view-switch{flex:1;display:flex}.schedule-toolbar--phone .view-switch .button{flex:1}.page-header:has(+.schedule-toolbar--phone){margin-bottom:var(--space-2)}.agenda-list{margin-top:0}.agenda-list .agenda-item{padding:var(--space-3) 0;grid-template-columns:48px 1fr}.agenda-list .agenda-item>div{column-gap:var(--space-1);grid-template-columns:minmax(0,1fr) auto;display:grid}.agenda-item .shared-marker{margin-top:var(--space-1);grid-area:2/1}.agenda-item__open{grid-area:1/2/span 2}.agenda-list .booking-card-fields{font-size:var(--font-size-label)}.app-shell:has(.account) .sidebar{min-height:56px}.account{align-items:center;gap:var(--space-1);flex-direction:row;min-width:0}.account__email{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin:0;overflow:hidden}.account__sign-out{flex-shrink:0}.agenda-technicians{scrollbar-width:none;margin-inline:calc(-1 * var(--space-3));padding-inline:var(--space-3);flex-wrap:nowrap;overflow-x:auto}.agenda-technicians button,.mobile-technicians button{min-height:var(--control-lg);border-radius:var(--radius-full);flex-shrink:0}.actions-sheet-backdrop{justify-content:stretch;align-items:flex-end}.actions-sheet{background:var(--surface-100);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:85dvh;padding:var(--space-4) var(--space-4) max(var(--space-4), env(safe-area-inset-bottom));box-shadow:var(--shadow-3);overflow-y:auto}.actions-sheet .dialog-header{margin-bottom:var(--space-3);padding-bottom:var(--space-3);align-items:center}.actions-sheet .dialog-header h2{margin:0;font-size:17px}.actions-sheet__list{gap:var(--space-2);display:grid}.actions-sheet__list>.button,.actions-sheet .card-field-selector>.button{justify-content:flex-start;width:100%}.actions-sheet .card-field-selector__panel{width:auto;max-height:none;margin-top:var(--space-2);box-shadow:none;position:static}}@media (max-width:379px){.account__email{display:none}}@media print{.floating-action{display:none!important}.app-shell:has(.floating-action) .workspace{padding-bottom:0}}.calendar-toolbar{gap:var(--space-4);padding:var(--space-3);margin-bottom:var(--space-2);grid-template-columns:minmax(120px,1fr) auto auto auto;display:grid}.calendar-date-controls{align-items:center;gap:var(--space-1);min-width:0;display:flex}.calendar-date-picker{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-2);border-radius:var(--radius-sm);min-width:0;font-size:var(--font-size-label);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600;display:flex;position:relative}.calendar-date-picker:hover{background:var(--surface-200)}.calendar-date-picker input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.calendar-date-picker:focus-within{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.calendar-view-switch{justify-self:end;gap:var(--space-0-5);border:1px solid var(--line-100);border-radius:var(--radius-sm);background:var(--surface-200);padding:3px;display:inline-flex}.calendar-view-switch .button{min-height:30px;color:var(--ink-muted);background:0 0;border:1px solid #0000}.calendar-view-switch .button:hover{background:var(--surface-300)}.calendar-view-switch .button[aria-pressed=true],.calendar-view-switch .button[aria-selected=true]{background:var(--surface-100);color:var(--accent-ink);border-color:var(--line-100);box-shadow:var(--shadow-1)}.calendar-utilities{justify-content:flex-end;gap:var(--space-1);flex-wrap:nowrap;width:auto;margin:0;display:flex}.staff-filter{align-items:center;min-width:0;display:flex;position:relative}.staff-filter__trigger{gap:var(--space-2);min-width:0;max-width:240px}.staff-filter__trigger .ui-glyph{color:var(--ink-muted);flex:none}.staff-filter__trigger.is-filtered{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-soft)}.staff-filter__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.staff-filter__badge{color:var(--ink-muted);font-size:var(--font-size-caption);flex:none;font-weight:400}.current-time-marker{z-index:var(--z-sticky);pointer-events:none;align-items:center;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.current-time-marker time{flex:0 0 var(--time-gutter);padding:0 var(--space-0-5);font-size:var(--font-size-overline);text-align:center;font-variant-numeric:tabular-nums;color:var(--now);background:var(--surface-100);border:1px solid var(--now);border-radius:var(--radius-full);font-weight:600;line-height:18px}.current-time-marker>span{background:var(--now);flex:1;height:2px}.current-time-marker>span:before{content:"";background:var(--now);border-radius:var(--radius-full);width:6px;height:6px;margin-top:-2px;display:block}.staff-colour--indigo{--staff-ink:var(--staff-indigo);--staff-soft:var(--staff-indigo-soft)}.staff-colour--teal{--staff-ink:var(--staff-teal);--staff-soft:var(--staff-teal-soft)}.staff-colour--sky{--staff-ink:var(--staff-sky);--staff-soft:var(--staff-sky-soft)}.staff-colour--plum{--staff-ink:var(--staff-plum);--staff-soft:var(--staff-plum-soft)}.staff-colour--ochre{--staff-ink:var(--staff-ochre);--staff-soft:var(--staff-ochre-soft)}.staff-colour--slate{--staff-ink:var(--staff-slate);--staff-soft:var(--staff-slate-soft)}.staff-colour--green{--staff-ink:var(--staff-green);--staff-soft:var(--staff-green-soft)}.staff-colour--rose{--staff-ink:var(--staff-rose);--staff-soft:var(--staff-rose-soft)}.staff-colour--violet{--staff-ink:var(--staff-violet);--staff-soft:var(--staff-violet-soft)}.staff-colour--cyan{--staff-ink:var(--staff-cyan);--staff-soft:var(--staff-cyan-soft)}.staff-colour--orange{--staff-ink:var(--staff-orange);--staff-soft:var(--staff-orange-soft)}.staff-colour--olive{--staff-ink:var(--staff-olive);--staff-soft:var(--staff-olive-soft)}.avatar[class*=staff-colour--]{color:var(--staff-ink);background:var(--staff-soft);border:2px solid var(--staff-ink);overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar--large{width:var(--avatar-lg);height:var(--avatar-lg);font-size:22px}.week-staff{align-items:center;gap:var(--space-2);display:flex}.mobile-technicians button{align-items:center;gap:var(--space-2)}.mobile-technicians .avatar{vertical-align:middle;margin-right:var(--space-1);display:inline-grid}.account-options{grid-column:1/-1;min-width:0;position:relative}.account__identity{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);text-align:left;color:var(--ink);background:0 0;border:0;display:flex}.account__identity:hover{background:var(--surface-200)}.account__details{flex:1;min-width:0}.account__details strong,.account__details .account__email{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.account__details strong{font-size:var(--font-size-label);font-weight:600}.account-options__panel{left:0;right:0;bottom:calc(100% + var(--space-1));z-index:var(--z-drawer);padding:var(--space-2);background:var(--surface-100);border:1px solid var(--line-200);border-radius:var(--radius-md);box-shadow:var(--shadow-2);position:absolute}.account-options__panel .button{justify-content:flex-start;width:100%}.profile-dialog .field{margin:var(--space-5) 0}.profile-photo{align-items:center;gap:var(--space-4);display:flex}.profile-photo .field-hint{margin-top:var(--space-2)}.profile-upload{position:relative;overflow:hidden}.profile-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.profile-upload:focus-within{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.profile-colours{margin:var(--space-5) 0;border:0;padding:0}.profile-colours legend{font-size:var(--font-size-label);font-weight:600}.profile-colours__options{gap:var(--space-2);margin-top:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-colour{align-items:center;gap:var(--space-2);padding:var(--space-2);min-height:var(--control-lg);border:1px solid var(--line-200);border-radius:var(--radius-sm);font-size:var(--font-size-label);cursor:pointer;display:flex;position:relative}.profile-colour:has(:checked){background:var(--staff-soft);border-color:var(--staff-ink)}.profile-colour:focus-within{outline:var(--focus-width) solid var(--focus);outline-offset:var(--focus-offset)}.profile-colour input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.profile-colour__swatch{border-radius:var(--radius-full);background:var(--staff-ink);width:24px;height:24px;color:var(--surface-100);flex-shrink:0;place-items:center;display:grid}.profile-discard{padding:var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-sm)}.profile-discard p{margin-bottom:var(--space-2)}.profile-discard .button+.button{margin-left:var(--space-2)}@media (min-width:900px) and (max-width:1279px){.calendar-toolbar{grid-template-columns:minmax(140px,1fr) auto}.calendar-view-switch{grid-column:1/-1}}@media (max-width:899px){.calendar-toolbar{flex-wrap:wrap;display:flex}.calendar-toolbar>*{width:auto}.calendar-toolbar .staff-filter{flex:1}.calendar-toolbar .calendar-date-controls{flex:100%;order:-1;justify-content:center}.calendar-toolbar .calendar-view-switch{display:flex}.schedule-toolbar--phone .toolbar-group{gap:var(--space-2)}.schedule-toolbar--phone .calendar-view-switch .button{padding-inline:var(--space-2);gap:var(--space-1)}.calendar-date-controls{justify-content:space-between;gap:0}.calendar-date-picker{padding:0 var(--space-1);min-height:var(--control-lg);font-size:var(--font-size-caption);flex:1}.calendar-date-picker>.ui-glyph{display:none}.calendar-today,.calendar-view-switch .button{min-height:var(--control-lg)}.calendar-view-switch{width:auto}.account-options{flex:1;min-width:0}.account-options__panel{top:calc(100% + var(--space-1));min-width:200px;bottom:auto;left:auto}.account__identity{min-height:var(--control-lg);padding:0}.account__details strong{font-size:var(--font-size-caption)}.account__details .account__email{max-width:26vw}.account__identity>svg{display:none}.account__sign-out{padding:0 var(--space-2)}.profile-dialog{padding-bottom:max(var(--space-4), env(safe-area-inset-bottom))}}@media (max-width:360px){.schedule-toolbar--phone .calendar-view-switch .button span{display:none}}@media (max-width:599px){.agenda-technicians{display:none}.profile-colours__options{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-toolbar .calendar-view-switch,.calendar-toolbar .calendar-view-switch .button{flex:1}.calendar-toolbar .staff-filter{flex:100%}}@media print{.current-time-marker,.calendar-utilities,.account-options{display:none!important}}@media (forced-colors:active){.current-time-marker time,.current-time-marker>span{color:canvastext;background:canvas;border-color:canvastext}.current-time-marker>span{border-top:2px solid canvastext}.profile-colour:has(:checked){outline:2px solid highlight}}.field .resize-none{resize:none;min-height:120px}.calendar-filters{gap:var(--space-2);min-width:0;display:grid}.calendar-preference-filter{min-width:0;font-size:var(--font-size-caption)}.calendar-preference-filter select{max-width:100%}.print-menu{position:relative}.print-menu__panel{top:calc(100% + var(--space-1));z-index:var(--z-popover);min-width:148px;padding:var(--space-1);background:var(--surface-100);border:1px solid var(--line-200);border-radius:var(--radius-md);box-shadow:var(--shadow-2);position:absolute;right:0}.print-menu__panel button{width:100%;min-height:var(--control-md);border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--ink);text-align:left;font:inherit;background:0 0;border:0;align-items:center;display:flex}.print-menu__panel button:hover,.print-menu__panel button:focus-visible{background:var(--accent-soft);color:var(--accent-ink)}.business-availability{align-items:center;gap:var(--space-3);margin:var(--space-2) 0 var(--space-3);color:var(--ink-muted);font-size:var(--font-size-caption);flex-wrap:wrap;display:flex}.business-availability strong{color:var(--ink);font-weight:600}.business-availability small{font-size:var(--font-size-overline);margin-left:auto}.business-calendar-settings{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--line-100)}.business-calendar-settings__formats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.working-hours{border:0;min-width:0;margin:0;padding:0}.working-hours legend{margin-bottom:var(--space-3);font-weight:600}.working-hours__day{align-items:start;gap:var(--space-3);padding-block:var(--space-2);border-bottom:1px solid var(--line-100);grid-template-columns:1.25fr 1fr 1fr;display:grid}.working-hours__toggle{align-items:center;gap:var(--space-2);min-height:var(--control-md);font-weight:500;display:flex}.working-hours__toggle input[type=checkbox]{width:auto;min-height:auto;accent-color:var(--accent)}.settings-discard-actions{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}@media (max-width:1199px){.calendar-toolbar{flex-wrap:wrap;display:flex}.calendar-toolbar>*{width:auto}.calendar-toolbar .calendar-filters{flex:1}.calendar-toolbar .calendar-utilities{margin-left:auto}}@media (max-width:599px){.schedule-toolbar--phone .calendar-utilities{justify-content:flex-end;width:100%}.page-header:has(+.schedule-toolbar--phone){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.business-availability{gap:var(--space-2);font-size:var(--font-size-overline);margin-bottom:var(--space-2)}.business-availability small{display:none}.business-calendar-settings__formats{grid-template-columns:minmax(0,1fr)}.working-hours__day{grid-template-columns:repeat(2,minmax(0,1fr))}.working-hours__toggle{min-height:var(--control-lg);grid-column:1/-1}.print-menu__panel button{min-height:var(--control-lg)}}.settings-card__panel .business-calendar-settings .auth-form{max-width:760px;margin-top:var(--space-4)}.schedule-board[data-time-format="12h"]{--time-gutter:var(--time-gutter-12h)}.calendar-create-menu{z-index:var(--z-popover);width:184px;max-width:calc(100vw - var(--space-4));padding:var(--space-1);border:1px solid var(--line-200);border-radius:var(--radius-md);background:var(--surface-100);box-shadow:var(--shadow-2);position:fixed}.calendar-create-menu button{gap:var(--space-2);width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--ink);text-align:left;font:inherit;background:0 0;border:0;align-items:center;display:flex}.calendar-create-menu button:hover,.calendar-create-menu button:focus-visible{background:var(--accent-soft);color:var(--accent-ink)}.calendar-event-card{z-index:var(--z-board-card);min-width:0;margin:var(--space-0-5) var(--space-1);padding:var(--space-0-5) var(--space-2);border:1px solid var(--line-200);border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--ink);font-size:var(--font-size-caption);line-height:var(--line-height-caption);flex-direction:column;grid-column:1;justify-content:center;display:flex;position:relative;overflow:hidden}.calendar-event-card time{font-variant-numeric:tabular-nums;font-weight:600}.calendar-event-card strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event-card small{color:var(--ink-muted)}.calendar-event-card .card-action{top:var(--space-0-5);right:var(--space-0-5);position:absolute}.calendar-event-card__kind{align-items:center;gap:var(--space-1);color:var(--ink-muted);font-size:var(--font-size-overline);display:inline-flex}.calendar-event-card--occupied{background:var(--surface-200);border-style:dashed}.agenda-item__event{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.agenda-item__event strong{overflow-wrap:anywhere}.event-remove{margin:var(--space-4) 0;padding-top:var(--space-3);border-top:1px solid var(--line-200)}.event-remove .button{margin-right:var(--space-2)}@media (max-width:599px){.calendar-create-menu button{min-height:var(--control-lg)}}@media print{.calendar-create-menu,.calendar-event-card .card-action{display:none!important}.calendar-event-card{box-shadow:none;color:var(--print-ink);background:var(--print-paper);border-color:var(--print-rule);break-inside:avoid;overflow:visible}.calendar-event-card strong{white-space:normal}}.loading-spinner{border-radius:var(--radius-full);width:16px;height:16px;animation:loading-spin var(--dur-spin) linear infinite;border:2px solid;border-right-color:#0000;flex:0 0 16px;display:inline-block}.loading-state{width:100%;min-width:0;padding-block:var(--space-4)}.loading-state--inline{width:auto;padding-block:var(--space-2);display:inline-flex}.loading-state__caption{align-items:center;gap:var(--space-2);color:var(--ink-muted);font-size:var(--font-size-label);line-height:20px;display:flex}.loading-state__caption .loading-spinner{color:var(--accent)}.loading-skeleton{margin-top:var(--space-4);border:1px solid var(--line-100);border-radius:var(--radius-md);background:var(--surface-100);overflow:hidden}.skeleton{background:var(--surface-300);border-radius:var(--radius-sm);animation:loading-pulse var(--dur-pulse) ease-in-out infinite;display:block}.skeleton--line{width:100%;height:12px}.skeleton--short{width:62%}.skeleton--heading{width:40%;height:22px;margin-bottom:var(--space-3)}.skeleton--avatar{width:var(--avatar-md);height:var(--avatar-md);flex:0 0 var(--avatar-md);border-radius:var(--radius-full)}.skeleton--field{height:var(--control-md);margin-top:var(--space-3)}.loading-state--panel .loading-skeleton,.loading-state--page .loading-skeleton{padding:var(--space-5)}.loading-panel__grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.loading-state--page .loading-panel__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.loading-panel__card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--line-100);border-radius:var(--radius-sm);display:grid}.loading-table__header,.loading-table__row{align-items:center;gap:var(--space-5);padding:var(--space-4);border-bottom:1px solid var(--line-100);grid-template-columns:32px repeat(3,minmax(0,1fr));display:grid}.loading-table__header{background:var(--surface-200);padding-block:var(--space-3)}.loading-table__row:last-child{border-bottom:0}.loading-calendar__header,.loading-calendar__grid{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.loading-calendar__header>div{align-items:center;gap:var(--space-3);padding:var(--space-4);border-right:1px solid var(--line-100);border-bottom:1px solid var(--line-100);display:flex}.loading-calendar__header .skeleton--line{width:45%}.loading-calendar__grid{background:repeating-linear-gradient(to bottom, transparent 0, transparent 59px, var(--line-100) 59px, var(--line-100) 60px);min-height:480px}.loading-calendar__grid>div{padding:60px var(--space-2) 0;border-right:1px solid var(--line-100)}.loading-calendar__grid>div:nth-child(2){padding-top:120px}.loading-calendar__grid>div:nth-child(3){padding-top:180px}.skeleton--booking{border:1px solid var(--line-100);background:var(--accent-soft);height:88px;margin-bottom:90px}.calendar-create-menu{animation:calendar-menu-enter var(--dur-fast) var(--ease-standard)}@keyframes loading-spin{to{transform:rotate(360deg)}}@keyframes loading-pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes calendar-menu-enter{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@media (max-width:899px){.loading-calendar__header,.loading-calendar__grid{grid-template-columns:minmax(0,1fr)}.loading-calendar__header>div:not(:first-child),.loading-calendar__grid>div:not(:first-child){display:none}.loading-state--page .loading-panel__grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:599px){.loading-panel__grid{grid-template-columns:minmax(0,1fr)}.loading-table__header,.loading-table__row{gap:var(--space-3);padding:var(--space-3)}.loading-state--panel .loading-skeleton,.loading-state--page .loading-skeleton{padding:var(--space-4)}}@media (prefers-reduced-motion:reduce){.loading-spinner,.skeleton,.calendar-create-menu{animation:none}}@media (forced-colors:active){.skeleton{background:graytext}.loading-spinner{color:canvastext}}@media print{.loading-state,.loading-spinner{display:none!important}}.booking-creation-dialog>form>.dialog-actions{background:var(--surface-100);position:sticky;bottom:0}.booking-creation-dialog{--drawer-pad:var(--space-6);padding:0 var(--drawer-pad);flex-direction:column;display:flex}.booking-creation-dialog>.dialog-header{z-index:var(--z-sheet-chrome);margin:0 calc(-1 * var(--drawer-pad)) var(--space-5);padding:var(--space-5) var(--drawer-pad) var(--space-4);background:var(--surface-100);flex-shrink:0;position:sticky;top:0}.booking-creation-dialog>.booking-record-notice{margin-bottom:var(--space-4)}.booking-creation-dialog>form{flex-direction:column;flex:1 0 auto;display:flex}.booking-creation-dialog>form>:not(.dialog-actions):nth-last-child(2){margin-bottom:var(--space-6)}.booking-creation-dialog>form>.dialog-actions{z-index:var(--z-sheet-chrome);margin:auto calc(-1 * var(--drawer-pad)) 0;padding:var(--space-3) var(--drawer-pad) max(var(--space-3), env(safe-area-inset-bottom));border-top:1px solid var(--line-100);background:var(--surface-100);position:sticky;bottom:0}.dialog-actions__back{margin-right:auto}.form-section{gap:var(--space-4);min-width:0;padding-bottom:var(--space-6);display:grid}.form-section+.form-section{padding-top:var(--space-5);border-top:1px solid var(--line-100)}.form-section__title{font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);color:var(--ink);margin:0;font-weight:600}.form-section>.field-grid{row-gap:var(--space-4)}.form-section>.form-alert,.form-section>p[role=alert]{margin:0}.form-subsection{border:0;min-width:0;margin:0;padding:0}.form-subsection>legend{margin-bottom:var(--space-2);font-size:var(--font-size-label);padding:0;font-weight:500}.form-section .technician-fieldset{margin:0}.form-section .technician-options{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));display:grid}.form-section .technician-option{min-height:var(--control-lg);background:var(--surface-100)}.field input:disabled,.field select:disabled,.field textarea:disabled{background:var(--surface-200);color:var(--ink-subtle);border-color:var(--line-100);cursor:not-allowed}.field input::placeholder,.field textarea::placeholder{color:var(--ink-subtle)}.input--plate{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase}.input--plate::placeholder{font-family:var(--font-sans);letter-spacing:0;text-transform:none}.lookup__popup{top:calc(100% + var(--space-1));z-index:var(--z-popover);border-color:var(--line-200);border-radius:var(--radius-md);box-shadow:var(--shadow-2);position:absolute;left:0;right:0}.lookup__option{grid-template-columns:minmax(0,1fr)}.lookup__option>span{color:var(--ink);font-weight:500}.lookup__option[aria-selected=true]>span,.lookup__option:hover>span{color:var(--accent-ink)}.lookup__option small{font-variant-numeric:tabular-nums}.lookup__footer{align-items:center;gap:var(--space-2);background:var(--surface-0);border-radius:0;font-weight:600;text-decoration:none;display:flex}.lookup__footer-icon{border-radius:var(--radius-full);background:var(--accent-soft);width:22px;height:22px;color:var(--accent-ink);flex-shrink:0;place-items:center;display:inline-grid}.lookup__footer:hover{text-decoration:none}.lookup__hint{margin-top:var(--space-0-5)}.lookup__hint p{margin:0}.lookup__tag{margin-right:var(--space-2);border-radius:var(--radius-xs);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--font-size-overline);line-height:var(--line-height-overline);align-items:center;padding:0 6px;font-weight:600;display:inline-flex}.lookup__tag--selected{background:var(--surface-300);color:var(--ink)}.customer-picker{gap:var(--space-4)}.customer-picker__summary{align-items:center;column-gap:var(--space-2);color:var(--ink-muted);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;flex-wrap:wrap;font-weight:400;display:flex}.vehicle-picker{gap:var(--space-1);min-width:0;display:grid}.vehicle-picker__row{gap:var(--space-2);min-width:0;display:flex}.vehicle-picker__row select{flex:1;min-width:0}.vehicle-picker__row .button{flex-shrink:0}.vehicle-picker__hint p{margin:0}.vehicle-picker__hint .loading-state{padding-block:0}.customer-vehicle-section{margin-top:var(--space-6);padding-top:var(--space-5)}.customer-vehicle-section__empty{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px dashed var(--line-200);border-radius:var(--radius-md);background:var(--surface-0);display:flex}.customer-vehicle-section__empty h3{font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);margin:0}.customer-vehicle-section__empty p{margin:var(--space-0-5) 0 0}.booking-creation-dialog .form-subsection{margin-top:var(--space-5)}.booking-creation-dialog .form-section .form-subsection{margin-top:0}@media (max-width:599px){.booking-creation-dialog{--drawer-pad:var(--space-4)}.booking-creation-dialog>.dialog-header{padding-top:max(var(--space-4), env(safe-area-inset-top));margin-bottom:var(--space-4)}.booking-creation-dialog>form>.dialog-actions .button{flex:1}.booking-creation-dialog>form>.dialog-actions .dialog-actions__back{flex:0 auto}.customer-vehicle-section__empty{flex-direction:column;align-items:stretch}.vehicle-picker__row{flex-wrap:wrap}.vehicle-picker__row select{flex-basis:100%}.vehicle-picker__row .button{flex:1}}.working-hours__head{gap:var(--space-3);padding:var(--space-3) 0 var(--space-1);border-bottom:1px solid var(--line-100);color:var(--ink-muted);font-size:var(--font-size-caption);grid-template-columns:1.25fr 1fr 1fr;font-weight:600;display:grid}.working-hours__day{align-items:center}.working-hours__day .field>span:first-child{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.working-hours__day:has(input[type=checkbox]:not(:checked)) .working-hours__toggle span{color:var(--ink-muted)}.table-empty{color:var(--ink-subtle)}.row-actions{text-align:right}.row-actions .card-action{height:32px;padding:0 var(--space-2);border-color:var(--line-200);background:var(--surface-100);color:var(--ink)}.row-actions .card-action+.card-action{margin-left:var(--space-1)}@media (max-width:599px){.working-hours__head{display:none}.working-hours__day .field>span:first-child{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.row-actions{text-align:left}.row-actions .card-action{height:var(--control-lg)}}.lookup__clear{height:auto}@media (max-width:599px),(pointer:coarse){.customer-vehicle-section__heading .text-button{min-height:var(--control-lg);padding-inline:var(--space-2)}}.customer-picker__edit{align-items:center;gap:var(--space-1);font-size:var(--font-size-caption);margin-left:auto;display:inline-flex}.field-grid.field-grid--pair{grid-template-columns:1fr 1fr}.field-grid--pair>.field--wide{grid-column:1/-1}.staff-filter__trigger{position:relative}.staff-filter__trigger.button--icon.is-filtered{color:var(--accent-ink);background:var(--accent-soft);border-color:#0000}.staff-filter__dot{top:var(--space-2);right:var(--space-2);width:var(--space-2);height:var(--space-2);border:2px solid var(--surface-100);background:var(--accent);border-radius:50%;position:absolute}.schedule-toolbar.schedule-toolbar--phone{gap:var(--space-2);margin:0 0 var(--space-3);padding:0 0 var(--space-3);border:0;border-bottom:1px solid var(--line-100);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr);display:grid}.schedule-toolbar--phone>*{width:auto}.phone-toolbar__row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.schedule-toolbar--phone .calendar-date-controls--compact{flex:auto;justify-content:flex-start;gap:0;min-width:0}.schedule-toolbar--phone .calendar-date-controls--compact .calendar-date-picker{padding:0 var(--space-1);color:var(--ink);font-size:var(--font-size-title-sm);line-height:var(--line-height-title-sm);flex:none;font-weight:600}.schedule-toolbar--phone .phone-toolbar__actions{flex:none;gap:0;margin-left:auto}.schedule-toolbar--phone .phone-toolbar__row .calendar-view-switch{flex:auto}.schedule-toolbar--phone .calendar-today{padding-inline:var(--space-3);flex:none}.schedule-toolbar--phone .calendar-today:disabled{border-color:var(--line-100);color:var(--ink-subtle);background:0 0}.customer-cards{gap:var(--space-2);margin:0 0 var(--space-4);padding:0;list-style:none;display:grid}.customer-card{align-items:center;gap:var(--space-1);min-width:0;padding-right:var(--space-1);border:1px solid var(--line-100);border-radius:var(--radius-md);background:var(--surface-100);box-shadow:var(--shadow-1);display:flex}.customer-card__main{gap:var(--space-0-5);min-width:0;padding:var(--space-3);border-radius:var(--radius-md) 0 0 var(--radius-md);color:var(--ink);text-align:left;font:inherit;cursor:pointer;background:0 0;border:0;flex:1;display:grid}.customer-card__main:hover{background:var(--surface-200)}.customer-card__main strong{font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg);overflow-wrap:anywhere;font-weight:600}.customer-card__main span{color:var(--ink-muted);font-size:var(--font-size-label);line-height:var(--line-height-label);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.customer-card__menu{flex:none}.print-menu__panel [role=menuitem]{align-items:center;gap:var(--space-2);display:flex}.notice:has(.notice__dismiss){align-items:center;gap:var(--space-2);padding-right:var(--space-1);display:flex}.notice__text{overflow-wrap:anywhere;flex:1;min-width:0}.notice__dismiss{width:var(--control-md);height:var(--control-md);border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.notice__dismiss:hover{background:color-mix(in srgb, currentColor 12%, transparent)}@media (pointer:coarse){.notice__dismiss{width:var(--control-lg);height:var(--control-lg)}}.app-shell:has(.floating-action) .notice{bottom:calc(max(var(--space-6), env(safe-area-inset-bottom)) + var(--fab-size) + var(--space-3))}@media (max-width:899px){.app-shell:has(.floating-action) .notice{right:var(--space-4);bottom:calc(var(--nav-bar-height) + env(safe-area-inset-bottom) + var(--space-4) + var(--fab-size) + var(--space-3))}}.options-panel{z-index:var(--z-popover);top:calc(100% + var(--space-2));gap:var(--space-3);width:min(300px, calc(100vw - var(--space-8)));max-height:min(70vh,560px);padding:var(--space-3) var(--space-4) var(--space-4);border:1px solid var(--line-200);border-radius:var(--radius-md);background:var(--surface-100);box-shadow:var(--shadow-2);grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:absolute;left:0;overflow:hidden}.staff-filter--icon .options-panel,.card-field-selector .options-panel{left:auto;right:0}.options-panel__header{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.options-panel__body{align-content:start;gap:var(--space-3);overscroll-behavior:contain;min-height:0;display:grid;overflow-y:auto}.options-panel__body>p{margin:0}.options-panel__footer{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--line-100);display:flex}.options-panel__footer .button{flex:1}.options-panel__group{border:0;align-content:start;min-width:0;margin:0;padding:0;display:grid}.options-panel__group legend{margin-bottom:var(--space-1);color:var(--ink-muted);font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.options-panel__group label{align-items:center;gap:var(--space-2);min-height:var(--control-md);font-size:var(--font-size-label);overflow-wrap:anywhere;cursor:pointer;display:flex}.options-panel__group label:has(input:disabled){color:var(--ink-subtle);cursor:not-allowed}.options-panel__group input{width:18px;height:18px;accent-color:var(--accent);flex:none}.options-panel.card-field-selector__panel{width:min(520px, calc(100vw - var(--space-8)))}.options-panel__scrim{z-index:var(--z-dialog);background:var(--scrim);position:fixed;inset:0}.options-panel.options-panel--sheet{z-index:var(--z-dialog);width:auto;max-height:min(85dvh,640px);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));border-radius:var(--radius-md) var(--radius-md) 0 0;box-shadow:var(--shadow-3);border-bottom:0;position:fixed;inset:auto 0 0}@media (max-width:599px){.options-panel .card-field-selector__groups{grid-template-columns:minmax(0,1fr)}}.lookup-status{align-items:flex-start;gap:var(--space-2);margin:var(--space-1) 0 0;padding:var(--space-2) var(--space-3);border:1px solid var(--line-200);border-radius:var(--radius-sm);font-size:var(--font-size-label);line-height:var(--line-height-label);display:flex}.lookup-status>.ui-glyph,.lookup-status>.loading-spinner{flex:none;margin-top:1px}.lookup-status--pending{color:var(--accent-ink);background:var(--accent-soft);border-color:#0000}.lookup-status--found{color:var(--success);background:var(--success-soft);border-color:#0000}.lookup-status--error{color:var(--ink);background:var(--warning-soft);border-color:var(--warning);flex-wrap:wrap}.lookup-status--error>.ui-glyph{color:var(--warning)}.lookup-status__text{gap:var(--space-0-5);flex:180px;min-width:0;display:grid}.lookup-status__text span{color:var(--ink-muted)}.lookup-status__retry{flex:none;margin-left:auto}.vehicle-fields--loading .field:not(:first-child) input,.vehicle-fields--loading .field:not(:first-child) input:disabled{background:linear-gradient(90deg, var(--surface-200) 25%, var(--surface-300) 37%, var(--surface-200) 63%) 0 0 / 400% 100%;animation:1.2s ease-in-out infinite lookup-shimmer}@keyframes lookup-shimmer{0%{background-position:100% 0}to{background-position:0 0}}@media (prefers-reduced-motion:reduce){.vehicle-fields--loading .field:not(:first-child) input{animation:none}}
