:root{--brand: #1B4F8A;--brand-h: #2563B0;--brand-light: #EBF3FF;--brand-dim: rgba(27,79,138,.12);--success: #059669;--success-bg: #ECFDF5;--error: #DC2626;--error-bg: #FEF2F2;--text: #111827;--text-2: #6B7280;--text-3: #9CA3AF;--border: #E5E7EB;--bg: #FFFFFF;--bg-2: #F9FAFB;--r: 14px;--r-sm: 8px;--shadow: 0 4px 32px rgba(0,0,0,.09), 0 1px 4px rgba(0,0,0,.05)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased;color:var(--text);background:#0d0d0d;min-height:100dvh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}.app-bg{display:flex;justify-content:center;align-items:flex-start;min-height:100dvh;padding:32px 16px 48px;background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 38px,rgba(204,0,0,.07) 38px,rgba(204,0,0,.07) 39px);background-color:#0d0d0d}.card{width:100%;max-width:560px;background:var(--bg);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}.card-top{padding:22px 28px 0;border-bottom:1px solid var(--border)}.card-body{padding:28px 28px 32px}.brand{display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:var(--brand);letter-spacing:-.3px;margin-bottom:20px}.step-indicator{display:flex;align-items:flex-start;margin-bottom:0;padding-bottom:18px}.step-indicator-item{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}.step-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;flex-shrink:0;transition:all .2s;position:relative;z-index:1}.step-dot--active{background:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-dim)}.step-dot--done{background:var(--success);color:#fff}.step-dot--pending{background:var(--bg-2);color:var(--text-3);border:1.5px solid var(--border)}.step-label{font-size:10px;font-weight:500;color:var(--text-2);margin-top:5px;text-align:center;white-space:nowrap}.step-connector{position:absolute;top:15px;left:50%;width:calc(100% + -0px);height:2px;background:var(--border);z-index:0;transition:background .3s}.step-connector--done{background:var(--success)}.step-title{font-size:21px;font-weight:700;letter-spacing:-.4px;margin-bottom:4px}.step-subtitle{font-size:13.5px;color:var(--text-2);margin-bottom:22px}.step-actions{display:flex;gap:10px;margin-top:26px;justify-content:space-between;align-items:center}.step-actions--right{justify-content:flex-end}.btn{display:inline-flex;align-items:center;gap:6px;padding:10px 18px;border-radius:var(--r-sm);font-size:14px;font-weight:600;border:none;transition:all .15s}.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand-h)}.btn--primary:disabled{opacity:.55;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--text-2);border:1.5px solid var(--border)}.btn--ghost:hover:not(:disabled){background:var(--bg-2)}.btn--ghost:disabled{opacity:.5;cursor:not-allowed}.btn--confirm{padding:11px 22px}.calendar{margin-bottom:16px}.cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.cal-nav-btn{width:34px;height:34px;border-radius:var(--r-sm);border:1.5px solid var(--border);background:var(--bg);color:var(--text);font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s}.cal-nav-btn:hover:not(:disabled){border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.cal-nav-btn:disabled{opacity:.3;cursor:not-allowed}.cal-month-label{font-size:15px;font-weight:600}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.cal-dow{text-align:center;font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;padding:5px 0 7px}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:7px;font-size:13px;font-weight:500;transition:all .13s;position:relative;flex-direction:column}.cal-day--dim{color:var(--text-3)}.cal-day--avail{color:var(--text);cursor:pointer}.cal-day--avail:hover{background:var(--brand-light);color:var(--brand)}.cal-day--selected{background:var(--brand)!important;color:#fff!important}.cal-day--today{font-weight:700}.cal-today-dot{width:4px;height:4px;border-radius:50%;background:currentColor;position:absolute;bottom:3px}.cal-loading{text-align:center;color:var(--text-2);font-size:13px;padding:36px 0}.selected-date-banner{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--brand);background:var(--brand-light);border-radius:var(--r-sm);padding:8px 12px;margin-bottom:16px}.slots-section{margin-bottom:4px}.slots-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.slots-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-2)}.slots-count{font-size:12px;color:var(--success);font-weight:500}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot-pill{padding:9px 6px;border:1.5px solid var(--border);border-radius:var(--r-sm);background:var(--bg);color:var(--text);font-size:13px;font-weight:500;text-align:center;transition:all .13s}.slot-pill:hover:not(:disabled):not(.slot-pill--selected){border-color:var(--brand);color:var(--brand);background:var(--brand-light)}.slot-pill--selected{background:var(--brand);border-color:var(--brand);color:#fff}.slot-pill--booked{background:var(--bg-2);color:var(--text-3);cursor:not-allowed;text-decoration:line-through}.slots-loading{text-align:center;color:var(--text-2);font-size:13px;padding:20px 0}.form{display:flex;flex-direction:column;gap:18px}.form-field{display:flex;flex-direction:column;gap:5px}.form-field label{font-size:13px;font-weight:600;color:var(--text)}.required-star{color:var(--error)}.form-field input,.form-field select,.form-field textarea{border:1.5px solid var(--border);border-radius:var(--r-sm);padding:10px 12px;font-size:15px;color:var(--text);background:var(--bg);outline:none;transition:border-color .15s;width:100%}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--brand)}.form-field textarea{resize:none;line-height:1.5}.form-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%236B7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.input-plate{font-size:20px!important;font-weight:700!important;letter-spacing:4px;text-transform:uppercase}.form-field--error input,.form-field--error select,.form-field--error textarea{border-color:var(--error)}.field-error{font-size:12px;color:var(--error)}.helper{font-size:12px;color:var(--text-2)}.summary-card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:20px;margin-bottom:6px}.summary-datetime{margin-bottom:16px}.summary-time{font-size:36px;font-weight:700;color:var(--brand);letter-spacing:-1px;line-height:1}.summary-date{font-size:14px;color:var(--text-2);margin-top:3px}.summary-divider{height:1px;background:var(--border);margin:16px 0}.summary-rows{display:flex;flex-direction:column;gap:12px}.summary-row{display:flex;align-items:flex-start;gap:10px}.summary-row-icon{color:var(--text-2);margin-top:1px;flex-shrink:0}.summary-row-body{display:flex;flex-direction:column;gap:1px}.summary-row-label{font-size:11px;color:var(--text-2);text-transform:uppercase;letter-spacing:.4px;font-weight:600}.summary-row-value{font-size:14px;font-weight:600;color:var(--text)}.summary-plate{letter-spacing:3px;font-size:15px}.error-banner{background:var(--error-bg);border:1px solid #FCA5A5;border-radius:var(--r-sm);padding:11px 14px;font-size:13px;color:var(--error);margin-top:12px}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.confirmation-wrap{display:flex;justify-content:center;align-items:flex-start;min-height:100dvh;padding:32px 16px 48px;background-color:#0d0d0d;background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 38px,rgba(204,0,0,.07) 38px,rgba(204,0,0,.07) 39px)}.confirmation-card-wrap{max-width:560px;width:100%}.confirmation{padding:48px 28px 40px;text-align:center}.check-circle{width:72px;height:72px;background:var(--success-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;color:var(--success)}.conf-title{font-size:22px;font-weight:700;letter-spacing:-.4px;margin-bottom:4px}.conf-id{font-size:12px;color:var(--text-3);margin-bottom:28px;font-family:monospace;letter-spacing:1px}.conf-summary{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:20px;text-align:left;margin-bottom:20px}.conf-time{font-size:36px;font-weight:700;color:var(--brand);letter-spacing:-1px;line-height:1}.conf-date{font-size:14px;color:var(--text-2);margin-top:3px;margin-bottom:0}.conf-divider{height:1px;background:var(--border);margin:14px 0}.conf-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.conf-label{font-size:12px;color:var(--text-2)}.conf-value{font-size:13px;font-weight:600}.conf-plate{letter-spacing:2.5px;font-size:14px}.conf-sms{display:flex;align-items:center;justify-content:center;gap:7px;font-size:13px;color:var(--text-2);margin-bottom:20px;line-height:1.5}.ics-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1.5px solid var(--brand);border-radius:var(--r-sm);color:var(--brand);background:var(--bg);font-size:13px;font-weight:600;font-family:inherit;text-decoration:none;transition:all .15s;cursor:pointer}.ics-btn:hover{background:var(--brand-light)}.loading-dots:after{content:"";animation:dots 1.4s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@media (max-width: 600px){.app-bg,.confirmation-wrap{padding:0}.card,.confirmation-card-wrap{border-radius:0;min-height:100dvh;box-shadow:none;max-width:100%}.card-top{padding:18px 20px 0}.card-body{padding:22px 20px 28px}.step-title{font-size:19px}.slots-grid{grid-template-columns:repeat(3,1fr);gap:6px}.confirmation{padding:36px 20px 32px}.summary-time,.conf-time{font-size:30px}.step-actions{flex-direction:row}}
