/* ZaborCalc — базовые стили (этап 0) */
:root {
  --zc-green: #009645;
}
body { background: #f5f6f8; }
.navbar-brand { font-weight: 600; }
.card { box-shadow: 0 1px 3px rgba(0,0,0,.08); border: none; }

/* --- Лист-таблица «как было» (этап 2) --- */
.zc-main { font-size: .85rem; }
.zc-main thead th { white-space: nowrap; vertical-align: middle; }
.zc-main td { padding: .25rem .35rem; }
.zc-main input.form-control { font-size: .8rem; padding: .15rem .3rem; min-width: 70px; }
.zc-main td:first-child input.form-control { min-width: 200px; }
.zc-main .fix-size, .zc-result .fix-size { width: 110px; }
.zc-result { font-size: .9rem; max-width: 720px; }
.zc-result input.form-control { display: inline-block; width: 100px; }
.rub { margin-left: 2px; color: #6c757d; }

/* кнопка удаления строки */
.zc-minus {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; margin-right: 4px; border-radius: 3px;
  background: #fe0032; color: #fff; font-weight: 700; cursor: pointer;
  user-select: none; vertical-align: middle;
}
.zc-minus:hover { opacity: .8; }

/* autocomplete */
.zc-ac-list {
  display: none; position: absolute; z-index: 1050;
  background: #fff; border: 1px solid #ced4da; border-radius: .25rem;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); max-height: 260px; overflow: auto;
  min-width: 160px; font-size: .8rem;
}
.zc-ac-item { padding: .25rem .5rem; cursor: pointer; }
.zc-ac-item:hover, .zc-ac-item.active { background: #e9ecef; }

/* итоги клиентского блока */
#client .tfooter td { font-weight: 600; }
#client .bonus td { color: #198754; }

/* модалка «проверьте наценку!» */
.zc-modal {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(0,0,0,.45);
  align-items: center; justify-content: center;
}
.zc-modal-content {
  position: relative; background: #fff; border-radius: .5rem;
  padding: 2rem 3rem; text-align: center; box-shadow: 0 1rem 3rem rgba(0,0,0,.3);
}
.zc-modal-content h3 { color: #dc3545; }
.zc-modal-content .btn-close { position: absolute; top: .5rem; right: .5rem; }

/* --- v2 Конфигуратор: компактные блоки (максимум полей на экране) --- */
.zc-block { margin-bottom: 0 !important; }
.zc-block .card-body { padding: .35rem .55rem; }
.zc-block .badge { font-size: .68rem; }
.zc-block .form-select-sm, .zc-block .form-control-sm {
  padding: .12rem .35rem; font-size: .8rem; min-height: 1.65rem;
}
.zc-block .form-select-sm { padding-right: 1.4rem; }
.zc-block .input-group-text { font-size: .68rem; padding: .12rem .3rem; }
.zc-block .btn.zc-del { line-height: 1; }
.zc-dense { --bs-gutter-x: .4rem; --bs-gutter-y: .28rem; }
#blocks { gap: .45rem !important; }
.zc-addbar .btn { font-size: .78rem; }

/* --- v2 чип-модель --- */
.zc-chip {
  display: flex; align-items: center; gap: .4rem;
  background: #fff; border: 1px solid #dee2e6; border-radius: .4rem;
  padding: .15rem .5rem; font-size: .8rem; min-height: 30px;
  cursor: pointer; user-select: none;
}
.zc-chip:hover { border-color: #0d6efd; }
.zc-chip-open { border-color: #198754; box-shadow: 0 0 0 1px #198754 inset; }
.zc-chip-title { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zc-chip-emoji { flex: 0 0 auto; }
.zc-chip-sum { flex: 0 0 auto; font-weight: 600; white-space: nowrap; }
.zc-chip .btn { line-height: 1; font-size: .8rem; }

.zc-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%;
  background: #ced4da; margin: 0 2px; }
.zc-dot-on { background: #198754; }
.zc-catsum { font-size: .68rem; color: #198754; font-weight: 600; }

/* подсветка «уточните параметр» */
.zc-need { border-color: #dc3545; box-shadow: 0 0 0 1px #dc3545 inset; }

/* липкая полоса итогов */
.zc-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
  background: #fff; border-top: 1px solid #dee2e6;
  box-shadow: 0 -.35rem 1rem rgba(0,0,0,.1);
  padding: .25rem 1rem .35rem;
}
.zc-sticky-spacer { height: 64px; }
.zc-econ { border-bottom: 1px dashed #ced4da; padding: .4rem 0 .5rem; }

/* тосты */
.zc-toasts {
  position: fixed; right: 1rem; bottom: 76px; z-index: 1040;
  display: flex; flex-direction: column; gap: .4rem; max-width: 420px;
}
.zc-toast {
  display: flex; align-items: center; gap: .6rem;
  background: #212529; color: #fff; border-radius: .4rem;
  padding: .45rem .7rem; font-size: .82rem;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.25);
}
.zc-toast .btn { color: #fff; border-color: #6ea8fe; }


