/* Booking and profile: restrained automotive UI, keyboard and touch states. */
[hidden]{display:none!important}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.avatar{border-radius:50%;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-link{min-width:44px;min-height:44px;transition:box-shadow .15s,background .15s}.avatar-link:hover{background:#dce7ff;box-shadow:0 0 0 4px #245fe712}
.profile-identity{display:flex;align-items:center;gap:24px;margin-bottom:24px}.profile-identity p{font-size:13px;color:var(--muted);margin:7px 0 14px}.profile-avatar{width:92px;height:92px;font-size:34px}.avatar-preview{width:180px;height:180px;margin:4px auto 12px;font-size:56px}.profile-identity .actions{flex-wrap:wrap}
.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.booking-main{display:grid;gap:24px;min-width:0}.booking-layout .card{padding:26px;box-shadow:none}.section-heading{display:flex;gap:13px;align-items:center;margin-bottom:22px}.section-heading>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#edf2fb;color:var(--blue);font-size:12px;font-weight:700;flex-shrink:0}.section-heading h2{font-size:20px}.section-heading p{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.6}
.service-options{display:grid;gap:12px;margin-top:22px}.service-option{display:flex;align-items:center;gap:16px;text-align:left;width:100%;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;color:var(--ink);transition:border-color .15s,background .15s}.service-option:hover{border-color:#a7bad8;background:#fafcff}.service-option.selected{border-color:var(--blue);background:#f4f7ff;box-shadow:inset 0 0 0 1px var(--blue)}.service-visual{display:grid;place-items:center;width:96px;min-height:88px;flex-shrink:0;border-radius:10px;background:#edf1f5;color:#506b8a}.service-visual svg{width:88px;height:66px}.service-option.selected .service-visual{background:#e8eefb;color:#305fa6}.service-copy{flex:1;min-width:0;display:grid;gap:7px}.service-copy>strong{font-size:15px}.service-description{font-size:12px;line-height:1.55;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.service-facts{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--muted)}.service-facts>b{color:var(--ink);font-size:15px}.service-facts em{font-style:normal;font-size:10px;background:#e7edf6;color:#526b8b;padding:3px 6px;border-radius:5px}.service-check{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;border:1px solid #c8d2df;flex-shrink:0}.service-check svg{width:14px;opacity:0}.selected .service-check{background:var(--blue);border-color:var(--blue);color:#fff}.selected .service-check svg{opacity:1}
.field-label{display:block;font-size:12px;font-weight:650;margin-bottom:8px}.date-picker{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:14px 16px;border:1px solid #c8d4e5;border-radius:12px;background:#fff;color:var(--ink);cursor:pointer;text-align:left}.date-picker>.icon{color:var(--blue)}.date-picker strong{font-size:14px;font-weight:600}.date-picker>span{margin-left:auto;color:var(--blue);font-size:12px}.date-picker:hover,.date-picker[aria-expanded=true]{border-color:var(--blue);background:#f7faff}.booking-calendar{max-width:390px;margin-top:12px;border:1px solid #d5dfec;border-radius:16px;padding:18px;background:#fff;box-shadow:0 8px 24px #172a4210}.calendar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.calendar-heading strong{text-transform:capitalize;font-size:15px}.calendar-heading button{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:25px}.calendar-heading button:disabled{opacity:.3;cursor:not-allowed}.calendar-week,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-week{font-size:11px;color:var(--muted);text-align:center;margin-bottom:8px}.calendar-day{aspect-ratio:1;border:1px solid transparent;background:#f5f7fa;border-radius:9px;color:var(--ink);font-size:13px;min-height:34px;padding:0}.calendar-day:hover:not(:disabled){background:#e8effc;border-color:#b5c8e7}.calendar-day.today{border-color:#7092c5;background:#fff}.calendar-day.selected{background:var(--blue);color:#fff;border-color:var(--blue)}.calendar-day:disabled{background:transparent;color:#b0bac6;cursor:not-allowed;text-decoration:line-through;opacity:1}.calendar-day.selected:disabled{background:#edf0f5;color:#8895a6}.calendar-legend{border-top:1px solid var(--line);margin-top:13px;padding-top:12px;display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:10px}
.slot-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:24px 0 12px}.slot-heading h3{font-size:14px}.slot-heading>span{font-size:11px;color:var(--muted)}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.slot{font-size:13px;min-height:49px;padding:8px 5px;background:#fff}.slot:hover:not(:disabled){background:#edf3ff;border-color:#7c9dcc}.slot.selected,.slot.selected:hover{background:#173d79;color:#fff;border-color:#173d79;box-shadow:inset 0 0 0 1px #173d79}.slot:disabled{background:#f3f5f8;color:#a0aab7;border-color:#eef1f4;cursor:not-allowed;opacity:1}.slot small{display:block;font-size:8px;margin-top:3px;color:inherit}
.booking-review{position:sticky;top:100px}.booking-review .eyebrow{color:var(--blue);font-size:10px;margin-bottom:9px}.booking-review h2{font-size:21px;margin-bottom:22px}.booking-review dl{margin:0}.booking-review dl>div{margin:0 0 17px;display:grid;gap:5px}.booking-review dt{font-size:11px;color:var(--muted)}.booking-review dd{margin:0;font-size:13px;font-weight:600;line-height:1.5}.booking-review dd small{display:block;font-weight:400}.review-total{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid var(--line);margin:22px 0;padding-top:20px;font-size:13px}.review-total strong{font-size:25px;letter-spacing:-.7px}.booking-review .btn{width:100%;font-size:13px;min-height:48px}.booking-review .form-note{margin-top:12px;font-size:11px}.review-note{display:flex;align-items:flex-start;gap:8px;border-top:1px solid var(--line);padding-top:17px;margin-top:18px;font-size:11px;line-height:1.6;color:var(--muted)}.review-note .icon{width:15px;height:15px}
.chat-log .empty{margin:auto;max-width:400px;padding:26px 18px}.chat-log .empty p{line-height:1.8}.chat-compose{background:#f7f9fc;padding:12px;border-radius:14px;border:1px solid var(--line);align-items:flex-end}.chat-compose textarea{border:0;background:transparent;min-height:70px;padding:8px;line-height:1.5}.chat-compose .btn{width:46px;min-height:46px;padding:10px}.bubble{background:#eef2f6;border:1px solid #e5eaf0;max-width:78%;padding:14px 18px}.bubble.mine{background:#eaf1fc;border-color:#d8e4f7}.bubble small{padding-top:6px;color:#536b88}.stat b{font-variant-numeric:tabular-nums}.stat{transition:border-color .15s}.stat:hover{border-color:#c5d4e9}.quick-actions>a:first-child{border-color:#bad0f7;background:#edf3ff}.quick-actions>a:first-child strong{color:#1d51b3}.next-visit{box-shadow:none}.card{box-shadow:0 3px 12px #162b4506}.topbar,.sidebar{backdrop-filter:none}
@media(max-width:1150px){.booking-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.booking-layout .card{padding:20px}.service-visual{width:72px;min-height:80px}.service-visual svg{width:68px}.service-option{gap:10px;padding:12px}.service-check{width:19px;height:19px}.service-description{font-size:11px}}
@media(max-width:980px){.booking-layout{grid-template-columns:1fr}.booking-review{position:static}.booking-review dl{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.booking-main{gap:18px}.booking-review .btn{min-height:50px}.service-visual{width:90px}.service-visual svg{width:84px}}
@media(max-width:760px){.booking-layout .card{padding:20px}.section-heading{margin-bottom:18px}.section-heading h2{font-size:18px}.section-heading p{font-size:11px}.service-options{gap:10px}.service-option{padding:12px;gap:10px;position:relative;align-items:flex-start}.service-visual{width:64px;min-height:64px}.service-visual svg{width:60px;height:50px}.service-copy>strong{font-size:13px;line-height:1.45;padding-right:16px}.service-description{font-size:11px;-webkit-line-clamp:2}.service-facts{gap:6px 10px;font-size:11px}.service-facts b{font-size:14px}.service-check{position:absolute;right:10px;top:12px;width:17px;height:17px}.service-check .icon{width:12px}.date-picker{padding:13px 12px;gap:9px;min-height:56px}.date-picker strong{font-size:13px}.date-picker>span{font-size:10px}.booking-calendar{padding:14px}.calendar-grid{gap:4px}.calendar-heading button{width:42px;height:42px}.calendar-day{font-size:12px;min-height:34px}.calendar-legend{font-size:9px}.booking-review h2{font-size:20px}.booking-review dd{font-size:12px}.booking-review dl{gap:0 16px}.review-total strong{font-size:27px}.profile-identity{gap:16px;align-items:flex-start}.profile-avatar{width:76px;height:76px;font-size:28px}.profile-identity h2{font-size:19px}.profile-identity p{font-size:11px}.profile-identity .actions{gap:6px}.profile-identity .btn.small{padding:8px 10px;font-size:11px}.bubble{max-width:90%;font-size:13px}.chat-compose textarea{font-size:16px}.chat-log{min-height:270px}.slot-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.slot{min-height:48px}.review-note{font-size:11px}}
@media(max-width:360px){.booking-layout .card{padding:16px}.service-visual{width:48px;min-height:58px}.service-visual svg{width:46px}.service-description{-webkit-line-clamp:3}.date-picker>span{display:none}.calendar-grid{gap:2px}.calendar-day{min-height:32px}.profile-identity{gap:12px}.profile-avatar{width:60px;height:60px}.profile-identity h2{font-size:17px}}
