:root{--green: #1f7a3d;--green-dark: #155c2c;--green-light: #e7f3ea;--text: #2b2b2b;--muted: #7a7a7a;--border: #d9d9d9;--bg: #f4f5f6;--white: #ffffff;--content-max: 900px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text)}.app{width:100%;min-height:100vh;background:var(--white);margin:0 auto;box-shadow:0 0 24px #0000000d;max-width:1200px}.banner{height:160px;background-size:cover;background-position:center;background-color:var(--green-dark)}.brand,.section,.alert{width:100%;max-width:var(--content-max);margin-left:auto;margin-right:auto}.brand{padding:0 16px;margin-top:-48px}.brand .logo{display:block;width:96px;height:96px;border-radius:50%;border:3px solid var(--white);object-fit:cover;background:var(--white)}.brand-info{margin-top:10px}.brand .name{font-weight:800;font-size:26px;line-height:1.15;margin:0;color:var(--text);word-break:break-word}.brand .subtitle{font-size:13px;color:var(--green-dark);font-weight:600;margin-top:2px}.socials{display:flex;gap:10px;margin-top:10px}.social-btn{width:40px;height:40px;border-radius:50%;border:1px solid var(--green);background:var(--white);color:var(--green-dark);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:all .15s}.social-btn:hover,.social-btn.active{background:var(--green);color:var(--white)}.wifi-box{border:1px dashed var(--green);background:var(--green-light);border-radius:8px;padding:12px 16px;font-size:14px;line-height:1.7;color:var(--text)}.wifi-box strong{display:block;margin-bottom:4px;color:var(--green-dark)}.section{padding:18px 16px}.section-title{text-align:center;color:var(--muted);font-size:15px;margin:8px 0 14px}.date-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.date-card{min-width:64px;border:1px solid var(--green);border-radius:8px;padding:8px 4px;text-align:center;cursor:pointer;background:var(--white);color:var(--green-dark);flex:0 0 auto;transition:background .15s}.date-card.selected{background:var(--green);color:var(--white)}.date-card .dow{font-size:12px;text-transform:capitalize}.date-card .day{font-size:20px;font-weight:700}.date-card .mon{font-size:12px;text-transform:capitalize}.calendar{border:1px solid var(--border);border-radius:8px;padding:12px;margin-top:14px;max-width:460px;margin-left:auto;margin-right:auto}.calendar-head{text-align:center;font-weight:600;text-transform:capitalize;margin-bottom:10px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-grid .dow-label{text-align:center;font-size:11px;color:var(--muted)}.calendar-cell{text-align:center;padding:8px 0;border-radius:6px;font-size:14px}.calendar-cell.available{color:var(--green-dark);font-weight:600;cursor:pointer}.calendar-cell.available:hover{background:var(--green-light)}.calendar-cell.selected{background:var(--green);color:var(--white)}.calendar-cell.disabled{color:#c5c5c5}.event-card{border:1px solid var(--border);border-radius:8px;padding:16px}.event-card h3{color:var(--green-dark);margin:0 0 6px}.event-card .event-date{font-size:13px;margin-bottom:10px}.event-card .event-info{font-size:13px;white-space:pre-wrap;color:#444}.people-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.pill{width:46px;height:46px;border-radius:50%;border:1px solid var(--green);background:var(--white);color:var(--green-dark);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.pill.selected{background:var(--green);color:var(--white)}.stepper{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px}.chips{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.chip{border:1px solid var(--green);border-radius:6px;padding:10px 20px;background:var(--white);color:var(--green-dark);cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none}.chip.selected{background:var(--green);color:var(--white)}.form-grid{display:grid;grid-template-columns:1fr;gap:12px}.form-field label{display:block;font-size:13px;margin-bottom:4px;color:var(--muted)}.form-field input,.form-field textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit}.btn{width:100%;padding:14px;border:none;border-radius:8px;background:var(--green);color:var(--white);font-size:16px;font-weight:600;cursor:pointer;margin-top:4px}.btn:disabled{background:#a9c8b3;cursor:not-allowed}.empty{text-align:center;color:var(--muted);padding:20px;font-size:14px}.alert{background:#fdecea;color:#b71c1c;padding:10px 14px;border-radius:6px;font-size:14px;margin-top:10px;margin-bottom:10px}.success{text-align:center;padding:48px 20px;max-width:var(--content-max);margin:0 auto}.success .code{font-size:36px;font-weight:800;color:var(--green-dark);letter-spacing:4px;margin:12px 0}.success .summary{font-size:15px;color:#444;margin-top:10px;line-height:1.6}@media (min-width: 700px){.banner{height:240px}.brand{margin-top:-60px}.brand .logo{width:120px;height:120px}.brand .name{font-size:34px}.date-strip{flex-wrap:wrap;justify-content:center;overflow-x:visible}.date-card{min-width:76px}.form-grid{grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1 / -1}}@media (min-width: 1100px){.banner{height:300px}}
