/* PokerPath coach v2 — Bankroll Coach (v6.9.133) and Tournament Management Coach. Founder-approved mockups 2026-10-18.
   Mobile-first; scoped to .pp-c2 so nothing leaks into the theme. Enqueued in the plugin-CSS slot (after pokerpath.css,
   BEFORE the theme + Customizer); the resets below are measured against the live theme (pp-coach-mobile-standard.md §6). */
.pp-c2 {
    --c2-bg: #0f1623; --c2-card: #0f3d3f; --c2-card-2: #134a4c; --c2-line: rgba(255,255,255,.12);
    --c2-text: #f1f5f9; --c2-text-2: #c3d1d1; --c2-muted: #9fb3b3; --c2-gold: #e8bd5c;
    --c2-safe: #4ade80; --c2-safe-bg: rgba(74,222,128,.14);
    --c2-shot: #fbbf24; --c2-shot-bg: rgba(251,191,36,.14);
    --c2-over: #fca5a5; --c2-over-bg: rgba(248,113,113,.16);
    --c2-info: #93c5fd; --c2-info-bg: rgba(147,197,253,.14);
    --c2-focus: #fde68a;
    box-sizing: border-box; max-width: 640px; margin: 0 auto; padding: 16px 16px 40px;
    background: var(--c2-bg); color: var(--c2-text);
    font: 16px/1.45 Inter, system-ui, -apple-system, 'Segoe UI', sans-serif;
    font-variant-numeric: tabular-nums; -webkit-text-size-adjust: 100%;
}
.pp-c2 *, .pp-c2 *::before, .pp-c2 *::after { box-sizing: border-box; }   /* explicit: the theme gives <details> content-box, and "inherit" passed it down */
.pp-c2 h1 { font-size: 26px; line-height: 1.2; margin: 4px 0 2px; color: var(--c2-text); font-weight: 700; letter-spacing: -.01em; }
.pp-c2 h2 { font-size: 18px; line-height: 1.3; margin: 0 0 10px; color: var(--c2-text); font-weight: 700; }
.pp-c2 p { margin: 0 0 8px; }

.pp-c2 .c2-sub { color: var(--c2-text-2); font-size: 15px; margin: 0 0 14px; }
.pp-c2 .c2-money { white-space: nowrap; font-variant-numeric: tabular-nums; }
.pp-c2 :focus-visible { outline: 3px solid var(--c2-focus); outline-offset: 2px; border-radius: 6px; }
/* Theme reset (measured on the live shell): aasta style.css gives every <button> height:3.125rem, line-height:1, 1rem text,
   letter-spacing .45px, a transition and 1.05rem 2.813rem padding; a list rule indents <ul>. :where() keeps this at one class: it beats the bare theme selectors, and every .pp-c2 .c2-* rule still wins. */
.pp-c2 :where(button) { font: inherit; color: inherit; cursor: pointer; height: auto; line-height: inherit; letter-spacing: normal; text-shadow: none; transition: none; border-radius: 0; box-shadow: none; padding: 0; background: none; border: 0; display: inline-flex; }
#pp-c2-root :where(ul, li) { margin: 0; padding: 0; list-style: none; font-size: inherit; line-height: inherit; }   /* ID: the theme's .theme-blog .post .entry-content ul/li (0,3,1) + bare li font-size */
#pp-c2-root :where(a:not(.c2-btn):not(.c2-coach):not(.pp-rp-btn)) { color: var(--c2-gold); }   /* beats the theme's later .entry-content a; r2 (v1.8): never the "How did it go?" buttons (gold on gold) */


/* cards */
.pp-c2 .c2-card { background: var(--c2-card); border: 1px solid var(--c2-line); border-radius: 14px; padding: 16px; margin: 0 0 14px; }
.pp-c2 .c2-card-flat { background: transparent; border: 0; padding: 0; }

/* status pills */
.pp-c2 .c2-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.pp-c2 .c2-pill { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 4px 12px; border-radius: 999px; font-size: 14px; font-weight: 600; }
.pp-c2 .c2-pill::before { content: ''; width: 9px; height: 9px; border-radius: 50%; background: currentColor; flex: none; }
.pp-c2 .c2-ok { color: var(--c2-safe); background: var(--c2-safe-bg); }
.pp-c2 .c2-tight { color: var(--c2-shot); background: var(--c2-shot-bg); }
.pp-c2 .c2-bad { color: var(--c2-over); background: var(--c2-over-bg); }
.pp-c2 .c2-neutral { color: var(--c2-text-2); background: rgba(255,255,255,.08); }
.pp-c2 .c2-pill b { color: var(--c2-text); font-weight: 600; }

/* key numbers */
.pp-c2 .c2-keys { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pp-c2 .c2-key { background: var(--c2-card-2); border-radius: 12px; padding: 12px; min-width: 0; }
.pp-c2 .c2-key-label { display: block; font-size: 13px; color: var(--c2-text-2); line-height: 1.3; }
.pp-c2 .c2-key-value { display: block; font-size: clamp(18px, 5.4vw, 26px); font-weight: 700; line-height: 1.15; margin-top: 4px; white-space: nowrap; }
.pp-c2 .c2-key-note { display: block; font-size: 13px; color: var(--c2-muted); margin-top: 2px; }
.pp-c2 .c2-line { font-size: 14px; color: var(--c2-text-2); margin: 12px 0 0; }
.pp-c2 .c2-line b { color: var(--c2-text); }

/* month strip — scrolls inside its own box, never the page */
.pp-c2 .c2-strip { display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; padding: 2px 2px 8px; margin: 0 -2px; }
.pp-c2 .c2-month { position: relative; flex: 0 0 68px; scroll-snap-align: start;   /* relative: its screen-reader label stays inside the strip's scroll box (it widened the page) */ background: var(--c2-card-2); border-radius: 10px; padding: 10px 8px; text-align: center; }
.pp-c2 .c2-month-name { font-size: 13px; color: var(--c2-text-2); font-weight: 600; }
.pp-c2 .c2-bar { position: relative; height: 64px; width: 22px; margin: 6px auto; background: rgba(255,255,255,.08); border-radius: 6px; overflow: hidden; }
.pp-c2 .c2-bar i { position: absolute; left: 0; right: 0; bottom: 0; border-radius: 6px; background: currentColor; }
.pp-c2 .c2-month-amt { font-size: 13px; font-weight: 700; white-space: nowrap; color: var(--c2-text); }
.pp-c2 .c2-month .c2-st { font-size: 12px; font-weight: 600; }

/* planned grid */
.pp-c2 .c2-grid4 { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--c2-line); border-radius: 12px; overflow: hidden; }
.pp-c2 .c2-grid4 > div { background: var(--c2-card-2); padding: 12px; min-width: 0; }
.pp-c2 .c2-grid4 span { display: block; font-size: 13px; color: var(--c2-text-2); }
.pp-c2 .c2-grid4 strong { display: block; font-size: 20px; white-space: nowrap; }

