  /* ---------- KPI cards (contractor page) ---------- */
  .kpi-row{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:12px;margin-bottom:24px;
  }
  .kpi-row.kpi-3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kpi-card{
    background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
    padding:12px 16px;min-width:0;
  }
  .kpi-value{
    font-size:18px;font-weight:700;font-family:var(--mono);color:var(--accent-dark);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  }
  .kpi-label{font-size:11px;color:var(--ink-soft);margin-top:2px;white-space:nowrap}
  @media (max-width:820px){
    .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}
    .kpi-row.kpi-3{grid-template-columns:1fr}
  }
  /* Картка контрагента: предмет — sponge з переносом; атомарні колонки — nowrap */
  table.reg.contractor-contracts-table{
    table-layout:auto;min-width:0;width:100%;
  }
  table.reg.contractor-contracts-table td.cell-wrap,
  table.reg.contractor-contracts-table th.cell-wrap,
  table.reg.contractor-contracts-table th.th-wrap{
    white-space:normal;overflow:visible;text-overflow:unset;
    overflow-wrap:break-word;word-break:normal;line-height:1.3;
  }
  table.reg.contractor-contracts-table thead th{
    white-space:nowrap;line-height:1.25;
  }
  table.reg.contractor-contracts-table thead th.cell-wrap,
  table.reg.contractor-contracts-table thead th.th-wrap{
    white-space:normal;
  }

  /* ---------- Contractor autocomplete (inline dropdown, not a modal) ---------- */
  .contractor-picker{position:relative;max-width:420px}
  .contractor-picker .cp-search{
    width:100%;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;background:var(--paper);
  }
  .ac-list{
    position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);
    border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px rgba(31,36,33,.12);
    max-height:240px;overflow:auto;z-index:10;
  }
  .ac-item{padding:8px 10px;cursor:pointer;font-size:13px;border-bottom:1px solid var(--line-soft)}
  .ac-item:last-child{border-bottom:none}
  .ac-item:hover{background:var(--accent-tint)}
  .ac-item.ac-new{color:var(--accent-dark);font-weight:600}

  .link-cp{color:var(--accent-dark);text-decoration:none}
  .link-cp:hover{text-decoration:underline}

  .import-note{
    background:var(--paper);border:1px dashed var(--line);border-radius:var(--radius);
    padding:9px 11px;font-size:12.5px;color:var(--ink-soft);
  }

  .badge.amber{background:#F3E7CE;color:var(--amber)}

  /* ---------- Compact table variants (contractor page sub-tables) ---------- */
  table.reg.small th,table.reg.small td{padding:5px 8px;font-size:12.5px}
  table.reg.tiny{min-width:0;table-layout:auto}
  table.reg.tiny th,table.reg.tiny td{padding:4px 8px;font-size:12px;border-right:none}
  tr.nom-row{cursor:pointer}
  tr.nom-row:hover td{background:var(--accent-tint)}
  tr.hist-holder td{background:var(--paper)}
  tr.hist-holder table.reg{background:var(--surface);margin:8px}
  tr.hist-holder table.reg{width:calc(100% - 16px)}
  /* Drill-down: клікабельні місяці в історії закупівель */
  .month-drill{
    color:var(--accent-dark);cursor:pointer;text-decoration:none;border-bottom:1px dashed transparent;
    font-weight:600;
  }
  .month-drill:hover{border-bottom-color:var(--accent);text-decoration:underline}
  tr.month-row.expanded .month-drill{color:var(--accent)}
  .anomaly-banner{
    display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
    background:var(--danger-tint);border:1px solid var(--danger);border-radius:var(--radius);
    padding:10px 14px;margin-bottom:16px;font-size:13px;color:var(--danger);
  }
  .anomaly-banner b{font-weight:700}
  .anomaly-banner .btn{flex-shrink:0}
  tr.anomaly-act-row td{background:var(--danger-tint)}
  .anomaly-banner-mini{
    display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
    background:var(--danger-tint);border:1px solid var(--danger);border-radius:var(--radius);
    padding:7px 12px;margin-bottom:16px;font-size:12.5px;color:var(--danger);
  }
  .anomaly-banner-mini .btn{flex-shrink:0}
  .lost-contract-badge{
    color:var(--danger);font-weight:700;background:var(--danger-tint);
    border-radius:4px;padding:2px 6px;white-space:normal;display:inline-block;font-size:12px;
  }


/* Contractor / form selects — match input chrome */
.field select{
  font:inherit;font-size:13.5px;padding:7px 10px;border:1px solid var(--line, #c5cdd8);
  border-radius:var(--radius, 6px);background:var(--paper, #fff);color:var(--ink, #1a2332);
  width:100%;box-sizing:border-box;appearance:auto;min-height:34px;
}
.field select:focus{outline:1px solid var(--accent, #1565c0);border-color:var(--accent, #1565c0);}

/* —— Contractor card: Master–Detail tree (contracts → ДУ) —— */
.contractor-tree-table .tree-toggle-th,
.contractor-tree-table .tree-toggle-td{
  width:2.2rem;min-width:2.2rem;padding:4px 2px;vertical-align:middle;
}
.contractor-tree-table .tree-toggle{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;padding:0;border:1px solid var(--line,#c5cdd8);
  border-radius:5px;background:var(--paper,#fff);cursor:pointer;color:var(--ink-soft,#5a6577);
}
.contractor-tree-table .tree-toggle:hover{border-color:var(--accent,#1565c0);color:var(--accent,#1565c0);background:rgba(21,101,192,.06)}
.contractor-tree-table .tree-toggle.is-empty{opacity:.35;cursor:default}
.contractor-tree-table .tree-toggle.is-empty:hover{border-color:var(--line,#c5cdd8);color:var(--ink-soft);background:var(--paper,#fff)}
.contractor-tree-table .tree-toggle-ico{
  display:block;width:0;height:0;
  border-top:4px solid transparent;border-bottom:4px solid transparent;
  border-left:6px solid currentColor;margin-left:2px;
  transition:transform .15s ease;
}
.contractor-tree-table .tree-toggle.is-open .tree-toggle-ico{
  transform:rotate(90deg);margin-left:0;margin-top:1px;
}
.contractor-tree-table tr.contract-parent-row.is-expanded > td{
  background:rgba(21,101,192,.04);
}
.contractor-tree-table tr.ds-child-row > td.ds-nested-cell{
  padding:0 0 8px 0;background:#f3f5f8;border-bottom:1px solid var(--line,#dce3ec);
}
.contractor-tree-table .ds-nested-table{
  width:100%;margin:0;border:none;background:transparent;
  box-shadow:none;
}
.contractor-tree-table .ds-nested-table thead th{
  font-size:11px;font-weight:600;color:var(--ink-soft,#5a6577);
  background:#e8ecf1;padding:6px 10px;border:none;
}
.contractor-tree-table .ds-nested-table tbody td{
  padding:6px 10px;font-size:12.5px;border-bottom:1px solid #e4e9ef;background:transparent;
}
.contractor-tree-table .ds-nested-table tbody tr:hover td{background:rgba(21,101,192,.06);cursor:pointer}
.contractor-tree-table .ds-nested-empty{padding:8px 12px 8px 2.4rem;font-size:12.5px}
.contractor-tree-table .ds-delta-pos{color:#1b7a3d;font-weight:600}
.contractor-tree-table .ds-delta-neg{color:#b42318;font-weight:600}
