*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#333;-webkit-tap-highlight-color:transparent;background:#f5f5f5;font-family:Meiryo,Hiragino Kaku Gothic ProN,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}:root{--brand:#6acedc;--brand-hover:#55bfd0;--brand-gradient:linear-gradient(to bottom, #5bc0de, #3aa8c9);--bg-page:#f5f5f5;--bg-login:#6acedc;--text-main:#333;--text-sub:#888;--text-link:#2c5ea0;--red:#e55;--red-gradient:linear-gradient(to bottom, #f77, #e55);--blue-sat:#39f;--pink:#e8a;--radius-btn:6px;--radius-card:12px;--radius-step:16px;--radius-input:6px;--teal:#6acedc;--teal-d:#46b3c4;--teal-dd:#3aa8c9;--coral:#ee8496;--grayx:#c4ccd0;--ink:#3a4348;--muted:#9aa3a8;--line:#e7ecee}.btn{border-radius:var(--radius-btn);cursor:pointer;text-align:center;border:none;width:100%;padding:14px;font-size:16px;font-weight:700;display:block}.btn-primary{background:var(--brand);color:#fff}.btn-primary:active{background:var(--brand-hover)}.btn-outline{color:var(--brand);border:2px solid var(--brand);background:#fff}.btn-outline:active{background:#f0f8fa}.btn-danger{background:var(--red-gradient);color:#fff;box-shadow:0 2px 4px #00000026}.btn-disabled{opacity:.4;pointer-events:none}.card{border-radius:var(--radius-card);text-align:center;background:#fff;margin-bottom:16px;padding:28px 20px;box-shadow:0 4px 20px #0000001f}.input-field{border-radius:var(--radius-input);border:2px solid #ddd;outline:none;width:100%;padding:12px;font-family:inherit;font-size:16px;transition:border-color .2s}.input-field:focus{border-color:var(--brand);box-shadow:0 0 0 3px #6acedc33}.reservation-page{background:#fff;flex-direction:column;min-height:100vh;display:flex}.reservation-content{flex:1;width:100%;max-width:1040px;margin:0 auto;padding:30px 24px 48px}.sec-title{color:var(--ink);align-items:center;gap:10px;margin:6px 0 16px;font-size:18px;font-weight:700;display:flex}.sec-title .sec-num{background:var(--teal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;font-weight:700;display:inline-flex}.actions{justify-content:center;gap:16px;margin-top:34px;display:flex}.reservation-page .btn-back,.reservation-page .btn-next{cursor:pointer;letter-spacing:.1em;border-radius:999px;justify-content:center;align-items:center;gap:10px;width:auto;min-width:200px;padding:15px 0;font-size:16px;font-weight:700;transition:all .25s;display:inline-flex}.reservation-page .btn-back{color:var(--teal-d);border:2px solid var(--teal);background:#fff}.reservation-page .btn-back:hover{background:#f2fbfc}.reservation-page .btn-next{color:#fff;background:linear-gradient(135deg,#6acedc,#3aa8c9);border:none;box-shadow:0 10px 22px #3aa8c959}.reservation-page .btn-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 28px #3aa8c96b}.reservation-page .btn-next:disabled{box-shadow:none;cursor:not-allowed;background:#cfeaef;transform:none}@media (width<=720px){.reservation-content{padding:22px 14px 40px}.actions{flex-direction:column-reverse}.reservation-page .btn-back,.reservation-page .btn-next{width:100%;min-width:0}}.flow-links{text-align:center;max-width:520px;margin:22px auto 0}.flow-links a{color:var(--teal-d);margin:14px 0;font-size:13.5px;font-weight:700;text-decoration:none;display:block}.flow-links a:hover{text-decoration:underline}.flow-link-disabled{color:var(--text-sub,#888);cursor:not-allowed;opacity:.55;margin:14px 0;font-size:13.5px;font-weight:700;display:block}.footer{text-align:center;color:#fff;letter-spacing:.1em;background:#bfe7ec;margin-top:0;padding:16px;font-size:12px;font-weight:700}@media (width>=600px){.btn-primary:hover{background:var(--brand-hover)}.btn-outline:hover{background:#f0f8fa}.footer{margin-top:0;padding:16px;font-size:12px}}.error-fallback{background:var(--bg-login);justify-content:center;align-items:center;min-height:100vh;padding:24px 12px;display:flex}.error-fallback-card{border-radius:var(--radius-card);text-align:center;background:#fff;width:100%;max-width:420px;padding:32px 28px;box-shadow:0 4px 24px #00000026}.error-fallback-title{color:var(--text-main);margin-bottom:16px;font-size:18px;font-weight:700}.error-fallback-msg{color:var(--text-sub);margin-bottom:24px;font-size:14px;line-height:1.6}.error-fallback-btn{background:var(--brand);color:#fff;border-radius:var(--radius-btn);cursor:pointer;border:none;padding:12px 32px;font-family:inherit;font-size:14px;font-weight:700;transition:background .2s;display:inline-block}.error-fallback-btn:hover{background:var(--brand-hover)}.ud-content{background:#f9fafb;justify-content:center;align-items:center;min-height:100vh;padding:24px;font-family:sans-serif;display:flex}.ud-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;max-width:480px;padding:32px}.ud-title{color:var(--red,#e55);margin:0 0 16px;font-size:18px}.ud-message{color:var(--text-main,#333);margin:8px 0;font-size:14px;line-height:1.6}.ud-host{background:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.ud-footer{color:var(--text-sub,#888);margin:24px 0 0;font-size:12px}