.pp-c2 .c2-note { font-size: 14px; color: var(--c2-text-2); background: rgba(255,255,255,.05); border-left: 3px solid var(--c2-gold); border-radius: 0 8px 8px 0; padding: 10px 12px; margin: 12px 0 0; }

/* buttons */
.pp-c2 .c2-btn { display: inline-flex; align-items: center; justify-content: center; text-align: center; line-height: 1.25; gap: 6px; min-height: 44px; min-width: 44px; padding: 10px 16px; border-radius: 10px; border: 1px solid var(--c2-line); background: rgba(255,255,255,.06); font-size: 15px; font-weight: 600; text-decoration: none; color: var(--c2-text); }
.pp-c2 .c2-btn-primary { background: var(--c2-gold); border-color: var(--c2-gold); color: #1a1405; }
.pp-c2 .c2-btn-ghost { background: transparent; }
.pp-c2 .c2-btn-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.pp-c2 .c2-btn-row .c2-btn { flex: 1 1 140px; }
.pp-c2 .c2-link-btn { background: none; border: 0; padding: 10px 0; min-height: 44px; color: var(--c2-gold); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* settings */
.pp-c2 .c2-settings { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin: 0; }
.pp-c2 .c2-settings dt { font-size: 13px; color: var(--c2-text-2); }
.pp-c2 .c2-settings dd { margin: 0; font-size: 17px; font-weight: 700; white-space: nowrap; }
.pp-c2 .c2-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.pp-c2 .c2-field label { display: block; font-size: 14px; color: var(--c2-text-2); margin-bottom: 4px; }
.pp-c2 .c2-field input { width: 100%; min-height: 48px; font-size: 16px; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.28); background: #0b2b2d; color: var(--c2-text); }
.pp-c2 .c2-field small { display: block; font-size: 13px; color: var(--c2-muted); margin-top: 4px; }
/* v6.9.136 — the unit sits inside the box ("$" before, "%" after) so nobody wonders whether to type it */
.pp-c2 .c2-unit { position: relative; display: block; }
.pp-c2 .c2-unit > span { position: absolute; top: 50%; transform: translateY(-50%); font-size: 16px; line-height: 1; color: var(--c2-text-2); pointer-events: none; }
.pp-c2 .c2-unit-pre > span { left: 12px; }
.pp-c2 .c2-unit-post > span { right: 12px; }
.pp-c2 .c2-unit-pre input { padding-left: 28px; }
.pp-c2 .c2-unit-post input { padding-right: 32px; }
.pp-c2 .c2-banner { display: flex; gap: 10px; align-items: flex-start; background: var(--c2-info-bg); color: var(--c2-text); border: 1px solid rgba(147,197,253,.45); border-radius: 12px; padding: 12px; margin: 0 0 14px; font-size: 15px; }
.pp-c2 .c2-banner b { color: var(--c2-info); }

/* chips / filters */
.pp-c2 .c2-filters { display: flex; gap: 8px; overflow-x: auto; overscroll-behavior-x: contain; padding: 2px 2px 6px; margin: 0 -2px 10px; scrollbar-width: none; }
.pp-c2 .c2-filters::-webkit-scrollbar { display: none; }
.pp-c2 .c2-filter { display: inline-flex; align-items: center; flex: none; min-height: 44px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--c2-line); background: rgba(255,255,255,.06); font-size: 15px; font-weight: 600; white-space: nowrap; }
.pp-c2 .c2-filter[aria-pressed="true"] { background: var(--c2-text); color: var(--c2-bg); border-color: var(--c2-text); }
.pp-c2 .c2-chip { display: inline-flex; align-items: center; min-height: 24px; padding: 2px 8px; border-radius: 6px; font-size: 12px; font-weight: 700; line-height: 1.3; white-space: nowrap; letter-spacing: .01em; }
.pp-c2 .c2-chip.safe { color: var(--c2-safe); background: var(--c2-safe-bg); }
.pp-c2 .c2-chip.shot { color: var(--c2-shot); background: var(--c2-shot-bg); }
.pp-c2 .c2-chip.over { color: var(--c2-over); background: var(--c2-over-bg); }
.pp-c2 .c2-chip.info { color: var(--c2-info); background: var(--c2-info-bg); }
.pp-c2 .c2-chip.plain { color: var(--c2-text-2); background: rgba(255,255,255,.08); }
.pp-c2 .c2-chip.live { color: #0f1623; background: var(--c2-safe); }
.pp-c2 .c2-chip.gold { color: var(--c2-gold); background: rgba(232,189,92,.14); }

/* list */
.pp-c2 .c2-count { font-size: 14px; color: var(--c2-text-2); margin: 0 0 10px; }
.pp-c2 .c2-group { margin: 0 0 14px; }
.pp-c2 .c2-group-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 14px; font-weight: 700; color: var(--c2-text-2); text-transform: uppercase; letter-spacing: .06em; margin: 0 2px 8px; }
.pp-c2 .c2-group-head span:last-child { text-transform: none; letter-spacing: 0; font-weight: 600; white-space: nowrap; }
.pp-c2 .c2-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pp-c2 .c2-row { background: var(--c2-card); border: 1px solid var(--c2-line); border-radius: 12px; }
.pp-c2 .c2-row.is-quiet { background: rgba(15,61,63,.55); }
.pp-c2 .c2-row-head { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: start; width: 100%; padding: 12px; min-height: 64px; background: none; border: 0; text-align: left; border-radius: 12px; }
.pp-c2 .c2-date { text-align: center; background: rgba(255,255,255,.07); border-radius: 8px; padding: 4px 0; line-height: 1.1; }
.pp-c2 .c2-date b { display: block; font-size: 20px; }
.pp-c2 .c2-date small { display: block; font-size: 12px; color: var(--c2-text-2); font-weight: 600; text-transform: uppercase; }
.pp-c2 .c2-what { min-width: 0; }
.pp-c2 .c2-name { font-size: 16px; font-weight: 600; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; overflow-wrap: anywhere; }
.pp-c2 .c2-place { display: block; font-size: 13px; color: var(--c2-text-2); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-c2 .c2-chips { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.pp-c2 .c2-amt { text-align: right; white-space: nowrap; }
.pp-c2 .c2-amt b { display: block; font-size: 17px; }
.pp-c2 .c2-amt small { display: block; font-size: 12px; color: var(--c2-text-2); }
.pp-c2 .c2-amt .c2-zero { color: var(--c2-muted); text-decoration: line-through; text-decoration-thickness: 1px; }
.pp-c2 .c2-caret { display: block; margin: 6px 0 0 auto; width: 10px; height: 10px; border-right: 2px solid var(--c2-text-2); border-bottom: 2px solid var(--c2-text-2); transform: rotate(45deg); transition: transform .15s; }
.pp-c2 .c2-row-head[aria-expanded="true"] .c2-caret { transform: rotate(-135deg); }
.pp-c2 .c2-detail { padding: 0 12px 12px; border-top: 1px solid var(--c2-line); }
.pp-c2 .c2-detail[hidden] { display: none; }
.pp-c2 .c2-detail-line { font-size: 14px; color: var(--c2-text-2); margin: 10px 0 0; }
.pp-c2 .c2-detail-line b { color: var(--c2-text); }

/* stepper */
.pp-c2 .c2-stepper { display: flex; align-items: center; gap: 12px; margin-top: 12px; }
.pp-c2 .c2-stepper-label { flex: 1; font-size: 15px; }
.pp-c2 .c2-stepper-label small { display: block; font-size: 13px; color: var(--c2-text-2); }
.pp-c2 .c2-step { display: inline-flex; align-items: center; justify-content: center; padding: 0; flex: none; width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--c2-line); background: rgba(255,255,255,.08); font-size: 22px; font-weight: 700; line-height: 1; }
.pp-c2 .c2-step:disabled { opacity: .4; cursor: not-allowed; }
.pp-c2 .c2-step-val { min-width: 28px; text-align: center; font-size: 20px; font-weight: 700; }

/* segmented */
.pp-c2 .c2-seg { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; padding: 4px; background: rgba(255,255,255,.06); border-radius: 12px; margin: 12px 0 0; }
.pp-c2 .c2-seg button { display: flex; align-items: center; justify-content: center; min-height: 44px; border: 0; border-radius: 9px; background: transparent; font-size: 15px; font-weight: 600; color: var(--c2-text-2); padding: 6px 4px; }
.pp-c2 .c2-seg button[aria-pressed="true"] { background: var(--c2-text); color: var(--c2-bg); }
.pp-c2 .c2-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.pp-c2 .c2-actions .c2-btn { font-size: 14px; padding: 8px 10px; text-align: center; }
.pp-c2 .c2-pinrow { display: flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 15px; }
.pp-c2 .c2-pinrow span { flex: 1; }

/* toolbar */
.pp-c2 .c2-toolbar { display: flex; gap: 8px; align-items: center; margin: 0 0 10px; }
.pp-c2 .c2-toolbar .c2-seg { margin: 0; flex: 1; }
.pp-c2 .c2-select { min-height: 44px; font-size: 16px; border-radius: 10px; border: 1px solid var(--c2-line); background: #0b2b2d; color: var(--c2-text); padding: 8px 10px; max-width: 46%; }

/* next event */
.pp-c2 .c2-next { display: grid; grid-template-columns: 48px 1fr; gap: 10px; align-items: start; background: var(--c2-card-2); border-radius: 12px; padding: 12px; margin-top: 12px; }
.pp-c2 .c2-eyebrow { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--c2-gold); margin: 0 0 2px; }
.pp-c2 .c2-statline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 12px 0 0; text-align: center; }
.pp-c2 .c2-statline div { background: var(--c2-card-2); border-radius: 10px; padding: 8px 4px; }
.pp-c2 .c2-statline b { display: block; font-size: 20px; }
.pp-c2 .c2-statline span { font-size: 12px; color: var(--c2-text-2); }

/* fold */
.pp-c2 details.c2-fold { background: var(--c2-card); border: 1px solid var(--c2-line); border-radius: 12px; margin: 0 0 12px; }
.pp-c2 details.c2-fold > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: 52px; padding: 12px 16px; font-weight: 700; font-size: 16px; cursor: pointer; }
.pp-c2 details.c2-fold > summary::-webkit-details-marker { display: none; }
.pp-c2 details.c2-fold > summary::after { content: ''; width: 9px; height: 9px; border-right: 2px solid var(--c2-text-2); border-bottom: 2px solid var(--c2-text-2); transform: rotate(45deg); }
.pp-c2 details.c2-fold[open] > summary::after { transform: rotate(-135deg); }
.pp-c2 details.c2-fold > div { padding: 0 12px 12px; }
.pp-c2 details.c2-fold summary small { font-weight: 600; color: var(--c2-text-2); font-size: 14px; margin-left: auto; margin-right: 12px; }

