/* Clave — private members club. Carbon, silver and warm metal. */
:root {
  color-scheme: dark;
  --canvas: #101112;
  --surface: #191a1c;
  --ink: #f5f4f0;
  --muted: #a4a5a7;
  --line: #303133;
  --green: #e8e5de;
  --green-dark: #fff;
  --sage: #222325;
  --sage-deep: #393a3c;
  --soft: #161719;
  --champagne: #d2bda0;
  --silver: #d2d4d7;
  --radius: 17px;
  background: var(--canvas);
  color: var(--ink);
}

body { background: var(--canvas); color: var(--ink); font-size: 13px; }
::selection { color: #111; background: #d7c4a4; }
:focus-visible { outline-color: #cfb58e; outline-offset: 4px; }
input:focus-visible, textarea:focus-visible, select:focus-visible { border-color: #b9aa93; box-shadow: 0 0 0 3px #c3b39920; }
input[type="checkbox"] { accent-color: #d5c0a2; }
button, input, textarea, select { color: inherit; }
.sidebar { background: #121315; border-color: #2b2c2e; padding-top: 34px; }
.brand { color: #faf9f5; gap: 10px; margin-bottom: 37px; }
.brand-mark { color: #111214; background: #f2f0eb; border-radius: 10px; }
.brand-word { font-size: 24px; font-weight: 600; letter-spacing: -1.15px; }
.brand-hub { color: #a6a6a8; font-weight: 300; }
.workspace-card { background: #17181a; border-color: #2d2e30; border-radius: 10px; }
.workspace-logo { color: #d2c8b7; background: #252526; border-color: #3b3935; font-weight: 400; }
.workspace-copy strong { color: #deddd8; font-weight: 500; }
.workspace-copy span, .workspace-card > svg { color: #949498; }
.section-label { color: #77787d; font-size: 9px; font-weight: 500; letter-spacing: 1.6px; }
.nav-item { color: #a9aaaf; min-height: 43px; font-size: 12px; border: 1px solid transparent; border-radius: 9px; font-weight: 400; }
.nav-item:hover { color: #f3f1ec; background: #202123; }
.nav-item.active { background: #252628; border-color: #37383a; color: #f6f4ef; font-weight: 500; box-shadow: inset 2px 0 #d3b48d; }
.nav-item.active > svg { color: #d8c1a2; }
.nav-item svg { stroke-width: 1.5; }
.nav-count { background: #3a3b3d; color: #d4d2ce; font-size: 9px; font-weight: 400; }
.nav-divider { margin: 18px 12px; height: 1px; background: #303133; border: 0; }
.portal-entry-link { color: #c9b596; margin-top: 5px; }
.portal-entry-link:hover { color: #e9d8bc; background: #292621; }
.portal-entry-link svg { color: #b99e77; }
.sidebar-helper { background: #1b1c1e; border-color: #303133; border-radius: 12px; padding: 17px 14px; }
.sidebar-helper strong { color: #e1ded6; font-weight: 400; line-height: 1.7; }
.sidebar-helper p { color: #8f9095; line-height: 1.8; }
.sidebar-helper-link { color: #cbb99d; font-weight: 400; }
.sidebar-helper-link:hover { color: #f0dfc6; }
.sidebar-helper .ada-symbol { background: #302b25; color: #bca580; }
.user-card { border-color: #303133; }
.user-copy strong { color: #e2e0da; font-weight: 400; }
.user-copy span, .user-card > svg { color: #8b8c92; }
.avatar, .profile-avatar, .avatar.small { background: #363638; color: #d4cec3; font-weight: 400; }
.avatar-stack .avatar { background: #454340; color: #e5ded1; border-color: #191a1c; }
.avatar-stack .avatar:nth-child(2n) { background: #48423b; color: #e2d2b9; }
.avatar-stack .avatar:nth-child(3n) { background: #424448; color: #d9dce2; }
.avatar-stack .avatar-more, .avatar-stack small { color: #95969a; }
.topbar { background: #121315; border-bottom-color: #292a2c; height: 80px; }
.breadcrumb, .breadcrumb svg { color: #696b70; }
.breadcrumb strong, .breadcrumb .current { color: #aaa9a8; font-weight: 400; }
.topbar-actions { gap: 17px; }
.search-trigger { background: #191a1c; color: #909196; border-color: #2d2e30; border-radius: 8px; }
.search-trigger kbd { background: #222326; border-color: #393a3c; color: #7d7f85; }
.icon-button { color: #a4a4aa; }
.icon-button:hover { background: #2b2c2e; color: #f6f3ed; }
.icon-button .notification-dot { background: #d5b990; border-color: #151618; }
.content { padding: 37px 39px 42px; max-width: 1520px; }
.page-head { margin-bottom: 31px; }
.eyebrow { color: #9a8d79; font-size: 9px; font-weight: 400; letter-spacing: 1.7px; margin-bottom: 11px; }
.page-title { font-family: Manrope, Inter, sans-serif; color: #f5f4f0; font-size: clamp(32px,2.8vw,42px); font-weight: 300; line-height: 1.23; letter-spacing: -1.5px; }
.page-description { color: #96979c; font-size: 12px; line-height: 1.8; margin-top: 11px; }
.head-actions { gap: 10px; }
.btn { border-radius: 12px; font-size: 11px; padding: 11px 16px; min-height: 39px; font-weight: 500; letter-spacing: .05px; }
.btn-primary, .survey-button-primary { background: #f1f0eb; border-color: #f1f0eb; color: #141517; }
.btn-primary:hover, .survey-button-primary:hover { background: #fff; border-color: #fff; color: #101112; box-shadow: 0 4px 18px #0002; }
.btn-secondary { color: #dfdcd5; background: transparent; border-color: #48494c; }
.btn-secondary:hover { color: #fff; background: #292a2c; border-color: #6c6b6c; }
.btn-ghost { color: #c1b294; background: transparent; }
.btn-ghost:hover { color: #f1e3cb; background: #282621; }
.btn-sm { padding: 8px 12px; min-height: 33px; font-size: 10px; border-radius: 9px; }
.btn-danger { color: #e8aaa0; background: #332422; border-color: #583632; }
.btn-danger:hover { background: #472d29; }
.badge { color: #c1c0be; background: #303133; border: 1px solid transparent; font-weight: 400; padding: 4px 7px; border-radius: 5px; }
.badge.green { color: #d3c1a5; background: #322d26; border-color: #4c4030; }
.badge.amber { color: #d7b77e; background: #322b20; border-color: #55462d; }
.badge.muted { color: #b2b3b8; background: #292a2e; border-color: #383a40; }
.badge.purple { color: #c0b9d0; background: #2f2b37; border-color: #45404f; }
.demo-label { color: #a5a29a; background: #222321; border-color: #393934; font-weight: 400; }
.demo-label i { background: #b3a083; }
.small-note, .app-footer { color: #77797f; }
.app-footer { border-color: #2d2e30; font-size: 10px; letter-spacing: .1px; }
.app-footer span:first-child { color: #959497; }

/* A spacious introduction and a non-financial membership card. */
.executive-banner { display: flex; align-items: center; justify-content: space-between; gap: 40px; position: relative; overflow: hidden; background: #18191b; border: 1px solid #333436; border-radius: 18px; min-height: 268px; padding: 37px 42px; margin-bottom: 27px; isolation: isolate; }
.executive-banner::after { content: ""; position: absolute; right: -180px; top: -205px; width: 640px; height: 640px; border: 1px solid #ffffff08; border-radius: 50%; z-index: -1; box-shadow: 0 0 0 55px #ffffff03,0 0 0 110px #ffffff02; pointer-events: none; }
.executive-copy { max-width: 450px; position: relative; z-index: 1; }
.executive-copy .eyebrow { color: #c1ab8b; font-size: 9px; letter-spacing: 2.1px; margin-bottom: 17px; }
.executive-copy h2 { color: #faf7f1; font-family: Manrope, Inter, sans-serif; font-size: clamp(31px,3vw,42px); font-weight: 300; letter-spacing: -1.6px; line-height: 1.15; max-width: 410px; }
.executive-copy h2 em { font-style: normal; background: linear-gradient(110deg,#d78177 5%,#dfb776 100%); background-clip: text; -webkit-background-clip: text; color: transparent; }
.executive-copy > p { color: #a6a5a5; font-size: 12px; line-height: 1.9; max-width: 355px; margin-top: 15px; }
.executive-copy .btn { margin-top: 22px; border-radius: 12px; padding: 10px 16px; }
.executive-card { flex: 0 0 315px; width: 315px; aspect-ratio: 1.62; padding: 22px 24px 19px; color: #272728; background: linear-gradient(126deg,#989b9e 0%,#d7d8d7 18%,#f1f0ea 40%,#bcbdba 69%,#9d9f9e 100%); border: 1px solid #b1b4b5; border-radius: 15px; box-shadow: 0 19px 40px #0004,inset 0 1px 1px #fff9; position: relative; overflow: hidden; transform: rotate(-6deg); isolation: isolate; }
.executive-card::before { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg,#fff0 0,#fff0 2px,#ffffff0e 3px,#fff0 4px); mix-blend-mode: screen; pointer-events: none; }
.executive-card::after { content: ""; position: absolute; width: 260px; height: 260px; border: 1px solid #282b2e21; border-radius: 50%; top: 45px; right: -76px; box-shadow: 0 0 0 17px #282b2e06,0 0 0 35px #282b2e05; z-index: -1; }
.card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.card-mark { font-family: Manrope,Inter,sans-serif; font-size: 21px; font-weight: 500; line-height: 1; letter-spacing: -1px; color: #24282a; }
.card-mark span { font-weight: 300; margin-left: 3px; color: #4b4f50; }
.card-membership { font-size: 7px; text-transform: uppercase; letter-spacing: 1.6px; color: #5a5d5c; padding-top: 3px; }
.card-holder { font-family: Manrope,Inter,sans-serif; font-size: 14px; font-weight: 400; margin-top: 49px; letter-spacing: .3px; color: #3f4141; }
.card-holder > span { display: block; margin-top: 4px; font-family: Inter,sans-serif; font-size: 8px; line-height: 1.5; letter-spacing: .35px; color: #484a49; }
.card-number { color: #606262; font-size: 8px; letter-spacing: 2px; margin-top: 7px; }
.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; font-size: 6px; letter-spacing: 1.8px; text-transform: uppercase; color: #5c6060; }
.card-footer .card-number { white-space: nowrap; flex-shrink: 0; margin-top: 0; }
.card-footer > span:last-child { text-align: right; line-height: 1.65; }
.card-footer svg { width: 19px; height: 19px; color: #515554; }
.card-line-art { position: absolute; right: 25px; top: 59px; display: flex; gap: 5px; transform: rotate(-18deg); opacity: .5; }
.card-line-art i { display: block; width: 20px; height: 39px; border: 1px solid #35383a55; border-radius: 30px; }
.card-line-art i:nth-child(2) { transform: translateY(7px); }
.card-line-art i:nth-child(3) { transform: translateY(14px); }

/* Dashboard and event imagery. */
.stats-grid { gap: 17px; margin-bottom: 27px; }
.stat-card { background: #191a1c; border-color: #303133; border-radius: 14px; padding: 23px 22px; }
.stat-top { color: #aaa9aa; font-size: 11px; margin-bottom: 16px; }
.stat-icon { color: #c6baa5; background: #2b2925; border-radius: 8px; }
.stat-value { color: #f4f0e8; font-family: Manrope,Inter,sans-serif; font-size: 32px; font-weight: 400; letter-spacing: -1px; }
.stat-value small { color: #77797e; font-size: 17px; font-weight: 300; }
.stat-footer { color: #86878c; font-size: 10px; margin-top: 15px; }
.trend { color: #c2ae8d; font-size: 10px; }
.dashboard-grid { gap: 24px; }
.panel { background: #191a1c; border-color: #303133; border-radius: 16px; }
.panel-header { padding: 23px 23px 21px; }
.panel-title { color: #e6e2da; font-size: 15px; font-weight: 400; letter-spacing: -.25px; }
.panel-subtitle { color: #8d8e93; font-size: 11px; line-height: 1.8; }
.panel-footer { border-color: #2f3032; color: #87888d; }
.upcoming-feature { border-color: #343537; min-height: 281px; }
.event-art, .event-art.sage { background: #292a2c; color: #bfc1c4; }
.event-art.sand { background: #37312a; color: #c6b69d; }
.event-art.lavender { background: #292d33; color: #b7bec9; }
.event-art .art-caption { color: #d8d4cb; opacity: .6; font-size: 8px; letter-spacing: 1.1px; }
.event-art .art-stamp { color: #e0dcd2; font-weight: 300; letter-spacing: -.4px; line-height: 1.5; }
.event-art.sand .art-stamp { color: #dbcfb9; }
.event-art.lavender .art-stamp { color: #d4d7dd; }
.event-feature-content { padding: 25px 24px; }
.event-kicker { color: #b49d7b; font-size: 10px; letter-spacing: .2px; }
.event-title { color: #eeeae1; font-family: Manrope,Inter,sans-serif; font-size: 24px; font-weight: 400; letter-spacing: -.7px; line-height: 1.35; }
.feature-subtitle, .event-meta, .event-meta svg, .meta-row, .meta-row svg { color: #929397; }
.feature-subtitle { font-size: 11px; line-height: 1.9; }
.event-bottom { border-color: #353638; }
.event-card { background: #191a1c; border-color: #303133; border-radius: 16px; }
.event-card:hover { border-color: #655b4e; transform: translateY(-3px); box-shadow: 0 10px 32px #0002; }
.event-card-content { padding: 22px; }
.event-card-content h3, .event-grid .event-card h3 { color: #ece7dd; font-family: Manrope,Inter,sans-serif; font-size: 18px; font-weight: 400; letter-spacing: -.5px; }
.event-card-meta { color: #97969b; }
.event-card-footer { border-color: #323335; }
.event-card-art { background: #282a2d; }
.event-card-art .badge { background: #252627; color: #d8d0c3; border-color: #4b4842; }
.event-card-art .event-date { color: #eee5d5; background: #141618e6; }
.event-date strong { color: #d8c3a3; font-weight: 400; }
.event-date span { color: #b6a58c; }
.capacity-track, .progress { background: #353638; }
.capacity-fill, .progress-fill { background: #b7a487; }
.capacity-caption, .event-capacity { color: #888a8f; }
.chart-legend { color: #96969b; }
.chart-grid { border-bottom-color: #38393b; background: repeating-linear-gradient(to top,transparent 0,transparent 44px,#303133 44px,#303133 45px); }
.chart-bar, .chart-bar.front { background: #a69a87; }
.chart-bar.back { background: #37393c; }
.chart-column:last-child .chart-bar.front { background: #d7c3a2; }
.chart-column:last-child .chart-bar.back { background: #444443; }
.chart-column:hover .front { background: #f0dab4; }
.chart-value { color: #c5bba9; font-size: 10px; }
.chart-label { color: #87898e; background: #191a1c; font-size: 10px; }
.legend-dot { background: #c0ab8c; }
.legend-dot.light { background: #4a4b4e; }
.activity-item { border-color: #303133; }
.activity-dot { color: #beb4a3; background: #2c2c2c; }
.activity-copy { color: #93959a; }
.activity-copy strong { color: #d9d6cf; font-size: 11px; font-weight: 400; }
.activity-copy p { color: #8d8f94; }
.activity-time { color: #71737b; font-size: 9px; }
.ada-panel { background: #21201f; border-color: #3e3730; border-radius: 16px; padding: 25px; }
.ada-panel-header { margin-bottom: 27px; }
.ada-symbol { color: #c7ad85; background: #393026; border-radius: 11px; }
.ada-panel-header > span:nth-child(2) { font-weight: 400; font-size: 21px; color: #eee6d9; }
.ada-panel-header small { color: #9d8c72; font-weight: 400; font-size: 8px; letter-spacing: 1.3px; }
.ada-panel h2 { color: #eee7db; font-family: Manrope,Inter,sans-serif; font-size: 29px; font-weight: 300; line-height: 1.25; letter-spacing: -1px; }
.ada-panel > p, .ada-message { color: #a49b8d; font-size: 12px; line-height: 1.9; }
.ada-message strong { color: #ddd0b9; }
.ada-suggestion { background: #2a2723; border-color: #433a30; border-radius: 11px; padding: 16px; }
.ada-suggestion > span { color: #bc9e75; }
.ada-suggestion strong { color: #d9c7ad; font-weight: 400; font-size: 11px; }
.ada-suggestion p { color: #a39581; font-size: 10px; line-height: 1.8; }
.ada-panel > .ada-footer, .ada-footer small { color: #938371; font-size: 9px; }
.ada-panel .btn-primary { background: #ded4c3; color: #211c17; border-color: #ded4c3; }
.ada-panel .btn-primary:hover { background: #f2e6d3; border-color: #f2e6d3; }

/* Lists, report data and form controls. */
.data-table th { color: #929298; background: #17181a; border-color: #2d2e30; font-weight: 400; font-size: 9px; letter-spacing: .9px; }
.data-table td { color: #a5a4a8; border-color: #2b2c2e; }
.data-table tbody tr:hover { background: #222325; }
.cell-primary { color: #dedad2; font-size: 12px; font-weight: 400; }
.cell-secondary { color: #81838a; font-size: 10px; }
.consent-state { color: #9b9891; }
.consent-state.yes { color: #c1ac88; }
.tabs { border-color: #323335; background: #191a1c; border-radius: 11px; padding: 4px; }
.tab { color: #929297; font-weight: 400; border: 1px solid transparent; padding: 8px 13px; }
.tab:hover { color: #e6ddd0; }
.tab.active { color: #f4ede2; background: #323234; border-color: #454446; box-shadow: none; }
.search-field, .filter-select { background: #191a1c; border-color: #363739; color: #c4c0b9; border-radius: 9px; }
.search-field svg { color: #8b8b91; }
.search-field input { color: #d8d5cf; }
.search-field input::placeholder { color: #73757d; }
.search-field:focus-within { border-color: #9d8b6d; box-shadow: 0 0 0 3px #c3b39915; }
.input, .textarea, .select { color: #e0dcd3; background: #141517; border-color: #3c3d3f; border-radius: 10px; padding: 12px 13px; }
.input::placeholder, .textarea::placeholder { color: #6f7179; }
.field-label, .form-field > label { color: #c0bcb3; font-weight: 400; font-size: 11px; }
.helper-text, .checkbox-row { color: #909198; }
.checkbox-row { line-height: 1.9; }
.form-section { border-color: #333436; }
.form-section h3 { color: #dfd7c8; font-weight: 400; font-size: 14px; }
.form-section > p { color: #979399; }
.form-actions { border-color: #333436; }
.form-error { color: #e4a195; }
.modal-backdrop { background: #0009; backdrop-filter: blur(8px); }
.modal { background: #1c1d1f; border: 1px solid #444346; border-radius: 18px; box-shadow: 0 30px 120px #0009; }
.modal-header { border-color: #343537; padding-top: 28px; padding-bottom: 22px; }
.modal-header h2 { font-family: Manrope,Inter,sans-serif; color: #f1eade; font-weight: 300; font-size: 26px; letter-spacing: -.9px; }
.modal-header p { color: #929298; }
.modal-body { padding-top: 26px; padding-bottom: 26px; }
.modal-footer { background: #191a1c; border-color: #343537; }
.modal-close { color: #b9b3aa; background: #2b2c2e; border: 1px solid #414244; }
.modal-close:hover { color: #fff; background: #3a3938; }
.toast { background: #e5dfd3; color: #222325; box-shadow: 0 8px 40px #0007; border: 1px solid #f6ecdb; }
.toast:empty { display: none; }
.toast:not(.visible) { opacity: 0; visibility: hidden; transform: translate(-50%,15px); pointer-events: none; }
.toast.visible { opacity: 1; visibility: visible; transform: translate(-50%,0); }
.member-card { background: #191a1c; border-color: #323335; }
.detail-grid dt { color: #8b8c93; }
.detail-grid dd { color: #ded4c3; }
.lead-text { color: #acaaab; line-height: 2; }
.detail-info > div { color: #b2a48e; }
.detail-info small { color: #7d7d84; letter-spacing: 1.4px; }
.detail-info strong { color: #cec8bd; font-weight: 400; }
.detail-info svg { color: #baaa8d; }
.journey-list > button { background: #191a1c; border-color: #303133; }
.journey-list > button:hover { background: #202123; }
.journey-list > button > span { background: #302d29; color: #baa68a; border: 1px solid #413a30; }
.journey-list strong { color: #d8d1c5; font-weight: 400; }
.journey-list p { color: #8d8985; }
.journey-list svg { color: #baa68b; }
.rating-value { color: #cfb78e; }
.rating-value svg { fill: #887152; stroke: #c5ab82; }
.summary-line { border-color: #343537; color: #9d9ba0; }
.summary-line strong { color: #d8c5a7; font-weight: 400; }
.rating-breakdown > div > span { color: #a8a2a0; }
.rating-breakdown strong { color: #d4b88d; font-weight: 400; }
.rating-breakdown small { color: #77777d; }
.comments-list blockquote { background: #202123; border-color: #343537; border-radius: 11px; }
.comments-list blockquote p { color: #bfb9b0; }
.comments-list blockquote footer { color: #aa9471; }
.comments-list blockquote footer span { color: #75767b; }
.metric-box { border-color: #373637; background: #1c1d1f; }
.metric-box strong { color: #e2d3ba; font-weight: 300; }
.metric-box span { color: #929095; }
.metric-box small { color: #717177; }
.empty-state { color: #96949b; }
.empty-state > svg { color: #857b6b; }
.empty-state h3 { color: #dcd2c2; font-weight: 400; }
.empty-state p { color: #8f9097; }
.audience-list, .audience-item { border-color: #343537; }
.audience-item { color: #cbc5ba; }
.audience-item:hover { background: #252628; }
.audience-item small { color: #89888e; }
.audience-item input { accent-color: #bda37c; }
.notice { background: #25231f; border-color: #433c30; color: #b1a18c; border-radius: 12px; }
.notice > span, .notice > svg { color: #bd9f73; }
.notice strong { color: #d7c5a8; font-weight: 400; }
.notice p { color: #a89985; }
.notice a { color: #d2b68e; }
.notice.subtle { background: #202123; border-color: #38393b; }
.notice.subtle p, .notice.subtle strong { color: #b5b2ad; }
.notice.amber { background: #2b251c; border-color: #55432b; color: #d3ae79; }
.channel-status { color: #bfb8ad; border-color: #343537; }
.channel-info svg { color: #c5b293; }
.checkin-row { background: #191a1c; border-color: #303133; }
.checkin-row.checked { background: #27241f; }
.checkin-row.checked .btn-secondary { background: #393023; border-color: #56442c; color: #dac09a; }
.checkin-row strong { color: #d9d3c8; font-weight: 400; }
.topic-card { background: #191a1c; border-color: #303133; border-radius: 16px; padding: 24px; }
.topic-number, .topic-card .topic-rank { color: #726351; font-weight: 300; }
.topic-card h3 { color: #e6ded0; font-weight: 400; font-size: 21px; letter-spacing: -.6px; }
.topic-card > p { color: #989298; line-height: 1.9; }
.topic-footer small { color: #8b8587; }
.settings-card { background: #191a1c; border-color: #303133; }
.settings-card h3 { color: #ddd4c5; font-weight: 400; }
.settings-card > p, .settings-grid .panel-body > p { color: #a29b9d; }
.integration-row strong { color: #ddd6c9; font-weight: 400; }
.integration-row p { color: #928b8f; }
.profile-heading h3 { color: #eee4d3; font-weight: 400; }
.profile-heading p { color: #a3988c; }
.profile-event { color: #c5b9a7; border-color: #363534; }
.profile-event small { color: #91867b; }
.search-result { background: transparent; border-color: #343537; color: #d1c7b7; }
.search-result:hover { background: #252628; }
.search-result small { color: #8d8580; }
.search-result > svg { color: #b69d77; }
.help-copy h3 { color: #e4d8c5; font-weight: 400; }
.help-copy p { color: #aaa29a; }
.tag { background: #2e2c28; color: #bbaa8e; border: 1px solid #40392e; }
.text-muted { color: #9c9ba1; }
.text-green { color: #c5ae89; }
.divider { border-color: #303133; }
.skeleton { background: linear-gradient(90deg,#202123 25%,#2d2e30 50%,#202123 75%); background-size: 200% 100%; }

/* Ada's conversation preview and event survey management. */
.message-preview { background: #1f2022; border-color: #38393b; }
.phone-preview { background: #1c1d1f; border-color: #414143; border-radius: 15px; }
.phone-top, .phone-preview-header { color: #e5dccd; background: #242426; border-color: #393a3c; }
.phone-top strong, .phone-preview-header strong { color: #ded2be; font-weight: 400; }
.phone-top div > span, .phone-preview-header small { color: #96908c; }
.phone-top > svg { color: #b19a78; }
.chat-date { background: #303031; color: #969193; }
.phone-conversation .chat-bubble, .chat-bubble, .chat-bubble.incoming { background: #292a2c; border-color: #3c3d3f; color: #d8d0c1; border-radius: 12px 12px 12px 3px; }
.chat-bubble.outgoing { background: #393126; border-color: #534431; color: #e0c8a5; }
.chat-bubble small, .chat-safety { color: #77757b; }
.chat-options button { color: #c7b395; background: #242527; border-color: #4c453a; }
.chat-options button:hover, .chat-options button.selected { color: #ebd6b6; background: #403526; border-color: #8b704c; }
.approval-step { color: #76757d; border-color: #393a3c; }
.approval-step.active, .approval-step.complete { border-color: #bd9e70; color: #c4aa83; }
.survey-options .survey-option { color: #b6b0a5; background: #1e1f21; border-color: #3a3b3d; border-radius: 12px; }
.survey-options .survey-option:hover { background: #282725; border-color: #75644d; }
.survey-options .survey-option.active { background: #302a22; border-color: #9e8157; box-shadow: 0 0 0 1px #9e815720; }
.survey-option > svg, .survey-option.active > svg { color: #c0a57e; }
.survey-option strong, .survey-option.active strong { color: #dfd0b9; font-weight: 400; }
.survey-option p, .survey-option small { color: #a09485; }
.survey-schedule { color: #c0b6a4; background: #242321; border-color: #403a32; border-radius: 12px; }
.survey-schedule strong { color: #dbc8ac; font-weight: 400; }
.survey-schedule p { color: #ad9e89; }
.survey-schedule .helper-text { color: #83786c; }
.survey-schedule .stat-icon { color: #c6a77b; background: #393025; }
.survey-question-preview p { color: #c0b6a7; }
.survey-question-preview p > span { color: #7f7261; }
.survey-question-preview > small { color: #8d8278; }
.survey-summary { background: #24221f; border-color: #443b2f; }
.survey-summary strong { color: #dcc6a5; font-weight: 300; }
.survey-summary span, .survey-summary small { color: #a18e76; }
.survey-question { border-color: #373432; }
.survey-question > label, .survey-question > h4 { color: #cbbca5; }
.answer-card { background: #202123; border-color: #3b3936; }
.answer-card > h4, .answer-card h3 { color: #dbc6a5; font-weight: 400; }
.answer-card > p { color: #ada191; }
.answer-card-footer { border-color: #383532; color: #8f8070; }
.rating-stars { color: #d5b27d; }
.rating-button { background: #262525; border-color: #4a4135; color: #a48b67; }
.rating-button:hover { background: #373025; }
.rating-button.selected { background: #483a26; border-color: #bc965f; color: #e9c189; }

/* The actual respondent experience, in both link and conversation modes. */
.survey-shell, .public-shell { background: #111214; color: #ede7dd; }
.survey-back, .back-link, .public-form-content .back-link { color: #aaa092; }
.survey-back:hover, .back-link:hover { color: #e6d7bf; }
.survey-brand { color: #f6f1e9; font-weight: 500; }
.survey-brand-light { color: #a6a2a0; font-weight: 300; }
.survey-brand-mark { color: #1b1a18; background: #eee7dc; font-weight: 400; }
.survey-preview-tag { color: #b1a38e; background: #292620; border: 1px solid #40372c; font-weight: 400; }
.survey-card, .public-card { color: #e8e0d3; background: #1a1b1d; border-color: #3a3837; box-shadow: 0 16px 55px #0004; }
.survey-kicker { color: #c0a47c; font-weight: 400; font-size: 9px; letter-spacing: 2px; }
.survey-shell h1 { color: #f5ebdc; font-weight: 300; font-size: 34px; letter-spacing: -1.2px; }
.survey-card-heading > p, .survey-whatsapp-heading > p { color: #aaa29d; line-height: 1.9; }
.survey-event-label { border-color: #343331; }
.survey-event-dot { background: #c7a675; }
.survey-event-label strong { color: #d7c9b3; font-weight: 400; }
.survey-event-label span:not(.survey-event-dot) { color: #908579; }
.survey-demo-person { background: #242321; border: 1px solid #3c362d; }
.survey-demo-person label, .survey-chat-start > label { color: #c7b393; font-weight: 400; }
.survey-demo-person select, .survey-chat-start select { color: #ded0bc; background: #17181a; border-color: #4a4237; }
.survey-demo-person small { color: #958571; }
.survey-rating-field legend { color: #d7c8b3; font-weight: 400; }
.survey-question-index { color: #846e51; font-weight: 400; }
.survey-rating-field > p { color: #9d8f7d; }
.survey-rating-option > span:not(.survey-sr-only) { color: #a18a68; background: #242322; border-color: #463d31; border-radius: 10px; }
.survey-rating-option svg { fill: #776246; }
.survey-rating-option strong { color: #b9a17d; font-weight: 400; }
.survey-rating-option:hover > span { background: #342b21; border-color: #89704b; }
.survey-rating-option input:checked + span { background: #42331e; border-color: #bc965f; color: #ecd0a3; }
.survey-rating-option input:checked + span svg { fill: #c5a06b; }
.survey-rating-option input:checked + span strong { color: #e7c695; font-weight: 500; }
.survey-rating-option input:focus-visible + span { outline-color: #bc9c6f; }
.survey-rating-ends { color: #91816b; }
.survey-text-question label { color: #cfc0a9; font-weight: 400; }
.survey-text-question label > span { color: #8c7f6b; }
.survey-text-question input, .survey-text-question textarea { color: #d8c8ae; background: #141517; border-color: #494035; }
.survey-text-question input::placeholder, .survey-text-question textarea::placeholder { color: #776e62; }
.survey-button { border-radius: 12px; }
.survey-privacy, .survey-demo-note { color: #9a8a72; }
.survey-demo-note > span { background: #a88b60; }
.survey-error { background: #372621; border-color: #654033; color: #e1ab92; }
.survey-success-icon { color: #d7b885; background: #382f22; border: 1px solid #55452f; }
.survey-success > p, .survey-empty > p { color: #a99d8d; }
.survey-success-detail { background: #242321; border-color: #41392f; }
.survey-success-detail strong { color: #dcc6a3; font-weight: 400; }
.survey-success-detail span { color: #a28e73; }
.survey-whatsapp-heading h1 { font-size: 32px; font-weight: 300; }
.survey-phone { color: #e2d8c9; background: #1a1b1d; border-color: #4a453e; box-shadow: 0 15px 65px #0005; }
.survey-phone-header { background: #242321; border-color: #3b3731; }
.survey-ada-avatar { color: #c5aa81; background: #393025; font-weight: 400; }
.survey-ada-avatar > span { background: #bca076; border-color: #242321; }
.survey-phone-header strong { color: #e5d4b8; font-weight: 400; }
.survey-phone-header strong > span { color: #a48e72; }
.survey-phone-header small { color: #9b8a74; }
.survey-chat-preview-badge { color: #b19a7a; background: #373025; }
.survey-chat-date { color: #8c7b63; }
.survey-chat-context strong { color: #b29c7a; }
.survey-chat-context span { color: #8a775d; }
.survey-chat-ada { background: #2a2927; border-color: #403b34; color: #d4c5af; }
.survey-chat-person { background: #3c3021; border-color: #57432a; color: #e0c397; }
.survey-chat-tick { color: #8e7e64; }
.survey-chat-person .survey-chat-tick { color: #b39262; }
.survey-chat-controls { background: #242321; border-color: #3c3730; }
.survey-chat-start > small { color: #8f7d63; }
.survey-chat-rate-label { color: #baa17c; }
.survey-chat-rating-buttons button { color: #d0b58b; background: #2e2922; border-color: #4d4030; }
.survey-chat-rating-buttons button svg { fill: #ae8957; }
.survey-chat-rating-buttons button:hover { background: #47351e; border-color: #a3814f; }
.survey-chat-input-row input { color: #dcc3a0; background: #171819; border-color: #4d4234; }
.survey-chat-input-row input::placeholder { color: #86735a; }
.survey-chat-send { color: #191714; background: #d8c4a2; }
.survey-chat-send:hover { background: #f0d8b2; }
.survey-chat-skip { color: #b39b77; }
.survey-chat-summary { background: #302a22; border: 1px solid #473b2b; }
.survey-chat-summary > div { color: #b8a180; }
.survey-chat-summary strong { color: #dfbd8b; font-weight: 400; }
.survey-chat-summary strong > span { color: #8c7452; }
.survey-reset { color: #b09a79; }
.survey-shell :is(button,a,input,select,textarea):focus-visible { outline-color: #c0a071; }
.survey-choice-option > span { color: #bba27e; background: #27241f; border-color: #483b2c; }
.survey-choice-option:hover > span { background: #3b2e1e; }
.survey-choice-option input:checked + span { color: #efd2a7; background: #46351f; border-color: #b28b54; font-weight: 500; }
.survey-choice-option input:focus-visible + span { outline-color: #c0a071; }
.survey-chat-progress { color: #9c8563; }
.survey-chat-choice-buttons button { color: #cbb18b; background: #30271e; border-color: #57432c; }
.survey-chat-choice-buttons button:hover { background: #4b351d; border-color: #a27843; }
.public-card h1 { color: #efe5d4; font-weight: 300; font-size: 29px; letter-spacing: -1px; }
.public-form-content > p, .public-footer { color: #a89b87; }
.public-banner { background: #312b23; }

/* Portal-level fallbacks keep future shared components on this palette. */
.portal-shell { color: #f2ece2; background: #111214; }
.portal-shell .brand { color: #faf7f0; }
.portal-shell .btn-primary { color: #141517; background: #f1f0eb; border-color: #f1f0eb; }
.portal-shell .btn-secondary { color: #ded4c4; background: transparent; border-color: #645744; }
.portal-shell .btn-secondary:hover { background: #30291f; }
.portal-shell .badge { border-color: #4b4235; }
.portal-shell .input, .portal-shell .select, .portal-shell .textarea { color: #dfcfb5; background: #17181a; border-color: #4e4435; }

/* Lists and the cross-event survey overview. */
.list-context { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 17px 19px; margin: 0 0 24px; background: #191a1c; border: 1px solid #363537; border-radius: 13px; }
.list-context > label { font-size: 11px; color: #a7a1a0; white-space: nowrap; margin-right: 5px; }
.list-context > select { width: auto; flex: 1; min-width: 180px; max-width: 460px; background: #111315; border: 1px solid #454241; border-radius: 8px; color: #d8cebd; padding: 10px 13px; font-size: 12px; }
.list-context > .btn { margin-left: auto; }
.profile-portal-action { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 25px; padding-top: 22px; border-top: 1px solid #3b3630; color: #b5a489; }
.profile-portal-action > p { color: #a2927c; font-size: 11px; line-height: 1.8; }
.survey-overview-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; margin-bottom: 26px; }
.survey-event-list { display: flex; flex-direction: column; background: #191a1c; border: 1px solid #333436; border-radius: 16px; overflow: hidden; }
.survey-event-row { display: flex; align-items: center; gap: 22px; padding: 25px; border-bottom: 1px solid #303133; }
.survey-event-row:last-child { border-bottom: 0; }
.survey-event-date { min-width: 53px; width: 53px; height: 61px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #2c2822; border: 1px solid #443a2d; border-radius: 10px; flex-shrink: 0; }
.survey-event-date > strong { font: 300 23px/1.15 Manrope,Inter,sans-serif; letter-spacing: -.5px; color: #d9c4a2; }
.survey-event-date > span { color: #af9673; font-size: 8px; text-transform: uppercase; letter-spacing: 1.3px; margin-top: 3px; }
.survey-event-info { flex: 1; min-width: 0; }
.survey-event-info > .eyebrow { color: #a28e72; font-size: 8px; margin-bottom: 6px; letter-spacing: 1px; }
.survey-event-info > h3 { font: 400 18px/1.4 Manrope,Inter,sans-serif; letter-spacing: -.45px; color: #e9e1d3; }
.survey-event-info > p { font-size: 10px; color: #9c9794; margin-top: 6px; line-height: 1.8; }
.survey-event-result { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; min-width: 75px; }
.survey-event-result > strong { font: 300 27px/1.2 Manrope,Inter,sans-serif; color: #d4b98e; letter-spacing: -.8px; }
.survey-event-result > span { color: #9a8d7c; font-size: 9px; white-space: nowrap; }
.survey-event-actions { display: flex; align-items: center; gap: 8px; margin-left: 7px; }
.survey-event-actions .btn { font-size: 10px; min-height: 34px; padding: 8px 11px; }
.survey-overview-note { display: flex; align-items: flex-start; gap: 10px; padding: 17px 2px; font-size: 10px; line-height: 1.9; color: #a29785; }
.survey-overview-note > svg { flex-shrink: 0; width: 14px; height: 14px; margin-top: 3px; color: #b89e76; }

/* Small text stays readable on carbon; hierarchy comes from weight and space. */
.section-label, .activity-time, .app-footer, .small-note, .chat-safety,
.chat-bubble small, .detail-info small, .profile-event small, .survey-reset,
.survey-rating-ends, .survey-demo-person small, .survey-demo-note, .survey-privacy,
.survey-question-index, .survey-text-question label > span,
.survey-chat-date, .survey-chat-context span, .survey-chat-tick,
.survey-chat-start > small, .survey-chat-summary strong > span,
.survey-chat-progress, .survey-schedule .helper-text, .survey-question-preview > small,
.answer-card-footer, .cell-secondary, .empty-state p { color: #9b9690; }
.search-trigger kbd, .survey-text-question input::placeholder,
.survey-text-question textarea::placeholder, .survey-chat-input-row input::placeholder,
.input::placeholder, .textarea::placeholder, .search-field input::placeholder { color: #98938d; }
.card-membership, .card-number, .card-footer, .card-footer svg { color: #2d3031; }
.card-holder { color: #292d2e; }

@media (min-width:1700px) {
  .page-title { font-size: 42px; }
  .content { max-width: 1540px; padding-top: 44px; }
  .executive-banner { padding: 42px 48px; min-height: 290px; }
  .executive-card { flex-basis: 340px; width: 340px; padding: 25px 27px 21px; }
  .card-holder { margin-top: 55px; }
}
@media (max-width:1200px) {
  .content { padding: 31px 27px 38px; }
  .executive-banner { gap: 26px; padding: 31px; min-height: 255px; }
  .executive-copy h2 { font-size: 34px; }
  .executive-card { flex-basis: 265px; width: 265px; padding: 20px; }
  .card-mark { font-size: 19px; }
  .card-membership { font-size: 6px; }
  .card-holder { margin-top: 34px; font-size: 12px; }
  .card-footer { font-size: 5px; margin-top: 12px; }
  .stat-card { padding: 21px 18px; }
  .page-title { font-size: 35px; }
}
@media (max-width:1000px) {
  .executive-banner { gap: 18px; padding: 30px 27px; }
  .executive-copy h2 { font-size: 31px; }
  .executive-copy > p { font-size: 11px; }
  .executive-card { flex-basis: 230px; width: 230px; padding: 18px; }
  .card-holder { margin-top: 28px; }
  .card-number { font-size: 7px; letter-spacing: 1.6px; }
  .card-footer { margin-top: 10px; letter-spacing: 1px; }
  .card-membership { font-size: 5px; letter-spacing: 1px; }
  .event-title { font-size: 24px; }
  .survey-event-row { gap: 17px; flex-wrap: wrap; padding: 22px; }
  .survey-event-info { flex-basis: calc(100% - 75px); }
  .survey-event-result { margin-left: 70px; align-items: flex-start; }
  .survey-event-actions { margin-left: auto; }
}
@media (max-width:760px) {
  .sidebar { box-shadow: 10px 0 50px #0008; }
  .topbar { height: 68px; background: #141517; }
  .content { padding: 28px 22px 34px; }
  .page-title { font-size: 35px; letter-spacing: -1.2px; }
  .page-description { font-size: 12px; }
  .executive-banner { padding: 30px; gap: 28px; }
  .executive-copy h2 { font-size: 32px; }
  .stat-value { font-size: 32px; font-weight: 400; }
  .stat-top { font-size: 10px; }
  .stat-footer { font-size: 9px; }
  .stat-card { padding: 20px 17px; }
  .ada-panel h2 { font-size: 29px; }
  .survey-shell h1 { font-size: 30px; }
  .survey-overview-stats { gap: 12px; }
  .list-context > label { width: 100%; }
}
@media (max-width:580px) {
  .executive-banner { flex-direction: column; align-items: flex-start; padding: 29px 26px 34px; gap: 31px; }
  .executive-copy { max-width: 100%; }
  .executive-copy .eyebrow { font-size: 8px; letter-spacing: 1.8px; }
  .executive-copy h2 { font-size: 35px; max-width: 330px; line-height: 1.15; }
  .executive-copy > p { font-size: 12px; max-width: 280px; }
  .executive-card { flex-basis: auto; width: min(288px,100%); align-self: center; padding: 21px 23px 17px; transform: rotate(-5deg); }
  .card-mark { font-size: 21px; }
  .card-membership { font-size: 6px; letter-spacing: 1.5px; }
  .card-holder { margin-top: 42px; font-size: 13px; }
  .card-number { font-size: 7px; letter-spacing: 1.9px; }
  .card-footer { margin-top: 14px; font-size: 5px; letter-spacing: 1.3px; }
}
@media (max-width:500px) {
  .content { padding: 26px 16px 32px; }
  .page-head { margin-bottom: 27px; }
  .page-title { font-size: 34px; font-weight: 300; line-height: 1.2; letter-spacing: -1.2px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.6px; }
  .head-actions .btn { font-size: 11px; padding: 10px 14px; border-radius: 10px; }
  .executive-banner { padding: 27px 23px 32px; border-radius: 15px; }
  .executive-copy h2 { font-size: 33px; letter-spacing: -1.3px; }
  .stats-grid { gap: 11px; }
  .stat-card { padding: 18px 15px; border-radius: 12px; }
  .stat-top { gap: 5px; font-size: 9px; margin-bottom: 14px; }
  .stat-value { font-size: 30px; }
  .stat-footer, .stat-footer .trend { font-size: 8px; line-height: 1.8; }
  .panel-title { font-size: 15px; }
  .panel-header { padding: 21px 19px 18px; }
  .event-feature-content { padding: 23px; }
  .event-title { font-size: 24px; font-weight: 400; }
  .event-card-content h3, .event-grid .event-card h3 { font-size: 20px; }
  .ada-panel { padding: 25px 23px; }
  .ada-panel h2 { font-size: 30px; }
  .input, .textarea, .select, .search-field input { font-size: 16px; }
  .form-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .form-grid .input[type="date"], .form-grid .input[type="time"] { font-size: 12px; padding-left: 8px; padding-right: 8px; }
  .modal-header h2 { font-size: 24px; }
  .survey-card-heading { padding-top: 30px; }
  .survey-shell h1 { font-size: 29px; letter-spacing: -1px; }
  .survey-whatsapp-heading h1 { font-size: 27px; }
  .survey-demo-person select, .survey-chat-start select, .survey-text-question input, .survey-text-question textarea, .survey-chat-input-row input { font-size: 16px; }
  .survey-demo-person label, .survey-text-question label { font-size: 11px; }
  .survey-rating-field legend { font-size: 12px; }
  .survey-rating-field > p { font-size: 10px; }
  .public-card h1 { font-size: 27px; }
  .list-context { padding: 16px; gap: 11px; }
  .list-context > select { font-size: 16px; max-width: none; min-width: 0; width: 100%; flex-basis: 100%; }
  .list-context > .btn { margin-left: 0; width: 100%; }
  .survey-overview-stats { grid-template-columns: minmax(0,1fr); gap: 11px; }
  .survey-overview-stats .stat-card { display: grid; grid-template-columns: 1fr auto; column-gap: 18px; align-items: center; }
  .survey-overview-stats .stat-top { margin-bottom: 0; font-size: 11px; }
  .survey-overview-stats .stat-top > .stat-icon { display: none; }
  .survey-overview-stats .stat-footer { grid-column: 1 / -1; margin-top: 6px; font-size: 9px; }
  .survey-event-row { gap: 16px 13px; padding: 20px 18px; }
  .survey-event-date { width: 47px; min-width: 47px; height: 57px; }
  .survey-event-info { flex-basis: calc(100% - 60px); }
  .survey-event-info > h3 { font-size: 17px; }
  .survey-event-result { margin-left: 60px; }
  .survey-event-actions { width: 100%; margin-left: 60px; flex-wrap: wrap; gap: 9px; }
  .survey-event-actions .btn { font-size: 10px; }
}
@media print {
  :root { color-scheme: light; }
  body, .content, .main-shell { background: #fff !important; color: #111 !important; }
  .executive-banner { display: none; }
  .panel, .stat-card, .event-card, .metric-box { background: #fff !important; border-color: #aaa !important; }
  .panel-title, .page-title, .cell-primary, .stat-value, .summary-line strong, .rating-breakdown strong { color: #111 !important; }
  .data-table th, .data-table td { color: #333 !important; background: #fff !important; border-color: #ccc !important; }
}
