/* ============================================================
   css/checklist.css — окна (модалки) и чек-лист оценки, ошибки оператора.
   С 26.10.2026 стили разнесены по файлам без правок.
   ============================================================ */
  /* ===== МОДАЛКИ ===== */
  .review-modal{ display:none; position:fixed; inset:0; background:rgba(11,16,25,.55); backdrop-filter:blur(3px); z-index:1000; justify-content:center; align-items:center; padding:16px; }
  .review-modal.active{ display:flex; animation:fade .2s ease both; }
  .review-modal .modal-content{ background:var(--surface); padding:28px; border-radius:18px; max-width:560px; width:100%; max-height:90vh; overflow-y:auto; box-shadow:var(--shadow-lg); animation:rise .28s cubic-bezier(.2,.7,.3,1) both; }
  .review-modal .modal-title{ font-family:var(--display); font-size:19px; font-weight:600; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
  .review-modal .modal-title i{ color:var(--accent); }
  .review-modal .form-group{ margin-bottom:15px; }
  .review-modal .form-group label{ display:block; font-weight:600; margin-bottom:6px; color:var(--ink-2); font-size:13px; }
  .review-modal .form-group select, .review-modal .form-group input, .review-modal .form-group textarea{ width:100%; padding:11px 13px; border:1.5px solid var(--border-strong); border-radius:var(--radius-sm); font-size:14px; outline:none; font-family:inherit; color:var(--ink); transition:border-color .2s, box-shadow .2s; }
  .review-modal .form-group select:focus, .review-modal .form-group input:focus, .review-modal .form-group textarea:focus{ border-color:var(--accent); box-shadow:0 0 0 3px rgba(43,89,240,.14); }
  .review-modal .btn-row{ display:flex; gap:10px; margin-top:20px; }
  .review-modal .btn-row button{ flex:1; padding:12px; border:none; border-radius:var(--radius-sm); font-family:var(--display); font-weight:600; cursor:pointer; transition:background .18s var(--ease-out), transform .16s var(--ease-out); }
  .review-modal .btn-save{ background:var(--accent); color:#fff; }
  .review-modal .btn-save:hover{ background:var(--accent-ink); }
  .review-modal .btn-cancel{ background:var(--surface-2); color:var(--ink-2); border:1px solid var(--border); }
  .review-modal .btn-cancel:hover{ background:#eceff5; }
  .request-detail{ background:var(--surface-2); padding:15px 16px; border-radius:var(--radius-sm); border:1px solid var(--border); margin-bottom:16px; }
  .request-detail .row{ display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px solid var(--border); gap:12px; }
  .request-detail .row:last-child{ border-bottom:none; }
  .request-detail .label{ color:var(--muted); font-size:13px; }
  .request-detail .value{ font-weight:600; color:var(--ink); text-align:right; }

  /* ===== ЧЕК-ЛИСТ (проверка) ===== */
  .checklist-block{ margin-bottom:16px; }
  .checklist-item{ display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border:1px solid var(--border); border-radius:var(--radius-sm); margin-bottom:8px; background:var(--surface); }
  .checklist-item .ci-text{ font-size:14px; color:var(--ink); }
  .ci-toggle{ border:none; border-radius:20px; padding:6px 14px; font-size:12px; font-weight:700; cursor:pointer; white-space:nowrap; min-width:120px; transition:background .18s var(--ease-out), color .18s var(--ease-out), transform .16s var(--ease-out); }
  .ci-toggle.pass{ background:var(--good-bg); color:#0a6e3d; }
  .ci-toggle.pass:hover{ box-shadow:inset 0 0 0 1.5px var(--good); }
  .ci-toggle.fail{ background:var(--bad-bg); color:#a52020; }
  .ci-toggle.fail:hover{ box-shadow:inset 0 0 0 1.5px var(--bad); }
  .score-box{ display:flex; align-items:baseline; gap:10px; background:var(--accent-soft); border:1px solid #cfdbff; border-radius:var(--radius-sm); padding:14px 18px; margin-bottom:16px; }
  .score-box .score-num{ font-family:var(--display); font-size:34px; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; line-height:1; }
  .score-box .score-lbl{ font-size:13px; color:var(--ink-2); }

  /* ===== ОШИБКИ ОПЕРАТОРА ===== */
  .fail-call{ border:1px solid var(--border); border-radius:var(--radius); padding:16px; margin-bottom:12px; background:var(--surface); }
  .fail-call .fc-head{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:11px; }
  .fail-call .fc-head strong{ color:var(--ink); font-family:var(--display); }
  .fail-call .fc-score{ font-family:var(--display); font-weight:700; font-size:19px; font-variant-numeric:tabular-nums; padding:2px 10px; border-radius:8px; }
  .fail-call .fc-score.ok{ color:var(--good-ink); background:var(--good-bg); }
  .fail-call .fc-score.mid{ color:#9a6206; background:var(--mid-bg); }
  .fail-call .fc-score.bad{ color:var(--bad-ink); background:var(--bad-bg); }
  .fail-tag{ display:inline-block; background:var(--bad-bg); color:#a52020; border-radius:8px; padding:4px 10px; font-size:12px; font-weight:500; margin:3px 4px 3px 0; }
  .fail-tag.minor{ background:var(--mid-bg); color:#9a6206; }
  /* замечание к пункту без ошибки — не тревожным цветом */
  .fail-tag.note-tag{ background:var(--accent-soft); color:var(--accent-ink); }
  .all-pass{ color:var(--good-ink); font-weight:600; font-size:13px; }

  /* ===== ЧЕК-ЛИСТ v2 (единый белый блок) ===== */
  .ev-block{ margin-bottom:26px; }
  .ev-block:last-child{ margin-bottom:0; }
  .ev-bhead{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-bottom:9px; margin-bottom:12px; border-bottom:2px solid var(--border); }
  .ev-bname{ font-family:var(--display); font-weight:600; font-size:15px; color:var(--ink); }
  .ev-bmax{ font-size:12px; color:var(--muted); font-weight:600; white-space:nowrap; }
  .ev-row{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--border); }
  .ev-row:last-child{ border-bottom:none; }
  .ev-text{ font-size:14px; color:var(--ink); flex:1; min-width:0; }
  .ev-minus{ display:block; font-size:11px; color:var(--bad-ink); margin-top:3px; font-weight:600; min-height:14px; }
  .ev-opts{ display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
  .ev-opt{ border:1.5px solid var(--border-strong); background:var(--surface); color:var(--ink-2); border-radius:8px; padding:6px 11px; font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; transition:background .15s var(--ease-out), border-color .15s var(--ease-out), color .15s var(--ease-out), transform .14s var(--ease-out); }
  .ev-opt:hover{ border-color:var(--muted); }
  .ev-opt.on-pos{ background:var(--good-bg); border-color:var(--good-ink); color:#0a6e3d; }
  .ev-opt.on-dbt{ background:var(--mid-bg); border-color:var(--mid-ink); color:#9a6206; }
  .ev-opt.on-neg{ background:var(--bad-bg); border-color:var(--bad-ink); color:#a52020; }
  /* «Не требуется» серым не читалось: выбрано или нет — не разобрать */
  .ev-opt.on-na{ background:var(--accent-soft); border-color:var(--accent); color:var(--accent-ink); font-weight:600; }
  .ev-opt.on-yes{ background:var(--bad-bg); border-color:var(--bad-ink); color:#a52020; }
  .ev-opt.on-no{ background:#eceff5; border-color:var(--border-strong); color:#6b7585; }
  .ev-cmt{ width:100%; margin-top:8px; padding:8px 11px; border:1.5px solid var(--border); border-radius:8px; font-size:13px; font-family:inherit; outline:none; }
  .ev-cmt:focus{ border-color:var(--accent); }
  /* поле, которое растёт под текст: длинное замечание уезжало за край строки */
  textarea.grow{ display:block; resize:none; overflow:hidden; line-height:1.4; min-height:36px; }

  .ev-sticky{ position:sticky; bottom:12px; z-index:40; display:flex; align-items:center; gap:18px; flex-wrap:wrap;
    background:var(--surface); border:1px solid var(--border-strong); border-radius:var(--radius); box-shadow:0 6px 26px rgba(18,23,34,.14); padding:14px 20px; margin-bottom:16px; }
  .ev-score{ display:flex; align-items:baseline; gap:9px; }
  .ev-num{ font-family:var(--display); font-size:32px; font-weight:700; color:var(--accent); font-variant-numeric:tabular-nums; letter-spacing:-.5px; }
  .ev-num.bad{ color:var(--bad-ink); } .ev-num.mid{ color:var(--mid-ink); } .ev-num.ok{ color:var(--good-ink); }
  .ev-lbl{ font-size:12px; color:var(--muted); text-transform:uppercase; letter-spacing:.5px; font-weight:600; }
  .ev-counts{ display:flex; gap:7px; flex-wrap:wrap; flex:1; }
  .ev-chip{ border-radius:8px; padding:5px 11px; font-size:12px; font-weight:600; }
  .ev-chip.bad{ background:var(--bad-bg); color:#a52020; }
  .ev-chip.mid{ background:var(--mid-bg); color:#9a6206; }
  .ev-chip.ko{ background:var(--bad); color:#fff; }

  .chart-box{ position:relative; height:260px; }
  .chart-cap{ font-size:13px; font-weight:600; color:var(--ink-2); margin-bottom:8px; }
  .chart-cell{ min-width:0; }
  .charts-2{ display:grid; grid-template-columns:1fr 1fr; gap:22px; }

  @keyframes rise{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
  @keyframes fade{ from{ opacity:0; } to{ opacity:1; } }

  @media (max-width:768px){
    .form-grid{ grid-template-columns:1fr; }
    .stats-grid{ grid-template-columns:repeat(3,1fr); }
    .header{ flex-direction:column; text-align:center; align-items:center; }
    .user-info{ justify-content:center; }
    .charts-2{ grid-template-columns:1fr; }
  }
  @media (max-width:480px){
    .stats-grid{ grid-template-columns:1fr 1fr; }
    .login-container{ padding:32px 22px; }
    .container{ padding:16px 14px 32px; }
  }
