/* Калькулятор банковских гарантий (поток C, 20.10.2026; docs/BG_CALC_UI.md; static/js/bg_calc.js).
   Работает в кабинете (cabinet_bg_calc.html, блок «Расчёты БГ» в сделке) и на лендинге /kalkulyator-bg.
   Только токены tokens.css, без своих цветов - тёмная тема подхватывается сама. */

.bgc{display:flex;flex-direction:column;gap:var(--space-4, 16px)}
.bgc [hidden]{display:none !important}
.bgc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--space-4, 16px);align-items:start}
.bgc-side{display:flex;flex-direction:column;gap:var(--space-4, 16px)}
@media (max-width:900px){.bgc-grid{grid-template-columns:minmax(0,1fr)}}

/* ---- форма ---- */
.bgc-form{display:flex;flex-direction:column;gap:14px}
.bgc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bgc-fields-inner{margin-top:12px}
.bgc-wide{grid-column:1 / -1}
@media (max-width:640px){.bgc-fields{grid-template-columns:minmax(0,1fr)}}
.bgc-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.bgc-field label,.bgc-legend{font-size:13px;font-weight:600;color:var(--color-text-2)}
.bgc-field input[type=text],.bgc-field input[type=date],.bgc-field select,.bgc-field textarea,.bgc-inline input,.bgc-inline select,.bgc-price{
  width:100%;min-height:40px;padding:8px 12px;font:inherit;color:var(--color-text);
  background:var(--color-surface);border:1px solid var(--color-border-input, var(--color-border-strong));border-radius:var(--radius-md);
}
.bgc-field input:focus-visible,.bgc-field select:focus-visible,.bgc-field textarea:focus-visible,.bgc-price:focus-visible{
  outline:2px solid var(--color-focus, var(--color-accent));outline-offset:1px;
}
.bgc-dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;grid-column:1 / -1}
.bgc-dates > .bgc-days{grid-column:1 / -1}
.bgc-hint,.bgc-opt{font-size:12px;font-weight:400;color:var(--color-text-muted)}
.bgc-check{display:flex;align-items:flex-start;gap:8px;font-size:14px;font-weight:400;color:var(--color-text)}
.bgc-check input{margin-top:3px}
.bgc-more{border-top:1px solid var(--color-border);padding-top:10px}
.bgc-more > summary{cursor:pointer;font-weight:600;color:var(--color-text-2)}
.bgc-banks-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin-top:8px}
.bgc-field.has-error input,.bgc-field.has-error select{border-color:var(--color-danger)}
.bgc-field-error,.bgc-errors,.bgc-status.is-error{color:var(--color-danger);font-size:13px}
.bgc-errors{margin:0}
.bgc-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}
.bgc-form .is-loading{opacity:.7;cursor:progress}

/* ---- лимит и квота ---- */
.bgc-quota{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 14px;border:1px solid var(--color-accent-border, var(--color-border));
  background:var(--color-accent-soft);border-radius:var(--radius-md);font-size:14px}
.bgc-limit{border-color:var(--color-warning);background:var(--color-surface)}
.bgc-limit h2,.bgc-limit h3{margin:0 0 6px}

/* ---- результат ---- */
.bgc-summary{font-size:13px;color:var(--color-text-muted)}
.bgc-warnings{margin:8px 0 12px;padding-left:18px;font-size:13px;color:var(--color-text-2)}
.bgc-warnings .bgc-disclaimer{color:var(--color-text-muted)}
.bgc-markup{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin:0 0 14px;padding:12px;background:var(--color-surface-2);border-radius:var(--radius-md)}
.bgc-markup .bgc-legend{flex:1 0 100%}
.bgc-markup .bgc-hint{flex:1 0 100%}
.bgc-inline{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;color:var(--color-text-2)}
.bgc-inline input,.bgc-inline select{min-width:160px}
.bgc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bgc-table{width:100%;border-collapse:collapse;font-size:14px}
.bgc-table th{padding:8px 10px;text-align:left;font-size:12px;font-weight:600;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap}
.bgc-table td{padding:10px;border-bottom:1px solid var(--color-border);vertical-align:top}
.bgc-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.bgc-table tr.is-selected td{background:var(--color-surface-selected, var(--color-surface-2))}
.bgc-col-check{width:34px}
.bgc-col-price{min-width:150px}
.bgc-col-cond{min-width:180px}
.bgc-price{min-height:34px;padding:4px 8px;text-align:right}
.bgc-sub{font-size:12px;color:var(--color-text-muted);margin-top:2px}
.bgc-badge{display:inline-block;margin:0 4px 4px 0;padding:2px 8px;border-radius:var(--radius-pill);font-size:12px;line-height:1.5;
  background:var(--color-surface-3);color:var(--color-text-2)}
