/* ── Plan praticien (/formations), espace école (/ecole), compte master
   (/admin) — owner decision 2026-10-10. Built on css/profile.css (green
   hero, gold-diamond headings, settings-style rows). No emojis. ── */

.plan-page { position: relative; gap: 18px; }
.plan-page > h1 { text-align: center; padding: 0 40px; }
/* Back arrow on the title line. No env(safe-area) here: in the installed app
   the body is already padded by it (styles.css), adding it again pushed the
   arrow down onto the intro paragraph on iPhone. */
.plan-page .tp-back { top: 27px; left: 6px; }
.standalone .plan-page .tp-back { top: 15px; }
.plan-page .pf-hero { cursor: default; gap: 8px; }
.plan-kick-sm { font-size: 14px; color: #d1e1d9; }
.plan-hero-title { font-size: 24px; font-weight: 800; color: #fff; line-height: 1.2; }
.plan-bar { display: flex; gap: 5px; margin: 4px 0 2px; }
.plan-bar i { flex: 1; height: 8px; border-radius: 4px; background: rgb(255 255 255 / 0.22); }
.plan-bar i.on { background: #d4c19e; }
.plan-hero-sub { font-size: 14px; color: #d6e4dd; line-height: 1.5; }
.plan-pill { display: inline-block; padding: 1px 9px; border-radius: 999px; background: #f0e7d6; color: #7a6236; font-size: 13px; font-weight: 700; }
.plan-note { font-size: 13px; color: var(--tab-muted); text-align: center; margin: 8px 6px 0; line-height: 1.45; }
.plan-banner { font-size: 13px; background: #fbf9f4; border: 1px dashed #b8975a; border-radius: 10px; padding: 8px 12px; color: #5b4a2a; }
.plan-msg { text-align: center; color: var(--tab-muted); }
.plan-btn {
  display: block; width: 100%; padding: 12px 16px; border: 0; border-radius: 12px;
  background: var(--z-primary); color: #fff; font: inherit; font-size: 16px; font-weight: 700;
  text-align: center; text-decoration: none; cursor: pointer;
}
.plan-btn:disabled, .plan-btn[aria-disabled="true"] { background: #efede8; color: #a7a8a6; cursor: default; }
.plan-btn--ghost { background: #eff4f2; color: var(--z-primary); }

/* Levels */
.plan-lvl { display: flex; align-items: center; gap: 12px; padding: 12px 16px; }
.plan-lvl-n { flex: none; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; background: #f2f1ed; color: #a7a8a6; }
.plan-lvl.is-on .plan-lvl-n { background: var(--z-primary); color: #fff; }
.plan-lvl-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; font-size: 16px; }
.plan-lvl-text small { font-size: 13px; color: var(--tab-muted); }
.plan-lvl:not(.is-on) .plan-lvl-text { color: #a7a8a6; }
.plan-pct { flex: none; padding: 3px 10px; border-radius: 999px; background: #f0e7d6; color: #7a6236; font-weight: 800; font-size: 14px; }
.plan-lvl:not(.is-on) .plan-pct { opacity: 0.55; }

/* Segmented filter */
.plan-seg { display: flex; padding: 4px; border-radius: 999px; background: #ebe9e3; margin-bottom: 12px; }
.plan-seg button { flex: 1; padding: 8px 6px; border: 0; border-radius: 999px; background: none; font: inherit; font-size: 15px; color: var(--tab-muted); cursor: pointer; }
.plan-seg button[aria-pressed="true"] { background: #fff; color: var(--tab-ink); font-weight: 700; box-shadow: 0 1px 3px rgb(0 0 0 / 0.12); }

/* Offer cards */
.plan-offers { display: flex; flex-direction: column; gap: 12px; }
.plan-offer { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: #fff; border: 1px solid #ebe9e3; border-radius: 16px; }
.plan-offer-top { display: flex; align-items: flex-start; gap: 10px; }
.plan-offer-top h3 { flex: 1; margin: 0; font-size: 17px; color: var(--tab-ink); }
.plan-offer-sub { font-size: 14px; color: var(--tab-muted); }
.plan-offer.is-locked h3, .plan-offer.is-locked .plan-offer-sub { color: #a7a8a6; }
.plan-offer.is-locked .plan-pct { opacity: 0.55; }
.plan-offer .plan-btn { margin-top: 6px; }
.plan-offer s { color: #a7a8a6; }
.plan-code { display: flex; align-items: center; gap: 10px; margin-top: 6px; padding: 10px 12px; border-radius: 12px; background: #f6f2e8; border: 1px dashed #b8975a; }
.plan-code span { flex: 1; font-size: 13px; color: #7a6236; }
.plan-code b { display: block; font-size: 18px; letter-spacing: 0.06em; color: var(--tab-ink); }
.plan-code button { flex: none; padding: 8px 12px; border: 0; border-radius: 10px; background: var(--z-primary); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.plan-offer-actions { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.plan-offer-actions button { flex: 1; padding: 9px 10px; border: 1px solid #ebe9e3; border-radius: 10px; background: #fff; font: inherit; font-size: 14px; cursor: pointer; color: var(--tab-ink); }
.plan-offer-actions .is-danger { color: #b23a3a; }
.plan-tag { flex: none; padding: 2px 8px; border-radius: 999px; background: #f2f1ed; color: var(--tab-muted); font-size: 12px; font-weight: 700; }

/* Forms (school offer, new school) */
.plan-form { display: flex; flex-direction: column; gap: 12px; padding: 16px; background: #fff; border: 1px solid #ebe9e3; border-radius: 16px; }
.plan-form label { display: flex; flex-direction: column; gap: 5px; font-size: 14px; color: var(--tab-muted); }
.plan-form input, .plan-form select {
  padding: 11px 12px; border: 1px solid #dcd9d1; border-radius: 10px; background: #fff;
  font: inherit; font-size: 16px; color: var(--tab-ink);
}
.plan-form .plan-check { flex-direction: row; align-items: center; gap: 10px; color: var(--tab-ink); font-size: 16px; }
.plan-form .plan-check input { width: 20px; height: 20px; }
.plan-form .plan-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.plan-form .auth-error:empty { display: none; }
.plan-select { display: flex; flex-direction: column; gap: 5px; font-size: 14px; color: var(--tab-muted); }
.plan-select select { padding: 11px 12px; border: 1px solid #dcd9d1; border-radius: 10px; font: inherit; font-size: 16px; background: #fff; }
.plan-form input, .plan-form select { width: 100%; min-width: 0; box-sizing: border-box; }
.plan-form .plan-row2 > label { min-width: 0; }
#master-body { display: flex; flex-direction: column; gap: 18px; }

/* City filter next to the segments (2026-10-12): hidden with fewer than two cities */
.plan-city { width: 100%; margin: -4px 0 12px; padding: 10px 12px; border: 1px solid #ebe9e3; border-radius: 12px; background: #fff; font: inherit; font-size: 15px; color: var(--tab-ink); }
.plan-city.hidden { display: none; }
/* /admin introducer tracking: month actions (spec docs/specs/introducer-tracking.md) */
.mit-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.mit-actions .plan-btn { width: auto; padding: 8px 14px; font-size: 14px; margin: 0; }
#master-intro-track .plan-form { margin-bottom: 12px; }
/* Prospection import (admin): the file picker as a ghost button. */
.mp-import { display: block; text-align: center; cursor: pointer; margin-top: 10px; }
