/* Clear Mint — V6 new-pages styles (Debt Center, Family Hub, Estate Vault,
   Financial Health, Roadmap, Opportunities). Layered on top of clearmint.css. */

/* ---------- Page header ---------- */
.v6-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; }
.v6-head-l { min-width:0; }
.v6-title { font-family:var(--font-serif); font-size:32px; line-height:1.1; font-weight:700; color:var(--ink-900); margin:0 0 6px; letter-spacing:0; }
.v6-sub { margin:0; font-size:14.5px; color:var(--ink-500); font-weight:500; }
.v6-head-r { display:flex; align-items:center; gap:10px; flex-shrink:0; }

/* ---------- Tabs ---------- */
.v6-tabs { display:flex; gap:28px; border-bottom:1px solid var(--line); margin-bottom:24px; overflow-x:auto; }
.v6-tab { appearance:none; border:0; background:none; font-family:inherit; cursor:pointer;
  padding:0 1px 13px; font-size:14px; font-weight:600; color:var(--ink-500); white-space:nowrap;
  border-bottom:2px solid transparent; margin-bottom:-1px; display:inline-flex; align-items:center; gap:4px; transition:color .15s; }
.v6-tab:hover { color:var(--ink-700); }
.v6-tab.active { color:var(--green-600); border-bottom-color:var(--green-600); }

/* ---------- Stat card ---------- */
.v6-stat { position:relative; overflow:hidden; display:flex; flex-direction:column; }
.v6-stat-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.v6-stat-label { font-size:13px; font-weight:700; color:var(--ink-500); }
.v6-stat-val { font-size:27px; font-weight:800; line-height:1.1; letter-spacing:-.02em; }
.v6-stat-delta { display:inline-flex; align-items:center; gap:3px; font-size:12.5px; font-weight:700; margin-top:8px; }
.v6-stat-note { color:var(--ink-400); font-weight:600; margin-left:3px; }
.v6-stat-foot { font-size:12.5px; color:var(--ink-500); margin-top:6px; font-weight:500; }

/* ---------- Generic button sizes for headers ---------- */
.v6-btn { display:inline-flex; align-items:center; gap:7px; font-family:inherit; font-size:13.5px; font-weight:700;
  padding:9px 15px; border-radius:var(--r-ctrl); border:1px solid var(--line); background:#fff; color:var(--ink-700); cursor:pointer; transition:.15s; white-space:nowrap; }
.v6-btn:hover { background:var(--mint-50); }
.v6-btn-primary { background:var(--forest); color:#fff; border-color:var(--forest); }
.v6-btn-primary:hover { background:var(--emerald); }
.v6-btn-icon { width:38px; height:38px; padding:0; justify-content:center; }
.v6-pillbadge { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:700; color:var(--green-600);
  background:var(--mint-100); border-radius:999px; padding:8px 14px; }

/* ---------- Section card head reuse ---------- */
.v6-cardhead { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }
.v6-cardtitle { font-family:var(--font-serif); font-size:18px; font-weight:700; color:var(--ink-900); }
.v6-link { font-size:13px; font-weight:700; color:var(--green-600); cursor:pointer; display:inline-flex; align-items:center; gap:4px; }
.v6-link:hover { color:var(--green-700); }

/* ---------- Grids ---------- */
.v6-grid-5 { display:grid; grid-template-columns:repeat(5,1fr); gap:18px; }
.v6-grid-6 { display:grid; grid-template-columns:repeat(6,1fr); gap:16px; }
.v6-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.v6-main-side { display:grid; grid-template-columns:1fr 340px; gap:20px; align-items:start; }
@media (max-width:1320px){ .v6-grid-5{grid-template-columns:repeat(3,1fr);} .v6-grid-6{grid-template-columns:repeat(3,1fr);} }
@media (max-width:1100px){ .v6-main-side{grid-template-columns:1fr;} .v6-grid-3{grid-template-columns:1fr;} .v6-grid-5,.v6-grid-6{grid-template-columns:repeat(2,1fr);} }

/* ---------- List rows ---------- */
.v6-row { display:flex; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid var(--line); }
.v6-row:last-child { border-bottom:0; }
.v6-row-body { flex:1; min-width:0; }
.v6-row-title { font-size:14px; font-weight:700; color:var(--ink-900); }
.v6-row-sub { font-size:12.5px; color:var(--ink-500); margin-top:2px; }

/* ---------- Roadmap timeline ---------- */
.v6-rm-row { display:grid; grid-template-columns:118px 32px 1fr; gap:0; align-items:stretch; }
.v6-rm-year { padding:22px 0; }
.v6-rm-y { font-size:18px; font-weight:800; color:var(--ink-900); }
.v6-rm-yt { font-size:12px; color:var(--ink-400); font-weight:600; margin-top:2px; }
.v6-rm-rail { position:relative; display:flex; justify-content:center; }
.v6-rm-line { position:absolute; top:0; bottom:0; width:2px; background:var(--line); }
.v6-rm-dot { position:absolute; top:30px; width:14px; height:14px; border-radius:999px; background:#fff; border:3px solid var(--green-500); z-index:1; }
.v6-rm-card { display:flex; align-items:center; gap:18px; padding:18px 6px 18px 18px; border-bottom:1px solid var(--line); }
.v6-rm-main { flex:1; min-width:0; }
.v6-rm-name { font-size:15.5px; font-weight:800; color:var(--ink-900); }
.v6-rm-desc { font-size:13px; color:var(--ink-500); margin:3px 0 8px; }
.v6-rm-impact { width:150px; flex-shrink:0; text-align:left; }
.v6-rm-status { width:150px; flex-shrink:0; }

/* ---------- Opportunity / data table tweaks ---------- */
.v6-opp { display:flex; align-items:center; gap:16px; padding:18px 0; border-bottom:1px solid var(--line); }
.v6-dotlabel { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; }
.v6-dot { width:9px; height:9px; border-radius:999px; flex-shrink:0; }

/* ---------- Document cards ---------- */
.v6-doc { border:1px solid var(--line); border-radius:14px; padding:18px; transition:.15s; cursor:pointer; background:#fff; }
.v6-doc:hover { border-color:var(--green-400); box-shadow:var(--shadow-card); }
.v6-doc-foot { font-size:12px; color:var(--ink-400); margin-top:14px; padding-top:13px; border-top:1px solid var(--line); }

/* ---------- Soft callout banner ---------- */
.v6-banner { display:flex; align-items:center; gap:16px; padding:18px 22px; border-radius:var(--r-card);
  background:var(--mint-50); border:1px solid var(--line); }

/* ---------- Promo / dark mini card ---------- */
.v6-darkcard { background:linear-gradient(160deg,#1B5E4A,#0D3B2E); border-radius:var(--r-card); color:#F4F8F1; padding:22px; }

/* ---------- Category breakdown row ---------- */
.v6-cat { display:flex; align-items:center; gap:12px; padding:9px 0; }
.v6-cat .lbl { flex:1; font-size:13.5px; font-weight:600; color:var(--ink-700); }
