@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";:root{color:#17201d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f3f0e8;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}#root{min-height:100vh}.shell{background:#f3f0e8;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);min-height:100vh;display:grid}.intro-panel{color:#f7f4ed;background:#155d4d;flex-direction:column;justify-content:space-between;min-height:100vh;padding:34px clamp(32px,7vw,112px) 38px;display:flex;position:relative;overflow:hidden}.intro-panel:after{content:"";border:1px solid #f7f4ed4d;border-radius:50%;width:440px;height:440px;position:absolute;bottom:-190px;right:-160px;box-shadow:0 0 0 28px #f7f4ed14,0 0 0 58px #f7f4ed0f}.brand-row{letter-spacing:.02em;align-items:center;gap:12px;font-weight:600;display:flex}.mark{color:#155d4d;background:#f2c14e;border-radius:50%;place-items:center;width:38px;height:38px;font-family:Space Grotesk,sans-serif;font-size:12px;font-weight:700;display:grid}.intro-copy{max-width:640px;margin:auto 0;padding:64px 0;animation:.65s both reveal}.eyebrow{color:#d9a92d;letter-spacing:.15em;margin:0 0 20px;font-size:12px;font-weight:700}.intro-panel .eyebrow{color:#f2c14e}h1,h2{letter-spacing:-.04em;font-family:Space Grotesk,sans-serif}h1{max-width:620px;margin:0;font-size:clamp(48px,6vw,88px);line-height:.98}.lede{color:#d8e3dd;max-width:500px;margin:28px 0 0;font-size:18px;line-height:1.6}.signal-list{color:#d8e3dd;flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.signal-list span{border:1px solid #d8e3dd61;border-radius:999px;padding:8px 12px}.auth-panel,.welcome-panel{flex-direction:column;justify-content:center;width:min(100%,500px);margin:0 auto;padding:48px clamp(28px,5vw,72px);display:flex}.auth-heading h2{margin:0 0 30px;font-size:38px;line-height:1.05}.auth-panel .eyebrow{margin-bottom:12px}form{gap:18px;display:grid}label{color:#53605a;gap:8px;font-size:13px;font-weight:600;display:grid}input{color:#17201d;background:#fffdf8;border:1px solid #c9cec7;border-radius:4px;outline:none;width:100%;padding:13px 14px;transition:border-color .16s,box-shadow .16s}input:focus{border-color:#155d4d;box-shadow:0 0 0 3px #155d4d24}.primary-button,.secondary-button{border:0;border-radius:4px;padding:14px 18px;font-weight:700;transition:transform .16s,background .16s}.primary-button{color:#fffdf8;background:#155d4d;margin-top:6px}.primary-button:hover,.secondary-button:hover{transform:translateY(-2px)}.secondary-button{color:#155d4d;background:#f2c14e;align-self:flex-start;margin-top:26px}.text-button,.switch-button{background:0 0;border:0;align-self:center}.text-button{color:#155d4d;margin-top:18px;font-size:13px;text-decoration:underline}.switch-button{color:#53605a;margin-top:42px;font-size:13px}.notice,.feedback{border-radius:4px;padding:11px 13px;font-size:13px;line-height:1.45}.notice{color:#765c16;background:#fff0bd;margin:-12px 0 20px}.feedback{margin:0}.feedback.error{color:#963b32;background:#f9e1dc}.feedback.success{color:#155d4d;background:#dceee4}.welcome-panel{grid-column:1/-1;align-items:flex-start}.welcome-panel h1{font-size:clamp(42px,7vw,84px)}.dashboard{color:#17201d;background:#f3f0e8;min-height:100vh}.dashboard-header{background:#fffdf8;border-bottom:1px solid #d9ddd5;justify-content:space-between;align-items:center;padding:24px clamp(24px,6vw,88px);display:flex}.account-actions{color:#53605a;align-items:center;gap:18px;font-size:13px;display:flex}.dashboard-content{width:min(100% - 48px,1050px);margin:0 auto;padding:64px 0}.detail-content{max-width:820px}.back-button{align-self:flex-start;margin:0 0 26px}.dashboard-title{justify-content:space-between;align-items:end;gap:24px;margin-bottom:38px;display:flex}.dashboard-title h1{font-size:clamp(42px,6vw,76px)}.detail-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px;display:flex}.detail-heading h1{margin:0 0 10px;font-size:clamp(42px,6vw,70px)}.detail-heading p{color:#68736c;margin:0}.detail-heading .participant-summary{color:#155d4d;margin-top:8px;font-weight:700}.detail-actions{justify-items:end;gap:16px;display:grid}.danger-button{color:#963b32;background:0 0;border:1px solid #963b32;border-radius:4px;padding:10px 14px;font-weight:700}.danger-button:hover{color:#fffdf8;background:#963b32}.compact-button{white-space:nowrap}.join-plan-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin-bottom:32px}.join-plan-form .secondary-button{margin-top:0}.create-plan-form{background:#fffdf8;border:1px solid #d9ddd5;border-radius:6px;gap:18px;margin-bottom:32px;padding:28px;animation:.3s both reveal;display:grid}.form-heading{justify-content:space-between;align-items:center;display:flex}.form-heading h2{margin:0;font-size:28px}.field-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.plan-list{gap:12px;display:grid}.plan-card{cursor:pointer;background:#fffdf8;border:1px solid #d9ddd5;border-radius:6px;justify-content:space-between;align-items:center;gap:24px;padding:24px 26px;transition:transform .16s,border-color .16s;display:flex}.plan-card:hover{border-color:#155d4d;transform:translateY(-2px)}.plan-card h2{margin:7px 0 5px;font-size:24px}.plan-card p{color:#68736c;margin:0;font-size:14px}.plan-status{letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:#155d4d!important;font-size:11px!important}.invite-code{text-align:right;gap:5px;min-width:120px;display:grid}.invite-code span{color:#68736c;font-size:11px}.invite-code strong{color:#155d4d;letter-spacing:.12em;font-family:Space Grotesk,sans-serif}.empty-state{text-align:center;border:1px dashed #b6c0b8;padding:64px 24px}.empty-state h2{margin:0 0 8px;font-size:30px}.empty-state p{color:#68736c;margin:0 0 24px}.availability-form,.availability-list{background:#fffdf8;border:1px solid #d9ddd5;border-radius:6px;gap:18px;margin-top:18px;padding:28px;display:grid}.availability-form h2,.availability-list h2{margin:0;font-size:25px}.availability-form .field-grid{grid-template-columns:repeat(3,1fr)}.availability-row{color:#53605a;border-top:1px solid #e3e6df;justify-content:space-between;align-items:center;gap:18px;padding-top:14px;font-size:14px;display:flex}.availability-row .text-button{margin-top:0}.muted-copy{color:#68736c;margin:0}.matches-panel{background:#e8f2eb;border:1px solid #155d4d;border-radius:6px;gap:18px;margin-top:18px;padding:28px;display:grid}.appointment-panel{background:#fff0bd;border-left:4px solid #f2c14e;gap:8px;margin-top:18px;padding:24px 28px;display:grid}.appointment-panel .eyebrow,.appointment-panel h2,.appointment-panel p{margin:0}.appointment-panel p{color:#765c16}.section-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.section-heading h2{margin:0;font-size:25px}.section-heading .secondary-button{margin-top:0}.match-list{gap:10px;display:grid}.match-row{color:#53605a;background:#fffdf8;border:1px solid #c6dccd;grid-template-columns:1fr 1fr auto;align-items:center;gap:14px;padding:14px 16px;font-size:14px;display:grid}.match-row strong{color:#155d4d}.match-row small{color:#68736c}.match-row .secondary-button{grid-column:1/-1;justify-self:start;margin-top:4px}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=760px){.shell{display:block}.intro-panel{min-height:52vh;padding:24px}.intro-copy{padding:58px 0 32px}h1{font-size:clamp(42px,13vw,68px)}.lede{font-size:16px}.signal-list{display:none}.auth-panel{padding:48px 24px 56px}.dashboard-header{align-items:flex-start;gap:18px}.account-actions{flex-direction:column;align-items:flex-end;gap:4px}.dashboard-content{width:min(100% - 32px,600px);padding:42px 0}.dashboard-title,.detail-heading{flex-direction:column;align-items:flex-start}.detail-actions{justify-items:start}.availability-form .field-grid{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}.match-row{grid-template-columns:1fr;gap:5px}.join-plan-form,.field-grid{grid-template-columns:1fr}.plan-card{flex-direction:column;align-items:flex-start}.invite-code{text-align:left}}
