:root{color-scheme:light;--background:#f5f0e8;--foreground:#23201c;--muted:#6a6258;--surface:#fffdf9;--surface-border:#d9d1c5;--accent:#2f6f62;--accent-foreground:#ffffff;--secondary:#364f6b}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;background:linear-gradient(180deg,#f7f1e8,#efe4d1);color:var(--foreground);font-family:Georgia,Times New Roman,serif}body{min-height:100vh}a{color:inherit;text-decoration:none}main{width:100%}button,input,select,textarea{font:inherit}.page-shell{display:grid;grid-gap:1.25rem;gap:1.25rem;width:min(72rem,calc(100% - 2rem));margin:0 auto;padding:2rem 0}.hero-panel{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;border:1px solid var(--surface-border);border-radius:8px;background:rgba(255,253,249,.94);padding:clamp(1.25rem,4vw,2rem);box-shadow:0 18px 50px rgba(38,32,25,.08)}.hero-copy{display:grid;grid-gap:.75rem;gap:.75rem;max-width:44rem}.eyebrow{margin:0;color:var(--accent);font-family:Arial,Helvetica,sans-serif;font-size:.78rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2,p{margin:0}h1{font-size:clamp(2.25rem,5vw,4.25rem);line-height:1.02}h2{font-size:1.35rem}p{color:var(--muted);font-size:1.05rem;line-height:1.55}.auth-grid,.dashboard-grid,.workspace-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));grid-gap:1rem;gap:1rem}.workspace-grid{grid-template-columns:minmax(18rem,.85fr) minmax(18rem,1.15fr)}.auth-panel,.status-card{display:grid;grid-gap:1rem;gap:1rem;border:1px solid var(--surface-border);border-radius:8px;background:rgba(255,253,249,.88);padding:1.25rem}.status-card{gap:.35rem}.status-card span{color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.82rem}.status-card strong{text-transform:capitalize}label{display:grid;grid-gap:.4rem;gap:.4rem;color:var(--muted);font-family:Arial,Helvetica,sans-serif;font-size:.86rem;font-weight:700}input,select,textarea{min-height:2.75rem;width:100%;border:1px solid var(--surface-border);border-radius:6px;background:#ffffff;color:var(--foreground);padding:0 .8rem}textarea{min-height:7rem;padding:.75rem .8rem;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid rgba(47,111,98,.16)}.button{min-height:2.75rem;border:0;border-radius:6px;background:var(--accent);color:var(--accent-foreground);cursor:pointer;font-family:Arial,Helvetica,sans-serif;font-weight:700;padding:0 1rem}.button.secondary{background:var(--secondary)}.form-message{border:1px solid #d79a57;border-radius:8px;background:#fff8ef;color:#7a4a18;padding:.9rem 1rem}.form-message.success{border-color:#2f6f62;background-color:#f0fdf4;color:#166534}.form-message.error{border-color:#b91c1c;background-color:#fef2f2;color:#991b1b}.inline-fields{display:grid;grid-template-columns:minmax(8rem,.5fr) minmax(12rem,1fr);grid-gap:.85rem;gap:.85rem}.event-list{display:grid;grid-gap:.75rem;gap:.75rem}.event-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border:1px solid var(--surface-border);border-radius:8px;background:#ffffff;padding:.9rem}.event-row p{margin-top:.25rem;font-size:.94rem}.event-row span{color:var(--secondary);font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:700;white-space:nowrap}.invite-row{display:grid;grid-template-columns:minmax(12rem,1fr) auto;grid-gap:1rem;gap:1rem;align-items:center;border:1px solid var(--surface-border);border-radius:8px;background:#ffffff;padding:.9rem}.invite-row p{margin-top:.25rem;font-size:.94rem}.rsvp-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.rsvp-controls button{min-height:2.25rem;border:1px solid var(--surface-border);border-radius:6px;background:#ffffff;color:var(--foreground);cursor:pointer;padding:0 .65rem}.rsvp-controls span{align-self:center;color:var(--secondary);font-family:Arial,Helvetica,sans-serif;font-size:.82rem;font-weight:700;min-width:4.5rem;text-align:right}@media (max-width:640px){.hero-panel,.inline-fields,.workspace-grid{display:grid;grid-template-columns:1fr}.invite-row{grid-template-columns:1fr}.rsvp-controls{justify-content:flex-start}}