/* Zakelijk: wachtwoorden in bulk. Bouwt voort op style.css (variabelen, .result, .row, .seg, .btn). */

/* Instellingen */
.biz-tool { margin-top: clamp(1.25rem, 4vh, 2rem); padding-top: clamp(.4rem, 1.5vw, .6rem); padding-bottom: clamp(.4rem, 1.5vw, .6rem); }
.biz-tool .panel { border-top: 0; }
.biz-count-wrap { display: flex; align-items: center; gap: .75rem; }
.biz-count-wrap .field-note[hidden] { display: none; }
.biz-count-row input { width: 5.5rem; font-variant-numeric: tabular-nums; }
.biz-count-row input:disabled { opacity: .45; }
.biz-seg-row { flex-wrap: wrap; gap: .5rem 1rem; padding: .45rem 0; }
.biz-seg-row .seg { flex: 0 1 auto; }
.biz-seg-row .seg label { padding: .4rem .8rem; }
.biz-tool [data-type][hidden] { display: none; }
.biz-names-row textarea {
  width: 100%; min-height: 6.5rem; padding: .65rem .8rem; resize: vertical;
  border: 0; border-radius: 10px;
  box-shadow: inset 0 0 0 1px var(--control);
  background: var(--bg); color: var(--ink);
  font: 400 .9375rem/1.5 var(--sans);
  outline: none;
}
.biz-names-row textarea::placeholder { color: var(--muted); }
.biz-names-row textarea:focus-visible { box-shadow: inset 0 0 0 2px var(--ink); }

/* Uitvoer */
.biz-out { margin-top: .75rem; }
.biz-out-head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.legal .biz-out-title { margin: 0; font-size: 1.05rem; font-variant-numeric: tabular-nums; }
.biz-out-head .icon-btn svg { width: 1.25rem; height: 1.25rem; stroke-width: 2; }

.biz-table { max-height: 22rem; overflow: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); overscroll-behavior: contain; }
.biz-table:focus-visible { outline-offset: 2px; }
/* style.css maakt van tabellen op juridische pagina's blokjes; hier is het een gewone tabel */
.biz .biz-table table { display: table; width: 100%; margin: 0; border-collapse: collapse; font-size: .9375rem; }
.biz .biz-table thead { display: table-header-group; }
.biz .biz-table tbody { display: table-row-group; }
.biz .biz-table tr { display: table-row; padding: 0; border: 0; }
.biz .biz-table th, .biz .biz-table td {
  display: table-cell; padding: .5rem .75rem .5rem 0; border: 0; border-bottom: 1px solid var(--line);
  text-align: left; vertical-align: top; font-size: inherit; font-weight: 400; color: var(--ink-2);
}
.biz .biz-table td::before { content: none; display: none; }
.biz .biz-table tr:last-child td { border-bottom: 0; }
.biz .biz-table th {
  position: sticky; top: 0; z-index: 1; background: var(--bg);
  font-size: .8125rem; font-weight: 500; color: var(--muted);
  box-shadow: inset 0 -1px 0 var(--line); border-bottom: 0;
}
.biz .biz-table .biz-num { width: 2.6rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.biz .biz-table .biz-name { color: var(--ink); overflow-wrap: anywhere; }
.biz .biz-table .biz-pw { padding-right: 0; font: 500 .9375rem/1.45 var(--mono); color: var(--ink); word-break: break-all; }
.biz .biz-table .biz-off { color: var(--muted); }
.biz .biz-chars { font-family: var(--mono); white-space: nowrap; }
.biz .biz-table th[hidden] { display: none; }

.biz-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.biz-actions .btn-quiet { height: 2.75rem; }
@media (max-width: 479px) {
  .biz-actions .btn { flex: 1 1 100%; }
}

/* Scripts voor beheerders */
.biz-scripts { margin-top: 2.6rem; }
.biz-scripts h3 { margin: 1.4rem 0 .5rem; font-size: .9375rem; font-weight: 600; color: var(--ink); }
.biz-code pre {
  margin: 0; padding: .9rem 1rem; overflow-x: auto;
  border: 1px solid var(--line); border-radius: 12px; background: var(--soft);
  font: 400 .8125rem/1.55 var(--mono); color: var(--ink); tab-size: 4;
}
.biz-code pre:focus-visible { outline-offset: 2px; }
.legal .biz-code code { padding: 0; border-radius: 0; background: none; font: inherit; }
.biz-code-copy { margin-top: .5rem; }

.biz-vienix { margin-top: 2.25rem; }

/* Knipkaartjes: alleen bij afdrukken (A4, 2 x 5 per vel). Paginamarge 0, zoals bij de wifikaart in style.css:
   dan laat de browser datum, titel, adres en paginanummers weg; de witruimte zit in het vel zelf. */
.biz-print { display: none; }
@media print {
  @page { size: A4 portrait; margin: 0; }
  html body > .biz-print { display: block !important; }
  .biz-sheet {
    display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(5, 53mm);
    width: 210mm; height: 296mm; padding: 15mm 12mm 0; overflow: hidden;
    break-after: page; page-break-after: always;
  }
  .biz-sheet:last-child { break-after: auto; page-break-after: auto; }
  .biz-card {
    display: flex; flex-direction: column; min-width: 0; padding: 5.5mm 6mm 5mm;
    border-right: .3mm dashed #8a8a8a; border-bottom: .3mm dashed #8a8a8a;
    color: #16181c; font-family: var(--sans); break-inside: avoid;
  }
  .biz-card:nth-child(odd) { border-left: .3mm dashed #8a8a8a; }
  .biz-card:nth-child(-n+2) { border-top: .3mm dashed #8a8a8a; }
  .biz-card p { margin: 0; color: #16181c; max-width: none; }
  .biz-card-name { font-size: 12pt; font-weight: 600; line-height: 1.25; overflow-wrap: anywhere; }
  .biz-card-name.is-blank { padding-bottom: 5mm; border-bottom: .3mm solid #b0b0b0; font-weight: 400; color: #555 !important; }
  .biz-card-label { margin-top: 4mm !important; font-size: 8pt; color: #555 !important; }
  .biz-card-pw { margin-top: .8mm !important; font: 500 12.5pt/1.3 var(--mono); word-break: break-all; }
  .biz-card-note { margin-top: auto !important; padding-top: 2mm; font-size: 8pt; line-height: 1.35; color: #444 !important; }
}
