@import "https://fonts.googleapis.com/css2?family=Lexend:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,600;6..72,700;6..72,800&display=swap";:root{--page:#f8f9fb;--page-deep:#eef2eb;--surface:#ffffffd1;--ink:#191c1e;--muted:#5a605d;--green-deep:#00531d;--green-bright:#45e26b;--grid-shadow:#11181214;color:var(--ink);background:radial-gradient(circle at top left, #6aff862e, transparent 24%), radial-gradient(circle at right 20%, #e1e2e4e6, transparent 20%), linear-gradient(180deg, var(--page), var(--page-deep));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Lexend,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{overscroll-behavior-y:contain;min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button,input{font:inherit}img{max-width:100%;display:block}#root{min-height:100dvh}.shell-page{width:min(100%,1200px);min-height:100dvh;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(104px + env(safe-area-inset-bottom,0px));gap:16px;margin:0 auto;display:grid}.loading-shell{place-items:center;width:min(100% - 24px,720px);min-height:100dvh;margin:0 auto;display:grid}.loading-card,.panel,.onboarding-topbar,.app-topbar,.app-bottom-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd6;border:1px solid #191c1e1a;box-shadow:0 18px 60px #11181214}.loading-card{background:radial-gradient(circle at 100% 0,#6aff863d,#0000 28%),#ffffffe0;border-radius:28px;width:100%;padding:32px 24px}.onboarding-topbar,.app-topbar{border-radius:28px;gap:18px;padding:22px;display:grid}.onboarding-brand,.app-topbar-copy{gap:6px;display:grid}.onboarding-brand h1,.app-topbar h1,.loading-card h1,.panel h3,.notification-card h3{color:var(--ink);letter-spacing:-.04em;margin:0;font-family:Newsreader,serif;line-height:1.02}.onboarding-brand h1{font-size:clamp(2rem,7vw,3.4rem)}.app-topbar h1{font-size:clamp(1.7rem,5vw,2.6rem)}.loading-card h1{margin-top:8px;font-size:clamp(2.2rem,8vw,3.8rem)}.topbar-actions,.page-actions,.stacked-actions{flex-direction:column;gap:12px;display:flex}.onboarding-progress{gap:12px;display:grid}.onboarding-step-nav{gap:10px;display:grid}.onboarding-step-link{color:var(--ink);background:#f8f9fbd1;border:1px solid #0000;border-radius:18px;gap:6px;padding:14px 16px;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.onboarding-step-link:hover,.onboarding-step-link-active{border-color:#00993c3d;transform:translateY(-2px);box-shadow:0 12px 30px #11181214}.onboarding-step-link-complete{background:linear-gradient(#6aff8629,#ffffffe6)}.onboarding-step-link strong{font-size:1rem}.onboarding-step-link small{color:var(--muted)}.onboarding-content,.app-content{align-content:start;gap:16px;display:grid}.app-bottom-nav{left:50%;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;border-radius:999px;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:min(100vw - 24px,720px);padding:8px;display:grid;position:fixed;transform:translate(-50%)}.app-tab{min-height:44px;color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:10px 12px;font-size:.82rem;font-weight:700;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:inline-flex}.app-tab-active{color:var(--green-deep);background:#6aff862e}.page-grid,.dashboard-grid,.matches-layout,.friend-layout{gap:16px;display:grid}.auth-grid{width:min(100%,980px)}.panel{border-radius:28px;padding:22px}.panel-wide{grid-column:1/-1}.panel-secondary{background:radial-gradient(circle at 100% 0,#6aff863d,#0000 28%),#ffffffdb}.panel-header{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.panel h3{font-size:clamp(1.8rem,6vw,2.7rem)}.eyebrow,.step-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--green-deep);align-items:center;margin:0;font-size:.72rem;font-weight:700;display:inline-flex}.muted-copy{color:var(--muted);margin:8px 0 0}.progress-card,.notification-footer,.error-box,.info-box,.success-box,.notification-placeholder,.error-banner{background:#f8f9fbe0;border:1px solid #191c1e14;border-radius:24px;padding:18px 20px}.status-pill{color:var(--green-deep);white-space:nowrap;background:#6aff862e;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.progress-card strong{margin-top:8px;font-family:Newsreader,serif;font-size:2.2rem;display:block}.progress-track{background:#e1e2e4e6;border-radius:999px;height:10px;margin:14px 0 8px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg,#45e26b,#00531d);height:100%;display:block}.dashboard-hero{gap:18px;display:grid}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.metric-card,.detail-stats div,.history-inline-grid div{background:#f8f9fbf0;border-radius:18px;padding:14px 16px}.metric-card dt,.detail-stats dt,.history-inline-grid dt{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-size:.76rem}.metric-card dd,.detail-stats dd,.history-inline-grid dd{color:var(--ink);margin:6px 0 0;font-weight:700}.detail-stats,.history-inline-grid{gap:12px;margin:20px 0 0;display:grid}.quick-action-grid{gap:12px;display:grid}.section-link,.utility-link{min-height:48px;color:var(--ink);font:inherit;cursor:pointer;background:#f8f9fbd1;border:1px solid #0000;border-radius:18px;justify-content:space-between;align-items:center;padding:12px 14px;font-weight:600;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:inline-flex}.section-link:hover,.utility-link:hover,.utility-link-active{border-color:#00993c38;transform:translateY(-2px);box-shadow:0 10px 24px #11181214}.form-grid{gap:16px;display:grid}.form-grid label,.search-field,.preference-block span{color:var(--muted);font-size:.9rem;font-weight:600}.full-width{grid-column:1/-1}.form-grid input,.search-field input{width:100%;font:inherit;color:var(--ink);background:#fffffff0;border:1px solid #191c1e1f;border-radius:18px;margin-top:10px;padding:15px 16px;transition:border-color .16s,box-shadow .16s}.form-grid input:focus,.search-field input:focus{border-color:#00993c6b;outline:none;box-shadow:0 0 0 4px #6aff862e}.field-hint{color:var(--muted);margin-top:8px;font-size:.8rem;line-height:1.4;display:block}.checkbox-field{background:#fffffff0;border:1px solid #191c1e1f;border-radius:18px;justify-content:space-between;align-items:center;gap:16px;padding:15px 16px;display:flex}.checkbox-field input{width:18px;height:18px;margin:0}.error-box{color:#8b1e1e;background:#ffdad6c2;margin-top:20px}.error-banner{color:#8b1e1e;background:#ffdad6d1}.error-box p,.success-box,.notification-placeholder p,.error-banner{margin:0}.success-box{color:var(--green-deep);background:#6aff8629;margin-top:20px}.info-box{color:var(--ink);background:#f0f7f0e6;margin-top:20px}.availability-intro{max-width:42rem;margin-bottom:22px}.availability-board{gap:14px;display:grid}.availability-day-card{background:radial-gradient(circle at 100% 0,#6aff8624,#0000 34%),#f8f9fbf0;border:1px solid #191c1e14;border-radius:24px;padding:16px}.availability-day-card-active{border-color:#00993c2e;box-shadow:0 14px 30px #0052240f}.availability-day-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.availability-day-label{color:var(--ink);margin:0;font-family:Newsreader,serif;font-size:1.4rem;line-height:1}.availability-day-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:.78rem;display:inline-block}.availability-slot-list{gap:10px;display:grid}.slot-button{color:var(--muted);min-height:48px;font:inherit;cursor:pointer;background:#fffffff5;border:1px solid #191c1e1a;border-radius:16px;font-weight:600;transition:transform .16s,border-color .16s,background .16s}.availability-slot-button{text-align:left;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;display:flex}.availability-slot-button strong{min-width:50px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;background:#edeef0db;border-radius:999px;justify-content:center;align-items:center;padding:6px 10px;font-size:.76rem;display:inline-flex}.slot-button:hover,.chip:hover,.candidate-card:hover,.primary-button:hover,.secondary-button:hover,.section-link:hover,.app-tab:hover{transform:translateY(-2px)}.slot-active{color:var(--ink);background:linear-gradient(#6aff8638,#fffffffa);border-color:#00993c3d}.slot-active strong{color:var(--green-deep);background:#00531d1a}.preference-block+.preference-block{margin-top:24px}.chip-row,.mini-chip-row,.notification-meta,.history-chip-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.chip,.mini-chip,.stat-pill,.notification-meta span,.notification-badge,.history-chip{border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.chip{font:inherit;color:var(--ink);cursor:pointer;background:#edeef0db;border:1px solid #0000;padding:11px 14px;transition:transform .16s,background .16s,border-color .16s}.chip-selected{background:#6aff862e;border-color:#00993c42}.stat-pill{color:var(--ink);background:#edeef0d1;padding:10px 12px;font-size:.84rem;font-weight:700}.search-field{display:block}.match-list,.notification-list,.request-history-list,.friend-column,.friend-section,.friend-card-list{gap:14px;display:grid}.match-section,.match-section-list,.match-card-wrap{gap:12px;display:grid}.match-section{padding-top:8px}.match-section+.match-section{border-top:1px solid #191c1e14;padding-top:18px}.match-section-header strong{color:var(--ink);font-size:1rem;display:block}.friend-layout{align-items:start;margin-bottom:24px}.friend-section{background:radial-gradient(circle at 100% 0,#6aff8624,#0000 28%),#f8f9fbf5;border:1px solid #191c1e14;border-radius:24px;padding:22px}.friend-section-header strong{color:var(--ink);font-size:1.05rem;display:block}.friend-stat-row{flex-wrap:wrap;gap:10px;display:flex}.friend-card{background:#ffffffeb;border:1px solid #191c1e14;border-radius:22px;align-items:start;gap:14px;padding:16px;display:grid}.friend-card-copy,.candidate-copy{min-width:0}.friend-card-location{margin:6px 0 0}.friend-card-action{align-self:center}.friend-card-status{color:var(--green-deep);align-self:center;font-size:.85rem;font-weight:700}.friend-aside{padding:24px}.candidate-card{text-align:left;cursor:pointer;background:#ffffffeb;border:1px solid #191c1e1a;border-radius:22px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:14px;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.candidate-selected{border-color:#00993c3d;box-shadow:0 16px 40px #0052241a}.mobile-match-detail{background:#f8f9fbeb;border:1px solid #191c1e14;border-radius:20px;gap:14px;padding:16px;display:grid}.candidate-avatar{color:#f8f9fb;background:radial-gradient(circle at top,#6aff867a,#000000eb),linear-gradient(135deg,#000000f2,#353f37f2);border-radius:18px;place-items:center;width:56px;height:56px;font-weight:700;display:grid}.candidate-topline,.notification-history-topline,.request-history-header{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.candidate-copy p,.notification-card p,.notification-channel{color:var(--muted);margin:6px 0 0}.mini-chip{color:var(--muted);background:#edeef0e6;padding:6px 10px;font-size:.78rem}.mini-chip-friend{color:var(--green-deep);background:#6aff862e}.history-meta-label,.request-history-id{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.8rem}.history-chip{color:var(--ink);background:#edeef0eb;padding:8px 11px;font-size:.8rem}.notification-card{background:radial-gradient(circle at 100% 0,#6aff862e,#0000 28%),#f8f9fbf5;border:1px solid #191c1e14;border-radius:24px;padding:22px}.notification-setup-card,.request-history-card{background:radial-gradient(circle at 100% 0,#6aff8624,#0000 28%),#f8f9fbf5;border:1px solid #191c1e14;border-radius:24px;gap:14px;padding:22px;display:grid}.notification-setup-card{background:radial-gradient(circle at 100% 0,#45e26b2e,#0000 28%),#f8f9fbf5;margin-bottom:20px}.request-history-card h4{color:var(--ink);margin:6px 0 0;font-family:Newsreader,serif;font-size:1.55rem;line-height:1.08}.request-status-pill{text-transform:uppercase;letter-spacing:.1em;border-radius:999px;justify-content:center;align-items:center;padding:9px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.request-status-matched{color:var(--green-deep);background:#6aff862e}.request-status-open{color:var(--ink);background:#edeef0eb}.request-history-result{padding-top:4px}.request-history-result strong{color:var(--ink);display:block}.notification-badge{color:var(--green-deep);text-transform:uppercase;letter-spacing:.12em;background:#00993c1f;padding:8px 12px;font-size:.8rem;font-weight:700}.notification-meta span{background:#fffffff0;padding:8px 12px;font-size:.84rem}.notification-footer{margin-top:18px}.primary-button,.secondary-button{min-height:48px;font:inherit;cursor:pointer;border-radius:999px;padding:13px 18px;font-weight:700;transition:transform .16s,opacity .16s,border-color .16s}.primary-button{color:#fff;background:#000;border:1px solid #000}.secondary-button{color:var(--ink);background:#fffffff0;border:1px solid #191c1e1f}.stacked-actions{margin-top:24px}.match-shared-slots{margin-top:18px}.primary-button:disabled,.secondary-button:disabled,.chip:disabled,.slot-button:disabled,.candidate-card:disabled,.section-link:disabled{opacity:.52;cursor:not-allowed;transform:none}@media (width>=640px){.page-actions,.topbar-actions{flex-flow:wrap;align-items:center}.quick-action-grid,.detail-stats,.history-inline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-board{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.friend-card{grid-template-columns:56px minmax(0,1fr) auto}}@media (width>=760px){.shell-page{padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(112px + env(safe-area-inset-bottom,0px));gap:20px}.panel,.onboarding-topbar,.app-topbar,.loading-card{border-radius:30px;padding:28px}.panel-header{flex-direction:row;justify-content:space-between}.app-topbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.page-grid{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{grid-column:1/-1}.matches-layout{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.mobile-match-detail{display:none}}@media (width>=1100px){.friend-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}}
