:root{--bg:#f6f4ef;--card:#fff;--ink:#1d2433;--muted:#667085;--line:#e4e0d6;--brand:#1f3a5f;--brand-ink:#fff;--accent:#b08a3e;--danger:#b42318;--ok:#067647}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.wrap{max-width:760px;margin:0 auto;padding:24px 16px 64px}header.hero{padding:24px 0 8px}header.hero h1{color:var(--brand);margin:0 0 6px;font-family:Georgia,serif;font-size:1.9rem}header.hero p{color:var(--muted);margin:0}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-top:16px;padding:20px}.card h2{margin:0 0 12px;font-size:1.1rem}.step{color:var(--accent);margin-right:6px;font-weight:700}.days{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.day,.slot{border:1px solid var(--line);cursor:pointer;font:inherit;color:var(--ink);background:#fff;border-radius:10px;padding:8px 12px}.day{text-align:center;min-width:72px}.day small{color:var(--muted);display:block}.day.on,.slot.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.day.on small{color:#d5dceb}.slots{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}label{margin:12px 0 4px;font-size:.92rem;font-weight:600;display:block}input,select,textarea{width:100%;font:inherit;border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}textarea{resize:vertical;min-height:110px}.row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:560px){.row{grid-template-columns:1fr}}.hint{color:var(--muted);margin-top:4px;font-size:.85rem}.check{align-items:flex-start;gap:8px;font-weight:400;display:flex}.check input{width:auto;margin-top:4px}button.pay{width:100%;font:inherit;background:var(--brand);color:var(--brand-ink);cursor:pointer;border:0;border-radius:10px;margin-top:16px;padding:14px;font-size:1.05rem;font-weight:700}button.pay:disabled{opacity:.55;cursor:not-allowed}.err{color:var(--danger);margin-top:10px;font-weight:600}.ok{color:var(--ok)}.notice{color:#5b4a1f;background:#fbf7ec;border:1px solid #eadfbf;border-radius:10px;margin-top:16px;padding:12px;font-size:.88rem}table{border-collapse:collapse;width:100%;font-size:.9rem}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.tag{background:#eee;border-radius:99px;padding:2px 8px;font-size:.78rem;font-weight:700}.tag.confirmed{color:var(--ok);background:#d1fadf}.tag.pending{color:#93370d;background:#fef0c7}.tag.refund_needed{color:var(--danger);background:#fee4e2}
