:root{
  --bg:#071018;--panel:#121c25;--panel2:#18232e;--line:#2d3a46;--text:#f4f7fb;--muted:#a5b1bf;
  --orange:#ff6900;--green:#4ade80;--yellow:#facc15;--red:#ff4545;--blue:#60a5fa;
}
*{box-sizing:border-box}
body{margin:0;background:#050d14;color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-weight:700}
.dash{max-width:1220px;margin:0 auto;padding:8px 14px 44px}
.header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}
.brand{display:flex;align-items:center;gap:10px}.logo{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#ff6900,#ff8d2a);font-size:25px}
h1{font-size:22px;line-height:1;margin:0}p{margin:2px 0;color:var(--muted)}h2{font-size:16px;margin:0 0 12px}small{color:var(--muted)}
.header-actions{display:flex;gap:10px;align-items:center}.period-label{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:8px 12px;color:var(--muted);font-size:12px}
input,select,textarea{background:#071018;border:1px solid var(--line);color:var(--text);border-radius:7px;padding:8px 10px;font:inherit;font-weight:800;outline:none}
.period-label input{border:0;padding:0;background:transparent}
.admin-btn,.orange-mini{background:linear-gradient(135deg,#ff6900,#ff8a2a);color:#fff;border:0;border-radius:7px;padding:10px 15px;text-decoration:none;font-weight:900;cursor:pointer}
.ghost-btn,.ghost{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:9px 12px;cursor:pointer;font-weight:900}
.notice{background:#3b1d12;border:1px solid #8a3f16;color:#ffd3b8;border-radius:8px;padding:10px 14px;margin-bottom:10px}.hidden{display:none!important}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:14px;margin-bottom:12px}
.top-grid{display:grid;grid-template-columns:1fr 1fr 1.28fr;gap:12px}.main-grid{display:grid;grid-template-columns:350px 1fr;gap:12px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-head span{color:var(--muted);font-size:12px}
.rank-list{display:grid;gap:8px}.rank-row{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:10px;background:#17222c;border:1px solid var(--line);border-radius:6px;padding:9px 11px}.medal{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#293644}.place-red{background:#9f2c25}.rank-name{font-size:15px}.rank-sub{font-size:11px;color:var(--muted)}.score-badge{background:#15472d;color:var(--green);border-radius:5px;padding:5px 9px}.score-badge.bad{background:#4a1d1d;color:#ff8b8b}.score-badge.warn{background:#46360e;color:#facc15}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.metric-grid.mini{grid-template-columns:repeat(3,1fr)}.metric{background:linear-gradient(180deg,#1b2732,#141e27);border:1px solid var(--line);border-radius:6px;padding:13px;text-align:left;color:var(--text);min-height:76px}.metric span{display:block;color:var(--muted);font-size:12px}.metric strong{font-size:32px;color:var(--text)}.metric:nth-child(1) strong{color:var(--yellow)}.metric:nth-child(2) strong{color:var(--red)}.metric.clickable{cursor:pointer}.metric.clickable:hover{border-color:#ff6900}
.select-label{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;align-items:center;color:var(--muted);font-size:12px}.side-stat{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;margin-top:14px}.side-stat span{color:var(--muted);font-size:13px}.side-stat strong{font-size:28px;color:var(--green)}
.chart-panel{min-height:438px}.chart-area{display:grid;grid-template-columns:1fr 205px;gap:14px}.bar-chart{height:230px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:end;gap:16px;padding:0 18px 0 24px;background:repeating-linear-gradient(to top,transparent 0,transparent 39px,rgba(255,255,255,.06) 40px)}.bar-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:end}.bar{width:38px;border-radius:3px 3px 0 0;display:flex;align-items:flex-start;justify-content:center;color:white;font-size:12px;padding-top:6px}.bar.green{background:#4ade80}.bar.yellow{background:#facc15;color:#111}.bar.red{background:#ff4545}.bar-date{font-size:10px;color:var(--muted)}
.chart-summary{border:1px solid var(--line);border-radius:7px;padding:10px;display:grid;gap:12px;align-content:start}.chart-summary div{display:flex;justify-content:space-between}.chart-summary span{color:var(--text);font-size:13px}.chart-summary strong{color:var(--green)}
.legend{display:flex;justify-content:center;gap:18px;margin-top:12px;color:var(--muted);font-size:12px}.legend i{display:inline-block;width:22px;height:8px;border-radius:2px;margin-right:6px}.legend .red{background:var(--red)}.legend .yellow{background:var(--yellow)}.legend .green{background:var(--green)}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{border:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}th{background:#0b151e;color:var(--muted);font-size:12px}td{font-size:13px}.score-cell{display:inline-block;border-radius:5px;padding:5px 8px;background:#143b29;color:var(--green)}.score-cell.bad{background:#3f1b1b;color:#ff7777}.level{border-radius:5px;padding:4px 7px;background:#3a3208;color:var(--yellow)}.level.d3{background:#3f1b1b;color:#ff7777}.appeal-btn{border:0;border-radius:5px;background:#4a2a14;color:#ffb377;padding:6px 9px;font-weight:900;cursor:pointer}
.dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;min-width:min(560px,calc(100vw - 24px));max-width:760px}.dialog::backdrop{background:rgba(0,0,0,.65)}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head button{background:#22303d;color:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:20px}.dialog-list{display:grid;gap:8px;margin-top:12px}.dialog-item{background:#0b151e;border:1px solid var(--line);border-radius:7px;padding:10px}.appeal-dialog label{display:block;margin-top:12px;color:var(--muted)}.appeal-dialog input,.appeal-dialog textarea{width:100%;margin-top:7px}.appeal-error{background:#0b151e;border:1px solid var(--line);border-radius:7px;padding:12px;margin:12px 0}.appeal-error span{display:block;color:var(--muted);font-size:12px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.status{margin-top:10px}.muted{color:var(--muted)}
footer{text-align:center;color:var(--muted);font-size:12px;margin-top:12px}
@media(max-width:980px){.top-grid,.main-grid,.chart-area{grid-template-columns:1fr}.header{display:block}.header-actions{margin-top:12px;flex-wrap:wrap}.dash{padding:10px}.metric-grid,.metric-grid.mini{grid-template-columns:1fr 1fr}.bar-chart{overflow:auto}}

.error-comment-cell{min-width:220px;background:rgba(255,105,0,.06)}
.error-comment-cell strong{display:block;color:#ffd0ad;font-weight:950;line-height:1.45}


.error-actions-cell{min-width:132px}
.error-actions-cell .appeal-btn,
.error-actions-cell .manager-comment-btn{width:100%;display:block}
.manager-comment-btn{
  margin-top:7px;background:#24313d;color:#f4f7fb;border:1px solid #3b4a59;
  border-radius:7px;padding:8px 9px;font-weight:900;cursor:pointer
}
.manager-comment-btn:hover:not(:disabled){border-color:#ff6900;color:#ffb27d}
.manager-comment-btn.done,
.manager-comment-btn:disabled{opacity:.55;cursor:not-allowed}

/* v5.7 SAFE — детали проверки по клику на столбик, поверх стабильной v5.4.1 */
.check-chart-item{cursor:pointer}
.check-chart-item .bar{transition:transform .15s ease,filter .15s ease}
.check-chart-item:hover .bar{transform:translateY(-3px);filter:brightness(1.1)}
.check-chart-item.selected .bar{outline:3px solid rgba(255,255,255,.78);outline-offset:2px;transform:translateY(-3px)}

.check-details-panel{
  margin-top:14px;padding-top:12px;border-top:1px solid var(--line)
}
.check-details-head{display:flex;justify-content:space-between;align-items:center;gap:10px}
.check-details-label{font-size:10px;color:var(--orange);font-weight:950;text-transform:uppercase}
.check-details-head h3{margin:3px 0 0;font-size:16px}
.check-details-close{
  border:1px solid var(--line);background:#1b2731;color:#fff;width:32px;height:32px;
  border-radius:8px;cursor:pointer;font-size:18px
}
.check-details-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:9px}
.check-details-summary>div{background:#0b151e;border:1px solid var(--line);border-radius:8px;padding:8px 9px}
.check-details-summary span{display:block;color:var(--muted);font-size:10px;margin-bottom:3px}
.check-details-summary b{font-size:15px}
#checkDetailsD2{color:#facc15;font-style:normal}
#checkDetailsD3{color:#ff4d4f;font-style:normal}
.check-details-errors{display:grid;gap:6px;margin-top:9px}
.check-detail-error{background:#0b151e;border:1px solid var(--line);border-radius:8px;padding:9px}
.check-detail-error-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.check-detail-error-head>strong{font-size:12px;flex:1;min-width:220px}
.check-detail-num{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:#263541;font-size:10px}
.check-detail-weight{background:#3d211d;color:#ffaea4;padding:3px 6px;border-radius:5px;font-size:10px}
.check-detail-meta{display:flex;gap:10px;margin-top:5px;color:var(--muted);font-size:10px}
.check-detail-comment,.check-detail-manager{margin-top:6px;padding:6px 8px;border-left:3px solid var(--orange);background:#14202a;border-radius:0 5px 5px 0}
.check-detail-manager{border-left-color:#4ade80}
.check-detail-comment span,.check-detail-manager span{display:block;color:var(--muted);font-size:9px;margin-bottom:2px}
.check-detail-comment b,.check-detail-manager b{font-size:11px}
.check-detail-clean{padding:10px;border:1px dashed #365b46;border-radius:7px;color:#86efac}

@media(max-width:800px){
  .check-details-summary{grid-template-columns:1fr 1fr}
}

.legacy-errors-panel{display:none!important}

.check-detail-error{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 145px;
  gap:10px;
  align-items:stretch
}
.check-detail-error-content{min-width:0}
.check-detail-actions{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
  border-left:1px solid var(--line);
  padding-left:10px
}
.check-detail-actions .appeal-btn,
.check-detail-actions .manager-comment-btn{
  width:100%;
  margin:0;
  padding:8px 9px
}
.check-detail-actions .manager-comment-btn{
  background:#24313d;
  color:#f4f7fb;
  border:1px solid #3b4a59;
  border-radius:7px;
  font-weight:900;
  cursor:pointer
}
.check-detail-actions .manager-comment-btn:hover:not(:disabled){
  border-color:#ff6900;
  color:#ffb27d
}
.check-detail-actions .manager-comment-btn.done,
.check-detail-actions .manager-comment-btn:disabled{
  opacity:.52;
  cursor:not-allowed
}
@media(max-width:800px){
  .check-detail-error{grid-template-columns:1fr!important}
  .check-detail-actions{
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:8px;
    display:grid;
    grid-template-columns:1fr 1fr
  }
}


/* v6.0 — карточки проверок вместо грубых столбиков */
.chart-interaction-row{
  display:flex;
  justify-content:flex-end;
  margin:2px 0 10px
}
.chart-interaction-hint{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
  font-size:11px;
  font-weight:800
}
.chart-interaction-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 4px rgba(255,105,0,.10)
}

.bar-chart.five-check-layout{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  min-height:auto!important;
  height:auto!important;
  padding:4px 0 2px!important;
  align-items:stretch!important;
  overflow:visible!important
}

.check-score-card{
  appearance:none;
  position:relative;
  min-height:188px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,#121d26 0%,#0b151e 100%);
  color:#fff;
  padding:13px 13px 12px;
  text-align:left;
  cursor:pointer;
  transition:
    transform .16s ease,
    border-color .16s ease,
    background .16s ease,
    box-shadow .16s ease;
  overflow:hidden
}

.check-score-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  opacity:.95
}
.check-score-card.green::before{background:#22c55e}
.check-score-card.yellow::before{background:#facc15}
.check-score-card.red::before{background:#ef4444}

.check-score-card:hover{
  transform:translateY(-3px);
  border-color:#4b5a67;
  background:linear-gradient(180deg,#16232e 0%,#0e1922 100%);
  box-shadow:0 10px 22px rgba(0,0,0,.18)
}

.check-score-card.selected{
  border-color:var(--orange);
  box-shadow:0 0 0 2px rgba(255,105,0,.14),0 12px 24px rgba(0,0,0,.20)
}

.check-score-card-top{
  display:flex;
  justify-content:space-between;
  gap:6px;
  align-items:center
}

.check-score-number{
  font-size:10px;
  color:var(--muted);
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em
}

.check-score-status{
  font-size:9px;
  line-height:1;
  font-weight:950;
  border-radius:999px;
  padding:5px 7px;
  white-space:nowrap;
  border:1px solid transparent
}
.check-score-card.green .check-score-status{
  color:#86efac;
  background:rgba(34,197,94,.10);
  border-color:rgba(34,197,94,.20)
}
.check-score-card.yellow .check-score-status{
  color:#fde68a;
  background:rgba(250,204,21,.10);
  border-color:rgba(250,204,21,.20)
}
.check-score-card.red .check-score-status{
  color:#fca5a5;
  background:rgba(239,68,68,.10);
  border-color:rgba(239,68,68,.20)
}

.check-score-value-wrap{
  margin-top:19px
}

.check-score-value{
  font-size:40px;
  line-height:.95;
  font-weight:1000;
  letter-spacing:-.04em
}
.check-score-card.green .check-score-value{color:#86efac}
.check-score-card.yellow .check-score-value{color:#fde68a}
.check-score-card.red .check-score-value{color:#fca5a5}

.check-score-caption{
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
  font-weight:800
}

.check-score-progress{
  margin-top:17px;
  height:6px;
  border-radius:999px;
  background:#1d2a34;
  overflow:hidden
}

.check-score-progress-fill{
  height:100%;
  border-radius:999px
}
.check-score-card.green .check-score-progress-fill{background:#22c55e}
.check-score-card.yellow .check-score-progress-fill{background:#facc15}
.check-score-card.red .check-score-progress-fill{background:#ef4444}

.check-score-date{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:11px;
  font-weight:950;
  color:#d7e0e8
}

/* если по какой-то причине будет больше 5 проверок — остаётся обычный безопасный режим */
.bar-chart:not(.five-check-layout){
  display:flex;
  align-items:end;
  gap:10px
}
.bar-chart:not(.five-check-layout) .check-score-card{
  min-width:150px
}

@media(max-width:1050px){
  .bar-chart.five-check-layout{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media(max-width:720px){
  .bar-chart.five-check-layout{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .check-score-card{min-height:170px}
  .check-score-value{font-size:34px}
}
@media(max-width:440px){
  .bar-chart.five-check-layout{
    grid-template-columns:1fr
  }
  .chart-interaction-row{justify-content:flex-start}
}

/* v6.1 — центрирование карточек проверок по фактическому количеству */
.bar-chart.five-check-layout{
  display:grid!important;
  width:100%;
  min-height:220px!important;
  height:auto!important;
  align-items:stretch!important;
  justify-content:center!important;
  justify-items:stretch!important;
  padding:8px 8px 4px!important;
  gap:14px!important;
  overflow:visible!important;
}

/* 1 проверка — одна выразительная карточка по центру */
.bar-chart.five-check-layout.checks-1{
  grid-template-columns:minmax(240px,360px)!important;
}

/* 2 проверки */
.bar-chart.five-check-layout.checks-2{
  grid-template-columns:repeat(2,minmax(220px,320px))!important;
}

/* 3 проверки */
.bar-chart.five-check-layout.checks-3{
  grid-template-columns:repeat(3,minmax(180px,280px))!important;
}

/* 4 проверки */
.bar-chart.five-check-layout.checks-4{
  grid-template-columns:repeat(4,minmax(150px,1fr))!important;
}

/* 5 проверок */
.bar-chart.five-check-layout.checks-5{
  grid-template-columns:repeat(5,minmax(130px,1fr))!important;
}

.bar-chart.five-check-layout .check-score-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:180px!important;
  margin:0!important;
}

/* Для одной проверки делаем карточку чуть более презентабельной */
.bar-chart.five-check-layout.checks-1 .check-score-card{
  min-height:205px!important;
  padding:16px 18px 14px!important;
}

.bar-chart.five-check-layout.checks-1 .check-score-value{
  font-size:48px!important;
}

.bar-chart.five-check-layout.checks-1 .check-score-date{
  font-size:12px!important;
}

/* Убираем эффект "прижатости" к правому краю */
.bar-chart.five-check-layout.checks-1,
.bar-chart.five-check-layout.checks-2,
.bar-chart.five-check-layout.checks-3{
  justify-content:center!important;
}

/* На средней ширине 4–5 карточек не ломают блок */
@media(max-width:1180px){
  .bar-chart.five-check-layout.checks-4{
    grid-template-columns:repeat(2,minmax(180px,1fr))!important;
  }
  .bar-chart.five-check-layout.checks-5{
    grid-template-columns:repeat(3,minmax(160px,1fr))!important;
  }
}

@media(max-width:760px){
  .bar-chart.five-check-layout.checks-2,
  .bar-chart.five-check-layout.checks-3,
  .bar-chart.five-check-layout.checks-4,
  .bar-chart.five-check-layout.checks-5{
    grid-template-columns:repeat(2,minmax(140px,1fr))!important;
  }
}

@media(max-width:480px){
  .bar-chart.five-check-layout.checks-1,
  .bar-chart.five-check-layout.checks-2,
  .bar-chart.five-check-layout.checks-3,
  .bar-chart.five-check-layout.checks-4,
  .bar-chart.five-check-layout.checks-5{
    grid-template-columns:1fr!important;
  }
}

/* v6.2 — проверки идут слева направо в один ряд */
.chart-interaction-row{
  justify-content:flex-start!important;
  margin:2px 0 10px!important;
}

.bar-chart.five-check-layout{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:12px!important;
  width:100%!important;
  min-height:205px!important;
  height:auto!important;
  padding:8px 4px 6px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-behavior:smooth;
}

/* Отменяем сетку по количеству из v6.1 */
.bar-chart.five-check-layout.checks-1,
.bar-chart.five-check-layout.checks-2,
.bar-chart.five-check-layout.checks-3,
.bar-chart.five-check-layout.checks-4,
.bar-chart.five-check-layout.checks-5{
  grid-template-columns:none!important;
  justify-content:flex-start!important;
}

/* Каждая проверка — одинаковая аккуратная карточка */
.bar-chart.five-check-layout .check-score-card{
  flex:0 0 175px!important;
  width:175px!important;
  max-width:175px!important;
  min-width:175px!important;
  min-height:185px!important;
  margin:0!important;
  padding:13px 13px 12px!important;
}

/* Первая проверка всегда начинается у левого края */
.bar-chart.five-check-layout .check-score-card:first-child{
  margin-left:0!important;
}

/* Для одной проверки не увеличиваем и не центрируем её */
.bar-chart.five-check-layout.checks-1 .check-score-card{
  flex-basis:175px!important;
  width:175px!important;
  max-width:175px!important;
  min-width:175px!important;
  min-height:185px!important;
  padding:13px 13px 12px!important;
}

.bar-chart.five-check-layout.checks-1 .check-score-value{
  font-size:40px!important;
}

.bar-chart.five-check-layout.checks-1 .check-score-date{
  font-size:11px!important;
}

/* Полоса прокрутки почти незаметная — понадобится только на очень узких экранах */
.bar-chart.five-check-layout::-webkit-scrollbar{
  height:6px;
}
.bar-chart.five-check-layout::-webkit-scrollbar-track{
  background:transparent;
}
.bar-chart.five-check-layout::-webkit-scrollbar-thumb{
  background:#2b3945;
  border-radius:999px;
}

/* На обычном десктопе все 5 карточек помещаются в одну строку */
@media(min-width:1200px){
  .bar-chart.five-check-layout .check-score-card{
    flex-basis:168px!important;
    width:168px!important;
    min-width:168px!important;
    max-width:168px!important;
  }
}

/* На очень широком экране можно чуть увеличить карточки */
@media(min-width:1550px){
  .bar-chart.five-check-layout .check-score-card{
    flex-basis:185px!important;
    width:185px!important;
    min-width:185px!important;
    max-width:185px!important;
  }
}

/* На планшете также один ряд с горизонтальной прокруткой */
@media(max-width:900px){
  .bar-chart.five-check-layout{
    gap:9px!important;
  }
  .bar-chart.five-check-layout .check-score-card{
    flex-basis:155px!important;
    width:155px!important;
    min-width:155px!important;
    max-width:155px!important;
  }
}

/* v6.3 — пять фиксированных слотов слева, как на макете пользователя */
.chart-main{
  align-items:start!important;
}

/* Левая часть блока динамики */
.chart-main > div:first-child{
  min-width:0!important;
}

/* Карточки занимают 5 фиксированных колонок в левой части */
.bar-chart.five-check-layout{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  min-height:410px!important;
  height:410px!important;
  padding:18px 6px 8px!important;
  overflow:visible!important;
  align-items:start!important;
  justify-items:stretch!important;
  justify-content:stretch!important;
}

/* Отключаем все старые flex/grid overrides по количеству */
.bar-chart.five-check-layout.checks-1,
.bar-chart.five-check-layout.checks-2,
.bar-chart.five-check-layout.checks-3,
.bar-chart.five-check-layout.checks-4,
.bar-chart.five-check-layout.checks-5{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  justify-content:stretch!important;
}

/* Реальная карточка занимает строго один слот */
.bar-chart.five-check-layout .check-score-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:360px!important;
  height:360px!important;
  margin:0!important;
  padding:15px 15px 14px!important;
  align-self:start!important;
}

/* Возвращаем более вертикальный, "столбчатый" вид карточки */
.check-score-card{
  display:flex!important;
  flex-direction:column!important;
}

.check-score-card-top{
  align-items:flex-start!important;
}

.check-score-value-wrap{
  margin-top:26px!important;
}

.check-score-value{
  font-size:46px!important;
}

.check-score-progress{
  margin-top:auto!important;
  margin-bottom:10px!important;
}

.check-score-date{
  margin-top:0!important;
  padding-top:12px!important;
}

/* Подсказка слева, над первым слотом */
.chart-interaction-row{
  justify-content:flex-start!important;
  margin:2px 0 8px!important;
}

/* Правая статистика внутри блока не должна сдвигать карточки */
.chart-stats{
  align-self:start!important;
}

/* При уменьшении ширины сохраняем логику 5 слотов с горизонтальной прокруткой */
@media(max-width:1250px){
  .bar-chart.five-check-layout{
    grid-template-columns:repeat(5,150px)!important;
    overflow-x:auto!important;
    justify-content:start!important;
  }
  .bar-chart.five-check-layout .check-score-card{
    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;
  }
}

@media(max-width:760px){
  .bar-chart.five-check-layout{
    grid-template-columns:repeat(5,138px)!important;
    gap:10px!important;
  }
  .bar-chart.five-check-layout .check-score-card{
    width:138px!important;
    min-width:138px!important;
    max-width:138px!important;
    height:330px!important;
    min-height:330px!important;
  }
}

/* v6.4 — точный макет блока динамики по скриншоту пользователя */

/* Весь контент динамики: слева 5 слотов, справа статистика */
.chart-area.chart-area-exact{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 235px!important;
  gap:18px!important;
  align-items:start!important;
  min-height:470px!important;
  height:auto!important;
  padding:6px 0 0!important;
}

/* Левая часть */
.chart-left{
  min-width:0;
  width:100%;
}

.chart-slot-labels{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  padding:0 6px;
  margin:0 0 4px;
}
.chart-slot-labels span{
  display:block;
  text-align:center;
  color:#ff4d4f;
  font-size:14px;
  line-height:1.1;
  font-weight:950;
}

/* Контейнер самих 5 вертикальных слотов */
.chart-slots-wrap{
  position:relative;
  min-height:380px;
  width:100%;
  padding:0 6px;
}

/* Пять постоянных мест, как на макете */
.chart-empty-slots{
  position:absolute;
  inset:0 6px auto 6px;
  height:330px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
  pointer-events:none;
  z-index:0;
}
.chart-empty-slots>div{
  border:1px solid rgba(255,77,79,.58);
  background:rgba(255,77,79,.018);
  border-radius:2px;
}

/* Реальные карточки накладываются точно поверх слотов */
.bar-chart.five-check-layout{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  width:100%!important;
  min-height:330px!important;
  height:330px!important;
  padding:0!important;
  overflow:visible!important;
}

/* Все старые варианты 1–5 полностью подчиняем фиксированной сетке */
.bar-chart.five-check-layout.checks-1,
.bar-chart.five-check-layout.checks-2,
.bar-chart.five-check-layout.checks-3,
.bar-chart.five-check-layout.checks-4,
.bar-chart.five-check-layout.checks-5{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  justify-content:stretch!important;
}

/* Каждая фактическая проверка занимает свой слот слева направо */
.bar-chart.five-check-layout .check-score-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:330px!important;
  min-height:330px!important;
  margin:0!important;
  border-radius:10px!important;
  padding:14px 13px 12px!important;
  align-self:start!important;
  box-sizing:border-box!important;
}

/* Отменяем прежние "центрирующие" настройки одной карточки */
.bar-chart.five-check-layout.checks-1 .check-score-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:330px!important;
  min-height:330px!important;
  padding:14px 13px 12px!important;
}

/* Карточка выглядит как вертикальный столбик/проверка */
.check-score-card{
  display:flex!important;
  flex-direction:column!important;
  text-align:left!important;
}
.check-score-card-top{
  align-items:flex-start!important;
}
.check-score-number{
  font-size:10px!important;
}
.check-score-status{
  font-size:8px!important;
  padding:4px 6px!important;
}
.check-score-value-wrap{
  margin-top:26px!important;
}
.check-score-value,
.bar-chart.five-check-layout.checks-1 .check-score-value{
  font-size:42px!important;
}
.check-score-caption{
  font-size:10px!important;
}
.check-score-progress{
  margin-top:auto!important;
  margin-bottom:10px!important;
}
.check-score-date{
  margin-top:0!important;
  padding-top:11px!important;
  font-size:10px!important;
}

/* Подсказка — внизу по центру пяти слотов */
.chart-slots-wrap .chart-interaction-hint{
  position:absolute;
  z-index:4;
  left:50%;
  bottom:20px;
  transform:translateX(-50%);
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  white-space:nowrap;
  color:var(--muted);
  font-size:11px;
  font-weight:850;
}

/* Правая карточка статистики — строго справа */
.chart-summary.chart-summary-right{
  display:block!important;
  position:relative!important;
  width:235px!important;
  min-width:235px!important;
  max-width:235px!important;
  min-height:330px!important;
  height:auto!important;
  margin:0!important;
  padding:12px 14px!important;
  border:1px solid var(--line)!important;
  border-radius:9px!important;
  background:#0b151e!important;
  align-self:start!important;
}
.chart-summary.chart-summary-right>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:42px!important;
  padding:5px 0!important;
  border-bottom:0!important;
}
.chart-summary.chart-summary-right span{
  font-size:11px!important;
  color:#f3f6f9!important;
  font-weight:850!important;
  line-height:1.25!important;
}
.chart-summary.chart-summary-right strong{
  color:#4ade80!important;
  font-size:16px!important;
  font-weight:1000!important;
  flex:0 0 auto!important;
}

/* Легенда остаётся под всей зоной динамики */
.chart-panel>.legend{
  margin-top:8px!important;
}

/* Десктоп: пропорции как на скриншоте */
@media(min-width:1350px){
  .chart-area.chart-area-exact{
    grid-template-columns:minmax(0,1fr) 250px!important;
    gap:20px!important;
  }
  .chart-summary.chart-summary-right{
    width:250px!important;
    min-width:250px!important;
    max-width:250px!important;
  }
}

/* На меньших экранах сначала уменьшаем правую карточку */
@media(max-width:1150px){
  .chart-area.chart-area-exact{
    grid-template-columns:minmax(0,1fr) 205px!important;
    gap:12px!important;
  }
  .chart-summary.chart-summary-right{
    width:205px!important;
    min-width:205px!important;
    max-width:205px!important;
  }
  .chart-slot-labels,
  .chart-empty-slots,
  .bar-chart.five-check-layout{
    gap:9px!important;
  }
  .chart-slot-labels span{font-size:12px}
}

/* На мобильном разрешаем горизонтальную прокрутку только у пяти слотов,
   правая статистика уходит ниже, но на десктопе всегда справа */
@media(max-width:820px){
  .chart-area.chart-area-exact{
    grid-template-columns:1fr!important;
  }
  .chart-left{
    overflow-x:auto;
  }
  .chart-slot-labels,
  .chart-empty-slots,
  .bar-chart.five-check-layout{
    width:720px!important;
    grid-template-columns:repeat(5,130px)!important;
  }
  .chart-summary.chart-summary-right{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:auto!important;
  }
}

/* v6.5 — чистая динамика: показываем только реально проведённые проверки */

/* Статические подписи/пустые контуры больше не используются */
.chart-slot-labels,
.chart-empty-slots{
  display:none!important;
}

/* Левая зона — максимум 5 фактических карточек, начиная строго слева */
.chart-slots-wrap{
  position:relative!important;
  min-height:365px!important;
  padding:0 6px!important;
}

.bar-chart.five-check-layout,
.bar-chart.five-check-layout.checks-1,
.bar-chart.five-check-layout.checks-2,
.bar-chart.five-check-layout.checks-3,
.bar-chart.five-check-layout.checks-4,
.bar-chart.five-check-layout.checks-5{
  position:relative!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  width:100%!important;
  min-height:330px!important;
  height:330px!important;
  padding:0!important;
  align-items:start!important;
  justify-content:stretch!important;
  overflow:visible!important;
}

/* Появляются только реальные карточки — пустых слотов визуально нет */
.bar-chart.five-check-layout .check-score-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:330px!important;
  min-height:330px!important;
  margin:0!important;
  padding:14px 14px 12px!important;
  border-radius:10px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Верх карточки: статус занимает доступную ширину и не обрезается */
.check-score-card-top{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  min-height:38px!important;
}

.check-score-number{
  display:none!important;
}

.check-score-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.15!important;
  text-align:center!important;
  font-size:9px!important;
  padding:5px 7px!important;
  border-radius:999px!important;
  word-break:normal!important;
}

/* Чуть больше воздуха, поскольку номер проверки убран */
.check-score-value-wrap{
  margin-top:18px!important;
}

.check-score-value{
  font-size:44px!important;
}

.check-score-caption{
  font-size:10px!important;
}

/* Дата всегда помещается */
.check-score-date{
  font-size:10px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

/* Подсказка остаётся аккуратно под фактическими карточками */
.chart-slots-wrap .chart-interaction-hint{
  bottom:10px!important;
}

/* На более узких экранах сохраняем 5 колонок через горизонтальную прокрутку */
@media(max-width:1180px){
  .bar-chart.five-check-layout,
  .bar-chart.five-check-layout.checks-1,
  .bar-chart.five-check-layout.checks-2,
  .bar-chart.five-check-layout.checks-3,
  .bar-chart.five-check-layout.checks-4,
  .bar-chart.five-check-layout.checks-5{
    grid-template-columns:repeat(5,145px)!important;
    overflow-x:auto!important;
    justify-content:start!important;
  }

  .bar-chart.five-check-layout .check-score-card{
    width:145px!important;
    min-width:145px!important;
    max-width:145px!important;
  }

  .check-score-status{
    font-size:8px!important;
    padding:5px 6px!important;
  }
}

/* ============================================================
   v6.9 — стабильная пересборка блока динамики
   Основа: рабочая v6.5
   JS не меняется.
   ============================================================ */

.chart-area-v69{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 255px!important;
  gap:18px!important;
  align-items:start!important;
  width:100%!important;
  min-height:430px!important;
  height:auto!important;
  padding:8px 0 0!important;
  position:relative!important;
}

.chart-left-v69{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
}

/* Карточки проверок: всегда сверху и слева */
#barChart.chart-row-v69{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  height:330px!important;
  min-height:330px!important;
  margin:0!important;
  padding:0!important;
  align-items:start!important;
  align-content:start!important;
  justify-content:start!important;
  overflow:visible!important;
}

/* Убираем влияние старых classes, которые JS продолжает ставить */
#barChart.chart-row-v69.five-check-layout,
#barChart.chart-row-v69.checks-1,
#barChart.chart-row-v69.checks-2,
#barChart.chart-row-v69.checks-3,
#barChart.chart-row-v69.checks-4,
#barChart.chart-row-v69.checks-5{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  height:330px!important;
  min-height:330px!important;
  align-items:start!important;
  align-content:start!important;
  justify-content:start!important;
}

/* Фактические проверки появляются только если есть данные */
#barChart.chart-row-v69 .check-score-card{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  align-self:start!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:310px!important;
  min-height:310px!important;
  max-height:310px!important;
  margin:0!important;
  padding:14px 13px 12px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border-radius:12px!important;
}

/* Статус не обрезается */
#barChart.chart-row-v69 .check-score-card-top{
  display:flex!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  width:100%!important;
  min-height:42px!important;
}
#barChart.chart-row-v69 .check-score-number{
  display:none!important;
}
#barChart.chart-row-v69 .check-score-status{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
  line-height:1.15!important;
  font-size:9px!important;
  padding:5px 7px!important;
}
#barChart.chart-row-v69 .check-score-value-wrap{
  margin-top:18px!important;
}
#barChart.chart-row-v69 .check-score-value{
  font-size:44px!important;
}
#barChart.chart-row-v69 .check-score-progress{
  margin-top:auto!important;
  margin-bottom:11px!important;
}
#barChart.chart-row-v69 .check-score-date{
  margin-top:0!important;
  padding-top:11px!important;
  font-size:10px!important;
  white-space:nowrap!important;
}

/* Подсказка и легенда ниже карточек */
.chart-bottom-v69{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:14px!important;
  padding-top:12px!important;
}
.chart-bottom-v69 .chart-interaction-hint{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  margin:0!important;
  display:flex!important;
  justify-content:flex-start!important;
}
.legend-v69{
  margin:0 auto!important;
  justify-content:center!important;
}

/* Правая карточка статистики */
.chart-summary-v69{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  display:block!important;
  width:255px!important;
  min-width:255px!important;
  max-width:255px!important;
  min-height:215px!important;
  height:auto!important;
  margin:0!important;
  padding:14px 16px!important;
  align-self:start!important;
  background:#0b151e!important;
  border:1px solid var(--line)!important;
  border-radius:10px!important;
}
.chart-summary-v69>div{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  min-height:44px!important;
  padding:4px 0!important;
}
.chart-summary-v69 span{
  color:#f1f5f9!important;
  font-size:11px!important;
  font-weight:850!important;
}
.chart-summary-v69 strong{
  color:#4ade80!important;
  font-size:17px!important;
  font-weight:1000!important;
}

/* Ни один старый контейнер больше не участвует */
.chart-left,
.chart-slots-wrap,
.chart-slot-labels,
.chart-empty-slots,
.chart-area-exact,
.chart-summary-right{
  min-height:0;
}

/* Средние экраны */
@media(max-width:1180px){
  .chart-area-v69{
    grid-template-columns:minmax(0,1fr) 220px!important;
  }
  .chart-summary-v69{
    width:220px!important;
    min-width:220px!important;
    max-width:220px!important;
  }
  .chart-left-v69{
    overflow-x:auto!important;
  }
  #barChart.chart-row-v69,
  #barChart.chart-row-v69.five-check-layout,
  #barChart.chart-row-v69.checks-1,
  #barChart.chart-row-v69.checks-2,
  #barChart.chart-row-v69.checks-3,
  #barChart.chart-row-v69.checks-4,
  #barChart.chart-row-v69.checks-5{
    width:760px!important;
    grid-template-columns:repeat(5,140px)!important;
  }
  #barChart.chart-row-v69 .check-score-card{
    width:140px!important;
    min-width:140px!important;
    max-width:140px!important;
  }
}

@media(max-width:820px){
  .chart-area-v69{
    grid-template-columns:1fr!important;
  }
  .chart-summary-v69{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin-top:10px!important;
  }
}

/* v7.9 — только раскрывающаяся «Таблица контроля» */
.control-toggle-col{width:42px;text-align:center!important}.control-summary-row{cursor:pointer;transition:background .15s ease}.control-summary-row:hover,.control-summary-row.expanded{background:#101f2b}.control-toggle{width:30px;height:30px;border:1px solid var(--line);border-radius:7px;background:#0b151e;color:#fff;font-size:18px;line-height:1;cursor:pointer}.control-summary-row.expanded .control-toggle{border-color:#ff6b00;color:#ff8a34}.control-deviation{font-weight:900;font-size:14px;white-space:nowrap}.control-deviation.positive{color:var(--green)}.control-deviation.negative{color:var(--red)}.control-deviation.neutral{color:var(--muted)}.control-detail-row>td{padding:0 8px 10px;background:#09131c}.control-detail-card{margin:0 0 2px;border:1px solid var(--line);border-left:3px solid #ff6b00;border-radius:8px;padding:12px;background:#0d1822}.control-detail-title{font-weight:900;margin-bottom:10px}.control-detail-table{max-height:430px}.control-detail-table table{min-width:900px}.control-detail-table th,.control-detail-table td{padding:8px;font-size:12px}.control-detail-table th:nth-child(1){width:80px}.control-detail-table th:nth-child(2){width:120px}.control-detail-table th:nth-child(4){width:65px}.control-detail-table th:nth-child(5){width:80px}.control-inspector-comment{font-weight:800}.detail-score-bad{color:var(--red)}.detail-score-ok{color:var(--green)}


/* v7.23 — Средний балл по сети */
.network-average-score-card{
  margin:28px auto 0;
  width:min(100%,640px);
  display:flex;
  align-items:center;
  gap:22px;
  padding:22px 28px;
  border:1px solid #344653;
  border-radius:16px;
  background:linear-gradient(180deg,#172733 0%,#10202a 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
.network-average-score-icon{
  flex:0 0 54px;
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #ff7417;
  border-radius:50%;
  color:#ff7417;
  font-size:31px;
  font-weight:900;
  line-height:1;
}
.network-average-score-content{
  min-width:0;
}
.network-average-score-label{
  color:#aebdca;
  font-size:20px;
  line-height:1.1;
  font-weight:800;
}
.network-average-score-value{
  margin-top:7px;
  color:#ff7a18;
  font-size:52px;
  line-height:1;
  font-weight:1000;
}
.network-average-score-value small{
  margin-left:7px;
  color:#8fa0ae;
  font-size:22px;
  font-weight:800;
}
@media(max-width:760px){
  .network-average-score-card{
    margin-top:18px;
    width:100%;
    gap:14px;
    padding:18px;
  }
  .network-average-score-icon{
    flex-basis:46px;
    width:46px;
    height:46px;
    font-size:27px;
  }
  .network-average-score-label{
    font-size:16px;
  }
  .network-average-score-value{
    font-size:42px;
  }
  .network-average-score-value small{
    font-size:18px;
  }
}

/* v7.24 — повторная апелляция по одному нарушению недоступна */
.appeal-sent-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:10px;
  background:rgba(34,197,94,.10);
  border:1px solid rgba(34,197,94,.28);
  color:#15803d;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
}

/* v7.25 — средний балл находится только внутри блока D2/D3 по сети */
.top-grid > .panel .network-average-score-card{
  margin:18px 0 0;
  width:100%;
  box-sizing:border-box;
}


/* v7.28 — полный чек-лист критериев внутри деталей проверки */
.criteria-panel{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#0b151e;overflow:hidden}
.criteria-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#101d27;user-select:none}
.criteria-panel>summary::-webkit-details-marker{display:none}
.criteria-panel>summary strong{display:block;font-size:14px;color:var(--text)}
.criteria-panel-kicker{display:block;font-size:9px;color:var(--orange);font-weight:950;text-transform:uppercase;margin-bottom:2px}
.criteria-expand-hint{font-size:10px;color:var(--muted);font-weight:800}
.criteria-panel[open] .criteria-expand-hint{font-size:0}
.criteria-panel[open] .criteria-expand-hint:after{content:"Свернуть";font-size:10px}
.criteria-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 12px 0}
.criteria-summary>div{background:#111f2a;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.criteria-summary span{display:block;color:var(--muted);font-size:9px;margin-bottom:3px}
.criteria-summary b{font-size:15px}
#criteriaViolated,#criteriaPenalty{color:#ff6b62}
#criteriaResultScore{color:#4ade80;font-style:normal}
.criteria-toolbar{display:flex;gap:7px;padding:10px 12px}
.criteria-filter{border:1px solid var(--line);background:#172631;color:var(--muted);border-radius:7px;padding:7px 10px;font-size:10px;font-weight:900;cursor:pointer}
.criteria-filter.active{background:#ff6900;border-color:#ff6900;color:#fff}
.criteria-table-head,.criteria-row{display:grid;grid-template-columns:minmax(0,1fr) 80px 145px;gap:8px;align-items:center}
.criteria-table-head{padding:7px 12px;color:var(--muted);font-size:9px;font-weight:900;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.criteria-list{padding:0 12px 12px}
.criteria-row{min-height:48px;padding:8px 0;border-bottom:1px solid rgba(72,92,106,.35)}
.criteria-row:last-child{border-bottom:0}
.criteria-row.violated{margin:5px -6px;padding:9px 6px;border:1px solid rgba(255,77,79,.35);border-radius:8px;background:rgba(255,77,79,.07)}
.criteria-name{display:flex;align-items:flex-start;gap:7px}
.criteria-name strong{font-size:11px;line-height:1.35}
.criteria-status-icon{flex:0 0 20px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:rgba(74,222,128,.12);color:#4ade80;font-size:10px;font-weight:1000}
.criteria-row.violated .criteria-status-icon{background:rgba(255,77,79,.16);color:#ff6b62}
.criteria-detected-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin:5px 0 0 27px;color:#b7c5d0;font-size:9px}
.criteria-weight span{display:block;color:var(--muted);font-size:8px}
.criteria-weight b{font-size:12px;color:#ffb020}
.criteria-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:950;text-align:center}
.criteria-badge.ok{background:rgba(74,222,128,.11);color:#86efac;border:1px solid rgba(74,222,128,.25)}
.criteria-badge.violated{background:rgba(255,77,79,.12);color:#ff9b96;border:1px solid rgba(255,77,79,.28)}
.criteria-empty{padding:16px;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:800px){
  .criteria-summary{grid-template-columns:1fr 1fr}
  .criteria-table-head{display:none}
  .criteria-row{grid-template-columns:minmax(0,1fr) 64px}
  .criteria-result{grid-column:1/-1;margin-left:27px}
  .criteria-panel>summary{align-items:flex-start}
  .criteria-toolbar{flex-wrap:wrap}
  .criteria-filter{flex:1 1 140px}
}

/* v7.30 — выделяем только строку «Критерии проверки» на главном дашборде */
.criteria-panel>summary{
  position:relative;
  padding:18px 20px 18px 74px;
  border:2px solid rgba(255,105,0,.95);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(255,105,0,.18),rgba(255,105,0,.055) 62%,rgba(255,105,0,.12));
  box-shadow:0 0 0 1px rgba(255,105,0,.12),0 8px 24px rgba(255,105,0,.08);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
.criteria-panel>summary:before{
  content:"☑";
  position:absolute;
  left:22px;
  top:50%;
  transform:translateY(-50%);
  color:var(--orange);
  font-size:32px;
  line-height:1;
  font-weight:900;
}
.criteria-panel>summary:hover{
  border-color:var(--orange);
  background:linear-gradient(90deg,rgba(255,105,0,.24),rgba(255,105,0,.075) 62%,rgba(255,105,0,.16));
  box-shadow:0 0 0 1px rgba(255,105,0,.25),0 0 22px rgba(255,105,0,.18);
}
.criteria-panel>summary strong{font-size:22px;font-weight:950;letter-spacing:-.25px}
.criteria-panel-kicker{font-size:11px;letter-spacing:.7px;margin-bottom:4px}
.criteria-expand-hint{display:flex;align-items:center;gap:10px;font-size:12px;color:#ffb477;font-weight:950;white-space:nowrap}
.criteria-expand-hint:after{content:"⌄";font-size:24px;line-height:1;color:var(--orange)}
.criteria-panel[open] .criteria-expand-hint:after{content:"⌃";font-size:24px}
@media(max-width:800px){
  .criteria-panel>summary{padding:15px 14px 15px 58px;align-items:center}
  .criteria-panel>summary:before{left:16px;font-size:27px}
  .criteria-panel>summary strong{font-size:18px}
  .criteria-panel-kicker{font-size:9px}
  .criteria-expand-hint{font-size:0}
  .criteria-expand-hint:after{font-size:24px}
  .criteria-panel[open] .criteria-expand-hint:after{font-size:24px}
}