/* calendar */
.pp-c2 .c2-cal-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; }
.pp-c2 .c2-cal-head h3 { margin: 0; font-size: 18px; }
.pp-c2 .c2-cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.pp-c2 .c2-dow { text-align: center; font-size: 12px; color: var(--c2-text-2); font-weight: 700; padding: 4px 0; }
.pp-c2 .c2-day { display: flex; min-height: 44px; aspect-ratio: 1 / 1; border-radius: 8px; border: 1px solid transparent; background: rgba(255,255,255,.04); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-size: 15px; font-weight: 600; padding: 0; }
.pp-c2 .c2-day.is-out { visibility: hidden; }
.pp-c2 .c2-day.is-today { border-color: var(--c2-gold); }
.pp-c2 .c2-day[aria-pressed="true"] { background: var(--c2-text); color: var(--c2-bg); }
.pp-c2 .c2-dots { display: flex; gap: 2px; height: 6px; }
.pp-c2 .c2-dots i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.pp-c2 .c2-dots i.safe { color: var(--c2-safe); } .pp-c2 .c2-dots i.shot { color: var(--c2-shot); } .pp-c2 .c2-dots i.over { color: var(--c2-over); } .pp-c2 .c2-dots i.plain { color: var(--c2-text-2); }

/* empty / setup / unavailable */
.pp-c2 .c2-center { text-align: center; padding: 24px 16px; }
.pp-c2 .c2-center h2 { font-size: 20px; }
.pp-c2 .c2-coaches { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.pp-c2 .c2-coach { display: block; min-height: 64px; padding: 12px; background: var(--c2-card-2); border-radius: 10px; text-decoration: none; color: var(--c2-text); font-weight: 600; font-size: 15px; }
.pp-c2 .c2-coach small { display: block; color: var(--c2-text-2); font-weight: 400; font-size: 13px; margin-top: 2px; }
.pp-c2 .sr-only { position: absolute; left: 0; top: 0; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 360px) {
    .pp-c2 { padding: 12px 12px 32px; }

    .pp-c2 .c2-row-head { grid-template-columns: 44px 1fr auto; gap: 8px; padding: 10px; }
    .pp-c2 .c2-grid4 strong { font-size: 18px; }
    .pp-c2 .c2-actions { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .pp-c2 * { transition: none !important; scroll-behavior: auto !important; } }

/* ── v6.9.133 production additions (the live page's server-rendered markup) ── */
.pp-c2 .c2-bar.c2-ok, .pp-c2 .c2-bar.c2-tight, .pp-c2 .c2-bar.c2-bad { background: rgba(255,255,255,.08); }
.pp-c2 .c2-st.c2-ok, .pp-c2 .c2-st.c2-tight, .pp-c2 .c2-st.c2-bad { background: none; }
.pp-c2 .c2-key-muted { color: var(--c2-muted); }
.pp-c2 .c2-banner-ok { background: var(--c2-safe-bg); border-color: rgba(74,222,128,.45); }
.pp-c2 .c2-banner-ok b { color: var(--c2-safe); }
.pp-c2 .c2-span { grid-column: 1 / -1; }
.pp-c2 .c2-row-msg { margin: 10px 0 0; font-size: 14px; color: var(--c2-text); background: rgba(255,255,255,.06); border-radius: 8px; padding: 8px 10px; }
.pp-c2 .c2-row-msg.is-error { color: #fecaca; background: var(--c2-over-bg); }
.pp-c2 .c2-strip:focus-visible { outline: 3px solid var(--c2-focus); outline-offset: 2px; }
.pp-c2 .c2-step[aria-busy="true"], .pp-c2 .c2-btn[aria-busy="true"] { opacity: .6; }
.pp-c2 .c2-row.is-hidden { display: none; }
/* 130 % text (mobile standard §2): long status chips may wrap (a class chip is one or two words); the key numbers size to
   their own box (container units; the vw clamp above is the fallback) — an amount never breaks across lines */
.pp-c2 .c2-chip.plain { white-space: normal; max-width: 100%; }
.pp-c2 .c2-key { container-type: inline-size; }
@supports (font-size: 1cqi) { .pp-c2 .c2-key-value { font-size: clamp(15px, 17cqi, 26px); } }
/* a list row is a grid item: min-width 0 lets it shrink to the column (else it grows to its widest content and the page
   scrolls sideways at 320 px + 130 % text); the bullets stepper wraps under its label when it must */
.pp-c2 .c2-rows > .c2-row { min-width: 0; }
.pp-c2 .c2-stepper { flex-wrap: wrap; }
.pp-c2 .c2-stepper-label { min-width: 8em; }
/* very narrow (a 320 px phone with 130 % text = 246 px): the two key numbers stack, so a six-figure amount still fits */
@media (max-width: 340px) { .pp-c2 .c2-keys { grid-template-columns: 1fr; } }

/* ── v6.9.134 Tournament Management Coach ("My Year") — server-rendered additions ── */
.pp-c2 [hidden] { display: none !important; }   /* .c2-rows / .c2-series set display, which would otherwise beat the attribute */
.pp-c2 .c2-rows > .c2-series { min-width: 0; display: grid; gap: 6px; padding: 8px; border: 1px dashed var(--c2-line); border-radius: 14px; }
.pp-c2 .c2-series-name { margin: 0 4px; font-size: 13px; font-weight: 700; color: var(--c2-text-2); overflow-wrap: anywhere; }
.pp-c2 .c2-mini { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 12px; background: var(--c2-card); border: 1px solid var(--c2-line); border-radius: 12px; }
.pp-c2 .c2-mini .c2-what { flex: 1; }
.pp-c2 .c2-mini .c2-btn { flex: none; }
.pp-c2 a.c2-name { text-decoration: none; }
.pp-c2 .c2-cal-day { margin-top: 12px; }
.pp-c2 .c2-prep { margin-top: 12px; padding: 2px 12px 10px; background: rgba(255,255,255,.05); border-radius: 10px; }
.pp-c2 .c2-check { display: flex; align-items: center; gap: 10px; min-height: 44px; font-size: 15px; cursor: pointer; }
.pp-c2 .c2-check input { flex: none; width: 22px; height: 22px; margin: 0; accent-color: var(--c2-gold); }
.pp-c2 .c2-check .pp-tc-check-done { color: var(--c2-muted); text-decoration: line-through; }
.pp-c2 .c2-row.is-target { border-color: var(--c2-gold); box-shadow: 0 0 0 2px var(--c2-gold); }
.pp-c2 .c2-toolbar .c2-select { flex: 1; max-width: none; }
.pp-c2 .c2-toolbar .c2-seg + .c2-select { flex: 0 1 46%; }
/* the "Next up" text column is a grid item: min-width 0 lets a long casino name ellipsize instead of widening the card */
.pp-c2 .c2-next > div { min-width: 0; }
/* toolbar: List/Calendar keeps 44 px buttons; the selects wrap below on a narrow phone */
.pp-c2 .c2-toolbar { flex-wrap: wrap; }
.pp-c2 .c2-toolbar .c2-seg { flex: 1 1 170px; }
.pp-c2 .c2-toolbar .c2-seg + .c2-select, .pp-c2 .c2-toolbar .c2-select { flex: 1 1 130px; max-width: none; }
/* reused pieces inside My Year, at the page's sizes (they were styled for the old 13 px page): the alerts module … */
#pp-c2-root .pp-wna-section { padding: 0; }
#pp-c2-root .pp-wna-row { display: flex; align-items: flex-start; gap: 10px; padding: 12px; margin: 0 0 8px; background: var(--c2-card-2); border: 1px solid var(--c2-line); border-radius: 10px; }
#pp-c2-root .pp-wna-msg { font-size: 15px; color: var(--c2-text); font-weight: 600; }
#pp-c2-root .pp-wna-detail { font-size: 13px; color: var(--c2-text-2); margin-top: 2px; }
#pp-c2-root .pp-wna-badge { font-size: 12px; padding: 2px 8px; border-radius: 6px; letter-spacing: .04em; color: #1a1f2e; }
#pp-c2-root .pp-wna-dismiss-btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; border: 1px solid var(--c2-line); border-radius: 10px; font-size: 20px; color: var(--c2-text-2); }
/* … and the coach cards (two columns, the page's palette) */
#pp-c2-root .pp-coach-status-label { font-size: 13px; font-weight: 700; color: var(--c2-text-2); letter-spacing: .06em; text-transform: uppercase; margin: 0 2px 8px; }
#pp-c2-root .pp-coach-status-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
#pp-c2-root .pp-coach-status-grid > .pp-coach-card { grid-column: auto; }
#pp-c2-root .pp-coach-card { display: flex; flex-direction: column; gap: 4px; min-height: 64px; padding: 12px; background: var(--c2-card-2); border: 1px solid var(--c2-line); border-radius: 10px; text-decoration: none; color: var(--c2-text); box-shadow: none; }
#pp-c2-root .pp-coach-card-name { font-size: 15px; font-weight: 600; color: var(--c2-text); line-height: 1.3; }
#pp-c2-root .pp-coach-card-status { display: flex; align-items: center; gap: 6px; font-size: 13px; }
#pp-c2-root .pp-coach-status-dot { flex: none; width: 8px; height: 8px; border-radius: 50%; }
#pp-c2-root .pp-coach-status-text { font-size: 13px; color: var(--c2-text-2); font-style: normal; }
#pp-c2-root .pp-coach-card-desc { font-size: 13px; color: var(--c2-text-2); line-height: 1.35; }
/* calendar: the month grid is a picture (cells share the column, never overlap); the day strip holds the 44 px buttons */
.pp-c2 .c2-day { aspect-ratio: auto; min-width: 0; min-height: 40px; }
.pp-c2 .c2-day.has-ev { cursor: pointer; background: rgba(255,255,255,.08); }
.pp-c2 .c2-day.is-picked { background: var(--c2-text); color: var(--c2-bg); }
.pp-c2 .c2-daystrip { margin: 10px -2px 0; }
/* 130 % text (mobile standard §2): pills, chips, the stat line, the status toggle and the pin row wrap instead of
   pushing out of their card; an amount never breaks (.c2-money stays nowrap) */
.pp-c2 .c2-pill { flex-wrap: wrap; max-width: 100%; row-gap: 0; }
.pp-c2 .c2-chip { white-space: normal; max-width: 100%; }
.pp-c2 .c2-statline { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pp-c2 .c2-statline div { padding: 8px 2px; min-width: 0; }
.pp-c2 .c2-statline span { display: block; overflow-wrap: anywhere; }
.pp-c2 .c2-detail .c2-seg { display: flex; flex-wrap: wrap; }
.pp-c2 .c2-detail .c2-seg button { flex: 1 1 7em; }
.pp-c2 .c2-pinrow { flex-wrap: wrap; }
.pp-c2 .c2-pinrow span { flex: 1 1 8em; }
.pp-c2 .c2-dots { flex-wrap: wrap; justify-content: center; max-width: 100%; height: auto; gap: 1px; }
.pp-c2 .c2-dots i { width: 5px; height: 5px; }
/* axe (v6.9.134): the info chip reaches 4.5:1 on the lighter Next-up card too; links inside a sentence are underlined */
.pp-c2 .c2-chip.info { color: #bfdbfe; }
#pp-c2-root .c2-detail-line a, #pp-c2-root .c2-banner a, #pp-c2-root .c2-line a { text-decoration: underline !important; text-underline-offset: 2px; }   /* !important: the theme's style.css has a { text-decoration: none !important } */
/* the Next-up card is lighter (--c2-card-2): its chips use the brighter tints so they keep 4.5:1 */
.pp-c2 .c2-next .c2-chip.safe { color: #86efac; }
.pp-c2 .c2-next .c2-chip.shot { color: #fcd34d; }
.pp-c2 .c2-next .c2-chip.over { color: #fecaca; }
/* the theme gives every <p> 20 px of bottom padding; My Year resets it so its summary + next event sit above the fold */
#pp-c2-root[data-page="tmc"] p { padding-bottom: 0; }
/* <li> boxes need ID scope: #pp-c2-root :where(ul, li) resets padding at (1,0,0) */
#pp-c2-root .c2-mini { padding: 10px 12px; }
#pp-c2-root .c2-rows > .c2-series { padding: 8px; }
.pp-c2 .c2-detail .c2-seg button { flex-basis: 6em; }   /* three in a row on a 360+ phone; they wrap only at 130 % text */
/* ── v6.9.147 Bankroll from results (contract v1.0 §7 / v1.1 §7; pp-coach-mobile-standard.md: 44 px targets, 16 px inputs,
   AA contrast on --c2-card / --c2-card-2, no inline handlers) ─────────────────────────────────────────────────────────── */
.pp-c2 .c2-br-amt { font-size: 30px; font-weight: 800; line-height: 1.15; margin: 0 0 4px; color: var(--c2-text); }
.pp-c2 .c2-banner-warn { background: var(--c2-over-bg); border-color: rgba(248,113,113,.55); }
.pp-c2 .c2-banner-warn b { color: #fecaca; }
.pp-c2 .c2-flash { align-items: center; flex-wrap: wrap; }
.pp-c2 .c2-flash .c2-btn { min-height: 44px; }
.pp-c2 .c2-log { grid-template-columns: 1fr; background: var(--c2-card-2); border-radius: 12px; padding: 14px; }
.pp-c2 .c2-log h3, .pp-c2 .c2-res-h3 { font-size: 16px; margin: 0; color: var(--c2-text); font-weight: 700; }
.pp-c2 .c2-res-h3 { margin: 16px 0 8px; }
.pp-c2 .c2-span { grid-column: 1 / -1; }
.pp-c2 .c2-field select { width: 100%; min-height: 48px; font-size: 16px; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.28); background: #0b2b2d; color: var(--c2-text); }
.pp-c2 .c2-field input[type="date"] { color-scheme: dark; }
.pp-c2 .c2-check { display: flex; align-items: flex-start; gap: 10px; min-height: 44px; padding: 10px 0; font-size: 15px; color: var(--c2-text); cursor: pointer; }
.pp-c2 .c2-check input { flex: none; width: 22px; height: 22px; margin: 1px 0 0; accent-color: var(--c2-gold); }
.pp-c2 .c2-check[hidden] { display: none; }
.pp-c2 fieldset.c2-seg { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }   /* v6.9.149: the radio fieldsets only — unscoped, it also turned My Year's List / Calendar toggle into a 34 px List button (live defect, found by the phone evidence) */
.pp-c2 .c2-seg legend { font-size: 14px; color: var(--c2-text-2); padding: 0; margin: 0 0 2px; }
.pp-c2 .c2-more > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; color: var(--c2-gold); font-weight: 600; list-style: none; }
.pp-c2 .c2-more > summary::-webkit-details-marker { display: none; }
.pp-c2 .c2-more > summary.c2-btn { color: var(--c2-text); justify-content: center; }
.pp-c2 .c2-more > .c2-form { margin-top: 4px; }
.pp-c2 .c2-arrow { font-size: 15px; font-weight: 700; color: var(--c2-text); margin: 0; min-height: 1.4em; }
.pp-c2 .c2-exists { background: var(--c2-shot-bg); border: 1px solid rgba(251,191,36,.5); border-radius: 10px; padding: 12px; }
.pp-c2 .c2-exists[hidden] { display: none; }
.pp-c2 .c2-exists p { margin: 0; color: var(--c2-text); font-size: 15px; }
.pp-c2 .c2-row-msg.is-error { color: #fecaca; }
#pp-c2-root .c2-res-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
#pp-c2-root .c2-res { background: var(--c2-card-2); border: 1px solid var(--c2-line); border-radius: 12px; padding: 12px; }
.pp-c2 .c2-res.is-quiet { opacity: .88; }
.pp-c2 .c2-res-top { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: baseline; }
.pp-c2 .c2-res-date { font-size: 13px; color: var(--c2-text-2); white-space: nowrap; }
.pp-c2 .c2-res-name { font-weight: 700; color: var(--c2-text); min-width: 0; overflow-wrap: anywhere; }
.pp-c2 .c2-res-net { font-weight: 800; color: var(--c2-text); }
.pp-c2 .c2-res-lines { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 14px; color: var(--c2-text-2); margin: 6px 0 0; }
.pp-c2 .c2-res .c2-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; }
.pp-c2 .c2-res-acts { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.pp-c2 .c2-res-acts .c2-btn { flex: 1 1 110px; }
.pp-c2 .c2-change { flex: 1 1 100%; }
.pp-c2 .c2-change > summary { list-style: none; width: 100%; }
.pp-c2 .c2-change > summary::-webkit-details-marker { display: none; }
.pp-c2 .c2-needs { display: grid; gap: 8px; }
.pp-c2 .c2-need { background: var(--c2-card-2); border: 1px solid rgba(251,191,36,.45); border-radius: 12px; padding: 12px; }
.pp-c2 .c2-need p { margin: 0 0 6px; font-size: 15px; color: var(--c2-text); }
#pp-c2-root .c2-cands { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
#pp-c2-root .c2-cands li { border-top: 1px solid var(--c2-line); padding: 8px 0 0; }
.pp-c2 .c2-reconcile form.c2-btn-row { margin-top: 10px; }
.pp-c2 .c2-reconcile form.c2-btn-row .c2-btn { flex: 1 1 100%; }
/* the Stage result parts inside "Needs a result" (the same fields as the Stage Coach completion form) */
.pp-c2 .c2-stage-form { margin-top: 10px; }
.pp-c2 .c2-stage-form .form-field { margin: 0 0 12px; }
.pp-c2 .c2-stage-form .form-field label, .pp-c2 .c2-stage-form .pp-sc-paid-manual label { display: block; font-size: 14px; color: var(--c2-text-2); margin-bottom: 4px; }
.pp-c2 .c2-stage-form .form-input { width: 100%; min-height: 48px; font-size: 16px; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(255,255,255,.28); background: #0b2b2d; color: var(--c2-text); }
.pp-c2 .c2-stage-form .helper-text { font-size: 13px; color: var(--c2-muted); margin-top: 4px; }
.pp-c2 .c2-stage-form .pp-sc-paid-line { margin: 0 0 6px; color: var(--c2-text); }
.pp-c2 .c2-stage-form .pp-sc-check { display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--c2-text); }
.pp-c2 .c2-stage-form .pp-sc-check[hidden], .pp-c2 .c2-stage-form .pp-sc-paid-manual[hidden] { display: none; }
.pp-c2 .c2-stage-form .pp-sc-check input { width: 22px; height: 22px; accent-color: var(--c2-gold); }
.pp-c2 .c2-stage-form .pp-sc-link { background: none; border: 0; padding: 10px 0; min-height: 44px; color: var(--c2-gold); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.pp-c2 .c2-stage-form .pp-sc-more > summary { min-height: 44px; display: flex; align-items: center; color: var(--c2-gold); font-weight: 600; cursor: pointer; }

/* ── v6.9.147-r2 (addendum v1.8 + the mockup audit, proposed-css.css §A) ─────────────────────────────────────────── */
#pp-c2-root .c2-card { position: relative; }   /* the status card's screen-reader heading (.sr-only, left 0) sat 1 px off the page edge at 130 % text */
.pp-c2 .c2-log .c2-seg { gap: 8px 16px; }   /* 8 px between the two 44 px choices (the live control uses 4) */
.pp-c2 .pp-rp-switch { margin: 0 0 12px; }
.pp-c2 .pp-rp-switch .c2-check { min-height: 48px; }
.pp-c2 .pp-rp-switch .pp-rp-track-help { margin: -4px 0 0 32px; font-size: 13px; color: var(--c2-muted); }   /* M2: the help line under "Track my results" */
.pp-c2 .c2-rp-unset { margin: 0 0 12px; }   /* M7 */
.pp-c2 .c2-twins .c2-cands { display: grid; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
#pp-c2-root .c2-twins .c2-cands > li { padding: 10px; background: var(--c2-card-2); border-radius: 10px; }
.pp-c2 .c2-twins .c2-cands p { margin: 0; }
.pp-c2 .c2-twins .c2-cand-meta { font-size: 13px; color: var(--c2-text-2); margin-top: 2px; }
.pp-c2 .c2-twins .c2-cands .c2-btn, .pp-c2 .c2-twins .c2-btn-wide { width: 100%; margin-top: 8px; }
.pp-c2 .c2-stage-form .pp-sc-net { margin: 4px 0 12px; padding: 10px 12px; border-radius: 10px; background: var(--c2-card-2); font-size: 16px; color: var(--c2-text); }   /* M4 */
.pp-c2 .c2-stage-form .pp-sc-net span { display: block; font-size: 13px; color: var(--c2-text-2); }
.pp-c2 .c2-stage-form .pp-sc-seat[hidden] { display: none; }

/* ══ v6.9.149 — Series fund (contract pp-series-fund-design v1.0–v1.4; the approved phone mockups' proposed-css.css §A) ══ */
/* Bankroll now card: the fund is a labelled part of the bankroll (D3) */
.pp-c2 .c2-br-fund { margin: 0 0 2px; font-size: 15px; color: var(--c2-text-2); }
.pp-c2 .c2-br-fund b { color: var(--c2-gold); }
/* the Series fund card */
.pp-c2 .c2-fund-amt { margin: 0; font-size: 28px; font-weight: 800; line-height: 1.2; color: var(--c2-text); }
.pp-c2 .c2-fund-amt > span:not(.c2-money) { display: block; margin-top: 2px; font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--c2-text-2); }
.pp-c2 .c2-fund-amt .c2-money { white-space: nowrap; }
.pp-c2 .c2-fund-un { font-size: 19px; }
.pp-c2 .c2-fund-warn { margin: 10px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--c2-over-bg); border: 1px solid rgba(248,113,113,.55); font-size: 15px; color: var(--c2-text); }
.pp-c2 .c2-fund-warn b { color: #fecaca; }
.pp-c2 .c2-fund-next { background: var(--c2-card-2); border-radius: 12px; padding: 12px; margin-top: 12px; }
.pp-c2 .c2-fund-next .c2-eyebrow { color: #f0cd7d; }   /* the gold eyebrow on the lighter card keeps 4.5:1 */
.pp-c2 .c2-fund-name, .pp-c2 .c2-fundgrp-name { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--c2-text); overflow-wrap: anywhere; }
.pp-c2 .c2-fund-need, .pp-c2 .c2-fundgrp-sum, .pp-c2 .c2-fundgrp-trip, .pp-c2 .c2-fundgrp-line { margin: 2px 0 0; font-size: 14px; color: var(--c2-text-2); }
.pp-c2 .c2-fundgrp-sum b, .pp-c2 .c2-fund-need b { color: var(--c2-text); }
.pp-c2 .c2-fund-status { margin: 8px 0 0; }
.pp-c2 .c2-fund-status .c2-chip { min-height: 28px; padding: 3px 10px; font-size: 14px; }
.pp-c2 .c2-fund-next .c2-line { margin-top: 8px; }
.pp-c2 .c2-fund-next .c2-chip.safe { color: #86efac; }   /* lighter card: the brighter tints (as .c2-next) */
.pp-c2 .c2-fund-next .c2-chip.over { color: #fecaca; }
.pp-c2 .c2-fund-next .c2-chip.plain { color: var(--c2-text); }
.pp-c2 .c2-fund .c2-flash { margin: 12px 0 0; }
/* the monthly split line (§3.5) and the annual hint (D17) */
.pp-c2 .c2-fund-split b { white-space: nowrap; }
.pp-c2 .c2-fund-hint { padding-left: 12px; border-left: 3px solid var(--c2-info); }
/* month strip: a month with fund spend gets a small tag under its bar ("+$400 series") */
.pp-c2 .c2-month-tag { margin-top: 4px; font-size: 12px; font-weight: 700; line-height: 1.25; color: var(--c2-gold); }
/* the "Set up a series fund" invitation (fund off) */
.pp-c2 .c2-fund-invite { margin-top: 12px; }
.pp-c2 .c2-link-btn.c2-inline { display: inline-flex; align-items: center; padding: 0 2px; vertical-align: middle; font-size: inherit; }
/* forms */
.pp-c2 .c2-fund-form { margin-top: 12px; }
.pp-c2 .c2-field small.c2-err { color: #fecaca; font-weight: 600; }
.pp-c2 .c2-field input[aria-invalid="true"] { border-color: #fca5a5; box-shadow: 0 0 0 1px #fca5a5; }
.pp-c2 .c2-check .c2-check-help { display: block; margin-top: 2px; font-size: 13px; color: var(--c2-muted); }
.pp-c2 .c2-log .c2-check .c2-check-help { color: var(--c2-text-2); }   /* on the lighter form card */
.pp-c2 .c2-fund-live { font-weight: 600; line-height: 1.45; }
.pp-c2 .c2-fund-live b { font-weight: 800; }
.pp-c2 .c2-fund-prev { margin: 0; }
.pp-c2 .c2-fund-prev b { color: #dbeafe; }   /* the info-blue bold reads 4.2:1 on the lighter form card; this is 4.5:1+ */
.pp-c2 .c2-fund-off small { display: block; margin-top: 4px; font-size: 13px; color: var(--c2-text-2); }
.pp-c2 .c2-btn-wide { width: 100%; }
.pp-c2 .c2-btn-sm { min-height: 44px; padding: 8px 14px; font-size: 14px; }
.pp-c2 .c2-log .c2-row-msg + .c2-row-msg { margin-top: 8px; }
.pp-c2 .c2-fund-confirm .c2-btn-row { margin-top: 10px; }
/* "Pay from" (planned rows, v1.0 §4.2) and "Paid from" (logged rows, §4.3): one segmented control, 8 px apart */
.pp-c2 .c2-payfrom { margin-top: 12px; }
.pp-c2 .c2-flabel { margin: 0 0 4px; font-size: 14px; color: var(--c2-text-2); }
.pp-c2 .c2-payfrom .c2-seg { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; background: none; }
.pp-c2 .c2-payfrom .c2-seg button { flex: 1 1 6.5em; min-height: 44px; padding: 6px 8px; border: 1px solid var(--c2-line); border-radius: 10px; background: rgba(255,255,255,.06); color: var(--c2-text); }
.pp-c2 .c2-payfrom .c2-seg button[aria-pressed="true"] { background: var(--c2-text); color: var(--c2-bg); border-color: var(--c2-text); }
.pp-c2 .c2-pf-note { display: block; margin-top: 6px; font-size: 13px; color: var(--c2-text-2); }
/* a series group in the saved list (v1.0 §8) */
#pp-c2-root .c2-rows > .c2-fundgrp { min-width: 0; display: grid; gap: 8px; padding: 8px; border: 1px dashed rgba(232,189,92,.6); border-radius: 14px; }
.pp-c2 .c2-fundgrp-head { padding: 4px 4px 2px; }
.pp-c2 .c2-fundgrp-head .c2-eyebrow { margin: 0 0 2px; }
.pp-c2 .c2-fundgrp .c2-rows { gap: 8px; }
/* the logged-row fund lines (Results) */
.pp-c2 .c2-potline { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.pp-c2 .c2-potline p { margin: 0; font-size: 14px; font-weight: 600; color: var(--c2-gold); }
.pp-c2 .c2-res .c2-payfrom { margin-top: 8px; }
.pp-c2 .c2-fund-ask, .pp-c2 .c2-fund-label { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: var(--c2-shot-bg); border: 1px solid rgba(251,191,36,.45); }
.pp-c2 .c2-fund-ask { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; }
.pp-c2 .c2-fund-ask p, .pp-c2 .c2-fund-label p { margin: 0; font-size: 15px; color: var(--c2-text); }
.pp-c2 .c2-fund-ask .c2-btn-row { flex: 1 1 100%; margin-top: 0; }
.pp-c2 .c2-fund-take { margin-top: 10px; }
.pp-c2 .c2-presets { display: flex; flex-wrap: wrap; gap: 8px; }
.pp-c2 .c2-presets .c2-btn { flex: 0 1 auto; }
.pp-c2 .c2-presets .c2-btn[aria-pressed="true"] { background: var(--c2-text); color: var(--c2-bg); border-color: var(--c2-text); }
.pp-c2 .c2-paidfrom, .pp-c2 .c2-fund-which { border: 0; padding: 0; margin: 0; }
.pp-c2 .c2-fund-which legend { font-size: 15px; color: var(--c2-text); margin: 0 0 2px; padding: 0; }
.pp-c2 .c2-fund-which { display: grid; gap: 8px; }
.pp-c2 .c2-fund-which .c2-check { padding: 6px 0; }
/* D19: "Which series event is …?" / "Which event was it?" (v1.2 §4.4.3, v1.3 §4.4.4) */
.pp-c2 .c2-fund-q { background: var(--c2-card-2); border: 1px solid rgba(251,191,36,.55); border-radius: 12px; padding: 12px; }
.pp-c2 .c2-fund-q-h { margin: 0; font-size: 16px; line-height: 1.4; color: var(--c2-text); }
.pp-c2 .c2-fund-q-why { margin: 6px 0 0; font-size: 14px; color: var(--c2-text-2); }
#pp-c2-root .c2-fund-q .c2-cands { display: grid; gap: 8px; margin: 10px 0; padding: 0; list-style: none; }
#pp-c2-root .c2-fund-q .c2-cands > li { padding: 10px; border: 0; background: rgba(255,255,255,.06); border-radius: 10px; }
.pp-c2 .c2-fund-q .c2-cands p { margin: 0; }
.pp-c2 .c2-fund-q .c2-cand-meta { margin-top: 2px; font-size: 14px; color: var(--c2-text-2); }
.pp-c2 .c2-fund-q .c2-cands .c2-btn { margin-top: 8px; }
.pp-c2 .c2-fund-q .c2-btn-row { margin-top: 10px; }
.pp-c2 .c2-fund-q .c2-btn-row + .c2-btn-wide { margin-top: 8px; }
.pp-c2 .c2-notsaved { color: #fcd34d; }
/* My Year: the fund pill */
.pp-c2 .c2-pill.c2-fundpill { color: var(--c2-gold); background: rgba(232,189,92,.14); }
.pp-c2 .c2-series-name .c2-chip { vertical-align: middle; }

/* (A) the theme gives every <p> 20 px of bottom padding; the fund card, groups and question cards stay compact */
#pp-c2-root .c2-fund p, #pp-c2-root .c2-fundgrp p, #pp-c2-root .c2-fund-q p, #pp-c2-root .c2-fund-ask p, #pp-c2-root .c2-fund-label p, #pp-c2-root .c2-potline p, #pp-c2-root .c2-payfrom p, #pp-c2-root p.c2-br-fund { padding-bottom: 0; }
/* (A) live My Year: the Plan status buttons in an open row sat 4 px apart (standard: 8 px) — found with the Pay from control under them */
.pp-c2 .c2-detail .c2-seg { gap: 8px; }
.pp-c2 .c2-toolbar .c2-seg { gap: 8px; }   /* v6.9.149: List / Calendar 8 px apart too (standard: 8 px between controls; found by the phone evidence) */
/* SF-M1 (founder 2026-10-21) — the Bankroll now actions in ONE compact row, Start fresh a small text link under it */
.pp-c2 .c2-br .c2-br-acts { flex-wrap: nowrap; }
.pp-c2 .c2-br .c2-br-acts .c2-btn { flex: 1 1 0; min-width: 0; padding: 10px 8px; white-space: normal; }
.pp-c2 .c2-br-fresh { margin: 8px 0 0; }   /* 8 px from the action row (standard: 8 px between controls) */
.pp-c2 .c2-br-fresh .c2-link-btn { font-size: 14px; }
#pp-c2-root p.c2-br-fresh, #pp-c2-root .c2-fund-q .c2-row-msg { padding-bottom: 0; }
/* SF-M1 — as in the approved Results mockup: "Bankroll now" and the amount on one line, no theme padding under the page's
   subtitle, the amount or the start line, so "Left this month (weekly)" is on the first 375×667 screen (CSS only; DOM order unchanged) */
#pp-c2-root > p.c2-sub, #pp-c2-root .c2-br > p.c2-br-amt, #pp-c2-root .c2-br > p.c2-line, #pp-c2-dash > section:first-child > p.c2-line { padding-bottom: 0; }
.pp-c2 .c2-br { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; align-items: baseline; }
.pp-c2 .c2-br > * { grid-column: 1 / -1; min-width: 0; }
.pp-c2 .c2-br > #c2-br-h { grid-column: 1; margin: 0; }
.pp-c2 .c2-br > .c2-br-amt { grid-column: 2; margin: 0 0 6px; text-align: right; }
.pp-c2 .c2-br > .c2-br-fund + .c2-line { margin-top: 4px; }   /* the set-aside line and the start line read as one block */
/* OI-12 (founder 2026-10-21, option b) — phones: with the "Spent … this month" line moved under the two boxes, a slightly
   tighter top of the Bankroll page keeps "Bankroll now" AND "Left this month (weekly)" on the first 375×667 screen even with
   a two-line start line (results logged this month). Spacing only; every target stays ≥ 44 px and ≥ 8 px apart. */
@media (max-width: 480px) {
    #pp-c2-root[data-page="bankroll"] > p.c2-sub { margin-bottom: 10px; }
    #pp-c2-root[data-page="bankroll"] .c2-br { padding-top: 12px; padding-bottom: 12px; margin-bottom: 10px; }
    #pp-c2-root[data-page="bankroll"] .c2-br .c2-br-acts { margin-top: 10px; }
    #pp-c2-dash > section:first-child { padding-top: 12px; }
    #pp-c2-dash > section:first-child > .c2-pills { margin-bottom: 10px; }
}
.pp-c2 .c2-fund-adds, .pp-c2 .c2-fund-note { margin: 0; }
.pp-c2 .c2-fund-take { margin-top: 8px; }
.pp-c2 .c2-paidfrom .c2-check, .pp-c2 .c2-fund-which .c2-check { min-height: 44px; }
