:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#213547;background-color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{margin:0;padding:0;min-height:100vh;min-width:320px}body{margin:0;min-height:100vh;min-width:320px;background:#f5f7fb}input,select,textarea{font-size:16px}a{font-weight:500;color:#2563eb;text-decoration:none}a:hover{color:#1d4ed8}button{border-radius:10px;border:none;padding:12px 16px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer}.pac-container{z-index:999999!important;margin-top:6px!important;border:1px solid #cbd5e1!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 30px #0000001f!important;overflow:hidden!important;font-family:Arial,sans-serif!important}.pac-item{display:block!important;padding:14px 16px!important;border-top:1px solid #eef2f7!important;cursor:pointer!important;line-height:1.4!important;white-space:normal!important;background:#fff!important}.pac-item:first-child{border-top:none!important}.pac-item:hover{background:#f8fafc!important}.pac-item-query{font-size:15px!important;font-weight:700!important;color:#0f172a!important}.pac-matched{font-weight:800!important}.pac-icon{margin-right:10px!important}.pac-logo:after{display:none!important}@media(max-width:600px){.pac-item{padding:16px!important}}:root{--kc-navy: #0b1f3a;--kc-navy-soft: #12325d;--kc-navy-glow: #1a3a66;--kc-blue: #2563eb;--kc-blue-soft: #dbeafe;--kc-surface: #0f172a;--kc-card: #ffffff;--kc-muted: #64748b;--kc-text: #0f172a;--kc-success: #059669;--kc-success-soft: #d1fae5;--kc-warning: #d97706;--kc-warning-soft: #fef3c7;--kc-danger: #dc2626;--kc-danger-soft: #fee2e2;--kc-radius: 20px;--kc-shadow: 0 20px 50px rgba(11, 31, 58, .14);--kc-touch: 52px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,var(--kc-navy) 0%,#102a4c 220px,#eef2f7 220px,#eef2f7 100%);color:var(--kc-text);-webkit-font-smoothing:antialiased}.appointment-page{min-height:100vh;padding:12px 16px 40px}.appointment-shell{max-width:440px;margin:0 auto}.appointment-fade-in{animation:appointment-fade-in .35s ease}@keyframes appointment-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.appointment-slide-up{animation:appointment-slide-up .28s ease}@keyframes appointment-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.appointment-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:18px}.appointment-back,.appointment-back-spacer{width:44px;height:44px}.appointment-back{border:none;border-radius:14px;background:#ffffff1f;color:#fff;font-size:22px;cursor:pointer}.appointment-brand-block{text-align:center}.appointment-brand{color:#f8fafc;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.appointment-brand-sub{color:#cbd5e1;font-size:13px;font-weight:600;margin-top:2px}.appointment-page-title{margin-bottom:16px;color:#fff}.appointment-page-title h1{margin:0 0 6px;font-size:24px;line-height:1.15}.appointment-page-title p{margin:0;color:#cbd5e1;font-size:15px;line-height:1.45}.appointment-hero{background:linear-gradient(160deg,#fff,#f8fbff);border-radius:28px;padding:22px 20px 24px;box-shadow:var(--kc-shadow);margin-bottom:16px;border:1px solid rgba(255,255,255,.8)}.appointment-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.appointment-hero-eyebrow{color:var(--kc-muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.appointment-hero h1{margin:0 0 8px;font-size:28px;line-height:1.12;letter-spacing:-.02em}.appointment-hero-vehicle{color:var(--kc-muted);font-size:16px;font-weight:600;margin-bottom:16px}.appointment-hero-schedule{font-size:24px;font-weight:800;line-height:1.2;letter-spacing:-.02em}.appointment-status-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;font-weight:800;font-size:12px;letter-spacing:.02em;white-space:nowrap}.appointment-status-pill.tone-default{background:var(--kc-blue-soft);color:#1d4ed8}.appointment-status-pill.tone-success{background:var(--kc-success-soft);color:#047857}.appointment-status-pill.tone-warning{background:var(--kc-warning-soft);color:#b45309}.appointment-status-pill.tone-danger{background:var(--kc-danger-soft);color:#b91c1c}.appointment-status-pill.tone-muted{background:#e2e8f0;color:#475569}.appointment-card{background:var(--kc-card);border-radius:var(--kc-radius);padding:20px;box-shadow:var(--kc-shadow);margin-bottom:16px}.appointment-card-tight h2{margin-bottom:16px}.appointment-card h2{margin:0 0 12px;font-size:17px;display:flex;align-items:center;gap:8px}.appointment-card-icon{font-size:18px}.appointment-timeline{display:grid;gap:0}.appointment-timeline-step{display:grid;grid-template-columns:28px 1fr;gap:14px;min-height:58px}.appointment-timeline-rail{position:relative;display:flex;justify-content:center}.appointment-timeline-dot{width:24px;height:24px;border-radius:999px;background:#e2e8f0;color:#fff;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;z-index:1}.appointment-timeline-line{position:absolute;top:24px;bottom:-8px;width:2px;background:#e2e8f0}.appointment-timeline-step.completed .appointment-timeline-dot{background:var(--kc-success)}.appointment-timeline-step.completed .appointment-timeline-line{background:#86efac}.appointment-timeline-step.current .appointment-timeline-dot{background:var(--kc-blue);box-shadow:0 0 0 6px #2563eb29;animation:appointment-pulse 1.8s infinite}.appointment-timeline-step.current .appointment-timeline-label{color:var(--kc-text)}@keyframes appointment-pulse{0%,to{box-shadow:0 0 0 6px #2563eb29}50%{box-shadow:0 0 0 10px #2563eb14}}.appointment-timeline-label{font-weight:800;font-size:15px;line-height:1.3}.appointment-timeline-meta{color:var(--kc-muted);font-size:13px;margin-top:2px}.appointment-timeline-step.upcoming .appointment-timeline-label,.appointment-timeline-step.upcoming .appointment-timeline-meta{color:#94a3b8}.appointment-updates-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.appointment-updates-list li{display:grid;grid-template-columns:10px 1fr;gap:12px;align-items:start}.appointment-updates-dot{width:10px;height:10px;border-radius:999px;background:var(--kc-blue);margin-top:6px}.appointment-actions{display:grid;gap:12px;margin-top:4px}.appointment-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--kc-touch);width:100%;border:none;border-radius:18px;padding:16px 18px;font-size:16px;font-weight:800;cursor:pointer;text-decoration:none;transition:transform .15s ease,opacity .15s ease}.appointment-button:active:not(:disabled){transform:scale(.985)}.appointment-button.primary{background:linear-gradient(180deg,var(--kc-navy-soft) 0%,var(--kc-navy) 100%);color:#fff;box-shadow:0 10px 24px #0b1f3a38}.appointment-button.secondary{background:#eef2ff;color:#1e3a8a}.appointment-button.danger{background:var(--kc-danger-soft);color:#b91c1c}.appointment-button.ghost{background:transparent;color:#475569;box-shadow:inset 0 0 0 1px #cbd5e1}.appointment-button:disabled{opacity:.55;cursor:not-allowed}.appointment-muted{color:var(--kc-muted);font-size:15px;line-height:1.55}.appointment-banner,.appointment-alert{border-radius:18px;padding:16px 18px;margin-bottom:16px;line-height:1.5;font-size:15px}.appointment-banner strong,.appointment-alert strong{display:block;margin-bottom:4px}.appointment-banner.tone-info,.appointment-alert{background:#eff6ff;color:#1e3a8a}.appointment-banner.tone-success{background:var(--kc-success-soft);color:#065f46}.appointment-banner.tone-warning{background:var(--kc-warning-soft);color:#92400e}.appointment-banner.tone-danger{background:var(--kc-danger-soft);color:#991b1b}.appointment-skeleton-stack{display:grid;gap:14px}.appointment-skeleton{border-radius:20px;background:linear-gradient(90deg,#e2e8f0 25%,#f8fafc,#e2e8f0 75%);background-size:200% 100%;animation:appointment-shimmer 1.2s infinite}.appointment-skeleton-hero{min-height:180px}.appointment-skeleton-card{min-height:140px}.appointment-skeleton-card.short{min-height:96px}.appointment-skeleton-button{min-height:var(--kc-touch)}@keyframes appointment-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.appointment-field{display:grid;gap:8px;margin-bottom:16px}.appointment-field label{font-size:14px;font-weight:800;color:#334155}.appointment-field-hint{color:var(--kc-muted);font-size:13px;line-height:1.45;margin-top:-4px}.appointment-field input,.appointment-field select,.appointment-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:16px;padding:16px;font-size:16px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.appointment-field input:focus,.appointment-field select:focus,.appointment-field textarea:focus{outline:none;border-color:var(--kc-blue);box-shadow:0 0 0 4px #2563eb1f}.appointment-choice-grid,.appointment-day-grid,.appointment-window-grid{display:grid;gap:12px}.appointment-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-day-card,.appointment-window-card,.appointment-choice{border:1px solid #cbd5e1;border-radius:18px;padding:16px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.appointment-day-card:active,.appointment-window-card:active,.appointment-choice:active{transform:scale(.985)}.appointment-day-card.selected,.appointment-window-card.selected,.appointment-choice.selected{border-color:var(--kc-blue);background:#eff6ff;box-shadow:0 10px 24px #2563eb1f}.appointment-day-card-name,.appointment-window-label{display:block;font-size:16px;font-weight:800}.appointment-day-card-date,.appointment-window-meta{display:block;color:var(--kc-muted);font-size:13px;margin-top:4px;font-weight:600}.appointment-window-card{display:grid;grid-template-columns:40px 1fr;gap:12px;align-items:center;min-height:72px}.appointment-window-icon{font-size:24px}.appointment-empty{text-align:center;padding:28px 12px}.appointment-empty-icon{font-size:34px;margin-bottom:10px}.appointment-empty strong{display:block;font-size:17px;margin-bottom:6px}.appointment-empty p{margin:0;color:var(--kc-muted);line-height:1.5}.appointment-step-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:16px}.appointment-step-dot{text-align:center;color:#94a3b8}.appointment-step-dot span{display:inline-flex;width:30px;height:30px;border-radius:999px;align-items:center;justify-content:center;background:#e2e8f0;font-size:13px;font-weight:800}.appointment-step-dot small{display:block;margin-top:6px;font-size:11px;line-height:1.2}.appointment-step-dot.current span{background:var(--kc-blue);color:#fff}.appointment-step-dot.done span{background:var(--kc-success);color:#fff}.appointment-sheet-backdrop{position:fixed;inset:0;background:#0f172a8c;display:flex;align-items:flex-end;justify-content:center;padding:16px;z-index:1000}.appointment-sheet{width:min(440px,100%);background:#fff;border-radius:24px 24px 20px 20px;padding:22px 20px 20px;box-shadow:var(--kc-shadow)}.appointment-sheet h3{margin:0 0 8px;font-size:20px}.appointment-sheet p{margin:0 0 18px;color:var(--kc-muted);line-height:1.5}.appointment-sheet-actions{display:grid;gap:10px}.appointment-link-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--kc-touch);border-radius:18px;background:var(--kc-navy);color:#fff;text-decoration:none;font-weight:800;padding:0 18px}.appointment-state-page{text-align:center;padding-top:8px}.appointment-state-icon{width:72px;height:72px;border-radius:24px;display:inline-flex;align-items:center;justify-content:center;font-size:34px;margin-bottom:16px}.appointment-state-icon.info{background:#eff6ff}.appointment-state-icon.warning{background:var(--kc-warning-soft)}.appointment-state-icon.danger{background:var(--kc-danger-soft)}.appointment-checkbox-row{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:#f8fafc;color:#334155;font-size:15px;line-height:1.45}.appointment-checkbox-row input{width:20px;height:20px;margin-top:2px}.appointment-address-wrap{position:relative}.appointment-address-suggestions{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;overflow:hidden;border:1px solid #cbd5e1;border-radius:16px;background:#fff;box-shadow:0 16px 40px #0f172a24}.appointment-address-suggestion{display:block;width:100%;padding:14px 16px;border:none;border-top:1px solid #eef2f7;background:#fff;color:var(--kc-text);text-align:left;font:inherit;line-height:1.45;cursor:pointer}.appointment-address-suggestion:first-child{border-top:none}.appointment-address-suggestion:hover,.appointment-address-suggestion:focus-visible{background:#f8fafc;outline:none}.appointment-address-verified{margin-top:8px;color:var(--kc-success);font-size:14px;font-weight:800}.appointment-address-status{margin-top:8px;color:var(--kc-muted);font-size:13px;line-height:1.45}.appointment-address-error{margin:-8px 0 12px;color:var(--kc-danger);font-size:13px;line-height:1.45}.appointment-input-locked{background:#f8fafc!important;color:#475569}@media(min-width:480px){.appointment-page{padding-top:24px}.appointment-sheet-backdrop{align-items:center}.appointment-sheet{border-radius:24px}}
