/* Club-owned feel; shared, touch-first components. No remote image dependency. */
.cx-daily-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:18px 0 8px; }
.cx-daily-actions button { display:flex;flex-direction:column;align-items:center;gap:9px;border:0;border-radius:12px;background:var(--cx-soft);color:var(--cx-brand);padding:13px 2px;min-height:76px;font-size:11px; }
.cx-daily-actions svg { width:22px;height:22px; }
.cx-creative-card { width:100%;display:flex;align-items:center;gap:11px;padding:16px 13px;border:1px solid #d6e3c4;border-radius:14px;background:#edf4df;color:var(--cx-ink);text-align:left; }
.cx-creative-card>span { flex:1;min-width:0; }
.cx-creative-card b { display:block;font-size:14px; }
.cx-creative-card small { display:block;font-size:10px;color:var(--cx-muted);line-height:1.6;margin-top:5px; }
.cx-my-header { display:flex;align-items:center;gap:12px;margin-bottom:20px; }
.cx-my-header small,.cx-my-header p { font-size:11px;color:var(--cx-muted); }
.cx-my-header h2 { font-size:21px!important;margin:4px 0!important; }
.cx-my-stats { display:grid;grid-template-columns:repeat(3,1fr);background:var(--cx-soft);border-radius:16px; }
.cx-my-stats > div { padding:14px 3px;min-height:77px;text-align:center;border:0;background:none;color:var(--cx-ink); }
.cx-my-stats b { display:block;font-size:22px; }
.cx-my-stats span { display:block;font-size:10px;color:var(--cx-muted); }
[data-cx-theme] { --cx-ink:#152e29; --cx-brand:#225e49; --cx-dark:#193e32; --cx-accent:#ddeb8d; --cx-soft:#edf3e9; --cx-muted:#727d74; }
[data-cx-theme="cobalt"] { --cx-ink:#1d2c42; --cx-brand:#3159a0; --cx-dark:#192f52; --cx-accent:#c9ddff; --cx-soft:#edf2fc; --cx-muted:#6f7b90; }
[data-cx-theme="ember"] { --cx-ink:#432e24; --cx-brand:#a64d2e; --cx-dark:#633b2c; --cx-accent:#f6d4a0; --cx-soft:#fbf0e6; --cx-muted:#88776d; }
.cx-page { color:var(--cx-ink); font-family:inherit; padding:20px 18px 24px; line-height:1.6; }
.cx-page *, .cx-page *::before, .cx-page *::after { box-sizing:border-box; }
.cx-page button,.cx-page input,.cx-page select,.cx-page textarea { font:inherit; }
.cx-page button,.cx-page a { -webkit-tap-highlight-color:transparent; }
.cx-page button { cursor:pointer; }
.cx-page svg { flex-shrink:0; width:19px; height:19px; stroke-width:1.7; }
.cx-page h2,.cx-page h3,.cx-page p { margin:0; }
.cx-page button:focus-visible,.cx-page a:focus-visible,.cx-page summary:focus-visible { outline:3px solid var(--cx-brand); outline-offset:3px; }
.cx-page [data-c-message]:empty,.cx-page [data-cx-error]:empty { display:none; }
.cx-page [data-c-message]:not(:empty),.cx-page [data-cx-error]:not(:empty) { padding:10px 12px; border-radius:10px; background:#fff0ec; color:#9a3120; font-size:13px; margin-bottom:12px; }
.cx-page button.cx-button,.cx-page a.cx-button { min-height:46px; padding:11px 15px; display:inline-flex; gap:9px; align-items:center; justify-content:center; border:1px solid #dce2dc; border-radius:13px; color:var(--cx-ink); background:white; text-decoration:none; font-size:14px; font-weight:650; line-height:1.5; }
.cx-page .cx-button.primary { width:100%; background:var(--cx-brand); color:white; border-color:var(--cx-brand); justify-content:space-between; }
.cx-page .cx-button.secondary { width:100%; margin-top:12px; background:var(--cx-soft); border-color:transparent; }
.cx-page .cx-button.text { border:0; background:transparent; color:var(--cx-brand); padding:6px 0; font-size:12px; min-height:44px; }
.cx-home { margin:-20px -18px -24px; }
.cx-hero { position:relative; overflow:hidden; min-height:244px; padding:22px 22px 40px; background:var(--cx-dark); color:#fff; }
.cx-page .cx-route { position:absolute; width:290px; height:220px; right:-135px; top:34px; opacity:.2; pointer-events:none; }
.cx-route path { stroke:var(--cx-accent); stroke-width:2; }
.cx-route circle { fill:var(--cx-accent); }
.cx-brandline { display:flex; align-items:center; gap:10px; position:relative; font-size:13px; font-weight:650; }
.cx-brandline>span:nth-child(2) { min-width:0; flex:1; }
.cx-brandline small { display:block; font-size:10px; color:#ffffffa6; margin-top:2px; font-weight:400; }
.cx-mark { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex-shrink:0; border-radius:12px; background:var(--cx-accent); color:var(--cx-dark); font-size:21px; font-weight:800; letter-spacing:-1px; }
.cx-member-pill { padding:4px 8px; border:1px solid #ffffff3d; border-radius:20px; font-size:10px; white-space:nowrap; color:#ffffffca; font-weight:400; }
.cx-hero .cx-kicker { position:relative; font-size:8px; letter-spacing:2px; color:var(--cx-accent); margin-top:27px; }
.cx-hero h2 { position:relative; font-size:26px; max-width:265px; line-height:1.35; letter-spacing:.5px; margin-top:9px; font-weight:650; overflow-wrap:anywhere; }
.cx-hero-bottom { position:relative; display:flex; align-items:center; justify-content:space-between; font-size:11px; color:#ffffffaf; margin-top:14px; }
.cx-hero-bottom button { background:none; border:0; width:36px; height:36px; display:grid; place-items:center; color:#fff; }
.cx-next { position:relative; margin:-27px 16px 0; border:1px solid #e6eae2; background:white; padding:20px; border-radius:18px; box-shadow:0 7px 24px #173b2a08; }
.cx-eyebrow { display:flex; align-items:center; gap:7px; font-size:11px; letter-spacing:.4px; color:var(--cx-brand); font-weight:600; }
.cx-next .cx-eyebrow svg { width:15px; height:15px; }
.cx-next h2 { font-size:21px; line-height:1.4; margin-top:9px; letter-spacing:-.5px; }
.cx-next p { color:var(--cx-muted); font-size:12px; line-height:1.8; margin:9px 0 16px; }
.cx-next .cx-button.primary { min-height:48px; border-radius:12px; }
.cx-progress { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:10px; color:var(--cx-muted); margin-top:12px; }
.cx-progress span { display:inline-flex; align-items:center; gap:3px; }
.cx-progress svg { width:13px; height:13px; color:var(--cx-brand); }
.cx-home-content { padding:0 18px 8px; }
.cx-notice { padding:17px 2px; display:flex; align-items:center; gap:8px; width:100%; border:0; background:transparent; color:var(--cx-muted); font-size:11px!important; text-align:left; }
.cx-notice span { flex:1; }
.cx-notice svg { width:15px; height:15px; }
.cx-section { margin:6px 0 22px; }
.cx-section-title { display:flex; justify-content:space-between; align-items:center; margin-bottom:5px; gap:10px; }
.cx-section-title h2 { font-size:17px; letter-spacing:-.3px; }
.cx-event { width:100%; display:flex; align-items:center; text-align:left; gap:12px; border:0; border-bottom:1px solid #e6e9e2; border-radius:0; background:transparent; padding:15px 0; color:inherit; }
.cx-date { width:43px; flex-shrink:0; text-align:center; display:flex; flex-direction:column; align-items:center; line-height:1.3; }
.cx-date strong { font-size:27px; font-weight:600; font-variant-numeric:tabular-nums; }
.cx-date small { color:var(--cx-muted); font-size:10px; margin-top:4px; }
.cx-event-copy { flex:1; min-width:0; }
.cx-event-meta { display:flex; align-items:center; gap:8px; font-size:11px; }
.cx-event-meta em { font-style:normal; font-size:9px; color:var(--cx-brand); background:var(--cx-soft); padding:1px 6px; border-radius:5px; }
.cx-event-copy>b { display:block; font-size:14px; line-height:1.55; margin:5px 0 3px; }
.cx-event-copy>small { display:block; font-size:10px; color:var(--cx-muted); line-height:1.6; }
.cx-event>svg { width:15px; color:#8e978f; }
.cx-week-card { width:100%; padding:17px 14px; border:0; border-radius:15px; background:var(--cx-soft); color:var(--cx-ink); display:flex; gap:11px; align-items:center; text-align:left; margin:10px 0 25px; }
.cx-week-icon { width:35px; height:38px; display:grid; place-items:center; border-radius:10px; background:#ffffffa8; }
.cx-week-card>span:nth-child(2) { flex:1; min-width:0; }
.cx-week-card b { display:block; font-size:14px; }
.cx-week-card small { display:block; font-size:10px; color:var(--cx-muted); margin-top:4px; }
.cx-link { display:flex; align-items:center; justify-content:space-between; width:100%; gap:12px; min-height:55px; padding:13px 0; border:0; border-bottom:1px solid #e5e9e3; color:var(--cx-ink); text-align:left; background:transparent; font-size:13px!important; }
.cx-link>span { display:flex; align-items:center; gap:11px; }
.cx-link>svg { width:15px; color:var(--cx-muted); }
.cx-invite-note { display:flex; justify-content:space-between; align-items:center; gap:10px; color:var(--cx-muted); font-size:10px; margin-top:9px; }
.cx-powered { text-align:center; padding:18px 0 15px; font-size:9px; color:#8a9389; }
.cx-intro { padding:4px 0 24px; }
.cx-intro h2 { font-size:24px; line-height:1.45; margin:10px 0; letter-spacing:-.7px; }
.cx-intro p,.cx-muted { color:var(--cx-muted); font-size:12px; line-height:1.9; }
.cx-intro .cx-eyebrow { font-size:9px; letter-spacing:1px; }
.cx-week-nav { display:flex; align-items:center; justify-content:space-between; padding:11px 0; border-block:1px solid #e1e7dc; gap:5px; font-size:13px; }
.cx-week-nav button { background:none; border:0; color:var(--cx-brand); min-height:42px; min-width:35px; display:grid; place-items:center; font-size:12px; }
.cx-calendar { list-style:none; margin:0; padding:0; }
.cx-calendar li { display:grid; grid-template-columns:40px minmax(0,1fr); gap:13px; padding:17px 0; border-bottom:1px solid #e7eae3; }
.cx-calendar li:has(.cx-rest) { padding:6px 0; }
.cx-calendar-day { width:35px; display:flex; flex-direction:column; align-items:center; padding:4px; align-self:start; }
.cx-calendar-day small { font-size:10px; color:var(--cx-muted); }
.cx-calendar-day b { font-size:20px; font-weight:600; }
.cx-calendar li.today .cx-calendar-day { border-radius:12px; background:var(--cx-brand); color:white; }
.cx-calendar li.today .cx-calendar-day small { color:#ffffffaa; }
.cx-calendar-event { display:flex; flex-direction:column; width:100%; gap:4px; text-align:left; background:var(--cx-soft); border:0; border-radius:12px; padding:12px; color:inherit; }
.cx-calendar-event small { color:var(--cx-brand); font-size:10px; }
.cx-calendar-event b { font-size:13px; }
.cx-calendar-event span { color:var(--cx-muted); font-size:10px; display:flex; align-items:center; justify-content:space-between; gap:5px; }
.cx-calendar-event svg { width:13px; height:13px; }
.cx-rest { display:block; font-size:13px; color:#6f7e70; padding-top:4px; }
.cx-rest small { display:block; font-size:10px; color:#949c93; margin-top:5px; }
.cx-guidance { background:var(--cx-soft); padding:15px; border-radius:12px; margin:23px 0 10px; font-size:12px; }
.cx-guidance summary { cursor:pointer; font-weight:650; min-height:25px; }
.cx-guidance p { margin-top:12px; color:var(--cx-muted); }
.cx-field { display:flex; flex-direction:column; gap:8px; font-size:13px; margin:0 0 18px; font-weight:600; }
.cx-field small, .cx-page legend small { font-size:10px; font-weight:400; color:var(--cx-muted); }
.cx-field input,.cx-field textarea,.cx-field select { width:100%; max-width:100%; min-width:0; background:white; border:1px solid #d8e0d6; border-radius:11px; padding:12px; color:var(--cx-ink); font-size:16px; outline-color:var(--cx-brand); resize:vertical; font-weight:400; }
.cx-page fieldset { min-width:0; border:0; padding:0; margin:0 0 22px; }
.cx-page legend { font-size:13px; font-weight:600; margin-bottom:10px; }
.cx-choices { display:flex; gap:7px; }
.cx-choices label { flex:1; min-width:0; position:relative; cursor:pointer; }
.cx-choices input { position:absolute; opacity:0; width:1px; height:1px; }
.cx-choices span { display:flex; align-items:center; justify-content:center; min-height:46px; border:1px solid #d8e0d6; border-radius:11px; background:white; font-size:12px; color:#657266; text-align:center; padding:9px 3px; }
.cx-choices input:checked+span { border-color:var(--cx-brand); color:var(--cx-brand); background:var(--cx-soft); box-shadow:inset 0 0 0 1px var(--cx-brand); font-weight:700; }
.cx-choices input:focus-visible+span { outline:3px solid var(--cx-brand); outline-offset:2px; }
.cx-context-label { border-left:3px solid var(--cx-brand); background:var(--cx-soft); padding:10px 12px; font-size:12px; margin-bottom:25px!important; }
.cx-page form>.cx-button.primary { margin-top:15px; }
.cx-autosave { display:block; text-align:center; color:var(--cx-muted); font-size:10px; margin-top:9px; }
.cx-empty { text-align:center; padding-top:55px; }
.cx-empty>svg { width:44px; height:44px; color:var(--cx-brand); margin-bottom:16px; }
.cx-empty h2 { font-size:23px; margin-bottom:12px; }
.cx-empty p { font-size:13px; color:var(--cx-muted); line-height:1.9; margin:0 auto 24px; max-width:310px; }
.cx-empty .cx-button { margin:7px 0; }
.cx-success { text-align:center; padding:22px 0; }
.cx-success>span { width:64px; height:64px; margin:auto auto 21px; border-radius:50%; display:grid; place-items:center; color:var(--cx-brand); background:var(--cx-soft); }
.cx-success>span svg { width:30px; height:30px; }
.cx-success .cx-eyebrow { justify-content:center; }
.cx-success h2 { font-size:26px; margin:10px 0; }
.cx-success>p:last-child { font-size:12px; color:var(--cx-muted); }
.cx-reflection { background:white; border:1px solid #dfe5dc; border-radius:17px; padding:20px; margin:8px 0 23px; }
.cx-reflection>b { font-size:14px; }
.cx-reflection p { font-size:14px; margin:15px 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.cx-reflection small { display:flex; align-items:center; gap:5px; font-size:10px; color:var(--cx-muted); }
.cx-reflection small svg { width:14px; }
.cx-stack { display:flex; flex-direction:column; gap:10px; }
.cx-share-card { position:relative; overflow:hidden; background:var(--cx-dark); border-radius:19px; color:white; padding:28px; margin:0 0 23px; }
.cx-share-card>*:not(svg) { position:relative; }
.cx-share-card>small { display:block; font-size:11px; color:var(--cx-accent); margin:24px 0 9px; }
.cx-share-card h2 { font-size:27px; line-height:1.4; }
.cx-share-card p { margin-top:12px; font-size:14px; }
.cx-share-card>span:last-child { display:block; margin-top:20px; color:#ffffff9e; font-size:10px; }
.cx-page input[data-cx-share-url] { font-size:12px; }
.cx-copy-status { font-size:12px; color:var(--cx-brand); margin-top:9px!important; }
.cx-brand-preview { border-radius:18px; padding:23px; margin:0 0 23px; background:var(--cx-dark); color:white; }
.cx-brand-preview strong { display:block; font-size:22px; line-height:1.5; overflow-wrap:anywhere; margin-top:20px; }
.cx-brand-preview p { color:var(--cx-accent); font-size:14px; margin-top:9px; overflow-wrap:anywhere; }
.cx-consent { display:flex; align-items:flex-start; gap:10px; font-size:12px; color:var(--cx-muted); padding:10px 0; }
.cx-consent input { width:20px; height:20px; flex-shrink:0; accent-color:var(--cx-brand); }
.cx-extra { padding-top:0; }
.ce-phone[data-cx-theme] .screen-content { background:#f7f8f3; }
.ce-phone[data-cx-theme] .ce-club-tabs { background:#fff; border-top:1px solid #e5e9e1; }
.ce-phone[data-cx-theme] .ce-club-tabs button.active { color:var(--cx-brand); }
.ce-phone[data-cx-theme] .ce-club-tabs button.active svg { background:var(--cx-soft); color:var(--cx-brand); }
.ce-phone[data-cx-theme] .s-header { background:#f7f8f3; border-bottom:0; }
.ce-phone[data-cx-theme] .s-header h1 { font-size:14px; color:var(--cx-ink); }
.ce-phone[data-cx-theme] .ce-exclusive-header { font-size:10px; color:var(--cx-muted); background:none; padding:0; }
.ce-phone[data-cx-theme][data-cx-view="home"] .screen-content { padding:0; }
.ce-phone[data-cx-theme][data-cx-view="home"] .cx-page { padding-top:20px; }
.standalone-mode .club-review-identity { display:none!important; }
.club-desktop .cx-page { max-width:630px; margin:auto; }
.club-desktop .cx-page.cx-home { max-width:none; }
@media(max-width:350px) { .cx-page{padding-left:14px;padding-right:14px}.cx-home{margin-left:-14px;margin-right:-14px}.cx-hero{padding-left:18px;padding-right:18px}.cx-hero h2{font-size:23px;max-width:240px}.cx-next{padding:17px;margin-left:12px;margin-right:12px}.cx-next h2{font-size:19px}.cx-member-pill{font-size:9px;padding:3px 6px}.cx-brandline{gap:8px;font-size:12px}.cx-mark{width:35px;height:35px}.cx-invite-note{flex-wrap:wrap;gap:0}.cx-intro h2{font-size:22px} }