.bgc-badge.is-ok{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success-border)}
.bgc-badge.is-warn{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning-border)}
.bgc-badge.is-average{font-weight:600}
.bgc-rate-average{background:var(--color-warning-bg);color:var(--color-warning);box-shadow:inset 3px 0 0 var(--color-warning-border);font-style:italic}
.bgc-badge.is-bad{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid var(--color-danger-border)}
.bgc-reasons{margin:2px 0 6px;font-size:12px;color:var(--color-text-muted)}
.bgc-reasons > summary{cursor:pointer;color:var(--color-text-2)}
.bgc-reasons ul{margin:4px 0 0;padding-left:16px}
.bgc-empty{margin:12px 0 0;color:var(--color-text-muted)}
.bgc-result{display:flex;flex-direction:column;gap:var(--space-4, 16px)}
.bgc-status{margin:10px 0 0;font-size:13px;color:var(--color-text-2)}
.bgc-cta{margin-top:var(--space-4, 16px)}

/* ---- профиль принципала ---- */
.bgc-profile-list{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 12px;margin:0;font-size:14px}
.bgc-profile-list dt{color:var(--color-text-muted)}
.bgc-profile-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.bgc-profile-list dd.is-warn{color:var(--color-danger)}
.bgc-profile-list dd.is-locked{font-weight:400;color:var(--color-text-muted)}
.bgc-profile-list dd.bgc-ask{font-weight:400;color:var(--color-warning);background:var(--color-warning-bg);border-radius:var(--radius-xs);padding:0 4px}
.bgc-profile-sub{font-size:13px;margin:12px 0 6px;color:var(--color-text-2)}

/* ---- сохранённые расчёты, прайс ---- */
.bgc-saved-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.bgc-kp-settings{margin-top:12px;border-top:1px solid var(--color-border);padding-top:10px}
.bgc-kp-settings > summary{cursor:pointer;font-weight:600;color:var(--color-text-2)}
.bgc-kp-settings .bgc-actions{margin-top:10px}
.bgc-pricelist > summary{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:600}
.bgc-file{cursor:pointer}
.bgc-landing{display:flex;flex-direction:column;gap:var(--space-4, 16px)}

/* ---- таблица предложений на узком экране: карточка на строку (цена и доход не прячутся за горизонтальной прокруткой) ---- */
@media (max-width:640px){
  .bgc-table-wrap{overflow-x:visible}
  .bgc-table thead{display:none}
  .bgc-table,.bgc-table tbody{display:block;width:100%}
  .bgc-table tr{display:grid;grid-template-columns:32px minmax(0,1fr);gap:2px 8px;padding:10px 4px;border-bottom:1px solid var(--color-border)}
  .bgc-table td{display:block;padding:2px 0;border-bottom:0;min-width:0}
  .bgc-table tr.is-selected td{background:transparent}
  .bgc-table tr.is-selected{background:var(--color-surface-selected, var(--color-surface-2))}
  .bgc-table td.bgc-col-name:first-child{grid-column:1 / -1}
  .bgc-table td[data-label]{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:right}
  .bgc-table td[data-label]::before{content:attr(data-label);font-size:12px;color:var(--color-text-muted);text-align:left;flex:0 0 auto}
  .bgc-table td[hidden]{display:none !important}
  .bgc-table td.bgc-col-price{align-items:center;flex-wrap:wrap}
  .bgc-table td.bgc-col-price .bgc-sub{flex:1 0 100%;margin:0;white-space:normal}
  .bgc-table td.bgc-col-price .bgc-price{width:9em}
  .bgc-table td.bgc-col-cond{grid-column:1 / -1;min-width:0}
  .bgc-col-check{width:auto}
  .bgc-col-price{min-width:0}
}

/* отступы в панели профиля принципала */
.bgc-profile-list + .bgc-profile-sub{margin-top:18px}
.bgc-profile .bgc-hint{display:block;margin:10px 0 0}

/* Подстановка по номеру закупки */
.bgc-lookup-row{display:flex;gap:10px;align-items:stretch}
.bgc-lookup-row input{flex:1 1 auto;min-width:0}
.bgc-lookup-row .btn{flex:0 0 auto;white-space:nowrap}
.bgc-hint.bgc-lookup-fail{color:var(--color-danger)}
@media (max-width:480px){.bgc-lookup-row{flex-direction:column}}
