:root{--color-bg:#faf8f5;--color-surface:#fff;--color-text:#2b2620;--color-muted:#7a7268;--color-accent:#a9784f;--color-accent-hover:#8c6440;--color-border:#e6e0d8;--font-heading:Georgia,"Times New Roman",serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--radius:10px}*{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.5}.page{max-width:720px;margin:0 auto;padding:56px 24px 80px}.header{text-align:center;margin-bottom:40px}.header h1{font-family:var(--font-heading);font-weight:400;font-size:2rem;margin:0 0 8px}.header p{color:var(--color-muted);margin:0}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:28px;margin-bottom:20px}.section-title{font-family:var(--font-heading);font-size:1.15rem;margin:0 0 16px}.date-grid,.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:10px;gap:10px}.pill-btn{padding:10px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font-size:.9rem;cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease}.pill-btn.selected,.pill-btn:hover{border-color:var(--color-accent)}.pill-btn.selected{background:var(--color-accent);color:#fff}.form-field{margin-bottom:16px}.form-field label{display:block;font-size:.85rem;color:var(--color-muted);margin-bottom:6px}.form-field input,.form-field textarea{width:100%;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;font-family:inherit;font-size:.95rem;color:var(--color-text);background:#fff}.form-field textarea{min-height:90px;resize:vertical}.submit-btn{width:100%;padding:14px;border:none;border-radius:8px;background:var(--color-accent);color:#fff;font-size:1rem;cursor:pointer;transition:background .15s ease}.submit-btn:hover{background:var(--color-accent-hover)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.muted{color:var(--color-muted);font-size:.9rem}.error-box{background:#fbeceb;border:1px solid #e6b3af;color:#8a2e26;padding:12px 14px;border-radius:8px;margin-bottom:16px;font-size:.9rem}.confirmation{text-align:center;padding:40px 20px}.confirmation h2{font-family:var(--font-heading);font-weight:400}.selected-summary{background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:14px 16px;margin-bottom:20px;font-size:.9rem}