/* Minimal skin for app.css pages (2026-10-16). Load after app.css and add
   class "m-app" to <body>. It swaps app.css's colour and font settings for the
   approved website style (Inter Tight; white, near-black and grey; muted blue
   #2B4C7E on main buttons and links) without touching page markup or scripts.
   Pages move over batch by batch; pages without body.m-app are unchanged. */
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/inter-tight-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/inter-tight-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "Inter Tight"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/inter-tight-latin-600-normal.woff2") format("woff2"); }

body.m-app {
  /* Dark ink takes the old forest's job; the frame is white, not jade. */
  --e-forest: #1F2328;
  --e-forest-2: #333333;
  --e-forest-3: #4B5058;
  --e-frame: #FFFFFF;
  --e-frame-2: #F4F4F4;
  --e-frame-line: #E6E6E6;
  --e-frame-ink: #1F2328;
  --e-frame-ink-2: #4B5058;
  --e-frame-hot: #2B4C7E;
  /* The one accent: muted blue where honey used to be. */
  --e-honey: #2B4C7E;
  --e-honey-2: #213B63;
  --e-honey-soft: #EAF0F8;
  --e-paper: #FFFFFF;
  --e-surface: #F6F6F6;
  --e-surface-2: #EEEEEE;
  --e-ink: #1F2328;
  --e-ink-2: #4B5058;
  --e-ink-3: #767676;
  --e-line: #E6E6E6;
  --e-line-2: #CFCFCF;
  --e-mist: #F6F6F6;
  --e-moss: #EAF0F8;
  --e-font-display: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --e-font-body: "Helvetica Neue", Helvetica, Arial, sans-serif; /* owner's pick B, 2026-10-27 */
  --e-radius: 12px;
  --e-radius-sm: 10px;
  /* The refinement layer's own settings */
  --r-ink: #1F2328;
  --r-ink-2: #4B5058;
  --r-ink-3: #767676;
  --r-line: #E6E6E6;
  --r-line-2: #CFCFCF;
  --r-soft: #F6F6F6;
  --r-shadow: none;
  --r-shadow-hover: none;
  font-family: var(--e-font-body);
  font-size: 16px;
  letter-spacing: 0;
}
body.m-app :focus-visible { outline: 2px solid #1F2328; outline-offset: 3px; }

/* The name as the logo */
.m-brand, .m-app .e-auth-logo { font-family: var(--e-font-body); font-weight: 600; font-size: 24px; line-height: 1; letter-spacing: -0.03em; color: #1F2328; text-decoration: none; }
.m-app .e-brand { color: #1F2328; text-decoration: none; }

/* Headings: medium weight, no display face */
.m-app h1, .m-app h2, .m-app h3 { font-family: var(--e-font-body); color: #1F2328; }
.m-app h1, .m-app.e-refined h1 { font-weight: 500; letter-spacing: -0.02em; line-height: 1.12; }

/* Buttons: the main one is blue with white text, the rest outlined */
.m-app .e-btn { font-family: var(--e-font-body); font-weight: 500; min-height: 48px; padding: 0 22px; border-radius: 10px; font-size: 1rem; }
.m-app .e-btn-main, .m-app .e-btn-solid { background: #2B4C7E; color: #FFFFFF; border-color: #2B4C7E; }
.m-app .e-btn-main:hover, .m-app .e-btn-solid:hover { background: #213B63; border-color: #213B63; }
.m-app .e-btn-line { background: #FFFFFF; color: #1F2328; border: 1px solid #CFCFCF; }
.m-app .e-btn-line:hover { background: #F6F6F6; border-color: #CFCFCF; }

/* Fields */
.m-app .e-label { font-weight: 500; color: #1F2328; }
.m-app .e-input, .m-app .e-select, .m-app .e-textarea { font-family: var(--e-font-body); font-size: 17px; border: 1px solid #CFCFCF; border-radius: 10px; min-height: 48px; background: #FFFFFF; box-shadow: none; }
.m-app .e-input:focus, .m-app .e-select:focus, .m-app .e-textarea:focus { border-color: #1F2328; box-shadow: none; outline: none; }
.m-app .e-auth-alt a, .m-app .e-auth-help a, .m-app .e-auth-legal a, .m-app .e-field-foot a, .m-app .e-auth-inner p a { color: #2B4C7E; text-underline-offset: 3px; }

/* Notes: quiet grey, red only for errors; links in them look like links */
.m-app .e-note { border-radius: 10px; box-shadow: none; }
.m-app .e-note.is-info { background: #F6F6F6; border-color: transparent; color: #1F2328; }
.m-app .e-note a { color: #2B4C7E; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }

/* Your own avatar in the corner: grey with dark initials (was white on white) */
.m-app .e-top .e-avatar, .m-app .e-top .e-avatar.is-talent, .m-app.e-app .e-top:not(.is-on-band) .e-avatar { background: #EEEEEE; color: #1F2328; }
.m-app .e-notif .notif-bell-count { background: #2B4C7E; color: #FFFFFF; }

/* Website header on public app pages (Find ideas, idea page) when signed out: same as the website */
.m-app .m-frame .m-nav { font-size: 15px; }
.m-app .m-frame .m-nav a { color: #4B5058; text-decoration: none; }
.m-app .m-frame .m-nav a:hover, .m-app .m-frame .m-nav a[aria-current="page"], .m-app .m-frame .m-nav a.m-signin { color: #1F2328; }
.m-app .m-frame .m-logo { color: #1F2328; }

/* Sign-in pages: no side panel; the form alone on white with the name above it */
.m-app .e-auth { grid-template-columns: minmax(0, 1fr) !important; }
.m-app .e-auth-aside { display: none !important; }
.m-app .e-auth-main { align-items: flex-start; padding: 48px 24px 96px; }
@media (min-width: 900px) { .m-app .e-auth-main { padding: 72px 24px 120px; } .m-app .e-auth-main .e-auth-logo { display: block; } }
.m-app .e-auth-inner { max-width: 440px; gap: 24px; }
.m-app .e-auth-logo { display: block; margin-bottom: 32px; }
.m-app .e-auth-inner h1 { font-size: 2rem; }
.m-app .e-auth-inner .e-auth-lede { color: #4B5058; margin-top: -8px; font-size: 1.05rem; }

/* App frame (top bar, sidebar, phone tabs): white with grey lines, not jade */
.m-app .e-top, .m-app .e-side, .m-app .e-band, .m-app .e-idea-head, .m-app .e-tile-base, .m-app .e-post-foot { background: #FFFFFF !important; color: #1F2328; }
.m-app .e-side { border-right: 1px solid #E6E6E6; }
.m-app .e-top { border-bottom: 1px solid #E6E6E6; }
/* On desktop the top bar only holds the bell and avatar in the corner: keep it see-through so it never covers the page. */
@media (min-width: 900px) { .m-app .e-top, .m-app .e-top.is-on-band { background: transparent !important; border-bottom: 0; } }
.m-app .e-side nav a { color: #4B5058; }
.m-app .e-side nav a:hover, .m-app .e-side nav a[aria-current="page"] { background: #F4F4F4; color: #1F2328; }
.m-app .e-side .e-side-post { color: #2B4C7E !important; box-shadow: inset 0 0 0 1px #2B4C7E; }
.m-app .e-side .e-side-post:hover, .m-app .e-side .e-side-post[aria-current="page"] { background: #2B4C7E !important; color: #FFFFFF !important; }
.m-app .e-top .e-icon-btn { color: #1F2328; }

/* Older components (styles.css) still used on some pages */
.m-app .blob { display: none !important; }
.m-app .eyebrow { display: none; }
.m-app .page-hero { background: #FFFFFF; }
.m-app .page-hero h1 { font-family: var(--e-font-body); font-weight: 500; letter-spacing: -0.02em; }
.m-app .lede { color: #4B5058; }
.m-app .btn { font-family: var(--e-font-body); font-weight: 500; border-radius: 10px; box-shadow: none !important; }
.m-app .btn-primary { background: #2B4C7E !important; color: #FFFFFF !important; }
.m-app .btn-primary:hover { background: #213B63 !important; }
.m-app .btn-outline { background: #FFFFFF; color: #1F2328; border: 1px solid #CFCFCF; }
.m-app .btn-outline:hover { background: #F6F6F6; }
.m-app .form-card { background: #FFFFFF; border: 0; box-shadow: none; padding-left: 0; padding-right: 0; }
.m-app .form-label { font-weight: 500; color: #1F2328; }
.m-app .form-input, .m-app .form-select, .m-app .form-textarea { font-family: var(--e-font-body); font-size: 17px; border: 1px solid #CFCFCF; border-radius: 10px; background: #FFFFFF; box-shadow: none; }
.m-app .form-input:focus, .m-app .form-select:focus, .m-app .form-textarea:focus { border-color: #1F2328; box-shadow: none; }
.m-app .form-hint { color: #4B5058; }
.m-app .banner { box-shadow: none; border-radius: 10px; border: 0; }
.m-app .banner.pending, .m-app .banner.info { background: #F6F6F6; color: #4B5058; }
.m-app .banner.pending strong, .m-app .banner.info strong { color: #1F2328; }
/* Step markers: flat, no shading */
.m-app .stepper-dot { background: #FFFFFF !important; color: #4B5058; border: 1px solid #CFCFCF; box-shadow: none !important; }
.m-app .stepper-step.active .stepper-dot { background: #1F2328 !important; color: #FFFFFF; border-color: #1F2328; }
.m-app .stepper-label { color: #4B5058; }
.m-app .stepper-step.active .stepper-label { color: #1F2328; }
.m-app .progress-fill { background: #2B4C7E !important; }
.m-app .progress-track { background: #EEEEEE; }
.m-app .icon-badge { display: none; }
/* Success and owner notes: grey, with a real link */
.m-app .banner.success { background: #F6F6F6; color: #1F2328; }
.m-app .banner a { color: #2B4C7E; text-decoration: underline; text-underline-offset: 3px; font-weight: 500; }
/* Trust facts: plain grey chips (the green "Trusted" mark keeps its meaning) */
.m-app .e-trust li.is-yes { background: #F4F4F4; color: #1F2328; }
.m-app .e-trust li.is-no { background: #F4F4F4; color: #4B5058; }
/* Safety line: grey, black mark */
.m-app .e-safety { background: #F6F6F6; color: #1F2328; }
.m-app .e-safety::before { background: #1F2328; }
/* Quiet status pills */
.m-app .status-pill.pending-status { background: #F4F4F4 !important; color: #4B5058 !important; }
/* People's initials: one quiet grey instead of a colour per person */
.m-app .e-avatar:not(:has(img)) { background: #EEEEEE !important; color: #1F2328 !important; }

/* Filter drop-down arrows: grey, not jade */
.m-app .feed-filters select.form-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235E5E5E' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); }

/* Photo placeholder: flat, no shine */
.m-app .avatar-upload-preview { background: #EEEEEE !important; color: #1F2328 !important; box-shadow: none !important; border: 0 !important; }

/* Easy on the eyes (owner, 2026-10-16): same as minimal.css. Softer ink, a
   darker grey for secondary text, a touch more letter spacing, normal font
   rendering, and no tiny text: 14px is the floor for chips and notes. */
body.m-app {
  --e-ink: #1F2328; --e-ink-2: #4B5058; --e-ink-3: #5F646B;
  --r-ink: #1F2328; --r-ink-2: #4B5058; --r-ink-3: #5F646B;
  -webkit-font-smoothing: auto; -moz-osx-font-smoothing: auto; text-rendering: optimizeLegibility;
  letter-spacing: 0.01em; line-height: 1.6;
}
.m-app h1, .m-app.e-refined h1 { letter-spacing: -0.005em; }
.m-app h2, .m-app h3 { letter-spacing: 0; }
.m-brand, .m-app .e-auth-logo { letter-spacing: -0.01em; }
.m-app .e-small, .m-app .e-auth-legal, .m-app .e-auth-help, .m-app .form-hint, .m-app .settings-note,
.m-app .e-person-facts, .m-app .e-band-stat span,
.m-app .e-trust li, .m-app .e-chip, .m-app .e-tile-sector, .m-app .status-pill, .m-app .e-safety,
.m-app .e-verified, .m-app .e-unverified { font-size: 14px !important; }
/* Disabled buttons: light grey with dark grey text (sharp), not faded. */
.m-app .e-btn:disabled, .m-app .btn:disabled, .m-app .e-btn:disabled:hover { opacity: 1; background: #ECEDEF !important; color: #4B5058 !important; border-color: #ECEDEF !important; cursor: default; }
.m-app .e-input::placeholder, .m-app .form-input::placeholder, .m-app .form-textarea::placeholder, .m-app .e-textarea::placeholder { color: #767B82; }

/* The idea header is white in the minimal style (line ~101), so its title
   and selected tab need dark ink; older rules made both white-on-white. */
.m-app .e-idea-head h1 { color: #1F2328 !important; }
body.m-app.e-app .e-idea-head .e-pilltabs .tab-btn.selected, body.m-app.e-app .e-idea-head .e-pilltabs .tab-btn[aria-selected="true"] { background: #1F2328 !important; color: #FFFFFF !important; }

/* "More lively" in the app (2026-10-24, the owner's chosen website look):
   a light-blue tint at the top of each page, soft rounded cards with light
   blue borders, and the muted blue (not black) for whatever is selected.
   Light only: no dark mode (owner). */
body.m-app { --lv-tint: #F2F5FA; --lv-tint-2: #E3EAF4; --lv-tint-3: #C9D6EA; --lv-blue: #2B4C7E; --lv-blue-soft: #EAF0F8;
  background: linear-gradient(180deg, var(--lv-tint) 0, #FFFFFF 380px) no-repeat, #FFFFFF; }
.m-app .e-idea-head { background: linear-gradient(180deg, var(--lv-tint) 0, #FFFFFF 100%) !important; }
.m-app .e-auth-main { background: linear-gradient(180deg, var(--lv-tint) 0, #FFFFFF 380px) no-repeat; }
/* Cards */
.m-app.e-refined .idea-card, .m-app.e-refined .e-tile, .m-app .e-ready, .m-app .dash-card, .m-app .e-card, .m-app .e-row {
  border-radius: 16px !important; border-color: var(--lv-tint-2) !important; background: #FFFFFF;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.m-app.e-refined .idea-card:hover, .m-app.e-refined a.e-tile:hover, .m-app a.e-row:hover {
  border-color: var(--lv-tint-3) !important; box-shadow: 0 14px 30px -20px rgba(43, 76, 126, .45) !important; transform: translateY(-1px); }
/* Selected: muted blue */
.m-app .e-choice button[aria-checked="true"], .m-app .e-choice button[aria-pressed="true"],
.m-app .tag-chip[aria-pressed="true"], .m-app .file-chip.selected, .m-app .file-chip[aria-checked="true"] {
  background: var(--lv-blue) !important; border-color: var(--lv-blue) !important; color: #FFFFFF !important; }
body.m-app.e-app .e-idea-head .e-pilltabs .tab-btn.selected, body.m-app.e-app .e-idea-head .e-pilltabs .tab-btn[aria-selected="true"] {
  background: var(--lv-blue) !important; color: #FFFFFF !important; }
.m-app .e-side nav a[aria-current="page"] { background: var(--lv-blue-soft) !important; color: var(--lv-blue) !important; }
.m-app .e-ready-list li.is-done .e-ready-dot { background: var(--lv-blue); border-color: var(--lv-blue); }
/* Small, quiet movement */
.m-app .e-btn, .m-app .btn, .m-app .tab-btn, .m-app .tag-chip, .m-app .file-chip, .m-app .e-choice button, .m-app .e-side nav a {
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease; }
@media (prefers-reduced-motion: reduce) { .m-app * { transition: none !important; transform: none !important; } }
/* The page band (e.g. "Hi …" on Home) lets the tint show instead of a white strip. */
.m-app .e-band { background: transparent !important; }
/* Text buttons (e.g. "Send it again") look like links, not system buttons. */
.m-app button.e-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--lv-blue); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
/* Idea page: a little room between "Posted by" and Share. */
.m-app .idea-share { margin-top: 12px; }
/* Idea journey (assets/js/journey.js, 2026-10-24): the bar and its panel. */
.m-app .e-journey { background: #FFFFFF; border: 1px solid var(--lv-tint-2); border-radius: 16px; padding: 16px; margin: 0 0 20px; }
.m-app .e-journey[hidden] { display: none; }
.m-app .e-journey-bar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.m-app .e-journey-step { width: 100%; display: flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--lv-tint-2);
  background: #FFFFFF; color: var(--e-ink, #1a1a1a); font: inherit; font-size: 0.85rem; font-weight: 600; text-align: left; cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease; }
.m-app .e-journey-step:hover { border-color: var(--lv-tint-3); }
.m-app .e-journey-step.is-open { border-color: var(--lv-blue); box-shadow: inset 0 0 0 1px var(--lv-blue); }
.m-app .e-journey-dot { flex: 0 0 22px; width: 22px; height: 22px; border-radius: 999px; border: 2px solid var(--lv-tint-3); display: inline-flex;
  align-items: center; justify-content: center; font-size: 0.72rem; color: var(--e-ink-2, #5b6472); }
.m-app .e-journey-step.is-done .e-journey-dot { background: var(--lv-blue); border-color: var(--lv-blue); color: #FFFFFF; }
@media (max-width: 899px) {
  .m-app .e-journey-bar { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
  .m-app .e-journey-bar li { flex: 0 0 auto; scroll-snap-align: start; }
  .m-app .e-journey-step { white-space: nowrap; }
}
.m-app .e-journey-panel { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--lv-tint-2); display: grid; gap: 12px; }
.m-app .e-journey-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 12px; }
.e-app .e-journey-head h2 { font-size: 1rem; margin: 0; }
.m-app .e-journey-head span, .e-app .e-journey-note, .e-app .e-journey-meta { color: var(--e-ink-2, #5b6472); font-size: 0.85rem; }
.e-app .e-journey-panel h3 { font-size: 0.95rem; margin: 8px 0 0; }
.m-app .e-journey-panel .e-field { margin: 0; }
.m-app .e-journey-panel > .e-btn, .m-app .e-journey-talk .e-btn { justify-self: start; }
.m-app .e-journey-talk { display: grid; gap: 10px; }
@media (min-width: 900px) { .m-app .e-journey-talk { grid-template-columns: 170px minmax(0, 1fr); } .m-app .e-journey-talk .e-field:nth-child(3), .m-app .e-journey-talk .e-btn { grid-column: 1 / -1; } }
.m-app .e-journey-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.m-app .e-journey-list li { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 10px 12px; border: 1px solid var(--lv-tint-2); border-radius: 12px; overflow-wrap: anywhere; }
.e-app .e-journey-list li p { margin: 4px 0 0; }
.m-app .e-journey-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.m-app .e-pitch-grid { display: grid; gap: 10px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .m-app .e-pitch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.m-app .e-seed-list { margin: 0; }
@media (min-width: 900px) { .m-app .e-seed-list { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.m-app .e-check { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; }
.m-app .e-file-btn { justify-self: start; cursor: pointer; }
.m-app .e-journey-share { display: grid; gap: 8px; }
.m-app .e-journey-share .e-btn { justify-self: start; }
.e-app .e-journey-legal { margin: 4px 0 0; font-size: 0.8rem; color: var(--e-ink-2, #5b6472); }
.e-app .e-journey-msg { margin: 0; font-size: 0.85rem; color: var(--lv-blue, #2B4C7E); min-height: 1em; }
.e-app .e-journey-msg.is-error { color: #B42318; }
.m-app .e-dataroom-folder { display: flex; align-items: center; gap: 8px; width: 100%; margin: 0 0 12px; padding: 12px 14px; border: 1px solid var(--lv-tint-2);
  border-radius: 12px; background: var(--lv-blue-soft); color: var(--lv-blue); font: inherit; text-align: left; cursor: pointer; }
.m-app .e-dataroom-folder span:last-child { margin-left: auto; color: var(--e-ink-2, #5b6472); font-size: 0.85rem; }
.m-app .e-journey-step.is-now:not(.is-open) { background: var(--lv-blue-soft); border-color: var(--lv-tint-3); }
.m-app .e-journey-step.is-now .e-journey-dot { border-color: var(--lv-blue); color: var(--lv-blue); }
.m-app .e-journey { padding: 12px; }
@media (max-width: 899px) { .m-app .e-journey-bar { scrollbar-width: none; } .m-app .e-journey-bar::-webkit-scrollbar { display: none; } }
/* Calls in Messages (2026-10-24): the same Video and Voice buttons as the
   workspace, in the light blue used for actions here. */
.m-app .dm-main-header .e-call { background: var(--lv-blue-soft); color: var(--lv-blue); }
.m-app .dm-main-header .e-call:hover { background: var(--lv-tint-2); }

/* Conversation header (2026-10-24): the person, two call icons and a "more"
   menu, one line at every width. On phones an open conversation takes the
   whole card and the back arrow returns to the list. */
.m-app .dm-main-header { flex-wrap: nowrap; gap: 10px; padding: 12px 16px; }
.m-app .dm-peer { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1 1 auto; text-decoration: none; color: var(--e-ink, #1F2328); }
.m-app .dm-peer strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-app .dm-head-actions { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.m-app .dm-main-header .e-call { width: 40px; height: 40px; min-height: 40px; padding: 0; justify-content: center; }
.m-app .dm-main-header .e-call span { display: none; }
.m-app .dm-more { position: relative; }
.m-app .dm-more-btn { background: transparent; color: var(--e-ink, #1F2328); }
.m-app .dm-main-header .dm-more-btn:hover { background: var(--lv-tint); }
.m-app .dm-more-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; min-width: 160px; padding: 6px; display: grid; background: #FFFFFF;
  border: 1px solid var(--lv-tint-2); border-radius: 12px; box-shadow: 0 14px 30px -18px rgba(43, 76, 126, .45); }
.m-app .dm-more-menu[hidden] { display: none; }
.m-app .dm-more-menu button { text-align: left; padding: 10px 12px; border: 0; border-radius: 8px; background: none; font: inherit; color: var(--e-ink, #1F2328); cursor: pointer; }
.m-app .dm-more-menu button:hover, .m-app .dm-more-menu button:focus-visible { background: var(--lv-tint); }
.m-app .dm-more-menu .is-danger { color: #B42318; }
.m-app .dm-back { display: none; width: 36px; height: 36px; border: 0; border-radius: 999px; background: none; color: var(--e-ink, #1F2328); cursor: pointer; place-items: center; flex: 0 0 auto; }
.m-app .dm-back:hover { background: var(--lv-tint); }
@media (max-width: 700px) {
  .m-app .dm-layout.dm-has-thread .dm-sidebar { display: none; }
  .m-app .dm-layout.dm-has-thread .dm-back { display: grid; }
  .m-app .dm-main-header { padding: 10px 12px; }
}

/* Find ideas (2026-10-24): the name and search on top, filters in one row,
   calmer cards (two-line pitch, three skills, a bookmark to save). */
.m-app .idea-hero .idea-title { font-size: clamp(1.5rem, 3vw, 1.9rem); font-weight: 500; }
.m-app section.idea-hero, .m-app .page-hero.idea-hero { padding: 24px 0 4px; }
.m-app .feed-filters select.form-input { min-width: 0; }
.m-app .feed-count { margin: 0 0 10px; font-size: 14px; color: var(--e-ink-2, #4B5058); }
.m-app.e-refined .idea-card-link { padding: 16px 18px 12px; }
.m-app.e-refined .idea-card-pitch { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.m-app.e-refined .idea-card .skill-chip-row { margin-top: 10px; }
.m-app.e-refined .idea-card .skill-chip-more { background: transparent; color: var(--e-ink-2, #4B5058); }
.m-app.e-refined .idea-card .idea-card-meta { padding: 10px 12px 10px 18px; }
.m-app.e-refined .idea-card-facts { gap: 4px; }
.m-app.e-refined .idea-card-match { justify-self: start; color: var(--lv-blue); background: var(--lv-blue-soft); border-radius: 999px; padding: 2px 9px; font-weight: 600; font-size: 0.78rem; }
.m-app .idea-save-btn { width: 38px; height: 38px; min-height: 38px; padding: 0; display: inline-grid; place-items: center; border-radius: 999px; border: 1px solid var(--lv-tint-2); background: #FFFFFF; color: var(--e-ink-2, #4B5058); cursor: pointer; flex: 0 0 auto; }
.m-app .idea-save-btn:hover { border-color: var(--lv-tint-3); color: var(--lv-blue); }
.m-app .idea-save-btn[aria-pressed="true"] { background: var(--lv-blue); border-color: var(--lv-blue); color: #FFFFFF; }
.m-app .idea-save-btn[aria-pressed="true"] svg { fill: currentColor; }
@media (min-width: 700px) {
  .m-app .feed-filters[open] > .feed-filter-body { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .m-app .feed-filters .feed-filter-body > select.form-input, .m-app .feed-filters .filter-row .form-input { flex: 0 1 180px; width: auto; }
  .m-app .feed-filters .filter-row { display: contents; }
}

/* Phone tab bar (2026-10-24): five level tabs; Post is a small blue square in
   line with the others instead of a raised button. */
.m-app .e-tabs { border-top: 1px solid var(--lv-tint-2); background: rgba(255, 255, 255, .97); align-items: center; }
.m-app .e-tabs a { font-size: 12px; gap: 4px; color: #6B7280; min-height: 52px; }
.m-app .e-tabs a[aria-current="page"] { color: var(--lv-blue); }
.m-app .e-tabs .e-tab-post { color: var(--lv-blue); }
.m-app .e-tabs .e-tab-post .e-tab-plus { width: 30px; height: 26px; margin-top: 0; border: 0; border-radius: 9px; background: var(--lv-blue); color: #FFFFFF; }
.m-app .e-tabs .e-tab-post .e-tab-plus .e-icon { width: 18px; height: 18px; }

/* Home on wide screens (2026-10-27): "Your ideas" and "Ideas you joined" side
   by side, each card the full width of its column, so the page isn't one
   narrow strip with empty space on the right. */
@media (min-width: 1100px) {
  .m-app .dash-main { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 40px; align-items: start; }
  .m-app .dash-main > .e-note { grid-column: 1 / -1; margin-bottom: 24px; }
  .m-app.e-refined .dash-main > .e-section + .e-section { margin-top: 0; }
  .m-app .dash-main .e-tiles { grid-template-columns: minmax(0, 1fr); }
}

/* Chat that couldn't load (2026-10-27): a calm note and Try again, centred. */
.m-app .chat-retry { display: flex; flex-direction: column; align-items: center; gap: 12px; margin: auto; text-align: center; color: #4B5058; }
.m-app .chat-retry.empty-state { border: 0; background: none; }

/* Connect your AI (2026-10-27): folded cards open with a click on the title. */
.m-app .ai-fold > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.m-app .ai-fold > summary::-webkit-details-marker { display: none; }
.m-app .ai-fold > summary h3 { margin: 0 !important; }
.m-app .ai-fold > summary::after { content: "+"; font-size: 1.25rem; line-height: 1; color: #4B5058; }
.m-app .ai-fold[open] > summary { margin-bottom: 8px; }
.m-app .ai-fold[open] > summary::after { content: "\2212"; }

/* Allow page (2026-10-27): no boxes or dividers; three short lines. */
.m-app .ai-who { line-height: 1.6; }
.m-app .ai-not-you { font-size: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.m-app .ai-can { margin: 18px 0 0; }
.m-app .ai-can dt { font-weight: 600; color: #1F2328; margin: 14px 0 0; }
.m-app .ai-can dt:first-child { margin-top: 0; }
.m-app .ai-can dd { margin: 0; color: #4B5058; }

/* Connect your AI (2026-10-27): plain white blocks, no borders or row lines. */
.m-app .ai-page .dash-card { border: 0 !important; box-shadow: none !important; }
.m-app .ai-page .settings-row { border-top: 0 !important; border-bottom: 0 !important; }

/* The logo (2026-10-27): sprout mark + "ecogru" (the mark's own styles are in minimal.css). */
.m-brand, .m-app .e-auth-logo { display: inline-flex !important; align-items: center; gap: 9px; font-weight: 700; letter-spacing: -0.035em; }
.m-mark { width: 30px; height: 30px; border-radius: 9px; background: #E8EEF7; color: #2B4C7E; display: inline-flex; align-items: center; justify-content: center; flex: none; }
.m-mark svg { width: 18px; height: 18px; }
/* The owner's logo file (2026-10-27): the mark draws its own dark blue square. */
.m-mark { background: none !important; box-shadow: none !important; border-radius: 0; width: 30px; height: 30px; }
.m-mark svg { width: 30px; height: 30px; display: block; }
.m-site .m-logo, .m-brand, .m-app .e-auth-logo { color: #1D2633; }

/* ===== Polished and warmer, the whole app (2026-10-27) =====
   Same look as the new home page: light blue tint behind everything,
   white cards with soft shadows and round corners, fewer lines. Light only. */
body.m-app { background: linear-gradient(180deg, #E9F0F9 0, #F3F6FB 420px) no-repeat, #F5F7FB !important; }
.m-app .e-top, .m-app .e-band, .m-app .e-idea-head, .m-app .e-post-foot, .m-app .e-auth-main { background: transparent !important; }
.m-app .e-side { background: rgba(255,255,255,.72) !important; border-right: 0 !important; box-shadow: 1px 0 0 rgba(17,24,39,.05); }
.m-app .e-side nav a:hover, .m-app .e-side nav a[aria-current="page"] { background: #E8EEF7; color: #2B4C7E; }
.m-app.e-refined .idea-card, .m-app.e-refined .e-tile, .m-app .e-tile, .m-app .e-ready, .m-app .dash-card, .m-app .e-card, .m-app .e-row,
.m-app .e-list, .m-app .e-journey, .m-app .e-empty, .m-app .settings-card {
  background: #FFFFFF; border: 0 !important; border-radius: 18px !important;
  box-shadow: 0 1px 2px rgba(17,24,39,.04), 0 12px 32px -18px rgba(43,76,126,.24) !important; }
.m-app.e-refined .idea-card:hover, .m-app.e-refined a.e-tile:hover, .m-app a.e-row:hover {
  box-shadow: 0 1px 2px rgba(17,24,39,.05), 0 18px 40px -18px rgba(43,76,126,.32) !important; }
.m-app .e-empty { border-style: none !important; }
.m-app .e-btn, .m-app .btn, .m-app .e-input, .m-app .e-select, .m-app .e-textarea,
.m-app .form-input, .m-app .form-select, .m-app .form-textarea { border-radius: 12px; }
.m-app .e-note, .m-app .banner { background: #EAF0F8; color: #1F2328; }
.m-app .e-tabs { background: rgba(255,255,255,.92) !important; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-top: 0 !important; box-shadow: 0 -1px 0 rgba(17,24,39,.06); }
.m-app .e-note.is-info, .m-app .e-safety { background: #EAF0F8 !important; color: #1F2328; }
.m-app .e-safety::before { background: #2B4C7E; }
.m-app .chat-card { background: #FFFFFF; border: 0 !important; border-radius: 18px !important; overflow: hidden;
  box-shadow: 0 1px 2px rgba(17,24,39,.04), 0 12px 32px -18px rgba(43,76,126,.24) !important; }
.m-app .chat-composer { border-top: 1px solid #EEF1F5 !important; }
.m-app .e-idea-head, .m-app .e-top { border-bottom: 0 !important; box-shadow: none !important; }
.m-app .e-idea-head .e-pilltabs .tab-btn:not(.selected):not([aria-selected="true"]) { background: #FFFFFF !important; box-shadow: 0 1px 2px rgba(17,24,39,.06); }

/* ===== The zip's look, app (2026-10-27): finer and smaller, thin-bordered cards,
   white sidebar with a hairline. Text floor stays 14px; inputs 16px on phones
   (smaller makes iPhones zoom in). ===== */
body.m-app { font-size: 15px; background: linear-gradient(180deg, #EEF3F9 0, #F7F9FC 360px) no-repeat, #F7F9FC !important; color: #1F2933; }
.m-app h1, .m-app.e-refined h1 { font-weight: 500; letter-spacing: -0.04em; color: #1F2933; }
.m-app .e-side { background: #FFFFFF !important; box-shadow: none; border-right: 1px solid #E8ECF2 !important; }
.m-app .e-side nav a { font-size: 14px; font-weight: 600; color: #4B5563; border-radius: 10px; }
.m-app .e-side nav a:hover, .m-app .e-side nav a[aria-current="page"] { background: #EAF0F8; color: #2B4C7E; }
.m-app .e-side .e-side-post { font-size: 14px; font-weight: 600; border-radius: 10px; box-shadow: inset 0 0 0 1px #C9D6EA; }
.m-brand { font-size: 21px; }
.m-app .e-btn, .m-app .btn { min-height: 40px; padding: 0 18px; font-size: 14px; font-weight: 600; border-radius: 8px; }
.m-app .e-btn-line, .m-app .btn-outline { border-color: #D5DCE6; }
.m-app .e-input, .m-app .e-select, .m-app .e-textarea, .m-app .form-input, .m-app .form-select, .m-app .form-textarea {
  font-size: 15px; min-height: 42px; border-radius: 8px; border-color: #D5DCE6; }
@media (max-width: 700px) { .m-app .e-input, .m-app .e-select, .m-app .e-textarea, .m-app .form-input, .m-app .form-select, .m-app .form-textarea { font-size: 16px; } }
.m-app.e-refined .idea-card, .m-app.e-refined .e-tile, .m-app .e-tile, .m-app .e-ready, .m-app .dash-card, .m-app .e-card, .m-app .e-row,
.m-app .e-list, .m-app .e-journey, .m-app .e-empty, .m-app .settings-card, .m-app .chat-card {
  border: 1px solid #E6EBF2 !important; border-radius: 14px !important; box-shadow: 0 1px 2px rgba(16,24,40,.04) !important; }
.m-app.e-refined .idea-card:hover, .m-app.e-refined a.e-tile:hover, .m-app a.e-row:hover {
  border-color: #C9D6EA !important; box-shadow: 0 8px 24px -16px rgba(43,76,126,.35) !important; }
.m-app .e-idea-head .e-pilltabs .tab-btn, .m-app .e-pilltabs .tab-btn { font-size: 14px !important; font-weight: 600; min-height: 34px; padding: 0 14px; }
.m-app .e-idea-head .e-pilltabs .tab-btn:not(.selected):not([aria-selected="true"]) { background: #F1F4F8 !important; box-shadow: none; color: #4B5563; }
body.m-app.e-app .e-idea-head .e-pilltabs .tab-btn.selected, body.m-app.e-app .e-idea-head .e-pilltabs .tab-btn[aria-selected="true"] { background: #2B4C7E !important; }
.m-app .e-journey-step { font-size: 14px; }
.m-app .e-auth-inner h1 { font-size: 2.1rem; }
.m-app .e-tabs a { font-size: 12px; }
/* Sidebar foot links, members beside the chat, a smaller journey bar and
   header buttons (2026-10-27, the zip's look). */
.e-side-foot { display: none; }
@media (min-width: 900px) {
  .m-app .e-side-foot { display: grid; gap: 2px; margin-top: auto; padding-top: 14px; border-top: 1px solid #EEF1F5; }
  .m-app .e-side-foot a { font-size: 14px; color: #6B7280; text-decoration: none; padding: 6px 12px; border-radius: 8px; }
  .m-app .e-side-foot a:hover { background: #F1F4F8; color: #1F2933; }
}
.ws-members-side { display: none; }
@media (min-width: 1280px) {
  .m-app #panel-chat.has-members-side:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 16px; align-items: start; }
  .m-app #panel-chat.has-members-side > .banner { grid-column: 1 / -1; }
  .m-app .ws-members-side { display: block; background: #FFFFFF; border: 1px solid #E6EBF2; border-radius: 14px; padding: 18px; box-shadow: 0 1px 2px rgba(16,24,40,.04); }
  .m-app .ws-members-title { font-size: 1rem; font-weight: 600; margin: 0 0 8px; }
  .m-app .ws-members-list .member-row { padding: 10px 0; border-top: 1px solid #EEF1F5; display: flex; gap: 10px; align-items: center; }
  .m-app .ws-members-list .member-row:first-child { border-top: 0; }
  .m-app .ws-members-list .member-name { font-size: 14px; font-weight: 600; }
  .m-app .ws-members-list .member-role { font-size: 14px; color: #6B7280; }
  .m-app .ws-members-all { margin-top: 10px; font-size: 14px; font-weight: 600; color: #2B4C7E; background: none; border: 0; padding: 0; cursor: pointer; }
}
.m-app .e-journey { padding: 10px !important; }
.m-app .e-journey-step { padding: 6px 10px !important; min-height: 38px; font-size: 14px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m-app .e-call { min-height: 36px !important; padding: 0 14px !important; font-size: 14px !important; font-weight: 600; background: #FFFFFF !important; border: 1px solid #D5DCE6 !important; color: #2B4C7E !important; border-radius: 8px !important; }
.m-app .e-call .e-icon { width: 16px; height: 16px; }
.m-app .e-idea-head h1 { font-size: clamp(1.8rem, 3.4vw, 2.6rem) !important; }
.m-app .ws-members-list .owner-tag { display: none; }
/* Arial/Helvetica (owner's pick B, 2026-10-27) is wider than Inter Tight: no extra letter spacing. */
body.m-site, body.m-app, .m-site .m-btn, .m-app .e-btn, .m-app .btn { letter-spacing: normal; }
