@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;background:#f5f5f9;color:#111827}img{max-width:100%;display:block}button{font:inherit}:root{--color-primary: #2563eb;--color-primary-soft: #dbeafe;--color-primary-strong: #1d4ed8;--color-accent: #10b981;--color-danger: #dc2626;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-text-field: #ffffff;--color-border: #e5e7eb;--color-subsection-border: rgb(230, 230, 230);--radius-md: 10px;--radius-lg: 16px;--shadow-soft: 0 14px 30px rgba(15, 23, 42, .12);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;padding:var(--space-xl) var(--space-md);display:flex;justify-content:center;align-items:flex-start}.app-container{width:100%;max-width:1000px}app-footer{flex-shrink:0}.step{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-soft);border:1px solid rgba(148,163,184,.2)}.step .page-title{margin:0;margin-bottom:var(--space-xs);font-size:2.2rem}.step .form-step{margin:0;margin-bottom:var(--space-xs);font-size:1.1rem;color:#6b7280;letter-spacing:.02em;font-weight:700}.step .location-header{color:#6b7280;margin-top:0;margin-bottom:var(--space-md);font-size:1rem;font-weight:700}.step h2{margin-top:0;margin-bottom:var(--space-md);font-size:1.5rem;letter-spacing:.03em}.step h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm);font-size:1rem;color:#4b5563}.page-header,.subsection-header{display:flex;justify-content:space-between;align-items:center;margin:0}.page-description{margin:0}form{display:flex;flex-direction:column;gap:var(--space-md)}label{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem;color:#374151;font-weight:500;margin-top:.5rem}input[type=text],input[type=password],input[type=email],input[type=tel],select{padding:.55rem .75rem;border-radius:var(--radius-md);border:1px solid var(--color-border);font:inherit;background-color:var(--color-text-field);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=tel]:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb40;background-color:#fff}input::placeholder{opacity:.75;font-weight:100}input[type=radio]:focus-visible,input[type=checkbox]:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}a:focus-visible,button:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}.radio-row,.checkbox-row{display:flex;flex-direction:column;gap:.25rem;max-width:35rem}.radio-row-option{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--space-md);width:100%;padding:0;cursor:pointer}.radio-row-option input{cursor:pointer}.radio-name{min-width:0}.radio-header{font-weight:700;margin-bottom:.4rem}button{border:solid 1px #9ca3af;border-radius:999px;padding:.55rem 1.3rem;cursor:pointer;font-weight:500;letter-spacing:.02em;background:#e5e7eb;color:#111827;transition:.4s ease}button:hover{background:#c8d1da;border:solid 1px #9ca3af}button:active{transform:translateY(0)}button.nav-button{min-width:12rem}.btn-primary{border:solid 1px #26508b;background:#3570c2;color:#f9fafb}.btn-primary:hover{background:#26508b;border:solid 1px #26508b}.btn-danger{background:var(--color-danger);color:#f9fafb}.nav-buttons{display:flex;justify-content:space-between;gap:var(--space-md)}.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:var(--space-sm);margin-bottom:var(--space-md)}.date-grid button{border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border)}.date-grid button.selected{background:var(--color-primary-soft);border-color:var(--color-primary);color:#1e3a8a}.subsection-block{background:var(--color-surface-muted);border-radius:var(--radius-lg);padding:var(--space-md);border:1px solid var(--color-subsection-border);margin-top:var(--space-sm)}.section-title{margin:0;font-size:1.25rem;font-weight:700;color:#000}h2.section-title{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:0em;color:#000;padding-right:.75rem;padding-bottom:.25rem;line-height:1.5rem}.section-line{height:1px;background-color:var(--color-border);margin:var(--space-md) 0;border:none}.summary-block{background:var(--color-surface-muted);border-radius:var(--radius-md);padding:var(--space-md);border:1px dashed #d1d5db;margin-bottom:var(--space-md)}.validation-error{color:var(--color-danger);font-weight:700;margin:0;scroll-margin-top:2.5rem}.subsection-block.input-error{border:1px solid #d32f2f;background-color:#ffebee;border-radius:.5rem}.email-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md)}.phone-row{display:grid;gap:var(--space-md);grid-template-columns:minmax(220px,4fr) minmax(120px,2fr)}.footer-header{font-size:1.25rem;margin:0;font-weight:700}.footer-text{font-size:1rem;margin-top:.5rem;margin-bottom:1.5rem}.appointment-landing-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#f9fafb;border-radius:.75rem;box-shadow:0 10px 25px #0f172a14;overflow:hidden}.appointment-landing-table th,.appointment-landing-table td{padding:.65rem .85rem;text-align:center;white-space:nowrap}.appointment-landing-table thead th{background:linear-gradient(180deg,#f9fafb,#e5e7eb);color:#111827;font-weight:600;border-bottom:1px solid #d1d5db}.appointment-landing-table thead .empty{background:transparent;border-top:none;border-left:none;border-right:none;border-bottom:1px solid #e5e7eb}.appointment-landing-table tbody td{background:#fff;border-bottom:1px solid #e5e7eb}.appointment-landing-table tbody th{border-bottom:1px solid #e5e7eb}.appointment-landing-table th+th,.appointment-landing-table td+td{border-left:1px solid #e5e7eb}.appointment-landing-table tbody th+td{border-left:1px solid #e5e7eb}.appointment-landing-table tbody tr:last-child td{border-bottom:none}.appointment-landing-table tbody tr:last-child th{border-bottom:none}@media (max-width: 730px){.appointment-landing-table{table-layout:fixed;width:100%}.appointment-landing-table th,.appointment-landing-table td{white-space:normal;overflow-wrap:anywhere;line-height:1.25;padding:.55rem .6rem}.appointment-landing-table thead th.empty,.appointment-landing-table tbody th{width:28%;text-align:left}.appointment-landing-table thead th{font-size:.85rem}}@media (max-width: 400px){.appointment-landing-table{font-size:.85rem}}.verify-items{display:block;margin-bottom:.75rem}.verify-items:last-child{margin-bottom:0}.verify-item{display:grid;grid-template-columns:12rem 1fr;column-gap:1.5rem;align-items:baseline;margin:.1rem 0;font-size:.95rem;color:#374151;font-weight:500}.verify-label{text-align:right}.verify-label:after{content:":"}.verify-value{text-align:left;color:#000;font-weight:500;margin:0}.edit-banner{padding-left:.3em;padding-bottom:.05em;margin:0;font-weight:700;font-size:1.25em;background-color:#fe0}.br-space{margin-bottom:1.5rem}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.field input{width:100%}.field label{margin-top:0;margin-bottom:.5rem}.fieldset-reset{border:0;margin:0;padding:0;min-inline-size:0}.loading-locations-spacer{margin-bottom:2.6em}.editing-location-spacer{margin-bottom:1rem}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,select:-webkit-autofill,select:-webkit-autofill:hover,select:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus{-webkit-text-fill-color:#111827;caret-color:#111827;-webkit-box-shadow:0 0 0 1000px var(--color-text-field) inset;box-shadow:0 0 0 1000px var(--color-text-field) inset;transition:background-color 9999s ease-out 0s}input:-webkit-autofill:focus,select:-webkit-autofill:focus,textarea:-webkit-autofill:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #2563eb40,0 0 0 1000px var(--color-text-field) inset}input:-moz-autofill,select:-moz-autofill,textarea:-moz-autofill{box-shadow:0 0 0 1000px var(--color-text-field) inset;-moz-text-fill-color:#111827;caret-color:#111827}@media (max-width: 350px){.step-landing .email-row{grid-template-columns:1fr;gap:var(--space-sm)}.step-landing .subsection-block{padding:.75rem}.step-landing .field input{max-width:100%}}@media (max-width: 560px){.page-header{flex-direction:column;align-items:flex-start;gap:.25rem;line-height:2.35rem}.form-step{margin-bottom:0}.step-customer-info .phone-row{grid-template-columns:1fr;gap:var(--space-sm)}}@media (max-width: 500px){.nav-buttons{flex-direction:column-reverse;align-items:stretch}.nav-buttons .nav-button{width:100%;min-width:0}.step-verify .verify-item,.step-submission .verify-item{grid-template-columns:1fr;column-gap:0;row-gap:.15rem;align-items:start;margin:.75rem 0}.step-verify .verify-label,.step-submission .verify-label{text-align:left;margin-bottom:-.3rem}.step-verify .verify-value,.step-submission .verify-value{overflow-wrap:anywhere;word-break:break-word}}
