/* Incubate360 v3.6: the Accounts Room, the mentor honorarium and the panel list.

   EVERY class in this file starts with `v6-`. That is not a style preference, it is the fix for
   §1.13: a short generic class name is a name somebody else has already taken, and `.lg` in
   v3-login.css broke every wide form in the product for a week. `scripts/css-clash.mjs` is the
   guard that keeps it that way.

   Colours come from the tokens in v2.css and never from a literal, so dark mode answers for
   free. A hard-coded `#fff` on anything whose text is `var(--ink)` is a dark-mode bug
   (gotcha 39), and every `fr` track here is `minmax(0,1fr)` so one wide table cannot push the
   page sideways (gotcha 37). */

/* ───────────── stars, and the honorarium on the mentor panel list ─────────────
   These shipped in v5.css because v6.css did not exist yet. They are here now: two stylesheets
   owning the same class prefix is exactly what `scripts/css-clash.mjs` was written to catch, and
   a rule is far easier to find in the file its name points at. */
.v6-stars { display: inline-flex; align-items: center; gap: 0; white-space: nowrap; }
/* The icon set draws everything as `fill:none; stroke:currentColor`, so a star comes out as an
   outline. An earned star has to be SOLID or a four-out-of-five reads the same as a nothing at
   a glance, which is the only distance anybody reads a rating from. */
