.admin{box-sizing:border-box}.admin-dashboard{max-width:1240px;margin:2rem auto}.admin-login{background:#fff;border:1px solid #d8e1e5;border-radius:14px;max-width:460px;margin:8vh auto;padding:2rem}.admin h1{letter-spacing:-.025em;margin:.35rem 0;font-size:calc(clamp(1.6rem,3vw,2.1rem))}.admin h2{margin:1.8rem 0 .5rem}.admin h3{margin:0 0 1rem;font-size:1.05rem}.admin p{line-height:1.6}.admin .eyebrow{color:#426573;letter-spacing:.12em;margin:0;font-size:.75rem;font-weight:700}.admin .muted,.admin small{color:#526772}.admin .actions,.admin .admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.admin .actions{justify-content:flex-start}.admin .admin-tabs{border-bottom:1px solid #d3dfe4;flex-wrap:wrap;gap:.5rem;padding:1rem 0;display:flex}.admin button{color:#213e4a;background:#fff;border:1px solid #b7c9d1;border-radius:7px;min-height:44px;font-weight:600}.admin button.primary,.admin button[aria-current]{color:#fff;background:#145d66;border-color:#145d66}.admin button:disabled{opacity:.55;cursor:wait}.admin :focus-visible{outline-offset:3px;outline:3px solid #d68e22}.admin label{gap:.4rem;margin-bottom:1rem;font-size:.9rem;font-weight:600;display:grid}.admin input{color:#172b35;background:#fff;border:1px solid #b7c9d1;border-radius:6px;width:100%;min-height:44px}.admin .check{align-items:center;gap:.65rem;display:flex}.admin .check input{width:20px;min-height:20px}.admin .panel{background:#fff;border:1px solid #d8e1e5;border-radius:10px;min-width:0;padding:1.25rem}.admin .admin-columns{grid-template-columns:minmax(240px,1fr) minmax(0,2fr);align-items:start;gap:1.25rem;display:grid}.admin .notice{border-radius:7px;padding:1rem}.admin .error{color:#902f26;background:#fff0ee;border:1px solid #e5b2ab}.admin .success{color:#235b40;background:#e7f3ed;border:1px solid #a6cbb9}.admin .table-scroll{overflow-x:auto}.admin table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.admin td,.admin th{vertical-align:middle;border-bottom:1px solid #e1e8eb;padding:.8rem .5rem}.admin th{color:#526772}.admin .badge{color:#255e45;white-space:nowrap;background:#e5f3ed;border-radius:5px;padding:.3rem .5rem;font-size:.78rem;display:inline-block}.admin .badge.inactive{color:#56636b;background:#edf0f2}.admin .form-row{flex-wrap:wrap;align-items:end;gap:1rem;display:flex}.admin .form-row label{flex:150px;margin:0}.admin fieldset{border:0;min-width:0;margin:0;padding:0}.admin legend{margin:1rem 0;font-weight:700}.admin .week-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;display:grid}.admin .range-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.6rem;display:flex}.admin .range-row label{flex:1;min-width:115px;margin:0}.admin .range-row input{padding:.5rem}.admin .section-actions{margin-top:1.25rem}.admin .exception-list{padding:0;list-style:none}.admin .exception-list li{border-bottom:1px solid #e1e8eb;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.admin .slot-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem;display:grid}.admin .slot-card{border:1px solid #d8e1e5;border-radius:8px;flex-direction:column;gap:.7rem;padding:1rem;display:flex}.admin .slot-card h3,.admin .slot-card label,.admin .slot-card p{margin:0}.admin .slot-card.full{background:#f0f2f4}.admin .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}.customer-account{max-width:760px}.customer-account .panel{margin-top:1.25rem}.admin select,.admin textarea{box-sizing:border-box;width:100%;font:inherit;color:#172b35;background:#fff;border:1px solid #b7c9d1;border-radius:6px;min-height:44px;padding:.65rem}.admin textarea{resize:vertical}.booking-list{padding:0;list-style:none}.booking-primary-link{color:#fff;background:#145d66;border-radius:7px;padding:.8rem 1rem;display:inline-block}.booking-service-option{border-bottom:1px solid #e1e8eb;padding:.8rem 0}.booking-service-option small,.booking-slot small{margin-top:.35rem;display:block}.booking-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.admin .booking-slot{border:1px solid #b7c9d1;border-radius:7px;align-items:center;gap:.5rem;margin:0;padding:.8rem;display:flex}.admin .booking-slot input{flex-shrink:0;width:20px;min-height:20px}.booking-slot.full{color:#56636b;background:#edf0f2}.booking-slot.selected{background:#e7f3ed;outline:2px solid #145d66}.booking-service-list li{margin-bottom:.6rem}.booking-complaint{white-space:pre-wrap;overflow-wrap:anywhere}.booking-result img{max-width:100%;height:auto;display:block}.admin details p,.audit-json,.booking-result h2,.customer-account .panel,.invoice-detail{overflow-wrap:anywhere}.admin .customer-list,.admin .vehicle-list{padding:0;list-style:none}.admin .vehicle-list li{border-bottom:1px solid #d8e1e5;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.admin .vehicle-list p{margin:.25rem 0}.admin .customer-list button{text-align:left;width:100%;margin-bottom:.5rem}.admin details p{max-width:18rem}.reception-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0;display:grid}.reception-summary p{background:#fff;border:1px solid #d8e1e5;border-radius:8px;margin:0;padding:1rem}.reception-summary strong{color:#145d66;font-size:1.7rem;display:block}.reception-walk-in{max-width:760px}.reception .customer-list button[aria-current] small{color:#e0f1f2}.cost-line{margin-bottom:.75rem}.invoice-line{border-bottom:1px solid #d8e1e5;flex-direction:column;gap:.3rem;padding:.75rem 0;display:flex}.audit-json{white-space:pre-wrap;font-size:.8rem}@media (width<=950px){.admin .admin-columns{grid-template-columns:1fr}}@media (width<=700px){.admin-dashboard{margin:0 auto;padding:1rem}.admin .week-grid{grid-template-columns:1fr}.admin-login{margin:2rem 1rem}}body{color:#172b35;background:#f5f7f8;margin:0;font-family:system-ui,sans-serif}main{max-width:48rem;margin:4rem auto;padding:1.5rem}button,input{font:inherit;padding:.65rem}button{cursor:pointer}input{box-sizing:border-box;max-width:100%}
