:root{--background: #faf8f5;--surface: #ffffff;--ink: #1a1816;--muted: #66615e;--faint: #99938e;--placeholder: #99938e;--line: #e2dfd8;--divider: #eae6e1;--neutral: #f4f1ea;--radio: #cbc6bf;--primary: #e03a2e;--primary-pressed: #d1241c;--primary-text: #ffffff;--primary-soft: #fdf0ee;--pending: #92400e;--pending-dot: #d97706;--pending-soft: #fef3c7;--success: #166534;--success-dot: #16a34a;--success-soft: #dcfce7;--overlay: rgba(26, 24, 22, .4);--radius-pill: 6px;--radius-input: 12px;--radius-chip: 8px;--radius-button: 12px;--radius-card: 12px;--radius-hero: 16px;--gutter: 16px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;background:var(--background);color:var(--ink);font-family:var(--font);font-size:15px;line-height:20px;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}button,input{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0;-webkit-tap-highlight-color:transparent}a{color:var(--primary);text-decoration:none}.page{min-height:100dvh;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.header{position:sticky;top:0;z-index:5;background:var(--background);padding:calc(env(safe-area-inset-top) + 12px) var(--gutter) 12px;border-bottom:1px solid var(--divider)}.header__brand{display:flex;align-items:center;gap:8px;height:24px;margin-bottom:8px}.header__back{width:44px;height:44px;margin:-10px 0 -10px -14px;display:grid;place-items:center;color:var(--ink)}.header__back:active{opacity:.6}.header__logo{width:24px;height:24px;flex:none;border-radius:12px;object-fit:cover;background:var(--neutral)}.header__mark{width:24px;height:24px;border-radius:12px;background:var(--primary-soft);color:var(--primary);font-size:9px;line-height:24px;font-weight:800;text-align:center;flex:none}.header__business{font-size:12px;line-height:16px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header__title{margin:0;font-size:22px;line-height:28px;font-weight:800}.header__subtitle{margin:2px 0 0;font-size:13px;line-height:18px;color:var(--muted)}.progress{display:flex;gap:4px;margin-top:12px}.progress__step{flex:1;height:3px;border-radius:2px;background:var(--line)}.progress__step--on{background:var(--primary)}.body{flex:1;padding:var(--gutter);padding-bottom:calc(132px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.step-title{margin:0;font-size:16px;line-height:21px;font-weight:800}.step-hint{margin:2px 0 0;font-size:13px;line-height:18px;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px var(--gutter);text-align:left;border-top:1px solid var(--divider);background:var(--surface)}.row:first-child{border-top:0}.row:active{background:var(--neutral)}.row__check{width:22px;height:22px;flex:none;border-radius:11px;border:1.5px solid var(--radio);display:grid;place-items:center;color:var(--primary-text)}.row--on .row__check{border-color:var(--primary);background:var(--primary)}.row__body{flex:1;min-width:0}.row__name{font-weight:700}.row__meta{font-size:13px;line-height:18px;color:var(--muted)}.row__price{font-weight:800;white-space:nowrap}.rail{display:flex;flex-direction:column;gap:10px}.rail__label{display:flex;align-items:center;justify-content:space-between;font-size:14px;line-height:19px;font-weight:700}.rail__hint{display:inline-flex;align-items:center;gap:2px;font-size:11px;line-height:15px;font-weight:400;color:var(--faint)}.rail__scroll{display:flex;gap:11px;overflow-x:auto;margin:0 calc(var(--gutter) * -1);padding:2px var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch}.rail__scroll::-webkit-scrollbar{display:none}.rail__empty{margin:0;font-size:13px;line-height:18px;color:var(--muted)}.day{flex:none;width:61px;height:61px;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.day__week{font-size:12px;line-height:16px;color:var(--muted)}.day__num{font-size:17px;line-height:22px;font-weight:700}.day--on{border:1.5px solid var(--primary);background:var(--primary-soft)}.day--on .day__week,.day--on .day__num{color:var(--primary)}.times{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.time{height:41px;border-radius:var(--radius-chip);border:1px solid var(--line);background:var(--surface);font-size:14px;font-weight:700}.time--on{border-color:var(--primary);background:var(--primary);color:var(--primary-text)}.empty{padding:32px var(--gutter);text-align:center;color:var(--muted)}.empty__title{display:block;margin-bottom:4px;color:var(--ink);font-weight:700}.field{display:block}.field__label{display:block;margin-bottom:6px;font-size:11px;line-height:14px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.field__input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:var(--radius-input);background:var(--surface);outline:none}.field__input::placeholder{color:var(--placeholder)}.field__input:focus{border-color:var(--primary)}.field__input--error{border-color:var(--primary);background:var(--primary-soft)}.field__help{margin:6px 0 0;font-size:12px;line-height:16px;color:var(--faint)}.field__help--error{color:var(--primary)}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.summary{display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:var(--radius-hero);border:1px solid var(--line);background:var(--surface)}.summary__title{padding-bottom:4px;font-size:13px;line-height:18px;font-weight:700}.summary__line{display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:19px}.summary__line>span:first-child{color:var(--muted)}.summary__line>span:last-child{flex:1;text-align:right;font-weight:700}.summary__link{font-size:14px;line-height:19px;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line)}.summary__link:active{opacity:.6}.summary__total{color:var(--primary)}.notice{padding:12px 14px;border-radius:var(--radius-card);background:var(--primary-soft);color:var(--primary);font-size:14px;line-height:19px;font-weight:600}.notice--pending{background:var(--pending-soft);color:var(--pending)}.bar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--background);border-top:1px solid var(--line);padding:12px var(--gutter) max(24px,env(safe-area-inset-bottom))}.bar__inner{max-width:448px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.bar__totals{display:flex;align-items:center;justify-content:space-between;gap:12px}.bar__info{font-size:13px;line-height:18px;color:var(--muted)}.bar__total{font-size:16px;line-height:21px;font-weight:800;color:var(--primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 16px;border-radius:var(--radius-input);font-size:14px;font-weight:700;white-space:nowrap}.btn--primary{background:var(--primary);color:var(--primary-text)}.btn--primary:active{background:var(--primary-pressed)}.btn--primary:disabled{opacity:.45;cursor:default}.btn--neutral{background:var(--neutral);border:1px solid var(--line);color:var(--ink)}.btn--outline{background:var(--surface);border:1px solid var(--primary);color:var(--primary)}.btn--block{width:100%}.detail{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface)}.detail__title{font-size:14px;line-height:19px;font-weight:800}.detail__row{display:flex;align-items:center;justify-content:space-between;gap:12px}.detail__label{font-size:13px;line-height:18px;color:var(--muted)}.detail__value{font-size:14px;line-height:19px;font-weight:700}.who{display:flex;align-items:center;gap:12px}.avatar{width:44px;height:44px;flex:none;border-radius:22px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:17px;font-weight:800}.who__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.who__name{font-size:19px;line-height:24px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.who__meta{font-size:13px;line-height:18px;color:var(--muted)}.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:21px;padding:0 8px;margin-top:2px;border-radius:var(--radius-pill);font-size:10px;line-height:14px;font-weight:700;letter-spacing:.2px;text-transform:uppercase}.pill__dot{width:5px;height:5px;border-radius:2.5px;background:currentColor}.pill--pending{background:var(--pending-soft);color:var(--pending)}.pill--pending .pill__dot{background:var(--pending-dot)}.line{display:flex;align-items:center;gap:10px;padding:8px 0}.line--border{border-top:1px solid var(--divider)}.line__bullet{width:8px;height:8px;flex:none;border-radius:4px;background:var(--primary)}.line__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.line__name{font-size:14px;line-height:19px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line__meta{display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:16px;color:var(--faint)}.line__price{min-width:56px;text-align:right;font-size:13px;line-height:18px;font-weight:800}.totals{display:flex;flex-direction:column;gap:6px;margin:4px -16px -16px;padding:12px 16px;border-radius:0 0 var(--radius-card) var(--radius-card);background:var(--neutral)}.totals__label{font-size:13px;line-height:18px;font-weight:700;color:var(--muted)}.totals__total{font-size:17px;line-height:22px;font-weight:800}.link-btn{min-height:44px;color:var(--primary);font-weight:700}.center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px var(--gutter);gap:8px}.spinner{width:28px;height:28px;border-radius:14px;border:3px solid var(--line);border-top-color:var(--primary);animation:spin .8s linear infinite}.spinner--sm{width:20px;height:20px;border-width:2.5px;border-color:#ffffff59;border-top-color:var(--primary-text)}@keyframes spin{to{transform:rotate(360deg)}}
