:root{--bg:#faf7f2;--card:#fff;--ink:#1c1c1c;--muted:#6b6459;--line:#e8e2d8;--accent:#8a6d4e;--accent-ink:#fff;--ok:#3e6b4f;--err:#a04432;--radius:14px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Georgia,Times New Roman,serif;line-height:1.55;-webkit-font-smoothing:antialiased}.sans{font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.wrap{max-width:880px;margin:0 auto;padding:32px 20px 80px}header.site{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}header.site h1{font-size:1.6rem;font-weight:400;margin:0;letter-spacing:.01em}.tagline{margin:0 0 32px;font-style:italic}.lang a,.tagline{color:var(--muted)}.lang a{text-decoration:none;font-size:.9rem;margin-left:10px}.lang a.active{color:var(--ink);border-bottom:1px solid var(--accent)}.cards{display:grid;grid-gap:18px;gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;display:block;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}a.card:hover{border-color:var(--accent);transform:translateY(-1px)}.card h2{margin:0 0 6px;font-size:1.15rem;font-weight:400}.card p{margin:0 0 12px;color:var(--muted);font-size:.97rem}.badge{display:inline-block;font-size:.8rem;padding:3px 10px;border-radius:999px;background:var(--bg);border:1px solid var(--line);color:var(--accent)}.book h2{font-weight:400;margin:24px 0 10px;font-size:1.2rem}.choices{display:flex;flex-wrap:wrap;gap:10px}.choice{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:10px 16px;cursor:pointer;font-size:.95rem}.choice.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.days{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));grid-gap:12px;gap:12px;margin-top:12px}.day h3{font-size:.85rem;margin:0 0 8px;color:var(--muted);font-weight:400;text-transform:capitalize}.slot{display:block;width:100%;margin-bottom:6px;padding:8px 4px;text-align:center;border:1px solid var(--line);background:var(--card);border-radius:8px;cursor:pointer;font-size:.9rem}.slot.selected{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.nav{display:flex;gap:10px;align-items:center;margin-top:14px}.nav button{border:none;background:none;color:var(--accent);cursor:pointer;font-size:.95rem}.tznote{color:var(--muted);font-size:.85rem;margin-top:10px}form.details{margin-top:26px;display:grid;grid-gap:14px;gap:14px;max-width:480px}form.details label{font-size:.9rem;color:var(--muted);display:block;margin-bottom:4px}form.details input[type=email],form.details input[type=tel],form.details input[type=text],form.details textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:.95rem;background:var(--card)}form.details textarea{min-height:84px;resize:vertical}.note{font-size:.8rem;margin-top:4px}.consent,.note{color:var(--muted)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:.85rem}.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}button.primary{background:var(--ink);color:#fff;border:none;padding:13px 26px;border-radius:10px;font-size:1rem;cursor:pointer;font-family:inherit}button.primary:disabled{opacity:.5;cursor:default}.error{color:var(--err);font-size:.9rem}.success h2{font-weight:400}.back{color:var(--accent);text-decoration:none;font-size:.95rem}.admin table{width:100%;border-collapse:collapse;font-size:.9rem}.admin td,.admin th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}.admin th{color:var(--muted);font-weight:400}.pill{font-size:.75rem;padding:2px 8px;border-radius:999px;border:1px solid var(--line)}.pill.CONFIRMED{color:var(--ok);border-color:var(--ok)}.pill.PENDING_APPROVAL{color:var(--accent);border-color:var(--accent)}.pill.CANCELLED,.pill.EXPIRED,.pill.REFUSED{color:var(--muted)}.actions form{display:inline}.actions button{border:1px solid var(--line);background:var(--card);border-radius:6px;padding:4px 10px;cursor:pointer;margin-right:6px;font-size:.8rem}