/* lifepass.css — Waegook LifePass v2 (Breeze). Calm forest/sage palette on
 * warm white; red only for overdue/expired/destructive; amber for approaching.
 * Namespace .wg-lp-*. The overlays sit OUTSIDE .wg-lp in the DOM, so the
 * palette is scoped to both (an unresolved var() once made the primary
 * button white-on-white). */

.wg-lp, .wg-lp-intro, .wg-lp-overlay, .wg-lp-msg, .wg-lp-scconf-ov {
  --lp-white: var(--wg-raised);
  --lp-ink: #1f362c;
  --lp-muted: #66736b;
  --lp-line: var(--wg-border-soft);
  --lp-paper: #f4f8f5;
  --lp-soft: #e8f4ed;
  --lp-green: var(--wg-color-ink);
  --lp-green2: #25835a;
  --lp-deep: #123e30;
  --lp-amber: #b06e11;
  --lp-amber-soft: #fff4d9;
  --lp-red: var(--wg-danger-ink);
  --lp-red-soft: #fdecea;
  --lp-shadow: 0 14px 38px rgba(22, 57, 39, .09);
}

/* ── LifePass dark (Slate-consistent, sage accents kept) ─────────────────
   One deliberate inversion mirrors the global --wg-on-brand trick:
   --lp-white is the LABEL on green fills as well as the card ground, so in
   dark it becomes the slate card colour - green buttons automatically become
   bright green with dark ink, and cards become slate, from the same flip.
   --lp-deep (mostly headings, 3 small fills) flips light for the same
   reason. Scoped exactly like the light block: overlays sit outside .wg-lp. */
:root[data-theme="dark"] .wg-lp, :root[data-theme="dark"] .wg-lp-intro,
:root[data-theme="dark"] .wg-lp-overlay, :root[data-theme="dark"] .wg-lp-msg,
:root[data-theme="dark"] .wg-lp-scconf-ov {
  --lp-white: #171e30;
  --lp-ink: #e8efe9;
  --lp-muted: #9db3a6;
  --lp-line: #2c3854;
  --lp-paper: #121828;
  --lp-soft: #142b1e;
  --lp-green: #31da79;
  --lp-green2: #28c46b;
  --lp-deep: #d7eee0;
  --lp-amber: #f0d99a;
  --lp-amber-soft: #3a2f14;
  --lp-red: #f0b4b4;
  --lp-red-soft: #3a1a1a;
  --lp-shadow: 0 14px 38px rgba(0, 0, 0, .5);
}
@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] .wg-lp, :root[data-theme="auto"] .wg-lp-intro,
  :root[data-theme="auto"] .wg-lp-overlay, :root[data-theme="auto"] .wg-lp-msg,
  :root[data-theme="auto"] .wg-lp-scconf-ov {
    --lp-white: #171e30;
    --lp-ink: #e8efe9;
    --lp-muted: #9db3a6;
    --lp-line: #2c3854;
    --lp-paper: #121828;
    --lp-soft: #142b1e;
    --lp-green: #31da79;
    --lp-green2: #28c46b;
    --lp-deep: #d7eee0;
    --lp-amber: #f0d99a;
    --lp-amber-soft: #3a2f14;
    --lp-red: #f0b4b4;
    --lp-red-soft: #3a1a1a;
    --lp-shadow: 0 14px 38px rgba(0, 0, 0, .5);
  }
}
.wg-lp, .wg-lp-intro { color:var(--lp-ink); }
.wg-lp { max-width: 720px; margin: 0 auto; padding: 4px 2px 48px; }

body.wg-lp-noscroll { overflow: hidden; }

.wg-lp-visually-hidden {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}

/* ══ App top bar (replaces the global Waegook header) ════════════════ */
.wg-lp-topbar {
  position: sticky; top: 0; z-index: 30;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px;
  margin: -4px -2px 12px; padding: calc(env(safe-area-inset-top, 0px) + 11px) 12px 11px;
  background:rgba(var(--wg-frost-rgb), .86);
  -webkit-backdrop-filter: saturate(1.5) blur(12px);
  backdrop-filter: saturate(1.5) blur(12px);
  border-bottom:0.5px solid var(--lp-line);
}
.wg-lp-homebtn {
  display: inline-flex; align-items: center; gap: 9px; border:0; background:none;
  padding: 4px; margin: -4px; border-radius: 12px; cursor: pointer; color:var(--lp-green);
  justify-self: start;
}
.wg-lp-topdate { justify-self: center; font-size: .82rem; color:var(--lp-muted); white-space: nowrap; }
.wg-lp-homebtn:hover { background:rgba(23, 105, 68, .07); }
.wg-lp-homebtn:focus-visible { outline:var(--wg-focus-ring, 2px solid var(--wg-color-ink)); outline-offset: 2px; }
.wg-lp-logomark { display: inline-flex; color:var(--lp-green); }
.wg-lp-logoword { font-size: 1.24rem; font-weight: 700; letter-spacing: -.02em; color:var(--lp-ink); }
.wg-lp-locknote { margin: 10px 0 0; font-size: .82rem; color:var(--lp-muted); }
.wg-lp-return {
  display: inline-flex; align-items: center; gap: 7px; text-decoration: none;
  border:1px solid var(--lp-line); border-radius: 999px; padding: 6px 11px 6px 9px;
  background:var(--wg-raised); color:var(--lp-green); box-shadow: 0 1px 3px rgba(22, 57, 39, .05);
  transition: border-color .18s ease, background .18s ease; justify-self: end;
}
.wg-lp-return:hover { border-color:#bcd8c8; background:var(--lp-paper); }
.wg-lp-return:active { transform: scale(.97); }
.wg-lp-return-mark { width: 20px; height: 20px; display: block; border-radius: 5px; }
.wg-lp-gear {
  border:1px solid var(--lp-line); background:var(--wg-raised); border-radius: 13px;
  width: 44px; height: 44px; font-size: 1.15rem; cursor: pointer; flex: 0 0 auto;
}
.wg-lp-tabs {
  display: flex; gap: 5px; margin: 10px 0 12px; padding: 3px;
  background:var(--lp-paper); border:1px solid var(--lp-line); border-radius: 12px;
  position: sticky; top: 62px; z-index: 5;
}
.wg-lp-tab {
  flex: 1; border:0; background:transparent; padding: 7px 6px; border-radius: 9px;
  font-weight: 600; font-size: .82rem; color:var(--lp-muted); cursor: pointer; min-height: 36px;
}
.wg-lp-tab.is-active { background:var(--wg-raised); color:var(--lp-deep); box-shadow: 0 2px 10px rgba(22, 57, 39, .08); }
.wg-lp-tab:focus-visible, .wg-lp-btn:focus-visible, .wg-lp-btn2:focus-visible,
.wg-lp-opt:focus-visible, .wg-lp-chip:focus-visible, .wg-lp-link:focus-visible,
.wg-lp-tick:focus-visible, .wg-lp-x:focus-visible, .wg-lp-datebtn:focus-visible,
.wg-lp-task-b:focus-visible, .wg-lp-g-join:focus-visible, .wg-lp-g-login:focus-visible {
  outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35));
}

/* Toast (with optional Undo action) */
.wg-lp-msg {
  position: fixed; left: 50%; bottom: 84px; transform: translateX(-50%);
  background:var(--lp-deep); color:var(--wg-raised); padding: 10px 14px; border-radius: 12px;
  font-size: .9rem; z-index: 260; box-shadow: var(--lp-shadow); max-width: 92vw;
  display: flex; align-items: center; gap: 12px;
}
.wg-lp-msg[hidden] { display: none; }
.wg-lp-toast-act {
  border:0; background:rgba(255, 255, 255, .16); color: var(--wg-on-scrim); border-radius: 9px;
  padding: 8px 12px; font-weight: 700; font-size: .86rem; cursor: pointer; min-height: 36px;
}

