:root {
  color-scheme: light;
  --bg: #fff8fb;
  --bg-soft: #fff1f7;
  --panel: rgba(255,255,255,.94);
  --panel-strong: #ffffff;
  --panel-soft: #fff5fa;
  --text: #352239;
  --muted: #765d78;
  --subtle: #9d7f9d;
  --line: rgba(95,55,93,.14);
  --accent: #ef1c78;
  --accent-deep: #c90e5e;
  --accent-2: #8f54d6;
  --success: #168665;
  --warning: #aa6b00;
  --danger: #bd374f;
  --shadow: 0 18px 48px rgba(100,45,90,.12);
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;
  --font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
* { box-sizing: border-box; }
html { min-height:100%; background:var(--bg); }
body { margin:0; min-height:100vh; color:var(--text); font:15px/1.48 var(--font); background:radial-gradient(circle at 85% 0%, rgba(239,28,120,.10), transparent 32rem),radial-gradient(circle at 7% 85%, rgba(143,84,214,.10), transparent 27rem),var(--bg); }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible { outline:3px solid #f29bc2; outline-offset:3px; }
.skip-link { position:fixed; top:-5rem; left:1rem; z-index:70; background:white; color:#3c1e3a; padding:.8rem 1rem; border-radius:10px; box-shadow:var(--shadow); }
.skip-link:focus { top:1rem; }
.member-shell { min-height:100vh; display:grid; grid-template-columns:246px minmax(0,1fr); }
.member-rail { min-height:100vh; padding:1.15rem; display:flex; flex-direction:column; gap:1rem; border-right:1px solid var(--line); background:rgba(255,255,255,.78); backdrop-filter:blur(18px); position:sticky; top:0; }
.brand { display:flex; align-items:center; color:inherit; text-decoration:none; }
.brand-logo { display:block; width:174px; max-width:100%; height:auto; }
.connection-card { display:flex; align-items:center; gap:.5rem; padding:.62rem .68rem; color:var(--muted); background:#fff; border:1px solid var(--line); border-radius:12px; font-size:.74rem; }
.connection-dot { width:9px; height:9px; border-radius:50%; background:var(--warning); box-shadow:0 0 0 4px rgba(170,107,0,.10); }
.connection-card.online .connection-dot { background:var(--success); box-shadow:0 0 0 4px rgba(22,134,101,.10); }
.member-nav { display:grid; gap:.34rem; }
.member-nav button { display:flex; width:100%; align-items:center; gap:.62rem; padding:.72rem; color:var(--muted); border:1px solid transparent; background:transparent; border-radius:12px; text-align:left; }
.member-nav button:hover { background:#fff1f7; color:var(--text); }
.member-nav button[aria-current="page"] { color:var(--accent-deep); background:#fff0f6; border-color:rgba(239,28,120,.22); box-shadow:0 5px 18px rgba(239,28,120,.07); }
.nav-icon { width:1.15rem; text-align:center; }
.nav-count { margin-left:auto; min-width:1.35rem; text-align:center; padding:.04rem .32rem; border-radius:999px; color:white; background:var(--accent); font-size:.68rem; }
.membership-card { display:grid; gap:.15rem; margin-top:auto; padding:.88rem; border:1px solid rgba(239,28,120,.18); border-radius:14px; background:linear-gradient(135deg,#fff0f6,#f8f1ff); }
.eyebrow { margin:0; color:var(--subtle); text-transform:uppercase; letter-spacing:.14em; font-size:.65rem; font-weight:850; }
.membership-card span { color:var(--muted); font-size:.77rem; }
main { min-width:0; padding:1.45rem 1.7rem 3rem; }
.member-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:.1rem; color:#3b203e; font-size:clamp(2rem,4vw,3.2rem); letter-spacing:-.055em; }
h2 { margin-bottom:.25rem; color:#432443; letter-spacing:-.035em; }
h3 { margin-bottom:.2rem; color:#432443; }
.page-summary,.panel p { margin-bottom:0; color:var(--muted); }
.header-actions,.card-actions,.inline-actions,.filter-row,.tag-row,.meta-row,.bottom-actions { display:flex; gap:.55rem; align-items:center; flex-wrap:wrap; }
.icon-button,.primary-button,.secondary-button,.quiet-button,.danger-button,.round-action { border:1px solid var(--line); color:var(--text); background:white; border-radius:12px; padding:.68rem .85rem; }
.icon-button { position:relative; width:44px; height:44px; padding:0; }
.icon-button b { position:absolute; right:-5px; top:-6px; min-width:18px; padding:1px 4px; border-radius:999px; color:white; background:var(--accent); font-size:.64rem; }
.primary-button { color:white; border-color:transparent; font-weight:850; background:linear-gradient(135deg,var(--accent),#f65a9b); box-shadow:0 10px 20px rgba(239,28,120,.16); }
.secondary-button { color:#6b328f; border-color:rgba(143,84,214,.18); background:#f8f1ff; }
.quiet-button { background:white; color:var(--muted); }
.danger-button { color:var(--danger); border-color:rgba(189,55,79,.2); background:#fff4f5; }
.profile-chip { display:flex; gap:.58rem; align-items:center; color:var(--text); padding:.28rem .55rem .28rem .28rem; border:1px solid var(--line); border-radius:999px; background:white; }
.profile-chip span:last-child { display:grid; gap:.05rem; }
.profile-chip small { color:var(--muted); font-size:.77rem; }
.avatar { display:grid; place-items:center; flex:0 0 auto; width:42px; height:42px; border-radius:50%; color:white; font-weight:900; font-size:.78rem; background:linear-gradient(135deg,#8f54d6,#ef1c78); }
.avatar-lg { width:88px; height:88px; font-size:1.15rem; border:3px solid rgba(255,255,255,.78); box-shadow:0 12px 28px rgba(88,35,83,.18); }
.member-content { display:grid; gap:1rem; padding-top:1rem; }
.discover-grid,.two-column,.three-column,.cards-grid,.settings-grid { display:grid; gap:1rem; }
.discover-grid { grid-template-columns:minmax(0,1.5fr) minmax(270px,.72fr); }
.two-column { grid-template-columns:minmax(0,1.3fr) minmax(270px,.7fr); }
.three-column { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cards-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); }
.settings-grid { grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); }
.panel,.profile-card,.match-card,.conversation-row,.event-card,.room-card,.plan-card,.notification-card,.settings-card,.auth-card { border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--panel); box-shadow:var(--shadow); }
.panel { display:block; padding:1rem; }
.profile-card { min-height:590px; overflow:hidden; position:relative; display:flex; align-items:flex-end; background:linear-gradient(180deg,transparent 34%,rgba(63,29,63,.84)),var(--profile-gradient,linear-gradient(135deg,#ef9abe,#9f7bea)); }
.profile-media { position:absolute; inset:0; display:grid; place-items:center; font-size:6rem; font-weight:900; letter-spacing:-.1em; color:rgba(255,255,255,.82); background:radial-gradient(circle at 60% 30%,rgba(255,255,255,.3),transparent 11rem),linear-gradient(135deg,rgba(255,255,255,.05),rgba(75,37,73,.12)); }
.profile-card-body { position:relative; z-index:2; width:100%; padding:1.3rem; color:white; }
.profile-card-body h2,.profile-card-body .location,.profile-card-body .bio { color:white; }
.profile-heading { display:flex; gap:.65rem; align-items:center; }
.profile-heading h2 { margin:0; font-size:2rem; }
.verified { color:#baf3dd; }
.location { margin:.15rem 0 .7rem; }
.bio { max-width:62ch; }
.tag-row { margin:.7rem 0; }
.tag { padding:.26rem .58rem; border-radius:999px; color:white; background:rgba(255,255,255,.2); font-size:.74rem; }
.round-action { width:52px; height:52px; padding:0; border-radius:50%; font-size:1.25rem; display:grid; place-items:center; }
.round-action.like { color:white; background:linear-gradient(135deg,#ef1c78,#f65a9b); border-color:transparent; }
.round-action.super { color:#7b3fb7; background:#f7efff; }
.round-action.skip { color:#bd374f; background:#fff5f6; }
.profile-side { display:grid; gap:1rem; }
.stat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.stat-card { padding:.8rem; border-radius:13px; background:#fff8fb; border:1px solid var(--line); }
.stat-card strong { display:block; color:#3b203e; font-size:1.4rem; }
.stat-card span { color:var(--muted); font-size:.75rem; }
.match-card,.event-card,.room-card,.plan-card,.settings-card { display:block; padding:.9rem; }
.match-cover { height:155px; display:flex; align-items:flex-end; padding:.8rem; border-radius:14px; background:linear-gradient(135deg,var(--cover-a,#ef9abe),var(--cover-b,#9f7bea)); }
.match-card h3,.event-card h3,.room-card h3,.plan-card h3 { margin:.75rem 0 .18rem; }
.match-card p,.event-card p,.room-card p,.plan-card p,.settings-card p { margin:.18rem 0; color:var(--muted); font-size:.82rem; }
.conversation-layout { display:grid; grid-template-columns:330px minmax(0,1fr); gap:1rem; min-height:610px; }
.conversation-list { display:grid; gap:.55rem; align-content:start; }
.conversation-row { display:flex; width:100%; gap:.7rem; align-items:center; padding:.7rem; color:var(--text); text-align:left; background:white; }
.conversation-row[aria-current="true"] { border-color:rgba(239,28,120,.35); background:#fff0f6; }
.conversation-row span:last-child { min-width:0; display:grid; gap:.06rem; }
.conversation-row small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.chat-panel { display:grid; grid-template-rows:auto minmax(0,1fr) auto; min-height:610px; }
.chat-head { display:flex; gap:.7rem; align-items:center; padding-bottom:.8rem; border-bottom:1px solid var(--line); }
.chat-head small { display:block; color:var(--muted); }
.message-stream { display:grid; align-content:end; gap:.6rem; padding:1rem 0; overflow:auto; }
.message { max-width:min(76%,560px); padding:.68rem .8rem; border-radius:15px; color:var(--text); background:#f7efff; }
.message.mine { justify-self:end; color:white; background:linear-gradient(135deg,#ef1c78,#f65a9b); }
.message small { display:block; margin-top:.25rem; color:inherit; opacity:.78; font-size:.68rem; }
.chat-compose { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem; }
.chat-compose input,.filter-row input,.filter-row select,.auth-card input { min-width:0; color:var(--text); background:white; border:1px solid var(--line); border-radius:11px; padding:.7rem .78rem; }
.status-pill { display:inline-flex; padding:.18rem .5rem; border-radius:999px; color:#116c52; background:#ebfaf4; border:1px solid rgba(22,134,101,.18); font-size:.68rem; font-weight:850; text-transform:uppercase; letter-spacing:.05em; }
.status-pill.warning { color:#8a5800; background:#fff8e8; border-color:rgba(170,107,0,.18); }
.status-pill.info { color:#713ca5; background:#f7efff; border-color:rgba(143,84,214,.18); }
.list-stack { display:grid; gap:.65rem; }
.notification-card { display:flex; gap:.75rem; align-items:center; padding:.75rem; }
.notification-card.unread { border-color:rgba(239,28,120,.28); background:#fff4f8; }
.notification-card div:last-child { display:grid; gap:.05rem; }
.notification-card p { margin:0; color:var(--muted); font-size:.8rem; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:.8rem; }
.section-head p { margin:.15rem 0 0; color:var(--muted); }
.auth-wrap { max-width:760px; margin:4vh auto; display:grid; gap:1rem; }
.auth-card { display:grid; gap:.8rem; padding:1.25rem; }
.auth-logo { width:250px; max-width:80%; margin:auto; }
.auth-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.auth-card label { display:grid; gap:.32rem; color:var(--muted); font-size:.82rem; }
.dev-note { color:var(--muted); font-size:.82rem; background:#fff8ec; border:1px solid rgba(170,107,0,.15); padding:.72rem; border-radius:11px; }
.toast-region { position:fixed; right:1rem; bottom:1rem; z-index:80; display:grid; gap:.55rem; }
.toast { max-width:360px; padding:.75rem .9rem; color:white; border:1px solid rgba(255,255,255,.3); border-radius:12px; background:#703266; box-shadow:var(--shadow); }
dialog { width:min(680px,calc(100vw - 2rem)); color:var(--text); border:1px solid var(--line); border-radius:22px; background:white; box-shadow:var(--shadow); }
dialog::backdrop { background:rgba(70,34,68,.24); backdrop-filter:blur(4px); }
.dialog-head { display:flex; align-items:center; justify-content:space-between; gap:.8rem; }
.dialog-body { padding:.4rem; }
@media(max-width:1050px){.discover-grid,.two-column{grid-template-columns:1fr}.conversation-layout{grid-template-columns:1fr}.conversation-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.member-shell{grid-template-columns:1fr}.member-rail{min-height:auto;position:static}.brand-logo{width:150px}.member-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.member-nav button{justify-content:center;padding:.6rem .35rem}.member-nav .nav-label,.member-nav .nav-count{display:none}main{padding:1rem}.member-header{align-items:flex-start}.profile-chip span:last-child{display:none}.profile-card{min-height:520px}.three-column,.auth-grid{grid-template-columns:1fr}}

/* Public consumer landing page */
.public-mode .member-rail,.public-mode .member-header{display:none}.public-mode .member-shell{display:block}.public-mode main{padding:0}.public-mode .member-content{padding:0}.landing-hero{min-height:680px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);align-items:center;gap:2rem;padding:4.5rem clamp(1.2rem,7vw,7rem);background:radial-gradient(circle at 82% 18%,rgba(239,28,120,.15),transparent 24rem),radial-gradient(circle at 18% 82%,rgba(143,84,214,.12),transparent 23rem),linear-gradient(135deg,#fff8fb,#fff,#fbf5ff)}.landing-copy h1{max-width:760px;margin:.45rem 0 1rem;font-size:clamp(3.4rem,7vw,6.7rem);line-height:.92;letter-spacing:-.085em}.landing-lead{max-width:680px;color:var(--muted);font-size:1.16rem}.landing-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.5rem 0}.landing-trust{display:flex;gap:1rem;flex-wrap:wrap;color:#6d4b70;font-size:.86rem}.landing-art{position:relative;min-height:460px;display:grid;place-items:center}.landing-art img{width:min(520px,88%);filter:drop-shadow(0 24px 34px rgba(135,35,95,.16))}.landing-orbit{position:absolute;padding:.62rem .85rem;border:1px solid rgba(239,28,120,.17);border-radius:999px;background:rgba(255,255,255,.88);box-shadow:var(--shadow);color:#7c3268;font-weight:850}.landing-orbit.one{left:5%;top:18%}.landing-orbit.two{right:8%;top:45%}.landing-orbit.three{left:19%;bottom:14%}.landing-section{padding:4.3rem clamp(1.2rem,7vw,7rem);background:white}.landing-section h2{max-width:760px;font-size:clamp(2rem,4vw,3.6rem);letter-spacing:-.065em}.landing-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.4rem}.landing-features article,.safety-card{padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff9fc;box-shadow:var(--shadow)}.landing-features strong{color:var(--accent);font-size:1.45rem}.landing-features p,.safety-section p,.landing-footer{color:var(--muted)}.safety-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:1rem;background:#fbf5ff}.landing-footer{display:flex;align-items:center;gap:1rem;padding:1.1rem clamp(1.2rem,7vw,7rem);border-top:1px solid var(--line);background:white}.landing-footer img{width:132px}.landing-footer .quiet-button{margin-left:auto}.landing-message{padding:.75rem 1rem;border:1px solid rgba(22,134,101,.2);border-radius:12px;background:#effaf6;color:#116c52}.form-actions{display:flex;align-items:end}.form-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.82rem}.text-button{padding:0;border:0;background:transparent;color:var(--accent-deep);font-weight:850;text-decoration:underline}.link-button{display:inline-flex;text-decoration:none}.auth-grid input{width:100%}@media(max-width:900px){.landing-hero,.safety-section{grid-template-columns:1fr}.landing-art{min-height:280px}.landing-features{grid-template-columns:1fr}}@media(max-width:620px){.landing-hero{padding:3.2rem 1.1rem}.landing-copy h1{font-size:3.75rem}.landing-section{padding:3rem 1.1rem}.landing-footer{padding:1rem;flex-wrap:wrap}.landing-footer .quiet-button{margin-left:0}.landing-orbit{font-size:.75rem}}

/* Linked-partner onboarding parity */
.form-wide{grid-column:1/-1}.choice-group{grid-column:1/-1;display:grid;gap:.5rem;padding:.75rem;border:1px solid var(--line);border-radius:12px;background:#fff9fc}.choice-group label,.consent-check{display:flex;align-items:flex-start;gap:.5rem}.choice-group input,.consent-check input{width:auto;margin-top:.18rem}.auth-grid small{display:block;margin-top:.28rem;color:var(--muted)}.member-onboarding-card{max-width:760px;margin:5vh auto;padding:1.5rem;border:1px solid var(--line);border-radius:22px;background:white;box-shadow:var(--shadow)}.member-onboarding-card img{width:220px;max-width:70%;height:auto}.token-box{display:grid;gap:.45rem;margin:1rem 0;color:var(--muted)}.token-box input{padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#fff8fb;color:var(--text)}

/* Installation-level system-owner control center */
.owner-page{min-height:100vh;color:var(--text);background:linear-gradient(135deg,#fff8fb,#fff,#fbf5ff)}.owner-header{display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,5vw,4rem);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94)}.owner-brand img{width:180px;height:auto}.owner-main{display:grid;gap:1.2rem;padding:2rem clamp(1rem,5vw,4rem) 4rem}.owner-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.52fr);gap:1rem;align-items:stretch}.owner-hero h1{max-width:760px;margin:.35rem 0 .7rem;font-size:clamp(2.6rem,6vw,5.8rem);line-height:.94;letter-spacing:-.075em}.owner-hero p{max-width:780px;color:var(--muted)}.owner-posture-card,.owner-panel,.owner-boundary{padding:1.1rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:white;box-shadow:var(--shadow)}.owner-posture-card h2,.owner-panel h2,.owner-boundary h2{margin:.55rem 0}.owner-posture-card p,.owner-panel p,.owner-boundary p{color:var(--muted)}.owner-posture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:1rem 0 0}.owner-posture-grid div{padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#fff8fb}.owner-posture-grid dt{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.owner-posture-grid dd{margin:.2rem 0 0;font-weight:850;overflow-wrap:anywhere}.owner-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.owner-panel{display:grid;align-content:start;gap:.55rem}.owner-form{display:grid;gap:.7rem}.owner-form label,.owner-token{display:grid;gap:.32rem;color:var(--muted);font-size:.82rem}.owner-form input,.owner-form textarea,.owner-token textarea{width:100%;min-width:0;padding:.72rem;border:1px solid var(--line);border-radius:11px;color:var(--text);background:white}.owner-form textarea,.owner-token textarea{resize:vertical;min-height:82px}.owner-private{display:none}.owner-authenticated .owner-private{display:grid}.owner-notice{margin:0;padding:.8rem 1rem;border-radius:12px;border:1px solid rgba(113,60,165,.22);background:#f7efff;color:#713ca5}.owner-notice.success{border-color:rgba(22,134,101,.22);background:#effaf6;color:#116c52}.owner-notice.error{border-color:rgba(189,55,79,.22);background:#fff5f6;color:#bd374f}@media(max-width:900px){.owner-hero,.owner-grid{grid-template-columns:1fr}.owner-header{padding:1rem}.owner-main{padding:1.2rem 1rem 3rem}.owner-brand img{width:150px}}
