@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap'); :root { --theater-bg: #f7f7f7; --theater-surface: #ffffff; --theater-text: #131313; --theater-muted: #7c7c7c; --theater-border: #dcdcdc; --theater-accent: #008f95; --theater-accent-soft: #c8f0ee; --theater-focus: #006d73; --theater-radius: 0; --theater-shadow: 0 8px 24px rgba(19, 19, 19, 0.08); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { min-height: 100vh; margin: 0; padding: 48px 20px; color: var(--theater-text); background: var(--theater-bg); font-family: Roboto, Arial, sans-serif; font-size: 16px; line-height: 1.5; } h1 { width: min(100%, 760px); margin: 0 auto 32px; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 900; letter-spacing: -0.04em; line-height: 1.05; } form { width: min(100%, 760px); margin: 0 auto; padding: clamp(24px, 5vw, 48px); background: var(--theater-surface); box-shadow: var(--theater-shadow); } .success-card { width: min(100%, 760px); margin: 0 auto; padding: clamp(24px, 5vw, 48px); background: var(--theater-surface); box-shadow: var(--theater-shadow); } .credentials { margin: 28px 0; padding: 20px; background: var(--theater-bg); border-left: 4px solid var(--theater-accent); } .credentials dt { color: var(--theater-muted); font-size: 0.875rem; font-weight: 700; } .credentials dd { margin: 0 0 16px; font-size: 1.1rem; } .credentials dd:last-child { margin-bottom: 0; } .credentials code { color: var(--theater-accent); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-weight: 700; letter-spacing: 0.08em; } .success-card a { color: var(--theater-accent); font-weight: 700; } .message { margin: 0 0 24px; padding: 14px 16px; background: var(--theater-accent-soft); border-left: 4px solid var(--theater-accent); } .form-group { margin-bottom: 24px; padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--theater-border); } .form-group:last-of-type { margin-bottom: 32px; } label { display: block; margin: 0 0 8px; color: var(--theater-text); font-size: 0.875rem; font-weight: 700; letter-spacing: 0.02em; } .checkbox-label { display: flex; align-items: center; gap: 8px; margin-top: 14px; cursor: pointer; } .checkbox-label input[type="checkbox"] { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: var(--theater-accent); } input[type="text"], input[type="email"], select, textarea { display: block; width: 100%; min-height: 48px; margin-bottom: 18px; padding: 12px 14px; color: var(--theater-text); background: var(--theater-surface); border: 1px solid var(--theater-muted); border-radius: var(--theater-radius); font: inherit; transition: border-color 160ms ease, box-shadow 160ms ease; } input[type="text"]:last-child, input[type="email"]:last-child, select:last-child, textarea:last-child { margin-bottom: 0; } input::placeholder { color: var(--theater-muted); } input[type="text"]:focus, input[type="email"]:focus, select:focus, textarea:focus, button:focus-visible { outline: 2px solid var(--theater-focus); outline-offset: 2px; } input[type="text"]:focus, input[type="email"]:focus, select:focus, textarea:focus { border-color: var(--theater-accent); box-shadow: 0 0 0 1px var(--theater-accent); } #room_details { padding-top: 0; } #regular_guest_options, #day_guest_options { margin-top: 8px; } #roommate_info { margin-top: 18px; padding-left: 16px; border-left: 4px solid var(--theater-accent-soft); } .meal-day { margin: 0 0 16px; padding: 12px 16px 4px; border: 1px solid var(--theater-border); } .meal-day legend { padding: 0 8px; color: var(--theater-accent); font-weight: 700; } .form-help { color: var(--theater-muted); font-size: 0.9rem; } .checkbox-group { display: flex; flex-wrap: wrap; gap: 12px 20px; margin: 0 0 24px; } .checkbox-group:last-child { margin-bottom: 0; } .checkbox-group input[type="checkbox"] { width: 18px; height: 18px; margin: 0 6px 0 0; accent-color: var(--theater-accent); vertical-align: -3px; } button[type="submit"] { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 12px 24px; color: var(--theater-text); background: var(--theater-accent); border: 2px solid var(--theater-accent); border-radius: var(--theater-radius); cursor: pointer; font: inherit; font-weight: 700; transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease; } button[type="submit"]:hover { background: var(--theater-text); border-color: var(--theater-text); } button[type="submit"]:active { transform: translateY(1px); } @media (max-width: 600px) { body { padding: 28px 12px; } form { padding: 24px 18px; } .checkbox-group { display: grid; gap: 12px; } }