/* ══ Cards, sections, buttons ════════════════════════════════════════ */
.wg-lp-card {
  background:var(--wg-raised); border:1px solid var(--lp-line); border-radius: 18px;
  padding: 16px; margin-bottom: 14px; box-shadow: 0 4px 16px rgba(22, 57, 39, .04);
}
.wg-lp-hello h2 { margin: 4px 0 2px; font-size: 1.28rem; }
.wg-lp-hello p { margin: 0 0 8px; color:var(--lp-muted); font-size: .92rem; }
.wg-lp-statusrow { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.wg-lp-statchip {
  background:var(--lp-paper); border:1px solid var(--lp-line); border-radius: 999px;
  padding: 4px 11px; font-size: .78rem; color:var(--lp-muted); font-weight: 600;
}
.wg-lp-hero { background: linear-gradient(135deg, var(--lp-soft), var(--wg-raised)); }
.wg-lp-hero h3 { margin: 0 0 6px; }
.wg-lp-hero p { margin: 0 0 12px; color:var(--lp-muted); font-size: .93rem; }
.wg-lp-hero-a { display: flex; gap: 8px; flex-wrap: wrap; }

.wg-lp-sec { margin: 24px 0; }
.wg-lp-sech { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 8px; }
.wg-lp-sech h3 { margin: 0; font-size: 1.02rem; }
.wg-lp-sech span { color:var(--lp-muted); font-size: .82rem; }
.wg-lp-h-red { color:var(--lp-red); }

.wg-lp-btn {
  border:0; background:var(--lp-green); color:var(--wg-raised); padding: 12px 18px;
  border-radius: 13px; font-weight: 700; font-size: .93rem; cursor: pointer;
  transition: transform .15s var(--wg-ease-spring, ease), background .15s;
  text-decoration: none; display: inline-block; min-height: 44px;
}
.wg-lp-btn:hover { background:var(--lp-green2); }
.wg-lp-btn:active { transform: scale(.97); }
.wg-lp-btn:disabled { opacity: .45; cursor: default; transform: none; }
.wg-lp-btn-danger { background:var(--lp-red); }
.wg-lp-btn2 {
  border:1px solid var(--lp-line); background:var(--wg-raised); color:var(--lp-ink);
  padding: 11px 15px; border-radius: 13px; font-weight: 600; font-size: .9rem;
  cursor: pointer; text-decoration: none; display: inline-block; min-height: 44px;
}
.wg-lp-btn2:hover { border-color:var(--lp-green2); color:var(--lp-deep); }
.wg-lp-btn2.is-on { border-color:var(--lp-green2); color:var(--lp-deep); background:var(--lp-soft); }
.wg-lp-btn2-danger { color:var(--wg-danger-ink); border-color:#eccaca; }
.wg-lp-btn2-danger:hover { color:var(--wg-danger-ink); border-color:#d98d8d; background:var(--wg-danger-tint); }
.wg-lp-btn-ondark { background:var(--wg-raised); color:var(--lp-deep); }
.wg-lp-btn-ondark:hover { background:var(--lp-soft); }
.wg-lp-btn2-ondark { background:transparent; border-color:rgba(255, 255, 255, .45); color: var(--wg-on-scrim); }
.wg-lp-danger { color:var(--lp-red); }
.wg-lp-danger:hover { border-color:var(--lp-red); color:var(--lp-red); }
.wg-lp-link {
  border:0; background:none; color:var(--lp-green); font-weight: 600;
  cursor: pointer; padding: 10px 4px; font-size: .88rem; min-height: 40px;
}
.wg-lp-dim { color:var(--lp-muted); font-size: .92rem; }
.wg-lp-small { font-size: .82rem; }

/* Urgency + source labels */
.wg-lp-u { font-weight: 700; }
.wg-lp-u-overdue, .wg-lp-u-due_today { color:var(--lp-red); }
.wg-lp-u-due_soon { color:var(--lp-amber); }
.wg-lp-u-upcoming, .wg-lp-u-date_unknown { color:var(--lp-muted); }
.wg-lp-src {
  display: inline-block; background:var(--lp-paper); border:1px solid var(--lp-line);
  border-radius: 999px; padding: 1px 8px; font-size: .7rem; color:var(--lp-muted);
}

/* Expired banner + pending strip */
.wg-lp-expired { display: flex; gap: 12px; background:var(--lp-red-soft); border-color:#f3c2be; }
.wg-lp-exi {
  flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%;
  background:var(--lp-red); color:var(--wg-raised); font-weight: 800; display: flex;
  align-items: center; justify-content: center;
}
.wg-lp-expired strong { display: block; margin-bottom: 4px; }
.wg-lp-expired p { margin: 0 0 10px; font-size: .9rem; color:var(--wg-danger-ink); }
.wg-lp-exp-a { display: flex; gap: 8px; flex-wrap: wrap; }
.wg-lp-pending {
  background:var(--lp-soft); border:1px solid var(--lp-line); color:var(--lp-deep);
  border-radius: 12px; padding: 10px 14px; font-size: .88rem; margin-bottom: 14px;
}

/* Focus card: deep green gradient + honest progress ring */
.wg-lp-focus { background: linear-gradient(135deg, #216648, #4f9e77); border:0; color: var(--wg-on-scrim); }
.wg-lp-focus-in { display: flex; gap: 16px; align-items: center; }
.wg-lp-focus-tx { flex: 1; min-width: 0; }
.wg-lp-focus small {
  color:#d9ece2; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; font-size: .68rem;
}
.wg-lp-focus h3 { margin: 6px 0 4px; font-size: 1.12rem; color: var(--wg-on-scrim); }
.wg-lp-focus p { margin: 0 0 12px; color:#d9ece2; font-size: .92rem; }
.wg-lp-focus .wg-lp-u-overdue, .wg-lp-focus .wg-lp-u-due_today { color:#ffd7d2; }
.wg-lp-focus .wg-lp-u-due_soon { color:#ffe9b8; }
.wg-lp-focus .wg-lp-u-upcoming { color:#d9ece2; }
.wg-lp-focus.wg-lp-empty { background:var(--wg-raised); border:1px solid var(--lp-line); color:var(--lp-ink); }
.wg-lp-focus.wg-lp-empty h3 { color:var(--lp-ink); margin: 0 0 4px; }
.wg-lp-focus.wg-lp-empty p { color:var(--lp-muted); margin: 0; }
.wg-lp-ring {
  flex: 0 0 auto; width: 74px; height: 74px; border-radius: 50%;
  background: conic-gradient(var(--wg-raised) calc(var(--p) * 1%), rgba(255, 255, 255, .25) 0);
  display: grid; place-items: center;
}
.wg-lp-ring strong {
  display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%;
  background:rgba(18, 62, 48, .35); font-size: .95rem;
}

/* Scan hero row (primary quick action) */
.wg-lp-scanrow {
  display: flex; align-items: center; gap: 12px; width: 100%;
  background:var(--lp-soft); border:1px solid var(--lp-line); border-radius: 16px;
  padding: 13px 14px; margin-bottom: 10px; text-decoration: none; color:var(--lp-ink);
}
.wg-lp-scanrow > span {
  display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px;
  background:var(--lp-green); color:var(--wg-raised); font-size: 1.1rem; flex: 0 0 auto;
}
.wg-lp-scanrow-tx { flex: 1; min-width: 0; }
.wg-lp-scanrow-tx b { display: block; font-size: .95rem; }
.wg-lp-scanrow-tx small { color:var(--lp-muted); font-size: .8rem; }
.wg-lp-scanrow i { font-style: normal; color:var(--lp-green); font-weight: 800; font-size: 1.2rem; }
.wg-lp-quick { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }

/* Journeys strip */
.wg-lp-strip { display: flex; align-items: flex-start; gap: 10px; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
.wg-lp-jcard {
  flex: 0 0 162px; background:var(--wg-raised); border:1px solid var(--lp-line); border-radius: 16px;
  padding: 12px; text-align: left; font: inherit; color:var(--lp-ink);
}
.wg-lp-jtop { display: flex; justify-content: space-between; align-items: flex-start; gap: 4px; }
.wg-lp-jcard strong { font-size: .9rem; display: block; }
.wg-lp-jcard small { color:var(--lp-muted); font-size: .78rem; display: block; margin: 4px 0 8px; }
.wg-lp-jmenu {
  border:0; background:none; color:var(--lp-muted); cursor: pointer;
  font-size: 1rem; width: 26px; height: 24px; margin: -3px -5px 0 0; border-radius: 8px;
}
.wg-lp-jmenu:hover { background:var(--lp-paper); }
.wg-lp-bar { height: 6px; border-radius: 4px; background:var(--lp-paper); overflow: hidden; }
.wg-lp-bar i { display: block; height: 100%; background:var(--lp-green2); border-radius: 4px; }
.wg-lp-jadd {
  flex: 0 0 96px; align-self: stretch; display: flex; align-items: center; justify-content: center; color:var(--lp-green);
  font-weight: 600; cursor: pointer; border-style: dashed; font-size: .84rem; min-height: 60px;
}

/* Task rows */
.wg-lp-task {
  display: flex; align-items: center; gap: 12px; background:var(--wg-raised);
  border:1px solid var(--lp-line); border-radius: 14px; padding: 8px 12px; margin-bottom: 8px;
}
.wg-lp-task.is-done { opacity: .72; }
.wg-lp-tick {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%;
  border:0; background:none; cursor: pointer; font-size: .9rem;
  color:transparent; display: flex; align-items: center; justify-content: center;
}
.wg-lp-tick::before {
  content: ""; position: absolute; width: 30px; height: 30px; border-radius: 50%;
  border:2px solid var(--lp-line); background:var(--wg-raised); transition: border-color .15s;
}
.wg-lp-tick { position: relative; }
.wg-lp-tick:hover::before { border-color:var(--lp-green2); }
.wg-lp-tick:hover { color:var(--lp-green2); }
.wg-lp-tick > * { position: relative; }
.wg-lp-tick.is-on { color:var(--lp-green); cursor: default; }
.wg-lp-tick.is-on::before { border-color:var(--lp-green2); background:var(--lp-soft); }
.wg-lp-task-b {
  flex: 1; min-width: 0; cursor: pointer; text-align: left; border:0;
  background:none; font: inherit; color:inherit; padding: 8px 0;
}
.wg-lp-task-b strong { display: block; font-size: .95rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-lp-task-b small { color:var(--lp-muted); font-size: .8rem; }
.wg-lp-chev { color:var(--lp-muted); }

/* Help rows */
.wg-lp-help {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background:var(--wg-raised); border:1px solid var(--lp-line); border-radius: 14px;
  padding: 11px 12px; margin-bottom: 8px;
}
.wg-lp-help strong { display: block; font-size: .93rem; }
.wg-lp-help small { color:var(--lp-muted); font-size: .78rem; }

/* Details */
.wg-lp-drow {
  display: flex; align-items: center; gap: 12px;
  padding: 8px 0; border-bottom:1px solid var(--lp-paper); font-size: .93rem;
}
.wg-lp-drow:last-of-type { border-bottom:0; }
.wg-lp-drow > span { color:var(--lp-muted); flex: 0 0 auto; min-width: 92px; }
.wg-lp-drow strong { flex: 1; text-align: right; font-weight: 600; overflow-wrap: anywhere; }
.wg-lp-dangercard { border-color:#f3c2be; }
.wg-lp-privacy { color:var(--lp-muted); font-size: .82rem; margin: 10px 2px 14px; }
.wg-lp-chip-s { font-size: .74rem; padding: 3px 9px; }

/* Chips */
.wg-lp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.wg-lp-chip {
  border:1px solid var(--lp-line); background:var(--wg-raised); border-radius: 999px;
  padding: 11px 15px; font-size: .88rem; cursor: pointer; font: inherit; min-height: 44px;
}
.wg-lp-chip.is-on { background:var(--lp-soft); border-color:var(--lp-green2); color:var(--lp-deep); font-weight: 600; }
/* Read-only chip: names a journey the answers point to. Setup creates nothing,
   so this must not look pressable. */
.wg-lp-chip.is-static {
  display: inline-flex; align-items: center; cursor: default;
  background:var(--lp-soft); border-color:var(--lp-green2); color:var(--lp-deep);
}
.wg-lp-selrow { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; color:var(--lp-muted); font-size: .86rem; }

/* Skeletons + errors */
.wg-lp-skel { display: grid; gap: 12px; padding: 8px 0; }
.wg-lp-skel-row {
  height: 74px; border-radius: 16px;
  background: linear-gradient(100deg, var(--lp-paper) 40%, var(--wg-raised) 50%, var(--lp-paper) 60%);
  background-size: 200% 100%;
  animation: wg-lp-shimmer 1.4s linear infinite;
}
@keyframes wg-lp-shimmer { to { background-position: -200% 0; } }
.wg-lp-errbox {
  background:var(--wg-raised); border:1px solid var(--lp-line); border-radius: 16px;
  padding: 20px; text-align: center;
}
.wg-lp-errbox p { margin: 0 0 12px; color:var(--lp-muted); }

/* ══ Overlays, modals, sheets ════════════════════════════════════════ */
.wg-lp-overlay {
  position: fixed; inset: 0; background:rgba(18, 62, 48, .45); z-index: 250;
  display: flex; align-items: flex-end; justify-content: center; padding: 0;
}
.wg-lp-overlay[hidden] { display: none; }
.wg-lp-modal {
  background:var(--wg-raised); border-radius: 22px 22px 0 0; width: 100%; max-width: 560px;
  max-height: 92vh; max-height: 92dvh; overflow-y: auto; padding: 18px 18px 0;
  animation: wg-lp-rise .28s var(--wg-ease-spring, ease) backwards;
}
@keyframes wg-lp-rise { from { transform: translateY(24px); opacity: 0; } }
@media (min-width: 640px) {
  .wg-lp-overlay { align-items: center; padding: 24px; }
  .wg-lp-modal { border-radius: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .wg-lp-modal { animation: none; }
  .wg-lp-btn, .wg-lp-tick { transition: none; }
  .wg-lp-skel-row { animation: none; }
}
.wg-lp-modal h2 { margin: 6px 0 4px; font-size: 1.18rem; }
.wg-lp-modal-t { margin: 0; }
.wg-lp-x {
  border:0; background:var(--lp-paper); border-radius: 12px; width: 44px; height: 44px;
  font-size: 1.2rem; cursor: pointer; flex: 0 0 auto;
}
.wg-lp-wiz-meta { display: flex; justify-content: space-between; align-items: center; gap: 10px; color:var(--lp-muted); font-size: .82rem; }
.wg-lp-wiz-saved { flex: 1; text-align: right; color:var(--lp-green2); font-weight: 600; }
.wg-lp-wiz-saved.is-err { color:var(--lp-red); }
.wg-lp-wiz-bars { display: flex; gap: 5px; margin: 10px 0 4px; }
.wg-lp-wiz-bars span { flex: 1; height: 4px; border-radius: 3px; background:var(--lp-paper); }
.wg-lp-wiz-bars span.is-on { background:var(--lp-green2); }
.wg-lp-wiz-hint { color:var(--lp-muted); font-size: .9rem; margin: 2px 0 12px; }
.wg-lp-wiz-actions {
  display: flex; justify-content: space-between; gap: 10px; margin-top: 16px;
  position: sticky; bottom: 0; background:var(--wg-raised);
  padding: 12px 0 calc(14px + env(safe-area-inset-bottom));
  border-top:1px solid var(--lp-paper);
}
.wg-lp-wiz-actions .wg-lp-btn { flex: 1; }
.wg-lp-wiz-skip { display: block; margin: -6px auto 10px; }

/* Wizard: green hero panel (Breeze). Band on mobile, side column on wide. */
.wg-lp-wizmodal { padding: 0; display: flex; flex-direction: column; }
.wg-lp-wiz-hero {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(145deg, #1d6042, #4f9e77); color: var(--wg-on-scrim);
  padding: 16px 18px; border-radius: 22px 22px 0 0; flex: 0 0 auto;
}
.wg-lp-wiz-hero p { margin: 0; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color:#cfe8da; }
.wg-lp-wiz-hero strong { font-size: 1rem; letter-spacing: -.01em; }
.wg-lp-g-brand {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px;
  background:var(--wg-raised); color:var(--lp-green); font-weight: 800; flex: 0 0 auto;
}
.wg-lp-wiz-hero .wg-lp-g-brand { background:rgba(255, 255, 255, .92); }
.wg-lp-wiz-formcol { padding: 14px 18px 0; overflow-y: auto; }
@media (min-width: 760px) {
  .wg-lp-wizmodal { flex-direction: row; max-width: 780px; overflow: hidden; }
  .wg-lp-wiz-hero {
    flex: 0 0 240px; flex-direction: column; align-items: flex-start;
    justify-content: flex-start; gap: 14px; padding: 26px 22px;
    border-radius: 22px 0 0 22px;
  }
  .wg-lp-wiz-formcol { flex: 1; max-height: 88vh; }
}
.wg-lp-g-eyebrow {
  margin: 0 0 8px; color:var(--lp-green); font-size: .7rem; font-weight: 800;
  letter-spacing: .12em; text-transform: uppercase;
}
.wg-lp-introlist { margin: 8px 0 12px; padding: 0; list-style: none; display: grid; gap: 10px; }
.wg-lp-introlist li { position: relative; padding-left: 30px; font-size: .93rem; }
.wg-lp-introlist li::before {
  content: "✓"; position: absolute; left: 0; top: -1px; display: grid; place-items: center;
  width: 22px; height: 22px; border-radius: 50%; background:var(--lp-soft);
  color:var(--lp-green); font-weight: 800; font-size: .75rem;
}

/* Wizard options + fields */
.wg-lp-opts { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
.wg-lp-opt {
  display: flex; align-items: center; gap: 12px; border:1px solid var(--lp-line);
  background:var(--wg-raised); border-radius: 14px; padding: 14px; font: inherit;
  font-size: .95rem; cursor: pointer; text-align: left; min-height: 48px; color:var(--lp-ink);
}
.wg-lp-opt span { color:var(--lp-muted); font-size: .78rem; font-weight: 700; }
.wg-lp-opt b { margin-left: auto; color:var(--lp-green); }
.wg-lp-opt.is-on { border-color:var(--lp-green2); background:var(--lp-soft); font-weight: 600; }
.wg-lp-opt-sub { margin-left: auto; color:var(--lp-muted); font-size: .78rem; font-weight: 400; }
.wg-lp-opt-plain { justify-content: center; color:var(--lp-muted); margin-top: 8px; }
.wg-lp-in {
  width: 100%; border:1px solid var(--lp-line); border-radius: 12px;
  padding: 12px; font: inherit; font-size: .95rem; margin-bottom: 10px; background:var(--wg-raised);
  color:var(--lp-ink); min-height: 44px;
}
.wg-lp-in:focus { outline:none; border-color:var(--lp-green2); box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .2)); }
.wg-lp-warn {
  display: flex; gap: 10px; background:var(--lp-red-soft); border:1px solid #f3c2be;
  border-radius: 12px; padding: 11px 12px; font-size: .87rem; color:var(--wg-danger-ink); margin: 4px 0 10px;
}
.wg-lp-warn > span {
  flex: 0 0 auto; width: 20px; height: 20px; border-radius: 50%; background:var(--lp-red);
  color:var(--wg-raised); font-weight: 800; font-size: .72rem; display: grid; place-items: center;
}
.wg-lp-datebtn {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%;
  border:1px solid var(--lp-line); border-radius: 14px; background:var(--wg-raised); padding: 13px 14px;
  font: inherit; text-align: left; cursor: pointer; min-height: 52px; color:var(--lp-ink); margin: 6px 0 10px;
}
.wg-lp-datebtn:disabled { opacity: .5; cursor: default; }
.wg-lp-datebtn strong { display: block; font-size: .96rem; }
.wg-lp-datebtn small { display: block; color:var(--lp-muted); font-size: .8rem; margin-top: 2px; }
.wg-lp-datebtn > b { color:var(--lp-muted); }
.wg-lp-datebtn-ico { color:var(--lp-green); margin-right: 8px; }

/* Review step */
.wg-lp-review { display: grid; gap: 2px; margin-top: 6px; }
.wg-lp-review-row {
  display: flex; align-items: center; gap: 10px; padding: 9px 0;
  border-bottom:1px solid var(--lp-paper); font-size: .92rem;
}
.wg-lp-review-row > span { color:var(--lp-muted); flex: 0 0 auto; min-width: 92px; }
.wg-lp-review-row strong { flex: 1; text-align: right; font-weight: 600; overflow-wrap: anywhere; }

/* Sheets */
.wg-lp-sheet-p { color:var(--lp-muted); font-size: .93rem; margin: 8px 0 4px; }
.wg-lp-sheet-l { margin: 12px 0 6px; color:var(--lp-muted); font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.wg-lp-sheet-sep { height: 1px; background:var(--lp-line); margin: 14px 0; }
.wg-lp-sheetbox { padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
.wg-lp-manualrow { display: flex; gap: 8px; margin-top: 4px; }
.wg-lp-manualrow .wg-lp-in { margin-bottom: 0; flex: 1; }

/* Visa selector */
.wg-lp-visa-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wg-lp-visa {
  display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
  border:1px solid var(--lp-line); background:var(--wg-raised); border-radius: 13px;
  padding: 11px 12px; font: inherit; cursor: pointer; text-align: left;
  min-height: 56px; color:var(--lp-ink); position: relative;
}
.wg-lp-visa b { font-size: .95rem; }
.wg-lp-visa span { color:var(--lp-muted); font-size: .76rem; line-height: 1.3; }
.wg-lp-visa i { position: absolute; right: 10px; top: 9px; color:var(--lp-green); font-style: normal; font-weight: 800; }
.wg-lp-visa.is-on { border-color:var(--lp-green2); background:var(--lp-soft); }
@media (max-width: 380px) { .wg-lp-visa-grid { grid-template-columns: 1fr; } }

/* Location + GPS */
.wg-lp-loc-special { display: grid; gap: 6px; }
.wg-lp-opt-gps { color:var(--lp-green); font-weight: 700; }
.wg-lp-opt-gps span { color:var(--lp-green); font-size: 1.05rem; }
.wg-lp-loc-minor { display: flex; gap: 14px; }
.wg-lp-loc-list { max-height: 260px; overflow-y: auto; display: grid; gap: 6px; margin: 8px 0 12px; }
.wg-lp-gps {
  background:var(--lp-soft); border:1px solid var(--lp-line); border-radius: 14px;
  padding: 12px 14px; margin-top: 10px; font-size: .9rem;
}
.wg-lp-gps p { margin: 0 0 8px; }
.wg-lp-gps-a { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }

/* Calendar */
.wg-lp-cal { padding-bottom: 6px; }
.wg-lp-cal-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 8px 0; }
.wg-lp-cal-nav {
  border:1px solid var(--lp-line); background:var(--wg-raised); border-radius: 12px;
  width: 44px; height: 44px; font-size: 1.1rem; cursor: pointer; color:var(--lp-ink);
}
.wg-lp-cal-title { border:0; background:none; font: inherit; font-weight: 700; font-size: 1rem; cursor: pointer; text-align: center; padding: 6px 10px; color:var(--lp-ink); }
.wg-lp-cal-title small { display: block; color:var(--lp-muted); font-size: .72rem; font-weight: 500; }
.wg-lp-cal-wd { display: grid; grid-template-columns: repeat(7, 1fr); text-align: center; color:var(--lp-muted); font-size: .76rem; font-weight: 700; margin-bottom: 4px; }
.wg-lp-cal-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.wg-lp-cal-days button, .wg-lp-cal-grid button {
  border:0; background:none; font: inherit; font-size: .92rem; min-height: 44px;
  border-radius: 12px; cursor: pointer; color:var(--lp-ink);
}
.wg-lp-cal-days button:hover, .wg-lp-cal-grid button:hover { background:var(--lp-paper); }
.wg-lp-cal-days button.is-today { color:var(--lp-green); font-weight: 800; }
.wg-lp-cal-days button.is-sel, .wg-lp-cal-grid button.is-sel { background:var(--lp-green); color:var(--wg-raised); font-weight: 700; }
.wg-lp-cal-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin: 8px 0; }
.wg-lp-cal-foot { display: flex; justify-content: space-between; gap: 8px; border-top:1px solid var(--lp-paper); margin-top: 8px; }
.wg-lp-cal-manual { display: flex; gap: 8px; align-items: center; padding: 8px 0; }
.wg-lp-cal-manual input { flex: 1; border:1px solid var(--lp-line); border-radius: 11px; padding: 10px; font: inherit; min-height: 44px; }

/* Event form fields */
.wg-lp-l { display: block; font-size: .84rem; color:var(--lp-muted); font-weight: 600; margin-bottom: 10px; }
.wg-lp-l input, .wg-lp-l select, .wg-lp-l textarea {
  display: block; width: 100%; margin-top: 4px; border:1px solid var(--lp-line);
  border-radius: 11px; padding: 11px; font: inherit; font-size: .95rem; background:var(--wg-raised);
  color:var(--lp-ink); min-height: 44px;
}
.wg-lp-l textarea { resize: vertical; min-height: 60px; }
.wg-lp-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wg-lp-check { display: flex; align-items: center; gap: 8px; font-size: .9rem; margin-bottom: 10px; cursor: pointer; min-height: 32px; }
.wg-lp-check input { width: 20px; height: 20px; accent-color: var(--lp-green); }
.wg-lp-fs { border:1px solid var(--lp-line); border-radius: 13px; padding: 10px 12px 4px; margin: 4px 0 8px; }
.wg-lp-fs legend { font-size: .84rem; color:var(--lp-muted); font-weight: 600; padding: 0 4px; }
@media (max-width: 420px) { .wg-lp-row2 { grid-template-columns: 1fr; gap: 0; } }

/* ══ Introduction page (guest / setup / resume) ══════════════════════ */
.wg-lp-intro { margin: 0 auto; max-width: 1080px; padding-bottom: 40px; }
.wg-lp-g-hero {
  display: grid; grid-template-columns: .9fr 1.1fr; gap: 44px; align-items: center;
  padding: clamp(20px, 4vw, 52px) clamp(4px, 3vw, 40px);
  background: linear-gradient(135deg, var(--lp-paper), var(--lp-soft)); border-radius: 24px; margin-top: 6px;
}
/* Grid items default to min-width:auto, so the phone preview's journeys strip
   (intrinsically ~420px of cards — scroll containers do NOT shrink intrinsic
   size) propagated its width up and pushed the whole page past the viewport on
   phones. min-width:0 lets both columns shrink; the strip scrolls inside. */
.wg-lp-g-hero > * { min-width: 0; }
.wg-lp-intro h1 { font-size: clamp(2rem, 5.2vw, 3.4rem); line-height: 1.04; letter-spacing: -.04em; margin: 0 0 14px; }
.wg-lp-intro h2 { font-size: clamp(1.35rem, 3vw, 1.9rem); line-height: 1.12; letter-spacing: -.02em; margin: 0 0 10px; }
.wg-lp-g-lead { color:var(--lp-muted); font-size: clamp(.98rem, 1.7vw, 1.13rem); line-height: 1.6; max-width: 620px; margin: 0 0 10px; }
.wg-lp-g-slead { color:var(--lp-muted); font-size: .92rem; line-height: 1.6; margin: 0; }
.wg-lp-g-fict {
  max-width: 560px; margin: 0 0 18px; padding: 9px 13px; border-left:3px solid var(--lp-green2);
  background: rgba(var(--wg-frost-rgb), .58); color:var(--lp-muted); font-size: .8rem; line-height: 1.5;
}
.wg-lp-g-actions { width: min(430px, 100%); display: grid; gap: 9px; }
.wg-lp-g-join, .wg-lp-g-login {
  min-height: 52px; display: flex; align-items: center; justify-content: center;
  border-radius: 15px; text-decoration: none; font-size: .92rem; font-weight: 800;
  border:0; font-family: inherit; cursor: pointer;
}
.wg-lp-g-join { background:var(--lp-green); color:var(--wg-raised); }
.wg-lp-g-join:hover { background:var(--lp-green2); }
.wg-lp-g-login { background:var(--wg-raised); border:1px solid var(--lp-line); color:var(--lp-green); }
.wg-lp-g-actions small { text-align: center; color:var(--lp-muted); font-size: .74rem; line-height: 1.4; }

/* Early-access note. Everyone who reaches this page is a tester, and no
   briefing message is sent, so this carries what the briefing would have said.
   Deliberately quieter than the CTA above it: it must be read, not sold. */
.wg-lp-g-early {
  width: min(430px, 100%); margin: 20px 0 0; padding: 15px 17px;
  border:1px solid var(--lp-line); border-radius: 15px;
  background: rgba(var(--wg-frost-rgb), .62);
}
.wg-lp-g-early-tag {
  display: inline-block; margin-bottom: 8px; padding: 3px 10px; border-radius: 999px;
  background:var(--lp-green); color:var(--wg-raised);
  font-size: .66rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase;
}
.wg-lp-g-early p { margin: 0 0 9px; color:var(--lp-ink); font-size: .84rem; line-height: 1.55; }
.wg-lp-g-early-lang { color:var(--lp-muted) !important; font-size: .79rem !important; }
.wg-lp-g-early-cta {
  display: inline-flex; align-items: center; min-height: 38px; padding: 0 15px;
  border-radius: 11px; border:1px solid var(--lp-line); background:var(--wg-raised);
  color:var(--lp-green); text-decoration: none; font-size: .82rem; font-weight: 800;
}
.wg-lp-g-early-cta:hover { border-color:var(--lp-green); }
/* dark styling, scoped: an explicit Light choice can never be
   overridden by the OS - auto consults the media query, dark does not */
:root[data-theme="dark"] .wg-lp-g-early { background:rgba(255, 255, 255, .04); }
:root[data-theme="dark"] .wg-lp-g-early-cta { background:transparent; }
@media (prefers-color-scheme: dark) {
:root[data-theme="auto"] .wg-lp-g-early { background:rgba(255, 255, 255, .04); }
:root[data-theme="auto"] .wg-lp-g-early-cta { background:transparent; }
}

/* Fictional phone preview */
.wg-lp-g-phone {
  width: min(410px, 100%); margin: auto; padding: 18px; border:1px solid var(--lp-line);
  border-radius: 38px; background:var(--wg-raised); box-shadow: 0 25px 60px rgba(26, 78, 52, .18);
}
.wg-lp-g-ptop { display: flex; align-items: center; gap: 9px; }
.wg-lp-g-ptop .wg-lp-g-brand { width: 27px; height: 27px; border-radius: 10px; font-size: .72rem; background:var(--lp-green); color:var(--wg-raised); }
.wg-lp-g-ptop strong { font-size: .9rem; display: block; }
.wg-lp-g-ptop small { font-size: .58rem; color:var(--lp-muted); display: block; }
.wg-lp-g-ptop i { margin-left: auto; color:var(--lp-muted); font-style: normal; }
/* The preview's app body reuses the REAL Today component classes (scan card,
   greeting, visa, ring, journey strip, step rows) so it never drifts from the
   actual app; this block only tames spacing/scale inside the phone frame and
   turns interaction off — the preview is decoration. */
.wg-lp-g-appbody { margin-top: 14px; pointer-events: none; }
.wg-lp-g-appbody .wg-lp-scan { margin-bottom: 14px; }
.wg-lp-g-appbody .wg-lp-hello h2 { font-size: 1.12rem; }
.wg-lp-g-appbody .wg-lp-hello-gear { display: inline-grid; place-items: center; }
.wg-lp-g-appbody .wg-lp-visacard { border:1px solid var(--lp-line); }
.wg-lp-g-appbody .wg-lp-ringcard { margin: 14px 0; padding: 14px; grid-template-columns: 72px 1fr; }
.wg-lp-g-appbody .wg-lp-ringc { width: 72px; height: 72px; }
.wg-lp-g-appbody .wg-lp-ringtx h3 { font-size: 1.05rem; }
.wg-lp-g-appbody .wg-lp-ringbtn { display: inline-block; padding: 7px 13px; min-height: 0; font-size: .82rem; }
.wg-lp-g-appbody .wg-lp-sec { margin: 16px 0 0; }
.wg-lp-g-appbody .wg-lp-jcard { flex: 0 0 128px; }
.wg-lp-g-appbody .wg-lp-jadd { display: inline-flex; align-items: center; justify-content: center; }
.wg-lp-g-appbody .wg-lp-tick { flex: none; }
.wg-lp-g-ptabs {
  display: flex; justify-content: space-around; margin: 15px 0; padding: 5px;
  border-radius: 13px; background:var(--lp-paper); font-size: .72rem;
}
.wg-lp-g-ptabs > * { padding: 8px 12px; }
.wg-lp-g-ptabs b { border-radius: 9px; background:var(--wg-raised); color:var(--lp-green); box-shadow: 0 2px 8px rgba(22, 63, 42, .1); }
.wg-lp-g-phone > h3 { margin: 16px 0 3px; font-size: 1.05rem; }
.wg-lp-g-phone > p { color:var(--lp-muted); font-size: .74rem; margin: 0 0 10px; }
.wg-lp-g-focus {
  padding: 15px; border-radius: 18px; background: linear-gradient(135deg, #216648, #4f9e77); color: var(--wg-on-scrim);
}
.wg-lp-g-focus > * { display: block; }
.wg-lp-g-focus small { font-size: .56rem; letter-spacing: .1em; text-transform: uppercase; color:#d9ece2; font-weight: 700; }
.wg-lp-g-focus strong { margin: 6px 0 4px; font-size: .95rem; }
.wg-lp-g-focus span { font-size: .72rem; color:#d9ece2; }
.wg-lp-g-focusbtn {
  display: inline-block; margin-top: 10px; border-radius: 99px; padding: 8px 12px;
  background:var(--wg-raised); color:var(--lp-green); font-weight: 700; font-size: .74rem;
}
.wg-lp-g-quick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 10px 0; }
.wg-lp-g-quick > span {
  display: flex; flex-direction: column; align-items: center; gap: 5px;
  border:1px solid var(--lp-line); border-radius: 13px; background:var(--wg-raised);
  padding: 9px 4px; font-size: .62rem;
}
.wg-lp-g-quick i {
  display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px;
  background:var(--lp-soft); color:var(--lp-green); font-style: normal; font-size: .85rem;
}
.wg-lp-g-phone h4 { display: flex; justify-content: space-between; margin: 13px 2px 4px; font-size: .8rem; }
.wg-lp-g-phone h4 span { font-size: .62rem; color:var(--lp-green); font-weight: 600; }
.wg-lp-g-task { display: flex; align-items: center; gap: 9px; padding: 9px 3px; border-top:1px solid var(--lp-line); }
.wg-lp-g-task i {
  font-style: normal; color:var(--lp-green); flex: 0 0 26px; width: 26px; height: 26px;
  display: grid; place-items: center; background:var(--lp-soft); border-radius: 9px; font-size: .8rem;
}
.wg-lp-g-task div { flex: 1; min-width: 0; }
.wg-lp-g-task b { display: block; font-size: .74rem; }
.wg-lp-g-task span { display: block; margin-top: 2px; color:var(--lp-muted); font-size: .62rem; }
.wg-lp-g-task em { font-style: normal; color:var(--lp-muted); }
.wg-lp-g-journey { display: grid; margin-top: 10px; padding: 13px; border-radius: 15px; background:var(--lp-soft); }
.wg-lp-g-journey small { color:var(--lp-green); font-size: .56rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.wg-lp-g-journey b { margin: 5px 0; font-size: .8rem; }
.wg-lp-g-journey span { font-size: .62rem; color:var(--lp-muted); }
.wg-lp-g-journey div { height: 5px; margin-top: 8px; border-radius: 9px; background:var(--wg-tint); }
.wg-lp-g-journey i { display: block; width: 15%; height: 100%; border-radius: 9px; background:var(--lp-green); }

/* Pillars + connections + use cases + trust + final CTA */
.wg-lp-g-why, .wg-lp-g-conn {
  display: grid; grid-template-columns: .85fr 1.15fr; gap: 48px;
  padding: clamp(40px, 6vw, 72px) clamp(4px, 3vw, 40px);
}
.wg-lp-g-conn { background:var(--wg-raised); border-radius: 24px; border:1px solid var(--lp-line); }
.wg-lp-g-pillars { display: grid; gap: 3px; }
.wg-lp-g-pillars article {
  display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 15px 0;
  border-bottom:1px solid var(--lp-line);
}
.wg-lp-g-pillars article > span {
  display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%;
  background:var(--lp-soft); color:var(--lp-green); font-size: .68rem; font-weight: 800;
}
.wg-lp-g-pillars b { font-size: .95rem; }
.wg-lp-g-pillars p { margin: 5px 0 0; color:var(--lp-muted); font-size: .86rem; line-height: 1.55; }
/* "How a guided journey works" — the core loop, four numbered steps. */
.wg-lp-g-jw { text-align: center; padding: clamp(40px, 6vw, 72px) clamp(4px, 3vw, 40px); }
.wg-lp-g-jw .wg-lp-g-slead { max-width: 620px; margin-left: auto; margin-right: auto; }
.wg-lp-g-jwgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 26px; text-align: left; }
.wg-lp-g-jwgrid article {
  display: grid; grid-template-columns: 38px 1fr; gap: 14px; padding: 18px;
  border:1px solid var(--lp-line); border-radius: 20px; background:var(--wg-raised);
}
.wg-lp-g-jwgrid article > span {
  display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%;
  background:var(--lp-soft); color:var(--lp-green); font-size: .68rem; font-weight: 800;
}
.wg-lp-g-jwgrid b { font-size: .95rem; }
.wg-lp-g-jwgrid p { margin: 5px 0 0; color:var(--lp-muted); font-size: .86rem; line-height: 1.55; }
.wg-lp-g-conngrid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.wg-lp-g-conngrid article {
  display: flex; align-items: flex-start; gap: 11px; padding: 14px;
  border:1px solid var(--lp-line); border-radius: 17px; background:var(--lp-paper);
}
.wg-lp-g-conngrid article > span {
  display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px;
  border-radius: 11px; background:var(--lp-soft); color:var(--lp-green);
}
.wg-lp-g-conngrid b { font-size: .84rem; }
.wg-lp-g-conngrid p { margin: 5px 0 0; color:var(--lp-muted); font-size: .74rem; line-height: 1.5; }
.wg-lp-g-uses { text-align: center; padding: clamp(40px, 6vw, 72px) 8px; }
.wg-lp-g-uses > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 9px; margin-top: 22px; }
.wg-lp-g-uses span {
  padding: 11px 14px; border:1px solid var(--lp-line); border-radius: 99px;
  background:var(--wg-raised); color:var(--lp-green); font-size: .82rem; font-weight: 700;
}
.wg-lp-g-trust {
  display: flex; align-items: flex-start; gap: 16px; padding: 24px;
  border:1px solid var(--lp-line); border-radius: 24px; background:var(--lp-soft);
}
.wg-lp-g-trust > span { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 16px; background:var(--wg-raised); font-size: 1.2rem; }
.wg-lp-g-trust h2 { font-size: 1.15rem; margin-bottom: 6px; }
.wg-lp-g-trust p { color:var(--lp-muted); line-height: 1.55; margin: 0; font-size: .92rem; }
.wg-lp-g-cta { padding: clamp(48px, 8vw, 90px) 16px; text-align: center; }
.wg-lp-g-cta p { color:var(--lp-muted); margin: 0 0 20px; }
.wg-lp-g-cta .wg-lp-g-actions { margin: 0 auto; }

/* Preview source labels, the "Why these?" hint, and the trailing-row fade */
.wg-lp-g-why { color:var(--lp-green); font-weight: 700; }
.wg-lp-g-srcl {
  display: inline-block; margin-top: 3px; font-style: normal;
  background:var(--lp-paper); border:1px solid var(--lp-line); border-radius: 999px;
  padding: 1px 7px; font-size: .56rem; color:var(--lp-muted); font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
}
.wg-lp-g-connnote { margin-top: 8px; }
.wg-lp-g-ugh {
  margin: 20px 0 0; color:var(--lp-muted); font-size: .78rem; font-weight: 800;
  letter-spacing: .08em; text-transform: uppercase;
}
.wg-lp-g-uses > div { margin-top: 10px; }

@media (max-width: 760px) {
  .wg-lp-g-hero, .wg-lp-g-why, .wg-lp-g-conn { grid-template-columns: 1fr; gap: 24px; }
  .wg-lp-g-jwgrid { grid-template-columns: 1fr; }
  .wg-lp-g-hero { padding: 22px 14px 34px; }
  .wg-lp-intro h1 { margin-bottom: 10px; }
  .wg-lp-g-lead { margin-bottom: 8px; }
  .wg-lp-g-fict { margin-bottom: 14px; }
  .wg-lp-g-phone { border-radius: 28px; padding: 14px; }
  .wg-lp-g-conngrid { grid-template-columns: 1fr; }
  /* Suggest more content below: the last preview row fades out. */
  .wg-lp-g-task-fade {
    -webkit-mask-image: linear-gradient(#000 15%, transparent 92%);
    mask-image: linear-gradient(#000 15%, transparent 92%);
  }
}

/* ── Audit round: calmer Today, typed rows, connected, details grid ────── */
.wg-lp-statusline { color:var(--lp-muted); font-size: .84rem; margin: 0 0 14px; font-weight: 600; }
.wg-lp-focus-reason { color:#d9ece2; font-size: .8rem; margin: -6px 0 12px; }
.wg-lp-typico {
  display: inline-grid; place-items: center; width: 20px; height: 20px;
  margin-right: 7px; border-radius: 7px; background:var(--lp-soft);
  color:var(--lp-green); font-size: .68rem; font-weight: 700; vertical-align: -3px;
}
.wg-lp-task.is-done .wg-lp-typico { opacity: .6; }
.wg-lp-connrow small { display: block; margin-top: 2px; }
.wg-lp-connact { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.wg-lp-src-going { background:var(--lp-soft); border-color:var(--lp-green2); color:var(--lp-deep); }
.wg-lp-msrow { border-style: dashed; }
.wg-lp-task-static { cursor: default; }

/* Wizard: toggle-style options (personalization consents) */
.wg-lp-opt-toggle { align-items: flex-start; }
.wg-lp-opt-tx { display: block; flex: 1; min-width: 0; }
.wg-lp-opt-tx strong { display: block; font-size: .93rem; }
.wg-lp-opt-tx small { display: block; color:var(--lp-muted); font-size: .8rem; margin-top: 2px; font-weight: 400; }
.wg-lp-off { color:var(--lp-line); font-weight: 400; margin-left: auto; }

/* Location sheet: grouped browse */
.wg-lp-loc-grouph { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.wg-lp-loc-grouph .wg-lp-sheet-l { margin-bottom: 4px; }
.wg-lp-loc-list .wg-lp-chips { margin-bottom: 6px; }

/* My details: Breeze grid + profile summary */
.wg-lp-dgrid { display: grid; gap: 14px; }
@media (min-width: 760px) {
  .wg-lp-dgrid { grid-template-columns: 1fr 1fr; align-items: start; }
  .wg-lp-dsummary { grid-column: 1 / -1; }
}
.wg-lp-dident { display: flex; align-items: center; gap: 14px; }
.wg-lp-davatar {
  flex: 0 0 auto; width: 54px; height: 54px; border-radius: 50%;
  background:var(--lp-soft); color:var(--lp-green); font-weight: 800;
  font-size: 1.3rem; display: grid; place-items: center;
}
.wg-lp-dident h3 { margin: 0 0 2px; }
.wg-lp-dident small { display: block; color:var(--lp-muted); font-size: .8rem; }
.wg-lp-dgrow { text-align: left; font-weight: 400; }

/* ── My details, prototype-faithful (page head, profile grid, identity,
   detail list, topic pills, setting rows with switches, danger band) ── */
.wg-lp-phead { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin: 4px 0 20px; }
.wg-lp-phead-t { margin: 3px 0 4px; font-size: 1.55rem; letter-spacing: -.03em; }
.wg-lp-phead .wg-lp-dim { margin: 0; }
.wg-lp-phead .wg-lp-btn { flex: 0 0 auto; }
@media (max-width: 640px) {
  .wg-lp-phead { display: block; }
  .wg-lp-phead .wg-lp-btn { margin-top: 12px; }
}

.wg-lp-pgrid { display: grid; gap: 17px; }
@media (min-width: 760px) { .wg-lp-pgrid { grid-template-columns: 1fr 1fr; align-items: start; } }
.wg-lp-surface { border-radius: 22px; box-shadow: var(--lp-shadow); margin-bottom: 0; }
.wg-lp-surface-h { margin: 4px 0 0; font-size: 1.05rem; }
.wg-lp-hr { border:0; border-top:1px solid var(--lp-line); margin: 16px 0; }

.wg-lp-dident {
  display: flex; align-items: center; gap: 12px;
  padding-bottom: 15px; border-bottom:1px solid var(--lp-line);
}
.wg-lp-dident > div { flex: 1; min-width: 0; }
.wg-lp-dident h3 { margin: 0; font-size: 1.05rem; }
.wg-lp-dident p { margin: 3px 0 0; color:var(--lp-muted); font-size: .78rem; }
.wg-lp-davatar {
  flex: 0 0 auto; width: 52px; height: 52px; border-radius: 50%;
  background:#df944d; color: var(--wg-on-scrim); font-weight: 700;
  font-size: 1.05rem; display: grid; place-items: center;
}

.wg-lp-dlrow {
  display: grid; grid-template-columns: 145px 1fr auto; gap: 10px; align-items: center;
  padding: 13px 0; border-bottom:1px solid var(--lp-line); font-size: .88rem;
}
.wg-lp-dlist .wg-lp-dlrow:last-child { border-bottom:0; padding-bottom: 4px; }
.wg-lp-dlrow > span { color:var(--lp-muted); }
.wg-lp-dlrow strong { font-weight: 600; overflow-wrap: anywhere; }
.wg-lp-dledit { padding: 6px 2px; min-height: 32px; }
@media (max-width: 420px) {
  .wg-lp-dlrow { grid-template-columns: 1fr auto; }
  .wg-lp-dlrow > span { grid-column: 1 / -1; padding-bottom: 0; margin-bottom: -6px; }
}

.wg-lp-topics { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 16px; }
.wg-lp-topics span {
  background:var(--lp-soft); color:var(--lp-green); border-radius: 999px;
  padding: 7px 11px; font-size: .8rem; font-weight: 600;
}
.wg-lp-topics span.is-pri { background:var(--lp-green); color:var(--wg-raised); }

.wg-lp-setrow { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 11px 0; }
.wg-lp-setrow strong { display: block; font-size: .88rem; }
.wg-lp-setrow small { display: block; color:var(--lp-muted); font-size: .78rem; margin-top: 3px; }
.wg-lp-switch {
  flex: 0 0 auto; width: 44px; height: 26px; border-radius: 999px;
  border:1px solid var(--lp-line); background:var(--lp-paper);
  position: relative; cursor: pointer; padding: 0;
  transition: background .15s, border-color .15s;
}
.wg-lp-switch i {
  position: absolute; top: 2px; left: 2px; width: 20px; height: 20px;
  border-radius: 50%; background:var(--wg-raised); box-shadow: 0 1px 4px rgba(20, 50, 35, .25);
  transition: transform .15s var(--wg-ease-spring, ease);
}
.wg-lp-switch.is-on { background:var(--lp-green); border-color:var(--lp-green); }
.wg-lp-switch.is-on i { transform: translateX(18px); }
@media (prefers-reduced-motion: reduce) { .wg-lp-switch i { transition: none; } }

.wg-lp-dz {
  display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
  margin-top: 17px; background:var(--wg-raised); border:1px solid var(--lp-line);
  border-radius: 22px; padding: 17px; box-shadow: var(--lp-shadow);
}
.wg-lp-dz > div { margin-right: auto; min-width: 200px; flex: 1; }
.wg-lp-dz strong { font-size: .95rem; }
.wg-lp-dz p { font-size: .8rem; color:var(--lp-muted); margin: 4px 0 0; }
.wg-lp-dz .wg-lp-danger { border-color:#edcbc6; }

/* Kept-document note on the introduction page (the /explain bridge) */
.wg-lp-g-docwait {
  margin: 10px 0 0; font-size: .84rem; color:var(--lp-ink-dim, var(--wg-muted));
  background:var(--lp-mist, var(--wg-tint)); border-radius: 10px; padding: 8px 12px;
}

/* Event detail sheet (tap a card → read first, act second) */
.wg-lp-evd { margin-top: 4px; }
.wg-lp-evdrow {
  display: grid; grid-template-columns: 120px 1fr; gap: 10px; align-items: baseline;
  padding: 10px 0; border-bottom:1px solid var(--lp-line); font-size: .9rem;
}
.wg-lp-evdrow:last-child { border-bottom:0; }
.wg-lp-evdrow > span { color:var(--lp-muted); }
.wg-lp-evdrow > strong { font-weight: 600; overflow-wrap: anywhere; }
.wg-lp-evd-note {
  background:var(--lp-paper); border:1px solid var(--lp-line); border-radius: 12px;
  padding: 10px 12px; font-size: .88rem; line-height: 1.5; color:var(--lp-ink);
  margin: 12px 0 0; max-height: 200px; overflow-y: auto; overflow-wrap: anywhere;
}
.wg-lp-evd-src { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 12px 0 0; }
.wg-lp-evd-a { margin-top: 16px; padding-bottom: 4px; flex-wrap: wrap; }

/* Upcoming: swipeable snap carousel (both directions, next card peeks in) */
.wg-lp-evswipe {
  display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch; scrollbar-width: none;
  margin: 0 -2px; padding: 2px 2px 6px;
}
.wg-lp-evswipe::-webkit-scrollbar { display: none; }
.wg-lp-evswipe .wg-lp-task { flex: 0 0 86%; scroll-snap-align: start; margin-bottom: 0; }
.wg-lp-evswipe .wg-lp-task:only-child { flex-basis: 100%; }
@media (min-width: 640px) { .wg-lp-evswipe .wg-lp-task { flex-basis: 64%; } }

/* ══ Breeze Today exact-match (values measured from the approved prototype) ══ */

/* 1. Scan a document into LifePass */
.wg-lp-scan {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 11px;
  background: linear-gradient(110deg, var(--wg-raised), var(--lp-soft));
  border:1px solid #cee2d7; border-radius: 19px; padding: 13px 15px;
  margin: 0 0 18px; box-shadow: 0 8px 22px rgba(32, 91, 64, .07);
  color:var(--wg-color-ink); text-decoration: none; min-height: 44px; cursor: pointer;
}
.wg-lp-scan-i {
  width: 40px; height: 40px; border-radius: 13px; background:#2f7b59; color: var(--wg-on-scrim);
  display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem;
}
.wg-lp-scan-tx { display: flex; flex-direction: column; min-width: 0; }
.wg-lp-scan-tx strong { font-size: 1rem; font-weight: 700; }
.wg-lp-scan-tx small { font-size: .8rem; color:var(--wg-muted); }
.wg-lp-scan > b { font-size: 1.4rem; font-weight: 700; color:var(--wg-color-ink); }

/* 2. Greeting: date, hello, support, settings on the right */
.wg-lp-hello { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.wg-lp-hello small { font-size: .8rem; color:var(--wg-muted); display: block; }
.wg-lp-hello h2 { margin: 0 0 4px; font-size: 1.42rem; font-weight: 500; letter-spacing: -.02em; color:var(--wg-text); }
.wg-lp-hello p { margin: 0; color:var(--wg-muted); font-size: .92rem; }
.wg-lp-hello-gear {
  flex: 0 0 auto; width: 44px; height: 44px; border-radius: 50%; border:0;
  background:var(--wg-raised); color:var(--wg-color-ink); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 14px rgba(22, 57, 39, .08);
  transition: background .18s ease, transform .18s ease;
}
.wg-lp-hello-gear:hover { background:var(--wg-tint); }
.wg-lp-hello-gear:active { transform: scale(.94); }

/* 3. Next LifePass date ring card */
.wg-lp-ringcard {
  background: linear-gradient(135deg, #266b4d, #55a47e); color: var(--wg-on-scrim);
  border-radius: 28px; padding: 18px; margin: 25px 0;
  display: grid; grid-template-columns: 85px 1fr; gap: 15px; align-items: center;
}
.wg-lp-ringc {
  width: 85px; height: 85px; border-radius: 50%; text-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  background:
    radial-gradient(circle, #347c5c 55%, transparent 57%),
    conic-gradient(var(--wg-raised) 0deg, var(--wg-raised) calc(var(--fill, 0) * 3.6deg), rgba(255, 255, 255, .28) 0);
}
.wg-lp-ringc strong { font-size: 1.3rem; font-weight: 700; line-height: 1.1; }
.wg-lp-ringc span { font-size: .69rem; }
.wg-lp-ringtx { min-width: 0; }
.wg-lp-ringtx small { font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; }
.wg-lp-ringtx h3 { margin: 4px 0 2px; font-size: 1.25rem; font-weight: 400; color: var(--wg-on-scrim); overflow-wrap: anywhere; }
.wg-lp-ringtx p { margin: 0 0 12px; font-size: .75rem; color:#dcefe5; }
.wg-lp-ringbtn {
  border:0; background:var(--wg-raised); color:var(--wg-color-ink); font-weight: 700; font-size: 1rem;
  border-radius: 99px; padding: 10px 15px; min-height: 44px; cursor: pointer;
}

/* Your visa card */
.wg-lp-visacard { margin: 12px 0; padding: 11px 13px; border-radius: 14px; }
.wg-lp-visa-line { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 5px; }
/* Foldable header (whole header is the toggle button). */
.wg-lp-visa-head { display: block; width: 100%; text-align: left; background:transparent; border:0; padding: 0; cursor: pointer; font: inherit; color:inherit; }
.wg-lp-visa-headrow { display: flex; align-items: center; justify-content: space-between; }
.wg-lp-visa-headctrls { display: inline-flex; align-items: center; gap: 6px; }
.wg-lp-visa-eye { border:0; background:transparent; padding: 5px; margin: -5px 0; color:var(--lp-muted); cursor: pointer; line-height: 0; border-radius: 8px; }
.wg-lp-visa-eye:hover { color:var(--lp-deep); background:rgba(22, 57, 39, .06); }
.wg-lp-visa-eye svg { display: block; }
.wg-lp-visa-head:focus-visible { outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35)); border-radius: 12px; }
.wg-lp-visa-chev { color:var(--lp-muted); font-size: .9rem; transition: transform .2s var(--wg-ease-out, ease); }
.wg-lp-visacard.is-folded .wg-lp-visa-chev { transform: rotate(-90deg); }
.wg-lp-visa-head .wg-lp-visa-main { margin: 0; }
.wg-lp-visa-head .wg-lp-visa-exp { margin: 0; }
.wg-lp-visacard.is-folded .wg-lp-visa-head .wg-lp-visa-exp { margin: 0; }
.wg-lp-visa-body { margin-top: 10px; }
.wg-lp-visahead { display: flex; align-items: center; justify-content: space-between; }
.wg-lp-visa-eyebrow {
  font-size: .72rem; letter-spacing: .06em; text-transform: uppercase;
  color:var(--lp-green2); font-weight: 700;
}
.wg-lp-visa-edit {
  border:0; background:transparent; color:var(--lp-muted); font-size: 1rem;
  cursor: pointer; min-width: 40px; min-height: 40px; border-radius: 12px;
}
.wg-lp-visa-edit:hover { color:var(--lp-deep); background:var(--lp-paper); }
.wg-lp-visa-main { display: flex; align-items: baseline; gap: 8px; margin: 0; min-width: 0; flex-wrap: wrap; }
.wg-lp-visa-code { font-size: 1.12rem; font-weight: 700; color:var(--lp-deep); letter-spacing: .04em; }
.wg-lp-visa-name { color:var(--lp-muted); font-size: .82rem; overflow-wrap: anywhere; }
.wg-lp-visa-exp { margin: 0; font-size: .82rem; color:var(--wg-text); text-align: right; white-space: nowrap; }
.wg-lp-visa-emptytx { margin: 6px 0 12px; color:var(--lp-muted); font-size: .92rem; }
.wg-lp-visa-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 12px; }
.wg-lp-visa-toggle { display: inline-flex; align-items: center; gap: 8px; font-size: .9rem; color:var(--wg-text); cursor: pointer; }
.wg-lp-visa-toggle input { width: 18px; height: 18px; accent-color: var(--lp-green); }
.wg-lp-visa-tracked {
  border:1px solid #cfe6d9; background:var(--wg-tint); color:var(--wg-color-ink); font-weight: 600;
  border-radius: 99px; padding: 7px 14px; min-height: 40px; cursor: pointer; font-size: .88rem;
}
.wg-lp-visa-tool { margin: 0; font-size: .88rem; }
.wg-lp-visa-links { display: flex; gap: 8px; flex-wrap: wrap; }
.wg-lp-visa-links > .wg-lp-btn2 { flex: 1 1 auto; text-align: center; text-decoration: none; }

/* Reminder channel options (My details, inline) */
.wg-lp-remopt { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; text-align: left; background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 12px; padding: 11px 14px; margin-bottom: 8px; cursor: pointer; }
.wg-lp-remopt.is-on { border-color:#25835a; box-shadow: 0 0 0 2px rgba(37, 131, 90, .15); }
.wg-lp-remopt-tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.wg-lp-remopt-tx strong { font-size: .95rem; color:var(--wg-text); }
.wg-lp-remopt-tx small { font-size: .8rem; color:var(--wg-muted); }
.wg-lp-remopt-ck { color:var(--wg-color-ink); font-weight: 700; width: 18px; text-align: center; flex: 0 0 auto; }

/* Section headers (19px regular, control right) */
/* Today section titles: bold + darker, matching the Breeze prototype so
   "Your journeys", "Next small steps", etc. are clearly distinct headings. */
.wg-lp-sech h3 { font-size: 1.19rem; font-weight: 700; color:var(--lp-deep, var(--wg-color-ink)); letter-spacing: -.01em; }
/* Journey group headings inside Next small steps. */
.wg-lp-stepgroup { font-size: .82rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color:var(--lp-green2, var(--wg-color-ink)); margin: 14px 0 7px; }
button.wg-lp-stepgroup { display: inline-flex; align-items: center; gap: 4px; background:none; border:0; padding: 0; cursor: pointer; }
button.wg-lp-stepgroup:hover { color:var(--lp-green, var(--wg-color-ink)); }
button.wg-lp-stepgroup span { font-weight: 400; }
.wg-lp-sech span { color:var(--wg-color-ink); font-size: .9rem; }

/* 4. Journey cards — compact, accent-tinted */
.wg-lp-jcard {
  position: relative; flex: 0 0 150px; background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 12px;
  padding: 9px 10px; display: flex; flex-direction: column; gap: 8px; box-shadow: none;
}
.wg-lp-jcard[data-j] { border-top:2px solid var(--gacc, #4b9a75); }
.wg-lp-jhead { display: flex; align-items: flex-start; gap: 6px; padding-right: 16px; }
.wg-lp-jico {
  width: 20px; height: 20px; border-radius: 6px; background:var(--gaccbg, var(--wg-tint)); color:var(--gacc, var(--wg-color-ink));
  display: inline-flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; flex-shrink: 0;
}
.wg-lp-jcard strong { font-size: .8rem; font-weight: 600; color:var(--wg-text); overflow-wrap: anywhere; line-height: 1.2; }
.wg-lp-jcard .wg-lp-jmenu { position: absolute; top: 6px; right: 6px; width: 22px; height: 20px; margin: 0; font-size: .95rem; line-height: 1; }
.wg-lp-jbarwrap { display: flex; align-items: center; gap: 7px; margin-top: auto; }
.wg-lp-jbarwrap .wg-lp-bar { flex: 1; }
.wg-lp-jpct { font-size: .7rem; font-weight: 600; color:var(--gacc, var(--wg-color-ink)); white-space: nowrap; }
.wg-lp-bar { height: 4px; border-radius: 99px; background:var(--wg-tint); overflow: hidden; }
.wg-lp-bar i { display: block; height: 100%; background:var(--gacc, #4b9a75); }
/* "What to bring" document packs, from the official manual. */
.wg-lp-packs { display: flex; flex-direction: column; gap: 12px; margin: 0 0 16px; }
.wg-lp-pack {
  background:var(--wg-raised); border:1px solid var(--lp-green2, #9ac4ad); border-radius: 16px;
  padding: 15px 17px; box-shadow: 0 1px 2px rgba(23, 105, 68, .05);
}
.wg-lp-pack-h { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.wg-lp-pack-ic { color:var(--lp-deep, var(--wg-color-ink)); display: inline-flex; flex-shrink: 0; }
.wg-lp-pack-h h4 { margin: 0; font-size: 1rem; color:var(--wg-color-ink); }
.wg-lp-pack-note { margin: 0 0 10px; font-size: .85rem; line-height: 1.55; color:var(--wg-muted); }
.wg-lp-packlist { list-style: none; margin: 0 0 10px; padding: 0; }
.wg-lp-packlist li {
  position: relative; padding: 8px 0 8px 26px; border-bottom:1px dashed var(--lp-line, var(--wg-border-soft));
}
.wg-lp-packlist li:last-child { border-bottom:0; }
.wg-lp-packlist li::before {
  content: ''; position: absolute; left: 2px; top: 12px; width: 13px; height: 13px;
  border:1.6px solid var(--lp-green2, #9ac4ad); border-radius: 4px;
}
.wg-lp-packlist strong { display: block; font-size: .89rem; color:var(--wg-text); font-weight: 600; }
.wg-lp-packlist small { display: block; font-size: .78rem; color:var(--wg-muted); margin-top: 2px; line-height: 1.5; }
.wg-lp-pack-confirm {
  margin: 0 0 10px; font-size: .82rem; color:var(--lp-deep, var(--wg-color-ink));
  background:var(--lp-soft, var(--wg-tint)); border-radius: 10px; padding: 8px 11px;
}
.wg-lp-pack-foot { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; font-size: .8rem; }
.wg-lp-pack-foot a { color:var(--lp-muted, var(--wg-muted)); text-decoration: none; }
.wg-lp-pack-foot a:hover { color:var(--lp-deep, var(--wg-color-ink)); }

/* A reply to a question the member asked, surfaced on Today. */
.wg-lp-replybar {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; font: inherit;
  background:var(--lp-soft, var(--wg-tint)); border:1px solid var(--lp-green2, #9ac4ad);
  border-radius: 16px; padding: 13px 15px; margin: 0 0 14px; cursor: pointer;
}
.wg-lp-replybar:hover { background:var(--wg-tint); }
.wg-lp-replybar-ic { flex-shrink: 0; color:var(--lp-deep, var(--wg-color-ink)); display: inline-flex; }
.wg-lp-replybar-tx { flex: 1; min-width: 0; }
.wg-lp-replybar-tx strong { display: block; font-size: .92rem; color:var(--wg-color-ink); }
.wg-lp-replybar-tx small { display: block; font-size: .8rem; color:var(--wg-muted); margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Crowd-reported waiting times. */
.wg-lp-waits { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.wg-lp-waitrow {
  display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
  background:var(--wg-raised); border:1px solid var(--lp-line, var(--wg-border-soft)); border-radius: 12px; padding: 10px 13px;
}
.wg-lp-waitname { font-size: .88rem; color:var(--wg-text); font-weight: 600; flex: 1; min-width: 0; }
.wg-lp-waitval { font-size: .86rem; font-weight: 700; color:var(--lp-deep, var(--wg-color-ink)); }
.wg-lp-waitn { font-size: .72rem; color:var(--lp-muted, var(--wg-muted)); width: 100%; }
.wg-lp-waitnone { font-size: .86rem; color:var(--lp-muted, var(--wg-muted)); margin: 0; }

/* Expiry radar: what runs out in the medium term, listed together. */
.wg-lp-radar { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.wg-lp-radarrow {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  background:var(--wg-raised); border:1px solid var(--lp-line, var(--wg-border-soft)); border-radius: 12px; padding: 10px 13px;
}
.wg-lp-radarname { font-size: .88rem; color:var(--wg-text); font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-lp-radarwhen { font-size: .78rem; color:var(--lp-muted, var(--wg-muted)); flex-shrink: 0; }

/* Korea admin calendar: what this month means for someone living here. */
.wg-lp-calwhy { margin: 0 0 10px; font-size: .84rem; color:var(--lp-muted, var(--wg-muted)); }
.wg-lp-cal { display: flex; flex-direction: column; gap: 10px; }
.wg-lp-calcard {
  background:var(--wg-raised); border:1px solid var(--lp-line, var(--wg-border-soft)); border-radius: 16px;
  padding: 14px 16px; border-left:3px solid var(--lp-green2, #4b9a75);
}
.wg-lp-calcard.is-soon { border-left-color:#c9a227; }
.wg-lp-calsoon {
  display: inline-block; font-size: .68rem; font-weight: 800; letter-spacing: .04em;
  text-transform: uppercase; color:var(--wg-warn-ink); background:var(--wg-warn-tint);
  border-radius: 999px; padding: 2px 9px; margin-bottom: 6px;
}
.wg-lp-calcard h4 { margin: 0 0 5px; font-size: .96rem; color:var(--wg-text); }
.wg-lp-calcard p { margin: 0 0 8px; font-size: .87rem; line-height: 1.55; color:var(--wg-muted); }
.wg-lp-calfact {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px;
  background:var(--lp-soft, var(--wg-tint)); border-radius: 10px; padding: 7px 10px; margin-bottom: 7px;
}
.wg-lp-calfact strong { font-size: .78rem; color:var(--wg-muted); font-weight: 600; }
.wg-lp-calfact span { font-size: .86rem; font-weight: 700; color:var(--lp-deep, var(--wg-color-ink)); }
.wg-lp-calfact em { font-size: .7rem; font-style: normal; color:var(--wg-muted); width: 100%; }
.wg-lp-calfoot { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: .8rem; }
.wg-lp-calfoot a { color:var(--lp-muted, var(--wg-muted)); text-decoration: none; }
.wg-lp-calfoot a:hover { color:var(--lp-deep, var(--wg-color-ink)); }

/* Official office finder on a step, named with the member's own city. */
.wg-lp-gfinder {
  display: inline-flex; align-items: center; gap: 7px; margin: 8px 0 2px;
  padding: 8px 13px; border-radius: 999px; text-decoration: none;
  background:var(--lp-soft, var(--wg-tint)); border:1px solid var(--lp-green2, #9ac4ad);
  color:var(--lp-deep, var(--wg-color-ink)); font-size: .84rem; font-weight: 600;
}
.wg-lp-gfinder:hover { background:var(--wg-tint); }
.wg-lp-gfinder-ic { display: inline-flex; flex-shrink: 0; }

/* A date the member answered, offered as a real reminder. */
.wg-lp-gdateoffer {
  display: flex; align-items: center; gap: 12px; margin: 0 0 12px;
  background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-left:3px solid var(--lp-green2, #4b9a75);
  border-radius: 14px; padding: 12px 14px;
}
.wg-lp-gdateoffer-ic { flex-shrink: 0; color:var(--lp-deep, var(--wg-color-ink)); display: inline-flex; }
.wg-lp-gdateoffer-tx { flex: 1; min-width: 0; }
.wg-lp-gdateoffer-tx strong { display: block; font-size: .92rem; color:var(--wg-text); }
.wg-lp-gdateoffer-tx small { display: block; font-size: .8rem; color:var(--wg-muted); margin-top: 2px; }
.wg-lp-gdateoffer .wg-lp-btn { flex-shrink: 0; }
.wg-lp-gdateoffer.is-done { background:var(--lp-soft, var(--wg-tint)); border-left-color:#9ac4ad; }

/* Priority guided suggestions on Today */
.wg-lp-sugg { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.wg-lp-suggcard {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; font: inherit;
  background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-left:3px solid var(--gacc, #4b9a75);
  border-radius: 14px; padding: 11px 13px; cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}
.wg-lp-suggcard:hover { border-color:#b7d8c6; background:var(--gaccbg, var(--wg-tint)); }
.wg-lp-suggico {
  width: 34px; height: 34px; border-radius: 11px; background:var(--gaccbg, var(--wg-tint)); color:var(--gacc, var(--wg-color-ink));
  display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; font-weight: 800; flex-shrink: 0;
}
.wg-lp-suggtx { flex: 1; min-width: 0; }
.wg-lp-suggtx strong { display: block; font-size: .92rem; color:var(--wg-text); }
.wg-lp-suggtx small { display: block; font-size: .78rem; color:var(--wg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
/* Marks a suggestion that came from the member's own setup answers. */
.wg-lp-suggmatch {
  display: inline-block; margin: 2px 0 1px; font-style: normal; font-size: .7rem; font-weight: 700;
  letter-spacing: .02em; color:var(--gacc, var(--wg-color-ink)); background:var(--gaccbg, var(--wg-tint));
  border-radius: 999px; padding: 2px 8px;
}
.wg-lp-suggadd {
  flex-shrink: 0; width: 26px; height: 26px; border-radius: 50%; background:var(--gacc, #4b9a75); color: var(--wg-on-scrim);
  display: inline-flex; align-items: center; justify-content: center; font-size: 1.05rem; font-weight: 700;
}

/* 5. Next small steps rows */
.wg-lp-task {
  background:var(--wg-raised); border:0; border-radius: 16px; padding: 13px;
  display: grid; grid-template-columns: 25px 1fr auto; gap: 10px; align-items: center;
  margin-bottom: 8px; box-shadow: none;
}
.wg-lp-tick {
  width: 25px; height: 25px; border-radius: 50%; border:2px solid #b7d8c6;
  background:transparent; color:var(--wg-color-ink); cursor: pointer; font-size: .7rem; padding: 0;
}
.wg-lp-task-b { text-align: left; border:0; background:none; padding: 0; cursor: pointer; min-width: 0; }
.wg-lp-task-b strong { display: block; font-size: 1rem; font-weight: 700; color:var(--wg-text); overflow-wrap: anywhere; }
.wg-lp-task-b small { display: block; font-size: .8rem; color:var(--wg-muted); margin-top: 2px; }
.wg-lp-chev { font-size: 1.4rem; color:#8eb8a3; }

/* Truthful empty-state card (journeys / steps) */
.wg-lp-nonecard {
  background:var(--wg-raised); border:1px dashed #cee2d7; border-radius: 16px; padding: 16px;
  display: flex; flex-direction: column; gap: 6px; align-items: flex-start;
}
.wg-lp-nonecard strong { color:var(--wg-text); }
.wg-lp-nonecard small { color:var(--wg-muted); font-size: .85rem; }

/* 6. Connected from Waegook cards */
.wg-lp-conngrid { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 760px) { .wg-lp-conngrid { grid-template-columns: 1fr 1fr; } }
.wg-lp-conncard {
  background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 16px; padding: 15px;
  display: flex; flex-direction: column; gap: 7px; align-items: flex-start;
}
.wg-lp-conncard small {
  font-size: .62rem; font-weight: 800; letter-spacing: .06em; color:var(--wg-color-ink);
}
.wg-lp-conncard small em { font-style: normal; text-transform: uppercase; }
.wg-lp-conncard strong { font-size: .95rem; font-weight: 700; }
.wg-lp-conncard strong a { color:var(--wg-text); text-decoration: none; }
.wg-lp-conncard strong a:hover { color:var(--wg-color-ink); }
.wg-lp-conncard p { margin: 0; font-size: .74rem; color:var(--wg-muted); }
.wg-lp-connrem {
  border:0; background:none; color:var(--wg-color-ink); font-size: .8rem; font-weight: 600;
  padding: 4px 0 0; cursor: pointer;
}

/* 7. Trusted help (dark Breeze card) */
.wg-lp-helpcard {
  width: 100%; display: grid; grid-template-columns: auto 1fr auto; align-items: center;
  gap: 10px; background:#173d2e; color: var(--wg-on-scrim); border:0; border-radius: 20px;
  padding: 15px; margin-top: 6px; cursor: pointer; text-align: left; min-height: 44px;
}
.wg-lp-helpcard-i {
  width: 36px; height: 36px; border-radius: 12px; background:#3b8b67; color: var(--wg-on-scrim);
  display: inline-flex; align-items: center; justify-content: center; font-weight: 700;
}
.wg-lp-helpcard-tx { display: flex; flex-direction: column; min-width: 0; }
.wg-lp-helpcard-tx strong { font-size: 1rem; font-weight: 700; }
.wg-lp-helpcard-tx small { font-size: .8rem; color:#b9d4c6; }
.wg-lp-helpcard > b { font-size: 1rem; font-weight: 700; }

.wg-lp-conncard[data-connopen] { cursor: pointer; }
.wg-lp-conncard[data-connopen]:hover { border-color:#b7d8c6; }

/* ══ Breeze Timeline: chronological rail + summary aside ══ */
.wg-lp-tlhead {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin-bottom: 18px;
}
.wg-lp-tlhead h3 { margin: 4px 0 6px; font-size: 1.55rem; font-weight: 400; letter-spacing: -.02em; color:var(--wg-text); }
.wg-lp-tlsub { margin: 0; color:var(--wg-muted); }
.wg-lp-tllayout { display: grid; gap: 20px; align-items: start; }
@media (min-width: 860px) { .wg-lp-tllayout { grid-template-columns: 1fr 280px; } }
.wg-lp-tlrail { position: relative; padding-left: 26px; }
.wg-lp-tlrail::before {
  content: ''; position: absolute; left: 7px; top: 8px; bottom: 8px;
  width: 2px; background:var(--wg-border-soft);
}
.wg-lp-tlrow { position: relative; margin-bottom: 22px; }
.wg-lp-tlrow:last-child { margin-bottom: 4px; }
.wg-lp-tldot {
  position: absolute; left: -26px; top: 2px; width: 16px; height: 16px;
  border-radius: 50%; background:var(--wg-tint); border:3px solid var(--lp-paper, var(--wg-border-soft));
  box-sizing: content-box; margin: -3px; display: flex; align-items: center;
  justify-content: center; font-size: .6rem; color:var(--wg-raised);
}
.wg-lp-tlrow.is-done .wg-lp-tldot { background:#2f7b59; }
.wg-lp-tlrow time { display: block; font-size: .8rem; color:var(--wg-muted); margin-bottom: 2px; }
.wg-lp-tlbody { border:0; background:none; padding: 0; text-align: left; cursor: pointer; min-width: 0; }
div.wg-lp-tlbody { cursor: default; }
.wg-lp-tlbody strong { display: block; font-size: 1rem; color:var(--wg-text); overflow-wrap: anywhere; }
.wg-lp-tlbody p { margin: 2px 0 0; font-size: .8rem; color:var(--wg-muted); }
.wg-lp-tlaside { background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 20px; padding: 16px; }
.wg-lp-tlaside h4 { margin: 6px 0 8px; font-size: 1.15rem; font-weight: 400; color:var(--wg-text); }
.wg-lp-tlstat { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; }
.wg-lp-tlstat strong { font-size: 1.3rem; color:var(--wg-color-ink); }
.wg-lp-tlstat span { color:var(--wg-muted); font-size: .85rem; }
.wg-lp-tlnote { margin: 0; color:var(--wg-muted); font-size: .82rem; }

/* ── Timeline / Calendar view toggle ─────────────────────────────────── */
.wg-lp-tlactions { display: flex; align-items: center; gap: 10px; }
.wg-lp-tltoggle { display: flex; gap: 3px; padding: 4px; background:var(--wg-tint); border:1px solid var(--wg-border-soft); border-radius: 13px; }
.wg-lp-tltoggle-b {
  display: flex; align-items: center; gap: 6px; min-height: 36px; padding: 7px 12px;
  border:0; border-radius: 9px; background:transparent; color:var(--wg-muted);
  font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer;
}
.wg-lp-tltoggle-b span { font-size: 1rem; line-height: 1; }
.wg-lp-tltoggle-b.is-on { background:var(--wg-raised); color:var(--wg-color-ink); box-shadow: 0 3px 10px rgba(30, 77, 55, .1); }
.wg-lp-tltoggle-b:focus-visible, .wg-lp-cal button:focus-visible {
  outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35));
}
@media (max-width: 640px) {
  .wg-lp-tlactions { flex-direction: column-reverse; align-items: stretch; width: 100%; }
  .wg-lp-tltoggle { width: 100%; }
  .wg-lp-tltoggle-b { flex: 1; justify-content: center; min-height: 44px; }
}

/* Rail source labels + connected rows */
.wg-lp-tlsource { display: block; margin: 0 0 4px; font-size: .6rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color:var(--wg-muted); }
.wg-lp-tlsource.is-lifepass { color:var(--wg-color-ink); }
.wg-lp-tlsource.is-connected { color:#5575a8; }
a.wg-lp-tlbody { text-decoration: none; color:inherit; display: block; }
.wg-lp-tlrow.is-connected .wg-lp-tldot { background:#6f8ebd; }

/* ── Calendar surface ────────────────────────────────────────────────── */
.wg-lp-cal { background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 20px; overflow: hidden; }
.wg-lp-cal-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 18px 12px; }
.wg-lp-cal-head h2 { margin: 4px 0 0; font-size: 1.4rem; font-weight: 700; color:var(--wg-text); }
.wg-lp-cal-head nav { display: flex; align-items: center; gap: 5px; }
.wg-lp-cal-head nav button { min-width: 36px; height: 36px; border:1px solid var(--lp-line); border-radius: 10px; background:var(--wg-tint); color:var(--wg-color-ink); font: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.wg-lp-cal-head nav .wg-lp-cal-today { width: auto; padding: 0 11px; font-size: .72rem; font-weight: 800; }
.wg-lp-cal-legend { display: flex; gap: 14px; flex-wrap: wrap; padding: 0 18px 14px; color:var(--lp-muted); font-size: .66rem; }
.wg-lp-cal-legend span { display: flex; align-items: center; gap: 6px; }
.wg-lp-cal-legend span::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background:#8b9a92; }
.wg-lp-cal-legend .is-milestone::before { background:#ca8b44; }
.wg-lp-cal-legend .is-lifepass::before { background:#33805e; }
.wg-lp-cal-legend .is-connected::before { background:#6f8ebd; }
.wg-lp-cal-wd, .wg-lp-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.wg-lp-cal-wd { border-top:1px solid var(--lp-line); background:var(--wg-tint); }
.wg-lp-cal-wd span { padding: 9px 4px; text-align: center; color:#85938b; font-size: .58rem; font-weight: 800; text-transform: uppercase; }
.wg-lp-cal-grid { border-top:1px solid var(--lp-line); border-left:1px solid var(--lp-line); }
.wg-lp-cal-grid > button, .wg-lp-cal-blank { min-height: 82px; border:0; border-right:1px solid var(--lp-line); border-bottom:1px solid var(--lp-line); background:var(--wg-raised); }
.wg-lp-cal-grid > button { position: relative; padding: 8px; text-align: left; color:var(--wg-color-ink); font: inherit; cursor: pointer; }
.wg-lp-cal-grid > button:hover { background:var(--wg-tint); }
.wg-lp-cal-grid > button > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; font-size: .78rem; }
.wg-lp-cal-grid > button.is-today > span { box-shadow: inset 0 0 0 1px #65a486; color:var(--wg-color-ink); font-weight: 800; }
.wg-lp-cal-grid > button.is-selected { background:var(--wg-tint); box-shadow: inset 0 0 0 2px #4a9270; }
.wg-lp-cal-grid > button.is-selected > span { background:#287354; color: var(--wg-on-scrim); box-shadow: none; }
.wg-lp-cal-grid > button > i { position: absolute; left: 8px; right: 8px; bottom: 9px; display: flex; align-items: center; gap: 4px; height: 8px; font-style: normal; }
.wg-lp-cal-grid > button > i b { display: block; width: 6px; height: 6px; border-radius: 50%; background:#8b9a92; }
.wg-lp-cal-grid > button > i b.is-lifepass { background:#33805e; }
.wg-lp-cal-grid > button > i b.is-connected { background:#6f8ebd; }
.wg-lp-cal-grid > button > i b.is-milestone { background:#ca8b44; }
.wg-lp-cal-grid > button > i b.is-cancelled { background:#8b9a92; }
.wg-lp-cal-grid > button > i em { margin-left: auto; color:var(--wg-muted); font-size: .55rem; font-style: normal; }

/* Calendar agenda */
.wg-lp-calag { padding: 16px 18px 20px; }
.wg-lp-calag-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.wg-lp-calag-head h3 { margin: 4px 0 0; font-size: 1.1rem; font-weight: 700; color:var(--wg-text); }
.wg-lp-calag-head button { border:0; background:transparent; color:var(--wg-color-ink); font: inherit; font-size: .72rem; font-weight: 700; cursor: pointer; }
.wg-lp-calag-row { display: grid; grid-template-columns: 9px 1fr; gap: 11px; width: 100%; padding: 12px 0; border-top:1px solid var(--lp-line); border-left:0; border-right:0; border-bottom:0; background:none; text-align: left; text-decoration: none; color:inherit; cursor: pointer; }
.wg-lp-calag-row.is-static { cursor: default; }
.wg-lp-calag-mark { border-radius: 4px; background:#8b9a92; }
.wg-lp-calag-mark.is-lifepass { background:#33805e; }
.wg-lp-calag-mark.is-connected { background:#6f8ebd; }
.wg-lp-calag-mark.is-milestone { background:#ca8b44; }
.wg-lp-calag-mark.is-cancelled { background:#8b9a92; }
.wg-lp-calag-row small { display: block; color:var(--lp-muted); font-size: .6rem; text-transform: uppercase; letter-spacing: .05em; }
.wg-lp-calag-row strong { display: block; margin-top: 4px; font-size: .9rem; color:var(--wg-text); overflow-wrap: anywhere; }
.wg-lp-calag-row p { margin: 2px 0 0; font-size: .8rem; color:var(--lp-muted); }
.wg-lp-cal-empty { text-align: center; padding: 26px 12px; color:var(--lp-muted); }
.wg-lp-cal-empty span { display: inline-block; font-size: 1.4rem; color:#9db3a7; }
.wg-lp-cal-empty strong { display: block; margin: 6px 0 4px; color:var(--wg-text); }
.wg-lp-cal-empty p { margin: 0; font-size: .82rem; }

/* Needs a date (dateless events, below the calendar agenda) */
.wg-lp-tlneeddate { background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 18px; padding: 14px 16px; margin-top: 14px; }
.wg-lp-tlneeddate .wg-lp-calag-row:first-of-type { border-top:0; padding-top: 4px; }

@media (max-width: 520px) {
  .wg-lp-cal-grid > button, .wg-lp-cal-blank { min-height: 60px; }
  .wg-lp-cal-grid > button { padding: 6px; }
  .wg-lp-cal-grid > button > span { width: 24px; height: 24px; font-size: .72rem; }
  .wg-lp-cal-grid > button > i { left: 6px; right: 6px; bottom: 7px; }
}
@media (max-width: 360px) {
  .wg-lp-cal-grid > button, .wg-lp-cal-blank { min-height: 52px; }
  .wg-lp-cal-wd span { font-size: .5rem; padding: 7px 2px; }
  .wg-lp-cal-head { padding: 14px 12px 10px; }
  .wg-lp-cal-legend, .wg-lp-calag { padding-left: 12px; padding-right: 12px; }
}

/* Details: account counts reuse the detail-list rows without the edit slot */
.wg-lp-dcounts .wg-lp-dlrow { grid-template-columns: 1fr auto auto; }
.wg-lp-dcounts .wg-lp-dlrow i { width: 0; }
/* A count with items is a button that opens the list behind it. */
button.wg-lp-dlrow { font: inherit; color:inherit; text-align: left; width: 100%; background:none; border:0; border-bottom:1px solid var(--lp-line); }
.wg-lp-dlrow-tap { cursor: pointer; border-radius: 8px; transition: background .15s ease; }
.wg-lp-dlrow-tap:hover, .wg-lp-dlrow-tap:focus-visible { background:var(--wg-tint); outline:none; }
.wg-lp-dcounts .wg-lp-dlrow-tap .wg-lp-dlrow-chev { width: auto; color:var(--lp-muted); font-size: 1.15rem; justify-self: end; line-height: 1; }
.wg-lp-dlrow.is-empty strong { color:var(--lp-muted); font-weight: 500; }
/* The item list inside the count sheet. */
.wg-lp-cilist { display: flex; flex-direction: column; gap: 8px; }
.wg-lp-cirow {
  display: flex; align-items: center; gap: 10px; width: 100%; padding: 12px 13px;
  background:none; border:1px solid var(--lp-line); border-radius: 12px;
  font: inherit; text-align: left; cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.wg-lp-cirow:hover, .wg-lp-cirow:focus-visible { background:var(--wg-tint); border-color:var(--wg-border-soft); outline:none; }
.wg-lp-cirow-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wg-lp-cirow-tx strong { font-weight: 600; overflow-wrap: anywhere; color:var(--lp-ink); }
.wg-lp-cirow-tx small { color:var(--lp-muted); font-size: .8rem; }
.wg-lp-cirow .wg-lp-dlrow-chev { flex: 0 0 auto; color:var(--lp-muted); font-size: 1.15rem; line-height: 1; }

/* Urgency badge on the Next-LifePass-date card: amber = close, red = past */
.wg-lp-ringbadge {
  display: inline-block; padding: 2px 9px; border-radius: 999px;
  font-size: .72rem; font-weight: 700; margin-left: 4px; vertical-align: 1px;
  background:rgba(255, 255, 255, .16); color:#dcefe5;
}
.wg-lp-ringbadge.is-due_today, .wg-lp-ringbadge.is-due_soon { background:var(--wg-warn-tint); color:var(--wg-warn-ink); }
.wg-lp-ringbadge.is-overdue { background:var(--wg-danger-tint); color:var(--wg-danger-ink); }
/* A comfortably-future date. The translucent base style is tuned for the dark
   ring card and goes near-invisible on white cards (the visa card) — this solid
   soft green reads on both. */
.wg-lp-ringbadge.is-upcoming { background:var(--wg-tint); color:var(--wg-color-ink); }

.wg-lp-ringcard.is-tappable { cursor: pointer; }
.wg-lp-ringcard.is-tappable:focus-visible { outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35)); }

/* Timeline search filter + completed journey cards */
.wg-lp-tlq {
  width: 100%; border:1px solid var(--wg-border-soft); border-radius: 13px; background:var(--wg-raised);
  padding: 11px 14px; font-size: .92rem; margin-bottom: 16px; min-height: 44px;
}
.wg-lp-tlq:focus-visible { outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35)); }
.wg-lp-jcard.is-done { opacity: .78; }
.wg-lp-jcard.is-done .wg-lp-jico { background:#2f7b59; color: var(--wg-on-scrim); }

/* ══ Trusted help page (Breeze) ══ */
.wg-lp-askcard {
  background: linear-gradient(135deg, #266b4d, #55a47e); color: var(--wg-on-scrim);
  border-radius: 24px; padding: 18px; margin: 6px 0 16px;
}
.wg-lp-askhead { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 14px; }
.wg-lp-askhead > span {
  flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%;
  background:rgba(255, 255, 255, .18); display: inline-flex; align-items: center;
  justify-content: center; font-weight: 700;
}
.wg-lp-askhead h4 { margin: 2px 0 4px; font-size: 1.1rem; color: var(--wg-on-scrim); }
.wg-lp-askhead p { margin: 0; font-size: .82rem; color:#dcefe5; }
.wg-lp-askrow { display: flex; gap: 8px; flex-wrap: wrap; }
.wg-lp-askrow input {
  flex: 1 1 200px; border:0; border-radius: 13px; padding: 12px 14px;
  font-size: .92rem; min-height: 44px; background:var(--wg-raised); color:var(--wg-text);
}
.wg-lp-askrow input:focus-visible { outline:none; box-shadow: 0 0 0 3px rgba(255, 255, 255, .45); }
.wg-lp-helpchips { margin-bottom: 14px; }
.wg-lp-helplist { display: flex; flex-direction: column; gap: 10px; }
.wg-lp-helpcardrow {
  background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 16px; padding: 15px;
  display: flex; flex-direction: column; gap: 8px; align-items: stretch;
}
.wg-lp-helptags { display: flex; justify-content: space-between; gap: 8px; }
.wg-lp-ha, .wg-lp-ht {
  display: inline-block; border-radius: 999px; padding: 3px 10px; font-size: .72rem;
  font-weight: 600;
}
.wg-lp-ha { background:var(--wg-tint); color:var(--wg-color-ink); }
.wg-lp-ht { background:var(--wg-tint); color:var(--wg-muted); }
.wg-lp-helpcardrow strong { font-size: 1rem; color:var(--wg-text); }
.wg-lp-helpcardrow p { margin: 0; font-size: .82rem; color:var(--wg-muted); }
.wg-lp-helpgo { text-align: center; }
.wg-lp-emg {
  background:var(--wg-danger-tint); border:1px solid #f3c2be; border-radius: 16px;
  padding: 14px 16px; margin-top: 16px;
}
.wg-lp-emg strong { color:var(--wg-danger-ink); display: block; margin-bottom: 4px; }
.wg-lp-emg p { margin: 0; color:var(--wg-danger-ink); font-size: .9rem; }

/* Ring circle: its own tap target listing the counted events */
.wg-lp-ringcard.is-tappable .wg-lp-ringc { cursor: pointer; }
.wg-lp-ringlist { display: flex; align-items: center; gap: 10px; text-align: left; }
.wg-lp-ringlist .wg-lp-typico { flex: 0 0 auto; }
.wg-lp-ringlist-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.wg-lp-ringlist-tx strong { overflow-wrap: anywhere; }
.wg-lp-ringlist-tx small { color:var(--lp-muted); font-size: .8rem; }

/* ══ Journeys page (Breeze "View all") ══ */
.wg-lp-jpgrid { display: grid; gap: 12px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .wg-lp-jpgrid { grid-template-columns: 1fr 1fr; } }
.wg-lp-jpcard {
  background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 20px; padding: 16px;
  display: flex; flex-direction: column; gap: 8px;
}
.wg-lp-jpcard.is-done { opacity: .82; }
.wg-lp-jptop { display: flex; align-items: center; justify-content: space-between; }
.wg-lp-jico-l { width: 44px; height: 44px; border-radius: 15px; font-size: 1.05rem; }
.wg-lp-jpcard.is-done .wg-lp-jico-l { background:#2f7b59; color: var(--wg-on-scrim); }
.wg-lp-jpstate { font-size: .78rem; color:var(--wg-muted); font-weight: 600; }
.wg-lp-jpcard h4 { margin: 2px 0 0; font-size: 1.15rem; font-weight: 600; color:var(--wg-text); }
.wg-lp-jpcard > p { margin: 0; font-size: .82rem; color:var(--wg-muted); }
.wg-lp-jpfoot {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  border-top:1px solid var(--wg-border-soft); padding-top: 8px; margin-top: 4px;
}
.wg-lp-jpfoot > span { font-size: .78rem; color:var(--wg-muted); }

/* Custom reminder row in the event modal */
#wg-lp-ev-rem-list { display: flex; flex-direction: column; gap: 2px; }
.wg-lp-remcustom { display: flex; gap: 8px; align-items: center; margin-top: 10px; }
.wg-lp-remcustom input[type="number"] {
  width: 74px; border:1px solid var(--lp-line); border-radius: 11px;
  padding: 10px 10px; font-size: .9rem; min-height: 42px;
}
.wg-lp-remcustom select {
  flex: 1; border:1px solid var(--lp-line); border-radius: 11px;
  padding: 10px 10px; font-size: .9rem; min-height: 42px; background:var(--wg-raised);
}

.wg-lp-jcard[data-j], .wg-lp-jpcard[data-jpc] { cursor: pointer; }
.wg-lp-jcard[data-j]:hover, .wg-lp-jpcard[data-jpc]:hover { border-color:#b7d8c6; }
.wg-lp-jpcard[data-jpc]:focus-visible { outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35)); }

/* "Scanned" badge on events created from a scanned document */
.wg-lp-scanbadge {
  display: inline-block; margin-left: 7px; vertical-align: 1px;
  background:var(--wg-tint); color:var(--wg-color-ink); border-radius: 999px;
  padding: 1px 8px; font-size: .66rem; font-weight: 700; letter-spacing: .02em;
  white-space: nowrap;
}

/* Documents list rows (live view over the vault) */
.wg-lp-docrow { cursor: pointer; }
.wg-lp-docrow:hover { border-color:#b7d8c6; }
.wg-lp-docrow:focus-visible { outline:none; box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(37, 131, 90, .35)); }
.wg-lp-docrow-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.wg-lp-docrow-top > strong { font-size: 1rem; color:var(--wg-text); overflow-wrap: anywhere; }

/* Cancelled / superseded timeline rows: distinct from completed */
.wg-lp-tlrow.is-cancelled .wg-lp-tldot { background:var(--wg-surface-2); color:var(--wg-raised); }
.wg-lp-tlrow.is-cancelled .wg-lp-tlbody strong { text-decoration: line-through; color:var(--wg-muted); }
.wg-lp-tlrow.is-cancelled .wg-lp-tlbody p { color:#9aa39d; }

/* ══════════════════════════════════════════════════════════════════════
   Guided journeys — library, wizard, four-tab detail (Breeze)
   ══════════════════════════════════════════════════════════════════════ */
.wg-lp-eyebrow { display: block; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; color:var(--lp-muted); font-weight: 700; margin-bottom: 6px; }
.wg-lp-skel-line { height: 14px; border-radius: 7px; background: linear-gradient(90deg, var(--wg-tint), var(--wg-surface), var(--wg-tint)); margin: 8px 0; }
.wg-lp-gback { display: inline-block; margin: 2px 0 10px; }

/* Per-journey accent (icon tint + hero gradient) */
.wg-lp-acc-mint   { --gacc: #287354; --gaccbg: #edf5f0; --gg1: #1c6348; --gg2: #32805f; }
.wg-lp-acc-blue   { --gacc: #4e76a9; --gaccbg: #eaf0f8; --gg1: #365d88; --gg2: #6089b9; }
.wg-lp-acc-gold   { --gacc: #9b6b25; --gaccbg: #faf1df; --gg1: #7a5a26; --gg2: #aa7f39; }
.wg-lp-acc-rose   { --gacc: #9d5753; --gaccbg: #f9eaea; --gg1: #7d4644; --gg2: #ac6965; }
.wg-lp-acc-purple { --gacc: #6d61a5; --gaccbg: #efecfa; --gg1: #51467f; --gg2: #7469a8; }
.wg-lp-acc-teal   { --gacc: #367c76; --gaccbg: #e5f3f1; --gg1: #286962; --gg2: #438e86; }
.wg-lp-acc-red    { --gacc: #a64e45; --gaccbg: #fae9e7; --gg1: #833f38; --gg2: #b35b51; }
/* dark pairs: ink brightens, tint deepens; the --gg gradient stops stay
   fixed because their heroes keep white labels in both themes */
:root[data-theme="dark"] .wg-lp-acc-mint { --gacc: #7fd7b0; --gaccbg: #14261d; }
:root[data-theme="dark"] .wg-lp-acc-blue { --gacc: #93b8e4; --gaccbg: #16233a; }
:root[data-theme="dark"] .wg-lp-acc-gold { --gacc: #dbb679; --gaccbg: #2e2514; }
:root[data-theme="dark"] .wg-lp-acc-rose { --gacc: #dfa09b; --gaccbg: #331d1c; }
:root[data-theme="dark"] .wg-lp-acc-purple { --gacc: #b2a6e6; --gaccbg: #241f3d; }
:root[data-theme="dark"] .wg-lp-acc-teal { --gacc: #83c7c0; --gaccbg: #12302d; }
:root[data-theme="dark"] .wg-lp-acc-red { --gacc: #de9c93; --gaccbg: #351b18; }
@media (prefers-color-scheme: dark) {
:root[data-theme="auto"] .wg-lp-acc-mint { --gacc: #7fd7b0; --gaccbg: #14261d; }
:root[data-theme="auto"] .wg-lp-acc-blue { --gacc: #93b8e4; --gaccbg: #16233a; }
:root[data-theme="auto"] .wg-lp-acc-gold { --gacc: #dbb679; --gaccbg: #2e2514; }
:root[data-theme="auto"] .wg-lp-acc-rose { --gacc: #dfa09b; --gaccbg: #331d1c; }
:root[data-theme="auto"] .wg-lp-acc-purple { --gacc: #b2a6e6; --gaccbg: #241f3d; }
:root[data-theme="auto"] .wg-lp-acc-teal { --gacc: #83c7c0; --gaccbg: #12302d; }
:root[data-theme="auto"] .wg-lp-acc-red { --gacc: #de9c93; --gaccbg: #351b18; }
}


/* Library */
.wg-lp-ghead h2 { font-size: 1.3rem; margin: 0 0 4px; color:var(--lp-ink); }
.wg-lp-ghead p { color:var(--lp-muted); margin: 0 0 6px; }
.wg-lp-gsec { font-size: .9rem; font-weight: 700; color:var(--lp-ink); margin: 18px 0 10px; }
.wg-lp-gcards { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 640px) { .wg-lp-gcards { grid-template-columns: 1fr 1fr; } }
.wg-lp-gcard { border:1px solid var(--lp-line); border-radius: 18px; padding: 16px; background:var(--lp-white); box-shadow: var(--lp-shadow); display: flex; flex-direction: column; }
.wg-lp-gcard-ic { width: 40px; height: 40px; border-radius: 12px; background:var(--gaccbg, var(--wg-tint)); color:var(--gacc, var(--wg-color-ink)); display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 800; margin-bottom: 10px; }
.wg-lp-gcard h4 { margin: 0 0 4px; font-size: 1.02rem; color:var(--lp-ink); }
.wg-lp-gcard p { margin: 0 0 12px; color:var(--lp-muted); font-size: .9rem; flex: 1; }
.wg-lp-gcard-foot { display: flex; }
.wg-lp-gcard-foot .wg-lp-btn, .wg-lp-gcard-foot .wg-lp-btn2 { width: 100%; }

/* Chooser feature button */
.wg-lp-gfeature { display: block; width: 100%; text-align: left; border:1px solid var(--lp-green); background:var(--lp-soft); border-radius: 14px; padding: 13px 15px; margin: 0 0 12px; cursor: pointer; }
.wg-lp-gfeature strong { display: block; color:var(--lp-deep); font-size: 1rem; }
.wg-lp-gfeature span { display: block; color:var(--lp-green2); font-size: .84rem; margin-top: 2px; }

/* Wizard */
.wg-lp-gwizmodal { max-width: 560px; }
.wg-lp-gwiz-bars { display: flex; gap: 5px; margin: 6px 0 16px; }
.wg-lp-gwiz-body { min-height: 180px; }
.wg-lp-gwiz-q h3, .wg-lp-gwiz-intro h3, .wg-lp-gwiz-prev h3 { font-size: 1.15rem; margin: 0 0 6px; color:var(--lp-ink); }
.wg-lp-gwiz-hint { color:var(--lp-muted); font-size: .88rem; margin: 0 0 14px; }
.wg-lp-gwiz-boundary { display: grid; gap: 10px; margin: 14px 0; }
@media (min-width: 560px) { .wg-lp-gwiz-boundary { grid-template-columns: 1fr 1fr; } }
.wg-lp-gwiz-boundary > div { border:1px solid var(--lp-line); border-radius: 12px; padding: 11px 13px; background:var(--lp-paper); }
.wg-lp-gwiz-boundary strong { color:var(--lp-ink); font-size: .9rem; }
.wg-lp-gwiz-boundary p { margin: 4px 0 0; color:var(--lp-muted); font-size: .84rem; }
.wg-lp-gwiz-trust { display: flex; gap: 6px; align-items: flex-start; color:var(--lp-green2); font-size: .84rem; margin: 12px 0 0; }
.wg-lp-gwiz-trust::before { content: "\2713"; font-weight: 800; }
.wg-lp-gopts { display: flex; flex-direction: column; gap: 8px; }
.wg-lp-gopt { display: flex; align-items: center; gap: 10px; text-align: left; border:1px solid var(--lp-line); background:var(--lp-white); border-radius: 12px; padding: 12px 14px; cursor: pointer; font-size: .95rem; color:var(--lp-ink); min-height: 46px; transition: border-color .15s, background .15s; }
.wg-lp-gopt:hover { border-color:#b9cec3; }
.wg-lp-gopt-tick { width: 20px; height: 20px; border-radius: 6px; border:2px solid #cdddd4; flex-shrink: 0; position: relative; }
.wg-lp-gopt.is-on { border-color:var(--lp-green); background:var(--lp-soft); color:var(--lp-deep); font-weight: 600; }
.wg-lp-gopt.is-on .wg-lp-gopt-tick { background:var(--lp-green); border-color:var(--lp-green); }
.wg-lp-gopt.is-on .wg-lp-gopt-tick::after { content: "\2713"; color: var(--wg-on-brand); position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: .72rem; font-weight: 800; }
.wg-lp-gdate { width: 100%; }
.wg-lp-gloc { width: 100%; margin-bottom: 8px; }
.wg-lp-gchips { display: flex; flex-wrap: wrap; gap: 6px; }
.wg-lp-gwiz-foothint { font-size: .8rem; color:var(--lp-muted); align-self: center; flex: 1; text-align: center; }
.wg-lp-gwiz-rems { margin-top: 14px; border-top:1px solid var(--lp-line); padding-top: 12px; }
.wg-lp-gwiz-rems strong { font-size: .85rem; color:var(--lp-ink); }
.wg-lp-gwiz-rems ul { margin: 6px 0 0; padding-left: 18px; color:var(--lp-muted); font-size: .88rem; }

/* Steps (shared: preview, checklist, overview) */
.wg-lp-gsteps { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wg-lp-gstep { border:1px solid var(--lp-line); border-radius: 14px; padding: 13px 15px; background:var(--lp-white); display: flex; gap: 12px; }
.wg-lp-gstep-main { flex: 1; min-width: 0; }
.wg-lp-gstep h4 { margin: 6px 0 3px; font-size: .98rem; color:var(--lp-ink); }
.wg-lp-gstep p { margin: 0 0 4px; color:var(--lp-muted); font-size: .88rem; }
.wg-lp-gstep-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wg-lp-gstep-src { font-size: .76rem; color:var(--lp-muted); }
.wg-lp-gstep-why { display: block; font-style: italic; color:var(--lp-green2); font-size: .84rem; }
.wg-lp-gchip { font-size: .72rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; background:var(--wg-tint); color:var(--wg-muted); text-transform: uppercase; letter-spacing: .03em; }
.wg-lp-cls-action { background:var(--wg-warn-tint); color:var(--wg-warn-ink); }
.wg-lp-cls-prepare { background:var(--wg-info-tint); color:var(--wg-info-ink); }
.wg-lp-cls-info { background:var(--wg-tint); color:var(--wg-color-ink); }
.wg-lp-gstep-links { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin-top: 8px; font-size: .82rem; }
.wg-lp-gstep-links a { color:var(--lp-green); }
.wg-lp-gstep-checked, .wg-lp-gstep-at { color:var(--lp-muted); }
.wg-lp-gstep-tick { width: 30px; height: 30px; flex-shrink: 0; border-radius: 50%; border:2px solid #cdddd4; background:var(--lp-white); cursor: pointer; font-size: .85rem; color:var(--lp-muted); display: flex; align-items: center; justify-content: center; }
.wg-lp-gstep.is-done { background:var(--wg-tint); }
.wg-lp-gstep.is-done .wg-lp-gstep-tick { background:#398363; border-color:#398363; color: var(--wg-on-scrim); }
.wg-lp-gstep.is-skipped { background:var(--wg-surface); }
.wg-lp-gstep.is-skipped .wg-lp-gstep-tick { background:var(--wg-surface); border-color:var(--wg-border); color:var(--wg-muted); }
.wg-lp-gstep.is-skipped .wg-lp-gstep-main h4, .wg-lp-gstep.is-skipped .wg-lp-gstep-main p { opacity: .62; }

/* Detail: hero + status strip */
/* In-app document scanner (embedded /explain in a bottom sheet) */
.wg-lp-scanwrap { margin: 6px -4px 0; }
.wg-lp-scaniframe { width: 100%; height: 62vh; max-height: 560px; border:0; display: block; background:var(--lp-paper); border-radius: 12px; }
/* The sheet's own bold "Add to LifePass" button, below the scanner. */
.wg-lp-scanadd { width: 100%; margin-top: 12px; font-size: 1rem; padding: 13px; }
.wg-lp-scanadd:disabled { opacity: .5; cursor: default; }
.wg-lp-scanhint { margin: 8px 0 0; text-align: center; font-size: .82rem; color:var(--lp-muted); }
/* Scan confirm modal (name the document + choose a journey), LifePass-native. */
.wg-lp-scconf-ov { position: fixed; inset: 0; background:rgba(20,40,32,.5); display: flex; align-items: flex-end; justify-content: center; z-index: 1200; padding: 0; }
.wg-lp-scconf { background:var(--lp-white); width: 100%; max-width: 480px; border-radius: 20px 20px 0 0; padding: 18px 18px calc(18px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 30px rgba(0,0,0,.18); }
@media (min-width: 560px) { .wg-lp-scconf-ov { align-items: center; } .wg-lp-scconf { border-radius: 18px; } }
.wg-lp-scconf-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.wg-lp-scconf-h h3 { margin: 0; font-size: 1.1rem; color:var(--lp-ink); }
.wg-lp-scconf-x { background:none; border:none; font-size: 1.7rem; line-height: 1; color:var(--lp-muted); cursor: pointer; padding: 0 4px; }
.wg-lp-scform-l { display: block; font-size: .8rem; font-weight: 600; color:var(--lp-green2); margin: 12px 0 5px; }
.wg-lp-scform-in { width: 100%; box-sizing: border-box; padding: 11px 13px; border:1px solid var(--lp-line); border-radius: 12px; font-size: .95rem; background:var(--lp-white); color:var(--lp-ink); }
.wg-lp-scform-in:focus { outline:none; border-color:var(--lp-green2); box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(51,128,94,.2)); }
.wg-lp-scform-btns { display: flex; gap: 10px; margin-top: 18px; }
.wg-lp-scform-btns .wg-lp-btn2 { flex: 0 0 auto; }
.wg-lp-scform-btns .wg-lp-btn { flex: 1; }
.wg-lp-scform-go:disabled { opacity: .6; cursor: default; }
.wg-lp-gdetail-nav { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 6px; }
.wg-lp-gallj { white-space: nowrap; }
.wg-lp-ghero { display: flex; align-items: center; gap: 12px; border-radius: 18px; padding: 16px; color: var(--wg-on-scrim); background: linear-gradient(135deg, var(--gg1, #1c6348), var(--gg2, #32805f)); margin-bottom: 12px; }
.wg-lp-ghero-ic { width: 42px; height: 42px; border-radius: 12px; background:rgba(255,255,255,.2); display: inline-flex; align-items: center; justify-content: center; font-size: 1.2rem; font-weight: 800; }
.wg-lp-ghero-eyebrow { font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; opacity: .85; }
.wg-lp-ghero h2 { margin: 2px 0 0; font-size: 1.2rem; }
.wg-lp-gpill { margin-left: auto; font-size: .74rem; font-weight: 700; padding: 4px 11px; border-radius: 99px; background:rgba(255,255,255,.22); }
.wg-lp-gstrip { display: flex; align-items: center; gap: 16px; border:1px solid var(--lp-line); border-radius: 16px; padding: 14px 16px; background:var(--lp-white); margin-bottom: 12px; }
.wg-lp-gring { --fill: 0%; width: 62px; height: 62px; border-radius: 50%; flex-shrink: 0; background: conic-gradient(#3b8c68 var(--fill), var(--lp-soft) 0); display: flex; align-items: center; justify-content: center; position: relative; }
.wg-lp-gring::before { content: ""; position: absolute; inset: 6px; background:var(--lp-white); border-radius: 50%; }
.wg-lp-gring span { position: relative; font-size: .78rem; font-weight: 700; color:var(--lp-deep); }
.wg-lp-gstrip-tx { flex: 1; min-width: 0; }
.wg-lp-gstrip-tx strong { display: block; font-size: .92rem; color:var(--lp-ink); margin-bottom: 8px; }
.wg-lp-gstrip-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }

/* Detail: merged "update your answers" card + manage-journey link */
.wg-lp-gupd { border:1px solid var(--lp-line); border-radius: 16px; background:var(--lp-white); margin-bottom: 12px; overflow: hidden; }
.wg-lp-gupd-main { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; background:transparent; border:none; padding: 14px 16px; cursor: pointer; transition: background var(--wg-ease-out, .2s); }
.wg-lp-gupd-main:hover { background:var(--lp-soft); }
.wg-lp-gupd-ic { width: 44px; height: 44px; border-radius: 13px; background:var(--lp-green); color:var(--wg-raised); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.wg-lp-gupd-tx { flex: 1; min-width: 0; }
.wg-lp-gupd-eye { display: block; font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; color:var(--lp-green2); font-weight: 700; }
.wg-lp-gupd-tx strong { display: block; font-size: 1.05rem; color:var(--lp-ink); margin: 2px 0 2px; font-weight: 700; }
.wg-lp-gupd-tx small { display: block; font-size: .8rem; color:var(--lp-muted); line-height: 1.4; }
.wg-lp-gupd-chev { color:var(--lp-muted); font-size: 1.5rem; font-weight: 400; flex: none; }
.wg-lp-gupd-foot { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 16px; border-top:1px solid var(--lp-line); }
.wg-lp-gupd-prog { font-size: .78rem; color:var(--lp-green2); font-weight: 600; }
.wg-lp-gmanage { display: inline-flex; align-items: center; gap: 6px; background:transparent; border:none; color:var(--lp-green); font-weight: 600; font-size: .84rem; cursor: pointer; padding: 4px; min-height: 32px; }
.wg-lp-gmanage:hover { color:var(--lp-deep); }
.wg-lp-gmanage svg { flex: none; }
/* Manage-journey sheet */
.wg-lp-mng-eye { font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; color:var(--lp-muted); font-weight: 700; margin: 0 0 6px; }
.wg-lp-mng-item { display: flex; align-items: center; gap: 13px; width: 100%; text-align: left; background:transparent; border:none; border-top:1px solid var(--lp-line); padding: 15px 4px; font-size: .95rem; color:var(--lp-ink); cursor: pointer; }
.wg-lp-mng-item:first-of-type { border-top:none; }
.wg-lp-mng-item:hover { background:var(--lp-soft); }
.wg-lp-mng-item svg { flex: none; color:var(--lp-green2); }
.wg-lp-mng-danger { color:var(--wg-danger-ink); }
.wg-lp-mng-danger svg { color:var(--wg-danger-ink); }

/* Ask for help — button on the journey detail */
.wg-lp-ghelp { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; border:1px solid var(--lp-line); border-radius: 16px; background:var(--lp-white); padding: 13px 16px; margin-bottom: 14px; cursor: pointer; transition: background var(--wg-ease-out, .2s), box-shadow var(--wg-ease-out, .2s); }
.wg-lp-ghelp:hover { background:var(--lp-soft); box-shadow: 0 3px 12px rgba(22,57,39,.08); }
.wg-lp-ghelp-ic { width: 42px; height: 42px; border-radius: 13px; background:var(--wg-tint); color:var(--lp-green); display: inline-flex; align-items: center; justify-content: center; flex: none; }
.wg-lp-ghelp-tx { flex: 1; min-width: 0; }
.wg-lp-ghelp-tx strong { display: block; font-size: 1rem; color:var(--lp-ink); font-weight: 700; }
.wg-lp-ghelp-tx small { display: block; font-size: .8rem; color:var(--lp-muted); line-height: 1.4; margin-top: 1px; }
.wg-lp-ghelp-bub { flex: none; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background:#e0574f; color: var(--wg-on-scrim); font-size: .74rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
/* Ask for help — sheet */
.wg-lp-help-privacy { display: flex; align-items: flex-start; gap: 8px; font-size: .82rem; color:var(--lp-green2); background:var(--wg-tint); border-radius: 12px; padding: 10px 12px; margin: 0 0 12px; line-height: 1.45; }
.wg-lp-help-privacy svg { flex: none; margin-top: 1px; color:var(--lp-green); }
.wg-lp-help-ta { width: 100%; border:1px solid var(--lp-line); border-radius: 12px; padding: 11px 13px; font: inherit; font-size: .95rem; color:var(--lp-ink); resize: vertical; min-height: 92px; background:var(--lp-white); }
.wg-lp-help-ta:focus { outline:none; border-color:var(--lp-green); box-shadow: var(--wg-focus-ring, 0 0 0 3px rgba(59,140,104,.2)); }
.wg-lp-help-post { margin-top: 10px; width: 100%; border:none; border-radius: 12px; background:var(--lp-green); color:var(--wg-raised); font-weight: 700; font-size: .95rem; padding: 12px; cursor: pointer; transition: background var(--wg-ease-out, .2s); }
.wg-lp-help-post:hover { background:var(--lp-deep); }
.wg-lp-help-post:disabled { opacity: .6; cursor: default; }
.wg-lp-help-yh { font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; color:var(--lp-muted); font-weight: 700; margin: 20px 0 8px; }
.wg-lp-help-empty { font-size: .86rem; color:var(--lp-muted); margin: 6px 0; }
.wg-lp-help-list { list-style: none; margin: 0; padding: 0; }
/* Each question is ONE horizontal row: text on the left, replies + chevron on
   the right (not a stacked column). */
.wg-lp-help-row { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background:var(--lp-white); border:1px solid var(--lp-line); border-radius: 13px; padding: 11px 12px; margin-bottom: 8px; cursor: pointer; transition: background var(--wg-ease-out, .2s), border-color var(--wg-ease-out, .2s); }
.wg-lp-help-row:hover { background:var(--lp-soft); }
.wg-lp-help-row.is-unread { border-color:#f0b8b4; background:var(--wg-danger-tint); }
.wg-lp-help-dot { flex: none; width: 9px; height: 9px; border-radius: 50%; background:#e0574f; }
.wg-lp-help-rmain { flex: 1 1 auto; min-width: 0; }
.wg-lp-help-q { display: block; font-size: .92rem; color:var(--lp-ink); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-lp-help-time { display: block; font-size: .76rem; color:var(--lp-muted); margin-top: 2px; }
.wg-lp-help-side { flex: none; display: flex; align-items: center; gap: 6px; }
.wg-lp-help-rep { font-size: .76rem; font-weight: 700; color:var(--lp-green2); background:var(--wg-tint); border-radius: 99px; padding: 3px 9px; white-space: nowrap; }
.wg-lp-help-rep.is-pending { color:var(--wg-warn-ink); background:var(--wg-warn-tint); }
.wg-lp-help-rep.is-none { color:var(--lp-muted); background:var(--lp-paper); font-weight: 600; }
.wg-lp-help-rep.is-new { color: var(--wg-on-scrim); background:#e0574f; }
.wg-lp-help-rep.is-read { color:var(--lp-muted); background:var(--lp-paper); font-weight: 600; }
.wg-lp-help-side .wg-lp-gupd-chev { font-size: 1.3rem; }
/* Tall sheet (Ask for help): stretch to ~95% of the screen, header fixed,
   body scrolls, list fills the remaining height. */
.wg-lp-modal-tall { height: 95dvh; max-height: 95dvh; display: flex; flex-direction: column; overflow: hidden; }
.wg-lp-modal-tall > .wg-lp-wiz-meta { flex: 0 0 auto; }
.wg-lp-modal-tall > #wg-lp-sheet-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; display: flex; flex-direction: column; }
.wg-lp-modal-tall .wg-lp-help { flex: 1 1 auto; display: flex; flex-direction: column; }
.wg-lp-modal-tall #wg-lp-help-listwrap { flex: 1 1 auto; }

/* Connected live-reference lists (job applications, saved posts, saved places) */
.wg-lp-connlist { display: flex; flex-direction: column; gap: 8px; margin-bottom: 6px; }
.wg-lp-connrow { display: flex; align-items: center; gap: 10px; background:var(--wg-raised); border:1px solid var(--lp-line); border-radius: 13px; padding: 11px 13px; text-decoration: none; color:var(--lp-ink); }
.wg-lp-connrow:hover { background:var(--lp-soft); }
.wg-lp-connrow-tx { flex: 1; min-width: 0; }
.wg-lp-connrow-tx strong { display: block; font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-lp-connrow-tx small { display: block; color:var(--lp-muted); font-size: .78rem; margin-top: 1px; }
.wg-lp-connrow b { color:var(--lp-muted); font-weight: 400; font-size: 1.15rem; }

/* Overview v2 (audit): compact rows for the top-relevant cards + a collapsed
   "more information" fold, so the member never has to tour every tab. */
.wg-lp-govrow { display: flex; align-items: center; gap: 8px; width: 100%; text-align: left; font: inherit; background:none; border:0; border-top:1px solid var(--lp-line); padding: 10px 2px; cursor: pointer; color:var(--lp-ink); }
.wg-lp-govrow:first-of-type { border-top:0; }
.wg-lp-govrow:hover { background:var(--lp-soft); }
.wg-lp-govrow-tx { flex: 1; min-width: 0; font-size: .9rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wg-lp-govrow b { color:var(--lp-muted); font-weight: 400; font-size: 1.1rem; }
.wg-lp-govmore > summary { cursor: pointer; color:var(--lp-green2); font-size: .84rem; font-weight: 600; padding: 10px 2px 6px; list-style: none; }
.wg-lp-govmore > summary::-webkit-details-marker { display: none; }
/* Wizard: saved-profile notice + per-journey opt-out */
.wg-lp-gwiz-prof { background:var(--lp-soft); border:1px solid var(--lp-line); border-radius: 12px; padding: 10px 13px; margin: 12px 0; }
.wg-lp-gwiz-prof p { margin: 0 0 4px; font-size: .86rem; color:var(--lp-ink); }
/* Stale fact: the value is withheld, only the notice shows */
.wg-lp-ginfo-fact-stale { font-style: normal; color:var(--wg-warn-ink); font-weight: 600; }

/* Detail: tabs */
.wg-lp-gtabs { display: flex; gap: 4px; padding: 4px; background:var(--wg-tint); border-radius: 99px; margin-bottom: 14px; overflow-x: auto; }
.wg-lp-gtab { flex: 1; white-space: nowrap; border:0; background:transparent; border-radius: 99px; padding: 8px 12px; cursor: pointer; font-size: .84rem; color:var(--wg-muted); }
.wg-lp-gtab.is-on { background:var(--lp-white); color:var(--lp-green); font-weight: 700; box-shadow: 0 1px 5px rgba(22,57,39,.12); }
.wg-lp-gcardbox { border:1px solid var(--lp-line); border-radius: 16px; padding: 15px 16px; background:var(--lp-white); margin-bottom: 12px; }
/* Captured outcome (coverage result) card + capture form */
.wg-lp-goc { border:1px solid var(--lp-line); border-radius: 16px; padding: 15px 16px; background:var(--lp-white); margin-bottom: 12px; border-left:4px solid #cdd8d1; }
.wg-lp-goc.is-confirmed { border-left-color:#3b8c68; background:var(--wg-tint); }
.wg-lp-goc.is-reported { border-left-color:#e0a33a; background:var(--wg-warn-tint); }
.wg-lp-goc.is-empty { border-left-color:#cdd8d1; }
.wg-lp-goc-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 8px; }
.wg-lp-goc-head strong { font-size: 1.02rem; color:var(--lp-ink); }
.wg-lp-goc-badge { font-size: .72rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; background:var(--wg-surface); color:var(--wg-muted); }
.wg-lp-goc.is-confirmed .wg-lp-goc-badge { background:var(--wg-tint); color:var(--wg-color-ink); }
.wg-lp-goc.is-reported .wg-lp-goc-badge { background:var(--wg-warn-tint); color:var(--wg-warn-ink); }
.wg-lp-goc .wg-lp-btn, .wg-lp-goc .wg-lp-btn2 { margin-top: 10px; }
.wg-lp-ocf { margin: 0 0 14px; }
.wg-lp-ocf-l { display: block; font-size: .86rem; font-weight: 600; color:var(--lp-ink); margin-bottom: 7px; }
.wg-lp-ocf-opt { font-weight: 400; font-size: .76rem; color:var(--lp-muted); }
.wg-lp-ocopts { display: flex; flex-direction: column; gap: 7px; }
.wg-lp-ocf input.wg-lp-in { width: 100%; }
.wg-lp-gmuted { color:var(--lp-muted); font-size: .88rem; }
.wg-lp-gdone { color:var(--lp-green2); font-weight: 600; }
.wg-lp-ganswers { margin: 8px 0 12px; }
.wg-lp-ganswers dt { font-size: .82rem; color:var(--lp-muted); margin-top: 8px; }
.wg-lp-ganswers dd { margin: 2px 0 0; color:var(--lp-ink); font-size: .92rem; }

/* Checklist head + bar */
.wg-lp-gckhead { margin-bottom: 10px; }
.wg-lp-gbar { height: 6px; background:var(--wg-tint); border-radius: 99px; overflow: hidden; margin-top: 8px; }
.wg-lp-gbar i { display: block; height: 100%; background:#398363; border-radius: 99px; }

/* Reminders */
.wg-lp-grems { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.wg-lp-grem { border:1px solid var(--lp-line); border-radius: 14px; padding: 13px 15px; background:var(--lp-white); display: flex; align-items: center; gap: 12px; }
.wg-lp-grem-main { flex: 1; min-width: 0; }
.wg-lp-grem-main h4 { margin: 0 0 3px; font-size: .95rem; color:var(--lp-ink); }
.wg-lp-grem-st { font-size: .82rem; color:var(--lp-muted); }
.wg-lp-grem-delivered .wg-lp-grem-st { color:var(--lp-green2); font-weight: 600; }
.wg-lp-grem-failed .wg-lp-grem-st { color:var(--lp-red, var(--wg-danger-ink)); font-weight: 600; }
.wg-lp-grem-btns { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.wg-lp-grm-add { margin-top: 10px; }
.wg-lp-gevs { margin-top: 6px; }
.wg-lp-grems + .wg-lp-eyebrow { margin-top: 16px; }
.wg-lp-gboundary { margin-top: 14px; color:var(--lp-muted); font-size: .82rem; border-top:1px solid var(--lp-line); padding-top: 12px; }

/* Good to know: sourced guidance cards */
.wg-lp-ginfos { display: flex; flex-direction: column; gap: 12px; }
.wg-lp-ginfo { border:1px solid var(--lp-line); border-left:3px solid #cfe0d6; border-radius: 14px; padding: 14px 16px; background:var(--lp-white); }
.wg-lp-ginfo-info { border-left-color:#4f9d78; }
.wg-lp-ginfo-warning { border-left-color:#e0a33a; background:var(--wg-warn-tint); }
.wg-lp-ginfo-tip { border-left-color:#3b8c68; background:var(--wg-tint); }
.wg-lp-ginfo-h { display: flex; align-items: flex-start; gap: 9px; }
.wg-lp-ginfo-ic { font-size: 1rem; line-height: 1.5; flex-shrink: 0; }
.wg-lp-ginfo-h h4 { margin: 0; font-size: .98rem; color:var(--lp-ink); }
.wg-lp-ginfo-b { margin: 7px 0 0; color:var(--lp-ink); font-size: .9rem; line-height: 1.5; }
.wg-lp-ginfo-confirm { margin: 9px 0 0; font-size: .82rem; color:var(--lp-green2); }
.wg-lp-ginfo-q { margin: 10px 0 0; }
.wg-lp-ginfo-q > summary { cursor: pointer; font-size: .78rem; color:var(--lp-muted); font-weight: 600; list-style: none; display: inline-flex; align-items: center; gap: 5px; }
.wg-lp-ginfo-q > summary::-webkit-details-marker { display: none; }
.wg-lp-ginfo-q > summary::before { content: "▸"; font-size: .7rem; }
.wg-lp-ginfo-q[open] > summary::before { content: "▾"; }
.wg-lp-ginfo-q blockquote { margin: 7px 0 0; padding: 9px 12px; background:var(--wg-tint); border-radius: 10px; font-size: .86rem; color:var(--wg-color-ink); font-style: italic; }
.wg-lp-ginfo-q cite { display: block; margin-top: 5px; font-style: normal; font-size: .76rem; color:var(--lp-muted); font-weight: 600; }
.wg-lp-ginfo-lang { display: inline-block; font-style: normal; font-size: .66rem; font-weight: 700; letter-spacing: .04em; color:var(--wg-muted); background:var(--wg-tint); border-radius: 5px; padding: 1px 5px; vertical-align: middle; }
.wg-lp-ginfo-src { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 10px; font-size: .8rem; }
.wg-lp-ginfo-src a { color:var(--lp-green); font-weight: 600; }
.wg-lp-ginfo-src span { color:var(--lp-muted); }
/* Dated facts: year-dependent figures pulled from the registry, each with a checked date. */
.wg-lp-ginfo-facts { margin: 10px 0 0; display: flex; flex-direction: column; gap: 7px; }
.wg-lp-ginfo-fact { padding: 8px 11px; background:var(--wg-tint); border:1px solid var(--wg-border-soft); border-left:3px solid var(--lp-green); border-radius: 10px; }
.wg-lp-ginfo-fact-l { display: block; font-size: .76rem; color:var(--lp-muted); font-weight: 600; }
.wg-lp-ginfo-fact-v { display: block; margin-top: 1px; font-size: .95rem; font-weight: 700; color:var(--lp-ink); }
.wg-lp-ginfo-fact-u { font-size: .76rem; font-weight: 600; color:var(--lp-muted); }
.wg-lp-ginfo-fact-c { display: block; margin-top: 3px; font-size: .72rem; color:var(--lp-muted); }
.wg-lp-ginfo-fact.is-stale { border-left-color:#d99a2b; background:var(--wg-warn-tint); border-color:#f0e2c4; }
.wg-lp-ginfo-fact.is-stale .wg-lp-ginfo-fact-c { color:var(--wg-warn-ink); font-weight: 600; }
/* Journeys list (compact): header + underline filter tabs + accent rows. */
.wg-lp-jphead { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 4px 0 12px; }
.wg-lp-jphead h3 { margin: 2px 0 0; }
.wg-lp-jpadd { padding: 6px 12px; font-size: .82rem; white-space: nowrap; }
.wg-lp-jptabs { display: flex; gap: 18px; border-bottom:1px solid var(--lp-line); margin-bottom: 12px; overflow-x: auto; }
.wg-lp-jptab { background:none; border:0; padding: 0 0 9px; font-size: .88rem; color:var(--lp-muted); cursor: pointer; white-space: nowrap; border-bottom:2px solid transparent; margin-bottom: -1px; }
.wg-lp-jptab.is-on { color:var(--lp-ink); font-weight: 600; border-bottom-color:var(--lp-green); }
.wg-lp-jptabn { color:var(--lp-muted); font-weight: 400; font-size: .82rem; }
.wg-lp-jprows { display: flex; flex-direction: column; gap: 8px; }
.wg-lp-jprow { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; font: inherit; background:var(--wg-raised); border:1px solid var(--lp-line); border-left:3px solid var(--lp-green); border-radius: 0 11px 11px 0; padding: 11px 12px; cursor: pointer; transition: background .15s ease, border-color .15s ease; }
.wg-lp-jprow:hover, .wg-lp-jprow:focus-visible { background:var(--wg-tint); outline:none; }
.wg-lp-jprow.is-paused { border-left-color:var(--lp-amber); }
.wg-lp-jprow.is-completed { border-left-color:#b7c4bd; }
.wg-lp-jprow-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.wg-lp-jprow-tx strong { font-size: .96rem; font-weight: 600; color:var(--lp-ink); overflow-wrap: anywhere; }
.wg-lp-jprow-tx small { font-size: .8rem; color:var(--lp-muted); }
.wg-lp-jprow-st { font-size: .76rem; color:var(--lp-green2); flex-shrink: 0; }
.wg-lp-jprow.is-paused .wg-lp-jprow-st { color:var(--lp-amber); }
.wg-lp-jprow.is-completed .wg-lp-jprow-st { color:var(--lp-muted); }
.wg-lp-jprow-chev { color:var(--lp-muted); font-size: 1.1rem; flex-shrink: 0; line-height: 1; }
/* Reply-waiting badge: a journey with an unread Ask-for-help reply. */
.wg-lp-jprow.has-help { border-left-color:#e0574f; }
.wg-lp-jprow-bub, .wg-lp-jcard-bub {
  flex: none; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px;
  background:#e0574f; color: var(--wg-on-scrim); font-size: .74rem; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
/* Top-right, just left of the ⋯ menu (which owns the very corner). */
.wg-lp-jcard-bub { position: absolute; top: 6px; right: 32px; z-index: 1; box-shadow: 0 1px 3px rgba(0,0,0,.18); }
.wg-lp-jcard.has-help { border-color:#f0b8b4; }
/* Turn a good-to-know into a checklist item or a reminder. */
.wg-lp-ginfo-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.wg-lp-ginfo-act { font-size: .84rem; padding: 7px 12px; }
/* User-added checklist steps read a touch softer than sourced catalog steps. */
.wg-lp-gstep.is-user { border-style: dashed; }
.wg-lp-gstep-del { color:#b4664f !important; }
/* Overview "good to know" call-to-action */
.wg-lp-glearncta { display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; border:1px solid var(--wg-border-soft); background:var(--wg-tint); border-radius: 14px; padding: 13px 15px; margin-bottom: 12px; cursor: pointer; }
.wg-lp-glearncta-ic { font-size: 1.15rem; flex-shrink: 0; }
.wg-lp-glearncta-tx { flex: 1; min-width: 0; }
.wg-lp-glearncta-tx strong { display: block; font-size: .92rem; color:var(--lp-ink); }
.wg-lp-glearncta-tx small { color:var(--lp-muted); font-size: .82rem; }
.wg-lp-glearncta b { color:var(--lp-green); font-size: 1.1rem; }
/* Wizard preview "good to know" teaser */
.wg-lp-gwiz-learn { display: flex; gap: 11px; align-items: flex-start; margin-top: 14px; padding: 12px 14px; background:var(--wg-tint); border:1px solid var(--wg-border-soft); border-radius: 12px; }
.wg-lp-gwiz-learn-ic { font-size: 1.1rem; flex-shrink: 0; }
.wg-lp-gwiz-learn strong { display: block; font-size: .9rem; color:var(--lp-ink); }
.wg-lp-gwiz-learn p { margin: 3px 0 0; font-size: .82rem; color:var(--lp-muted); }

/* Records + danger */
.wg-lp-glinks { list-style: none; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 6px; font-size: .9rem; color:var(--lp-ink); }
.wg-lp-glinklist { display: flex; flex-direction: column; gap: 6px; }
.wg-lp-gdanger { border:1px solid #f0d8d3; background:var(--wg-danger-tint); border-radius: 16px; padding: 15px 16px; margin-top: 6px; }
.wg-lp-gdanger strong { color:var(--wg-danger-ink); font-size: .95rem; }
.wg-lp-gdanger p { color:#a5675f; font-size: .84rem; margin: 4px 0 12px; }

/* Guided chooser: option icons (Custom pinned first, then guided journeys) */
.wg-lp-opt-ic { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 8px; background:var(--gaccbg, var(--wg-tint)); color:var(--gacc, var(--wg-color-ink)); font-weight: 800; font-size: .9rem; flex-shrink: 0; }
.wg-lp-opt-custom .wg-lp-opt-ic { background:var(--lp-soft); color:var(--lp-green); }

/* Start-here lead card (design C): a plain quiet card - white, hairline
   border, no gradient or pill, no summary. The journey accent colors only
   the eyebrow and the Start chip. Whole card is the button. */
.wg-lp-leadcard {
  display: block; width: 100%; text-align: left; font: inherit; cursor: pointer;
  background:var(--wg-raised); border:1px solid var(--wg-border-soft); border-radius: 14px;
  padding: 13px 14px; margin: 2px 0 12px;
  transition: border-color .18s ease, background .18s ease;
}
.wg-lp-leadcard:hover { border-color:#b7d8c6; background:var(--gaccbg, var(--wg-tint)); }
.wg-lp-lead-eyebrow {
  display: block; font-size: .68rem; font-weight: 800; letter-spacing: .07em;
  text-transform: uppercase; color:var(--gacc, var(--wg-color-ink));
}
.wg-lp-lead-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; }
.wg-lp-lead-t { flex: 1; min-width: 0; font-size: .98rem; line-height: 1.3; color:var(--wg-text); }
.wg-lp-lead-why { display: block; font-size: .76rem; color:var(--wg-muted); margin-top: 2px; }
.wg-lp-lead-go {
  display: inline-block; font-size: .82rem; font-weight: 700; color:var(--gacc, var(--wg-color-ink));
  border:1px solid var(--wg-border-soft); border-radius: 999px; padding: 5px 13px; background:var(--wg-raised);
}
/* Detected-reminder section inside the scan confirm */
.wg-lp-scconf-ev { margin-top: 12px; padding: 12px; border:1px solid var(--lp-line); border-radius: 12px; background:var(--lp-paper); }
.wg-lp-scconf-evon { display: flex; align-items: center; gap: 8px; color:var(--lp-ink); cursor: pointer; margin-bottom: 4px; }
.wg-lp-scconf-evon input { width: 18px; height: 18px; accent-color: var(--lp-deep); }

/* Documents view: In LifePass / Document Helper tabs + per-row filing */
.wg-lp-doctabs { display: flex; gap: 5px; margin: 4px 0 12px; padding: 3px; background:var(--lp-paper); border:1px solid var(--lp-line); border-radius: 12px; }
.wg-lp-doctab { flex: 1; border:0; background:transparent; padding: 7px 6px; border-radius: 9px; font-weight: 600; font-size: .82rem; color:var(--lp-muted); cursor: pointer; min-height: 36px; }
.wg-lp-doctab.is-on { background:var(--wg-raised); color:var(--lp-deep); box-shadow: 0 2px 10px rgba(22, 57, 39, .08); }
.wg-lp-docrow-file { margin: 2px 0 0; }

/* Ask LifePass: the sheet opens tall, so the answer renders in space the
   member can already see - never below the fold of a bottom-hugging sheet. */
#wg-lp-askr-out { flex: 1 1 auto; min-height: 180px; }
.wg-lp-askrq h4 { margin: 4px 0 6px; font-size: 1rem; }

/* Ask -> community composer: the question is already typed; posting is one tap. */
.wg-lp-askpost { margin-top: 10px; }
.wg-lp-askpost textarea { margin-top: 8px; min-height: 74px; resize: vertical; }

/* Clarify question sits directly above the answer box. */
#wg-lp-askr-top .wg-lp-gcardbox { margin-bottom: 12px; }
/* Soft-block option rows (founder design pick, 2026-08-19): borderless rows
   on the paper tone, a solid icon dot, stacked title + description - one row
   geometry for every door in the chooser. */
.wg-lp-opt.wg-lp-soft { background:var(--lp-paper); border:0; border-radius: 15px; gap: 13px; }
.wg-lp-opt.wg-lp-soft:hover { background:var(--lp-soft); }
.wg-lp-opt.wg-lp-soft .wg-lp-softdot {
  width: 36px; height: 36px; border-radius: 50%; background:var(--lp-deep); color:var(--wg-raised);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: .95rem; font-weight: 700; flex-shrink: 0;
}
.wg-lp-opt.wg-lp-soft .wg-lp-opt-tx strong { font-size: .93rem; }
.wg-lp-opt.wg-lp-soft .wg-lp-opt-tx small { font-size: .76rem; margin-top: 1px; }

/* Add-journey search: sits above the list, standard input look. */
.wg-lp-jsearch { margin-bottom: 4px; }

/* Sharing (Phase 1): shared banner, timeline chip, share/contact rows, trail. */
.wg-lp-shbanner { background: var(--lp-soft); color: var(--lp-deep); border-radius: 10px; padding: 8px 11px; font-size: .8rem; font-weight: 600; margin: 0 0 10px; }
.wg-lp-shchip { font-style: normal; font-size: .68rem; font-weight: 700; color: var(--lp-green); background: var(--lp-soft); border-radius: 999px; padding: 1px 7px; vertical-align: 1px; }
.wg-lp-shrow { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.wg-lp-shname { flex: 1; text-align: left; font: inherit; font-size: .92rem; background: var(--lp-paper); border: 1px solid var(--lp-line); border-radius: 12px; padding: 10px 12px; cursor: pointer; color: var(--lp-muted); }
.wg-lp-shname.is-on { border-color: var(--lp-green2); background: var(--lp-soft); color: var(--lp-ink); font-weight: 600; }
.wg-lp-shname.is-plain { cursor: default; background: #fff; color: var(--lp-ink); }
.wg-lp-shperm { font: inherit; font-size: .74rem; font-weight: 700; border: 1px solid var(--lp-line); background: #fff; border-radius: 999px; padding: 6px 11px; cursor: pointer; color: var(--lp-muted); flex-shrink: 0; }
.wg-lp-shperm.is-edit { color: var(--lp-deep); border-color: var(--lp-green2); background: var(--lp-soft); }
.wg-lp-ctlink { word-break: break-all; user-select: all; }
.wg-lp-shhist { display: flex; flex-direction: column; gap: 8px; }
.wg-lp-shhrow { background: var(--lp-paper); border-radius: 10px; padding: 9px 11px; font-size: .84rem; display: flex; flex-direction: column; gap: 2px; }
.wg-lp-shhrow time { color: var(--lp-muted); font-size: .72rem; }

/* Contacts: in-app invite by email (link stays as the second option). */
.wg-lp-ctemail { display: flex; gap: 8px; margin-top: 12px; }
.wg-lp-ctemail .wg-lp-in { flex: 1; margin: 0; }

/* Share sheet: invite-and-share for someone not yet a trusted contact. */
.wg-lp-shinv { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--lp-line); }
.wg-lp-shinv .wg-lp-in { width: 100%; box-sizing: border-box; margin-top: 8px; }
.wg-lp-shinv .wg-lp-shpermrow { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; }

/* Invite-and-share: in-flight and result feedback. */
.wg-lp-shinv .wg-lp-btn2:disabled { opacity: .6; cursor: progress; }
.wg-lp-shinv-ok { margin-top: 8px; font-size: .9rem; color: var(--lp-green2); }
.wg-lp-shinv-err { margin-top: 8px; font-size: .9rem; color: var(--lp-red); }

/* "Sound familiar?": question hooks above the benefit pillars. Each card
   names the journey that answers it, so the hook stays a real promise. */
.wg-lp-g-sf { text-align: center; padding: clamp(40px, 6vw, 72px) clamp(4px, 3vw, 40px); }
.wg-lp-g-sf .wg-lp-g-slead { max-width: 620px; margin-left: auto; margin-right: auto; }
.wg-lp-g-sfgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 26px; text-align: left; }
.wg-lp-g-sfcard {
  display: block; width: 100%; text-align: left; font: inherit; cursor: pointer;
  padding: 16px 18px; border: 1px solid var(--lp-line); border-radius: 14px;
  background: var(--lp-white); text-decoration: none; color: inherit;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.wg-lp-g-sfcard:hover { border-color: var(--lp-green2); transform: translateY(-1px); box-shadow: var(--lp-shadow); }
.wg-lp-g-sfcard:focus-visible { outline: 2px solid var(--lp-green2); outline-offset: 2px; }
.wg-lp-g-sfgrid b { display: block; font-size: .97rem; line-height: 1.45; color: var(--lp-ink); }
.wg-lp-g-sfj { display: block; margin: 8px 0 0; color: var(--lp-green2); font-size: .82rem; font-weight: 600; line-height: 1.4; }
.wg-lp-g-sfj span { opacity: .75; }
@media (prefers-reduced-motion: reduce) { .wg-lp-g-sfcard { transition: none; } .wg-lp-g-sfcard:hover { transform: none; } }
.wg-lp-g-sfmore { margin-top: 22px; color: var(--lp-muted); font-size: .88rem; }
@media (max-width: 720px) { .wg-lp-g-sfgrid { grid-template-columns: 1fr; } }

/* Good to know: admin-managed cards (From-Waegook chip + link buttons). */
.wg-lp-ginfo-from { display: inline-block; font-size: .66rem; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; color: var(--lp-green2); background: var(--lp-soft); border-radius: 99px; padding: 1px 8px; vertical-align: 2px; }
.wg-lp-ginfo-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.wg-lp-ginfo-link { text-decoration: none; }
