/* DRIVECARE: quiet automotive surfaces, touch-first controls, focused workspaces. */
:root{--ink:#101e30;--muted:#5f7085;--line:#e1e7ef;--blue:#245fe7;--radius:20px;background:#f2f4f7}
body{letter-spacing:-.12px}
.content{max-width:1580px;margin-inline:auto}
.card{box-shadow:0 6px 28px #162b4510;border:1px solid #e2e7ee}
.sidebar{background:linear-gradient(170deg,#102338,#0b1422)}
.org-label{border-bottom:1px solid #ffffff12;margin-bottom:24px;padding-bottom:24px}
.nav-link.active{background:#ffffff10;box-shadow:inset 3px 0 var(--blue);color:#fff}
.topbar{background:#ffffffed;backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.btn{border-radius:12px;transition:background .15s,box-shadow .15s}
.btn:not(.ghost):not(.secondary){box-shadow:0 4px 12px #245fe726}
.btn.ghost{color:#53657c}
.page-head{margin-bottom:26px}.page-head p{line-height:1.6}
.card-head{gap:16px}.card-head a{font-size:12px;white-space:nowrap}
.next-visit{padding:28px 30px;margin-bottom:20px;border-top:3px solid var(--blue);background:linear-gradient(130deg,#fff,#f8faff)}
.next-visit .eyebrow{color:var(--blue);margin-bottom:8px}.next-visit .card-head>.icon{width:30px;height:30px;color:var(--blue)}
.next-visit .booking{border:0;padding:12px 0 22px}.next-visit .date-block{background:#e9effc}
.visit-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:var(--muted)}
.visit-footer a{display:flex;align-items:center;gap:8px}.visit-footer .icon{width:16px;height:16px}
.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.quick-actions>a{display:flex;align-items:center;gap:14px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--ink)}
.quick-actions>a>.icon:first-child{color:var(--blue);width:23px;height:23px}.quick-actions>a>.icon:last-child{margin-left:auto;width:16px}
.quick-actions strong{font-size:14px}.quick-actions small{display:block;margin-top:5px;font-size:12px}
.customer-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-stats .stat{box-shadow:none;background:transparent;border:0;padding:12px 16px;border-right:1px solid var(--line);border-radius:0}.customer-stats .stat:last-child{border-right:0}
.customer-stats .stat b{font-size:30px}.customer-stats .stat-icon{display:none}.customer-stats .stat small{font-size:11px}
.service-preview{display:flex;align-items:center;gap:14px;color:var(--ink);padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.service-preview:last-child{border-bottom:0}.service-preview span{flex:1;min-width:0}.service-preview small{display:block;margin-top:6px;font-size:12px}.service-preview strong{font-size:14px;white-space:nowrap}.service-preview .icon{width:16px;color:var(--muted)}
.plate{font-size:12px;font-weight:600;letter-spacing:1.1px;background:#fff;color:#24344b;border-color:#bfc9d5;padding:4px 8px}
.booking-info{min-width:0}.booking-info h3,.booking-info p{overflow-wrap:anywhere}.booking-meta{flex-wrap:wrap;gap:8px}.status{line-height:1.5}
.booking-progress{display:flex;gap:14px;margin:0 0 22px;max-width:760px}.booking-progress span{flex:1;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.booking-progress b{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;flex-shrink:0}.booking-progress .active{color:var(--blue)}.booking-progress .active b{border-color:var(--blue);background:#eaf1ff}
.booking-form{max-width:760px}.step-label{padding-top:12px;font-weight:700}.summary{position:sticky;bottom:12px;z-index:2;border:1px solid #dbe4f3;box-shadow:0 6px 22px #10203912;background:#f2f6ff}.summary strong{font-size:20px;white-space:nowrap}
.slot{min-height:46px;font-weight:600}.slot.selected{box-shadow:0 3px 12px #245fe730}
.queue-tabs{display:flex;gap:6px;padding:5px;background:#e7ecf3;border-radius:12px;width:max-content;max-width:100%;margin-bottom:18px}.queue-tabs button{border:0;background:none;padding:10px 18px;border-radius:8px;color:#596b81;font-size:13px}.queue-tabs .active{background:white;color:var(--ink);box-shadow:0 2px 5px #10203910}
.filter-bar input[type=search]{min-width:200px;flex:1}.filter-bar input,.filter-bar select{min-height:44px}
.workspace-shell .stat b{font-size:clamp(20px,2vw,30px);overflow-wrap:anywhere}.workspace-shell .booking{padding-block:22px}.table-wrap th{position:sticky;top:0}.table-wrap tbody tr:hover{background:#f8faff}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#aebed3}.field input:focus,.field textarea:focus{border-color:var(--blue)}
.tip{background:#f1f5fa;border-color:#e2e9f2;color:#566c87}.tip strong{color:#344f72}
.loading{display:flex;align-items:center;justify-content:center;gap:12px}.loading-ring{width:22px;height:22px;border:2px solid var(--line);border-top-color:var(--blue);border-radius:50%}
@media(prefers-reduced-motion:no-preference){.loading-ring{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}
@media(min-width:1100px){.customer-shell .content{max-width:1250px}.workspace-shell .grid.two{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(max-width:760px){
 .content{padding:24px 16px calc(110px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:15;padding-inline:18px}.topbar .online{display:none}
 .page-head h1{font-size:27px;letter-spacing:-.8px}.page-head p{font-size:12px;margin-top:7px}.page-head{margin-bottom:22px}
 .sidebar{height:calc(72px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:#ffffffed;backdrop-filter:blur(20px);box-shadow:0 -3px 24px #0b19280a;border-top:1px solid #e4e9f0}
 .customer-shell .sidebar nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0}.nav-link{min-height:52px;padding:7px 3px;font-size:10px;min-width:0;gap:5px}.nav-link.active{background:#eaf0ff;color:var(--blue);box-shadow:none}.nav-link:hover{color:var(--blue)}.nav-link .icon{width:21px;height:21px}
 .next-visit{padding:21px 19px;margin-bottom:14px}.next-visit h2{font-size:21px}.next-visit .booking{padding:8px 0 18px}.next-visit .booking .actions{padding-left:0;justify-content:flex-end}.next-visit .booking-info h3{font-size:16px}.next-visit .date-block{min-width:56px}
 .visit-footer{font-size:11px;align-items:center}.visit-footer>a{font-size:12px}.visit-footer .icon{display:none}
 .quick-actions{gap:10px;margin-bottom:20px}.quick-actions>a{padding:15px 12px;gap:9px}.quick-actions>a>.icon:last-child{display:none}.quick-actions strong{font-size:12px}.quick-actions small{font-size:10px;line-height:1.5}.quick-actions>a>.icon:first-child{width:20px}
 .customer-stats{gap:0;margin-bottom:22px}.customer-stats .stat{padding:8px 10px}.customer-stats .stat-top{font-size:10px;min-height:30px;align-items:flex-start}.customer-stats .stat b{font-size:27px}.customer-stats .stat small{font-size:10px;line-height:1.5;display:block}.customer-stats .stat:first-child{padding-left:2px}
 .welcome-hero{min-height:265px}.welcome-hero h2{font-size:28px}.welcome-hero .car-art{opacity:.6;bottom:10px;right:-90px}
 .card-head a{font-size:11px}.card-head h2{font-size:19px}.card{padding:20px}.service-preview{font-size:13px}.service-preview strong{font-size:13px}.vehicle{gap:12px}.vehicle-icon{padding:11px}.vehicle h3{font-size:14px}
 .field input,.field select,.field textarea,.chat-compose textarea,.filter-bar input,.filter-bar select{font-size:16px;min-height:48px}.btn.small{min-height:44px}.close{min-width:44px;min-height:44px}
 .booking-progress{gap:7px}.booking-progress span{font-size:10px;gap:5px}.booking-progress b{width:24px;height:24px}.booking-form{padding:20px}.summary{bottom:calc(82px + env(safe-area-inset-bottom));padding:14px}.summary strong{font-size:18px}
 .filter-bar input[type=search]{width:100%;flex-basis:100%;min-width:0}.filter-bar input[type=date]{max-width:100%;min-width:0}.queue-tabs{width:100%}.queue-tabs button{flex:1;padding:11px 8px}
 .schedule-row{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);gap:8px}.schedule-row label{font-size:12px;grid-column:2 / 4;justify-self:end}.schedule-row input[type=time]{font-size:14px;padding:10px 2px}
 .bubble{max-width:91%;font-size:14px}.chat-log{height:45dvh;min-height:260px}.chat-compose{align-items:flex-end}.chat-compose .btn{min-height:48px}.chat-compose textarea{max-height:120px}
 #toast{bottom:calc(86px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px);font-size:13px}
}
@media(max-width:360px){.topbar{padding-inline:16px}.page-head h1{font-size:24px}.two-fields{grid-template-columns:1fr}.nav-link{font-size:9px}.card{padding:16px}.quick-actions strong{font-size:11px}.booking .actions{padding-left:0}.visit-footer{flex-wrap:wrap}.booking-progress span{font-size:9px}}
