/* ============================================================
   Set Up Business — module styles + print layout
   Loaded only by pages/business-setup.html. Kept out of the shared
   theme file so nothing else can be affected by these rules.
   Palette comes from css/nibvok-theme.css (--nv-*); the print sheet is
   the only place a literal colour is allowed (printers ignore vars
   poorly across engines, so the checklist prints in plain black).
   ============================================================ */

/* ---- collapsible steps ---- */
.bs-step__body { display: none; }
.bs-step.is-open .bs-step__body { display: block; }
.bs-step__chev { transition: transform 0.2s ease; }
.bs-step.is-open .bs-step__chev { transform: rotate(180deg); }

.bs-step__toggle {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.bs-step__toggle:focus-visible { outline: 2px solid var(--nv-accent); outline-offset: 3px; border-radius: 12px; }

/* A completed step gets a quiet accent edge, not a loud colour swap. */
.bs-step.is-complete { border-color: rgb(var(--nv-success-rgb) / 45%); }

/* ---- checklist rows ---- */
.bs-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 10px;
  cursor: pointer;
}
.bs-check:hover { background: var(--nv-accent-soft); }
.bs-check input { margin-top: 2px; flex: 0 0 auto; width: 17px; height: 17px; accent-color: var(--nv-accent); }
.bs-check input:checked + span { color: var(--nv-body-2); text-decoration: line-through; }

/* ---- countdown ---- */
#bsDeadline[data-tone="ok"]      { border-color: rgb(var(--nv-accent-rgb) / 30%); }
#bsDeadline[data-tone="warn"]    { border-color: rgb(var(--nv-warning-rgb) / 45%); }
#bsDeadline[data-tone="overdue"] { border-color: rgb(var(--nv-danger-rgb) / 50%); }
.bs-count { font-variant-numeric: tabular-nums; }

/* ---- progress ---- */
.bs-bar { height: 8px; border-radius: 999px; background: var(--nv-line); overflow: hidden; }
.bs-bar > i { display: block; height: 100%; width: 0; border-radius: 999px; background: var(--nv-accent); transition: width 0.3s ease; }

/* ============================================================
   PRINT — only the personalized checklist goes on paper.
   Everything on screen is marked .ox-print-hide (or sits inside the
   #bsPrint container, which is hidden until print).
   ============================================================ */
#bsPrint { display: none; }

@media print {
  @page { margin: 14mm; }

  body { background: #fff !important; color: #000 !important; }

  .ox-print-hide { display: none !important; }

  #bsPrint {
    display: block !important;
    color: #000;
    font-family: Georgia, 'Times New Roman', serif;
  }
  #bsPrint h1 { font-size: 21px; margin: 0 0 4px; }
  #bsPrint h2 { font-size: 14px; margin: 18px 0 6px; border-bottom: 1px solid #999; padding-bottom: 3px; }
  #bsPrint .bs-p-meta { font-size: 12px; color: #333; margin: 0 0 2px; }
  #bsPrint ul { margin: 4px 0 0; padding-left: 18px; }
  #bsPrint li { font-size: 12px; line-height: 1.5; margin-bottom: 3px; }
  #bsPrint .bs-p-box { border: 1px solid #999; padding: 8px 10px; font-size: 12px; margin-top: 6px; }
  #bsPrint .bs-p-note { font-size: 11px; color: #444; margin-top: 14px; }
  /* A check mark on paper, since a disabled checkbox prints ambiguously. */
  #bsPrint .bs-p-tick { font-family: monospace; }
}
