:root{--ink-900: #0b1220;--ink-700: #24314a;--ink-500: #56637c;--ink-400: #808da3;--ink-200: #e2e7ef;--ink-100: #f1f4f8;--surface: #ffffff;--page-bg: #eef1f7;--success-bg: #e6f7ed;--success-fg: #0f8a44;--warning-bg: #fdf1de;--warning-fg: #a15c07;--danger-bg: #fce8e8;--danger-fg: #d0261b;--danger-fg-hover: #a81e15;--accent-color: #0b5cff;--radius-lg: 22px;--radius-md: 14px;--radius-sm: 10px;--shadow-card: 0 1px 2px rgba(11, 18, 32, .04), 0 24px 48px -20px rgba(11, 18, 32, .22)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink-700);-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--page-bg);background-image:radial-gradient(circle at 50% -10%,rgba(11,92,255,.05),transparent 55%);padding:32px 20px}.card{position:relative;background:var(--surface);border:1px solid var(--ink-200);border-radius:var(--radius-lg);padding:44px 36px 36px;max-width:440px;width:100%;text-align:center;box-shadow:var(--shadow-card)}.card:has(.appointment-time-hero){max-width:500px}@media (max-width: 480px){.card{padding:32px 22px 26px;border-radius:18px}}.shell-header{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:28px}.shell-logo{display:block;width:52px;height:52px;max-width:52px;object-fit:contain;border-radius:12px;border:1px solid var(--ink-100);background:var(--surface)}.shell-company-name{font-size:12.5px;font-weight:800;letter-spacing:.5px;color:var(--ink-500);text-transform:uppercase;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-return-link{display:block;width:fit-content;margin:26px auto 0;font-size:13.5px;font-weight:700;color:var(--ink-500);text-decoration:none}.shell-return-link:hover,.shell-return-link:focus-visible{color:var(--accent-color);text-decoration:underline}.shell-footer{margin-top:22px;padding-top:18px;border-top:1px solid var(--ink-100);font-size:11px;font-weight:600;color:var(--ink-500);letter-spacing:.3px}.eyebrow{display:block;font-size:11.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--ink-400);margin:0 0 8px}.card h1{font-size:23px;font-weight:800;color:var(--ink-900);margin:0 0 12px;line-height:1.28;text-wrap:balance}.card p{font-size:15px;line-height:1.65;color:var(--ink-500);margin:0 0 26px}.card p:last-child{margin-bottom:0}.action-prompt{text-align:center}.appointment-time-hero{background:linear-gradient(180deg,var(--ink-100),var(--surface));border:1px solid var(--ink-200);border-radius:var(--radius-md);padding:22px 20px;margin-bottom:26px}.appointment-time-hero .date{font-size:14.5px;font-weight:700;color:var(--ink-500)}.appointment-time-hero .time{font-size:28px;font-weight:800;color:var(--ink-900);margin-top:4px;letter-spacing:-.2px}.detail-section{text-align:left;margin-bottom:18px}.detail-section h2{font-size:11.5px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-400);margin:0 0 10px}.detail-panel{background:var(--ink-100);border-radius:var(--radius-md);padding:4px 16px}.detail-row{display:flex;gap:16px;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--ink-200);font-size:14px;line-height:1.5}.detail-row:last-child{border-bottom:none}.detail-row .label{color:var(--ink-500);font-weight:600;flex-shrink:0}.detail-row .value{color:var(--ink-900);font-weight:650;text-align:right;word-break:break-word}.spinner{width:26px;height:26px;margin:6px auto 20px;border-radius:50%;border:3px solid var(--ink-200);border-top-color:var(--accent-color);animation:fp-spin .8s linear infinite}.spinner-inline{width:16px;height:16px;border-width:2px;margin:0 8px 0 0;display:inline-block;vertical-align:-3px;border-color:#fff6;border-top-color:#fff}@media (prefers-reduced-motion: reduce){.spinner,.spinner-inline{animation-duration:2.4s}}@keyframes fp-spin{to{transform:rotate(360deg)}}.status-icon{width:52px;height:52px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;font-weight:800;line-height:1}.status-icon-success{background:var(--success-bg);color:var(--success-fg)}.status-icon-info{background:var(--warning-bg);color:var(--warning-fg)}.status-icon-error{background:var(--danger-bg);color:var(--danger-fg)}.button-group{display:flex;flex-direction:column;gap:12px;margin-top:6px}.card button{display:block;width:100%;background:var(--accent-color);color:#fff;border:none;font-size:15px;font-weight:750;letter-spacing:.1px;padding:16px 26px;border-radius:var(--radius-sm);cursor:pointer;transition:filter .12s ease,transform .05s ease}.card button:hover{filter:brightness(.93)}.card button:active{filter:brightness(.86);transform:translateY(1px)}.card button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-color) 45%,transparent);outline-offset:2px}.card button:disabled{opacity:.55;cursor:default;filter:none;transform:none}.card button[aria-busy=true]{cursor:wait}.card button.button-secondary{background:#fff;color:var(--ink-700);border:1.5px solid var(--ink-200)}.card button.button-secondary:hover{filter:none;border-color:var(--accent-color);color:var(--accent-color);background:color-mix(in srgb,var(--accent-color) 6%,white)}.card button.button-secondary:focus-visible{border-color:var(--accent-color)}.card button.button-destructive{background:var(--danger-fg)}.card button.button-destructive:hover{filter:none;background:var(--danger-fg-hover)}.card button.button-destructive:focus-visible{outline-color:color-mix(in srgb,var(--danger-fg) 45%,transparent)}.card button.link-button-destructive{display:block;width:fit-content;background:none;border:none;border-radius:0;color:var(--danger-fg);font-size:13.5px;font-weight:700;padding:0;margin:22px auto 0;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--danger-fg) 45%,transparent)}.card button.link-button-destructive:hover,.card button.link-button-destructive:focus-visible{color:var(--danger-fg-hover);text-decoration-color:var(--danger-fg-hover)}.card button.link-button-destructive:focus-visible{outline:2px solid color-mix(in srgb,var(--danger-fg) 45%,transparent);outline-offset:3px;border-radius:4px}.form-field{text-align:left;margin-bottom:20px}.form-field label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-500);margin-bottom:8px}.form-field .field-hint{font-size:12px;color:var(--ink-400);margin-top:6px}.form-field input[type=text],.form-field input[type=email],.form-field input[type=tel],.form-field select,.form-field textarea{width:100%;font:inherit;font-size:16px;color:var(--ink-900);background:var(--ink-100);border:1.5px solid transparent;border-radius:var(--radius-sm);padding:13px 14px;resize:vertical;transition:border-color .12s ease,background .12s ease}.form-field input[type=text]::placeholder,.form-field input[type=email]::placeholder,.form-field input[type=tel]::placeholder,.form-field textarea::placeholder{color:var(--ink-400)}.form-field input[type=text]:focus,.form-field input[type=email]:focus,.form-field input[type=tel]:focus,.form-field select:focus,.form-field textarea:focus{outline:none;background:var(--surface);border-color:var(--accent-color)}.form-error{text-align:left;font-size:14px;color:var(--danger-fg);margin:0 0 16px}.star-rating{display:flex;gap:6px;justify-content:center}.star-rating button{all:unset;cursor:pointer;font-size:34px;line-height:1;color:var(--ink-200);transition:color .1s ease,transform .08s ease;padding:4px}.star-rating button:hover,.star-rating button:focus-visible{transform:scale(1.08)}.star-rating button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-color) 45%,transparent);outline-offset:2px;border-radius:6px}.star-rating button.star-filled{color:#f5a524}.star-rating-label{text-align:center;font-size:12.5px;font-weight:700;color:var(--ink-400);margin-top:8px}@media (max-width: 380px){.card h1{font-size:21px}.appointment-time-hero .time{font-size:24px}.star-rating button{font-size:30px}}