.v6-star { display: inline-flex; color: var(--line); }
.v6-star.on { color: #F5A623; }
.v6-star.on svg { fill: currentColor; }
.v6-pickstar.on svg { fill: currentColor; }
.v6-starn { margin-left: 6px; font-size: 12.5px; color: var(--ink); }
.v6-nostar { font-size: 12.5px; color: var(--mut); }
.v6-owed { font-size: 12px; color: #E8A33D; font-weight: 600; margin-top: 2px; }
.v6-paidn { font-size: 12px; color: var(--mut); margin-top: 2px; }
.v6-hon { display: flex; flex-direction: column; gap: 1px; white-space: nowrap; font-size: 13px; }

/* the five stars a founder presses */
.v6-pick { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.v6-pickstar { border: 0; background: none; padding: 3px; cursor: pointer; line-height: 0;
  color: var(--line); border-radius: 8px; }
.v6-pickstar:hover { background: var(--canvas, #F5F7FB); }
.v6-pickstar.on { color: #F5A623; }
.v6-pickn { font-size: 12.5px; color: var(--mut); margin-left: 6px; }

/* ───────────── the floor switcher: two sub-modules, and everything ───────────── */
.v6-sides { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 4px 0 14px; }
.v6-sides:has(.v6-side:nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v6-side { display: flex; flex-direction: column; gap: 3px; align-items: flex-start; text-align: left;
  padding: 12px 14px; border: 1.5px solid var(--line); border-radius: 12px; background: var(--card);
  cursor: pointer; transition: border-color .14s, box-shadow .14s, background .14s; min-width: 0; }
.v6-side:hover { border-color: var(--violet); }
.v6-side.on { border-color: var(--violet); background: var(--violet-soft, rgba(91, 33, 232, .06));
  box-shadow: 0 0 0 1px var(--violet) inset; }
.v6-side-l { font-weight: 700; font-size: 14px; color: var(--ink); }
.v6-side-w { font-size: 11.5px; color: var(--mut); line-height: 1.45; }

/* ───────────── the period row ───────────── */
.v6-per { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 12px; }
.v6-per-l { font-size: 12px; color: var(--mut); }
.v6-perbtns { display: flex; gap: 0; border: 1px solid var(--line); border-radius: 9px; overflow: hidden; }
.v6-perb { padding: 5px 12px; font-size: 12px; background: var(--card); color: var(--mut);
  border: 0; border-right: 1px solid var(--line); cursor: pointer; }
.v6-perb:last-child { border-right: 0; }
.v6-perb.on { background: var(--violet); color: #fff; font-weight: 600; }
.v6-per-d { font-size: 11.5px; color: var(--mut); margin-left: auto; }

/* ───────────── the three oversized buttons ───────────── */
.v6-big { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.v6-bigb { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; text-align: left;
  padding: 16px 18px; border: 1.5px solid var(--line); border-radius: 14px; background: var(--card);
  cursor: pointer; transition: border-color .14s, transform .1s; min-width: 0; }
.v6-bigb:hover { border-color: var(--violet); transform: translateY(-1px); }
.v6-bigb-i { color: var(--violet); display: flex; }
.v6-bigb-t { font-weight: 700; font-size: 15px; color: var(--ink); }
.v6-bigb-w { font-size: 11.5px; color: var(--mut); line-height: 1.5; }

/* ───────────── the nudge ───────────── */
.v6-nudge { display: flex; align-items: center; gap: 11px; padding: 12px 15px; border-radius: 12px;
  background: var(--amber-soft, rgba(245, 158, 11, .09)); border: 1px solid var(--amber, #F59E0B);
  cursor: pointer; margin: 4px 0 14px; font-size: 13px; color: var(--ink); }
.v6-nudge-i { color: var(--amber, #F59E0B); display: flex; flex: 0 0 auto; }
.v6-nudge-go { margin-left: auto; font-weight: 600; color: var(--violet); white-space: nowrap; }

/* ───────────── the live scroller ───────────── */
.v6-tickc .c-b { padding: 0; }
.v6-live { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; color: var(--mut);
  font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.v6-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--cyan);
  animation: v6pulse 1.9s ease-in-out infinite; }
@keyframes v6pulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.v6-tick-rail { max-height: 268px; overflow-y: auto; }
.v6-tick { display: grid; grid-template-columns: 22px 108px minmax(0, 1.3fr) minmax(0, 1fr) 92px;
  gap: 10px; align-items: center; padding: 9px 16px; border-bottom: 1px solid var(--line);
  font-size: 12.5px; }
.v6-tick:last-child { border-bottom: 0; }
.v6-tick-a { display: flex; }
.v6-tick.in .v6-tick-a, .v6-tick.in .v6-tick-v { color: var(--cyan); }
.v6-tick.out .v6-tick-a, .v6-tick.out .v6-tick-v { color: var(--violet); }
.v6-tick-v { font-weight: 700; font-variant-numeric: tabular-nums; }
.v6-tick-p { color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v6-tick-h { color: var(--mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v6-tick-d { color: var(--mut); font-size: 11.5px; text-align: right; }
.v6-tick-none { padding: 22px 16px; color: var(--mut); font-size: 12.5px; text-align: center; }

/* ───────────── the two-column board ───────────── */
.v6-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.v6-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin-bottom: 14px; }
.v6-sb { padding: 12px 14px; border-radius: 11px; border: 1px solid var(--line); background: var(--bg2, var(--card)); min-width: 0; }
.v6-sb-l { font-size: 11.5px; color: var(--mut); font-weight: 600; }
.v6-sb-v { font-size: 19px; font-weight: 700; color: var(--ink); margin: 3px 0 7px; font-variant-numeric: tabular-nums; }
.v6-sb-m { height: 5px; border-radius: 3px; background: var(--line); overflow: hidden; }
.v6-sb-m i { display: block; height: 100%; border-radius: 3px; background: var(--violet); }
.v6-sb.t-blue .v6-sb-m i { background: var(--blue); }
.v6-sb-w { font-size: 11px; color: var(--mut); margin-top: 6px; line-height: 1.45; }

/* ───────────── the grant pointer, one line, never counted ───────────── */
.v6-grant { display: flex; align-items: flex-start; gap: 12px; padding: 13px 16px; border-radius: 12px;
  border: 1px dashed var(--line); background: var(--bg2, var(--card)); margin: 14px 0; }
.v6-grant-i { color: var(--blue); display: flex; flex: 0 0 auto; margin-top: 1px; }
.v6-grant-t { font-weight: 700; font-size: 13px; color: var(--ink); }
.v6-grant-s { font-size: 11.5px; color: var(--mut); line-height: 1.55; margin-top: 3px; }
.v6-grant .b { flex: 0 0 auto; align-self: center; }

/* ───────────── the totals banner on income and expense ───────────── */
.v6-tot { padding: 16px 18px; border-radius: 14px; background: var(--card); border: 1px solid var(--line);
  margin-bottom: 14px; }
.v6-tot-l { font-size: 12px; color: var(--mut); font-weight: 600; }
.v6-tot-v { font-size: 30px; font-weight: 800; color: var(--ink); line-height: 1.15; margin: 3px 0;
  font-variant-numeric: tabular-nums; }
.v6-tot-s { font-size: 11.5px; color: var(--mut); }

/* ───────────── the two expense headings ───────────── */
.v6-bucket { margin: 16px 0; }
.v6-bucket-h { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px;
  padding: 0 3px 9px; border-bottom: 2px solid var(--line); margin-bottom: 12px; }
.v6-bucket-t { font-size: 16px; font-weight: 700; color: var(--ink); }
.v6-bucket-w { font-size: 11.5px; color: var(--mut); margin-top: 2px; }
.v6-bucket-v { font-size: 21px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums;
  white-space: nowrap; }
.v6-bucket-none { padding: 18px; color: var(--mut); font-size: 12.5px; text-align: center;
  border: 1px dashed var(--line); border-radius: 11px; }
.v6-gtot { font-weight: 700; font-size: 14px; color: var(--ink); font-variant-numeric: tabular-nums; }

/* ───────────── headings with nothing in them ───────────── */
.v6-quiet { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 7px; }
.v6-quiet-r { display: flex; justify-content: space-between; gap: 10px; padding: 7px 11px;
  border-radius: 9px; background: var(--bg2, var(--card)); font-size: 12px; min-width: 0; }
.v6-quiet-l { color: var(--mut); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.v6-quiet-v { color: var(--mut); font-variant-numeric: tabular-nums; flex: 0 0 auto; }

/* ───────────── the approval queue ───────────── */
.v6-appr { display: flex; flex-direction: column; gap: 9px; }
.v6-appr-r { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 11px;
  border: 1px solid var(--line); background: var(--card); flex-wrap: wrap; }
.v6-appr-a { font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; flex: 0 0 auto;
  min-width: 108px; }
.v6-appr-a.in { color: var(--cyan); }
.v6-appr-a.out { color: var(--violet); }
.v6-appr-b { flex: 1 1 240px; min-width: 0; }
.v6-appr-t { font-size: 13px; font-weight: 600; color: var(--ink); }
.v6-appr-s { font-size: 11.5px; color: var(--mut); margin-top: 2px; }
.v6-appr-c { display: flex; gap: 7px; flex: 0 0 auto; }

/* ───────────── the budget ───────────── */
.v6-over { color: var(--red, #DC2626); font-weight: 700; }
.v6-budg { display: flex; flex-direction: column; gap: 8px; max-height: 46vh; overflow-y: auto; padding-right: 3px; }
.v6-budg-r { display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--card); }
.v6-budg-l { font-size: 13px; font-weight: 600; color: var(--ink); }
.v6-budg-s { font-size: 11px; color: var(--mut); margin-top: 2px; }
.v6-budg-i { width: 150px; flex: 0 0 auto; min-width: 0; text-align: right; }

/* ───────────── the reports shelf ───────────── */
.v6-reps { display: flex; flex-direction: column; gap: 9px; }
.v6-rep { display: flex; align-items: center; gap: 13px; padding: 12px 14px; border-radius: 11px;
  border: 1px solid var(--line); background: var(--card); flex-wrap: wrap; }
.v6-rep-i { color: var(--violet); display: flex; flex: 0 0 auto; }
.v6-rep-b { flex: 1 1 260px; min-width: 0; }
.v6-rep-t { font-size: 13.5px; font-weight: 600; color: var(--ink); }
.v6-rep-w { font-size: 11.5px; color: var(--mut); margin-top: 2px; line-height: 1.5; }
.v6-rep-c { display: flex; gap: 7px; flex: 0 0 auto; }
.v6-repdl { margin-top: 14px; display: flex; justify-content: flex-end; align-items: center;
  gap: 9px; flex-wrap: wrap; }
.v6-repdl b { margin-right: auto; font-size: 12.5px; color: var(--ink); }

/* ───────────── forms ───────────── */
.v6-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.v6-f { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.v6-fl { font-size: 12px; font-weight: 600; color: var(--ink); }
.v6-fh { font-size: 11px; color: var(--mut); line-height: 1.45; }
.v6-f .inp { min-width: 0; }
.v6-hide { display: none; }
.v6-formnote { display: flex; align-items: flex-start; gap: 9px; margin-top: 13px; padding: 10px 13px;
  border-radius: 10px; background: var(--bg2, var(--card)); border: 1px dashed var(--line);
  font-size: 11.5px; color: var(--mut); line-height: 1.55; }
.v6-formnote span:first-child { color: var(--blue); display: flex; flex: 0 0 auto; margin-top: 1px; }
.v6-p { font-size: 12.5px; color: var(--mut); line-height: 1.6; margin: 0 0 13px; }
.v6-note { font-size: 12.5px; color: var(--mut); line-height: 1.6; margin: 0 0 14px; padding: 11px 14px;
  border-radius: 10px; background: var(--bg2, var(--card)); border: 1px solid var(--line); }
.v6-nogrp { color: var(--mut); font-style: italic; }
.v6-check { display: flex; align-items: center; gap: 9px; margin-top: 13px; font-size: 12.5px; color: var(--ink); }
.v6-check input { width: 15px; height: 15px; flex: 0 0 auto; }

/* ───────────── the bill header on the receipt dialog ───────────── */
.v6-billhead { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 11px;
  padding: 12px 14px; border-radius: 11px; background: var(--bg2, var(--card));
  border: 1px solid var(--line); margin-bottom: 15px; }
.v6-bh-l { font-size: 11px; color: var(--mut); font-weight: 600; }
.v6-bh-v { font-size: 13.5px; color: var(--ink); font-weight: 600; margin-top: 2px;
  overflow: hidden; text-overflow: ellipsis; }

/* ───────────── narrow screens ───────────── */
@media (max-width: 1080px) {
  .v6-two, .v6-big, .v6-sides, .v6-form { grid-template-columns: minmax(0, 1fr); }
  .v6-billhead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v6-tick { grid-template-columns: 20px 96px minmax(0, 1fr); }
  .v6-tick-h, .v6-tick-d { display: none; }
}

/* the reason a row cannot be acted on, where the button would have been */
.v6-appr-no { font-size: 11.5px; color: var(--mut); font-style: italic; max-width: 260px;
  line-height: 1.45; display: block; }

/* ───────────── v3.7.5 · sitting 18 · the statements (F-063 to F-069) ─────────────
   Six documents a real person asks this centre for by name. They are drawn the way they are
   printed: a name on the left, a figure hard right, a rule above the total, and nothing else
   competing for the eye. Everything a person cannot print is hidden by the print block below. */
.v6-stpick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;
  margin: 4px 0 16px; }
.v6-stp { text-align: left; padding: 11px 13px; border-radius: 11px; border: 1px solid var(--line);
  background: var(--card); cursor: pointer; display: block; }
.v6-stp:hover { border-color: var(--teal-dark); }
.v6-stp.on { border-color: var(--teal-dark); box-shadow: inset 0 0 0 1px var(--teal-dark); }
.v6-stp-l { display: block; font-weight: 700; font-size: 13.5px; color: var(--ink); }
.v6-stp-w { display: block; font-size: 11.5px; color: var(--mut); margin-top: 3px; line-height: 1.45; }

.v6-sthead { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
  flex-wrap: wrap; margin-bottom: 14px; }
.v6-stt { margin: 0; font-size: 14px; font-weight: 700; color: var(--ink); }
.v6-stm { margin: 5px 0 0; font-size: 11.5px; color: var(--mut); line-height: 1.55; max-width: 720px; }
.v6-stact { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }

.v6-stcol { min-width: 0; }
.v6-stch { margin: 0 0 8px; font-size: 12px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .04em; color: var(--mut); }
.v6-strow { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0;
  border-bottom: 1px dashed var(--line); font-size: 13px; }
.v6-strow.hdr { border-bottom: 1px solid var(--line); font-size: 11px; color: var(--mut);
  font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.v6-strow.sub .v6-strn { color: var(--mut); font-style: italic; }
.v6-strow.tot { border-bottom: none; border-top: 2px solid var(--line); font-weight: 700;
  margin-top: 4px; padding-top: 8px; }
.v6-strn { min-width: 0; overflow-wrap: anywhere; }
.v6-strv { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums;
  min-width: 108px; }
.v6-strv.was { color: var(--mut); }

.v6-stnote { margin-top: 14px; padding: 10px 13px; border-radius: 10px; font-size: 12.5px;
  line-height: 1.55; border: 1px solid var(--line); background: var(--bg2, var(--card)); }
.v6-stnote.ok { border-color: rgba(0, 191, 179, .45); }
.v6-stnote.bad { border-color: rgba(224, 90, 90, .55); }
.v6-stmemo { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); }
.v6-sched { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.v6-partyq { display: flex; gap: 8px; margin-bottom: 14px; }
.v6-partyq .inp { flex: 1 1 auto; min-width: 0; }
.v6-bookrow { display: flex; justify-content: space-between; align-items: center; gap: 14px;
  padding: 12px 0; border-bottom: 1px dashed var(--line); }
.v6-bookrow:last-child { border-bottom: none; }

@media print {
  .v6-stpick, .v6-stact, .v6-sides, .v6-per { display: none !important; }
  .v6-strow { break-inside: avoid; }
}
@media (max-width: 1080px) {
  .v6-stpick, .v6-sched { grid-template-columns: minmax(0, 1fr); }
  .v6-partyq { flex-direction: column; }
}

/* the reason a payment was sent back, in the words the approver typed (F-010) */
.v6-backwhy { font-size: 12.5px; color: var(--ink); font-style: italic; margin: 4px 0 2px;
  line-height: 1.5; }

/* two small controls side by side at the end of a table row (F-070) */
.v6-rowacts { display: flex; gap: 6px; justify-content: flex-end; flex-wrap: wrap; }

/* ── v3.7.8 · sitting 38 (F-185) · what has to be read before a return is filed ──
   A tax export that quietly leaves a field blank is a wrong return filed under somebody's
   signature, so the gaps are printed above the download in a box nobody scrolls past. */
.v6-warn { background: var(--warn-wash, rgba(230,160,20,.12)); border: 1px solid var(--border);
  border-left: 3px solid #E0A11A; border-radius: 10px; padding: 11px 14px; margin: 12px 0; }
.v6-warn b { display: block; font-size: 12.5px; margin-bottom: 5px; color: var(--ink); }
.v6-warn ul { margin: 0; padding-left: 18px; }
.v6-warn li { font-size: 12.5px; line-height: 1.55; color: var(--ink); margin-bottom: 4px; }
