:root{
  --paper:#E6E9EF;
  --card:#FFFFFF;
  --ink:#141821;
  --muted:#5A6273;
  --line:#CBD1DC;
  --base:#3B4658;
  --display:"Archivo Narrow","Arial Narrow",Impact,sans-serif;
  --body-f:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body-f);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{max-width:960px;margin:0 auto;padding:0 20px 80px}
a{color:inherit}
code{font-family:var(--mono);font-size:12.5px;background:#F1F3F7;border:1px solid var(--line);border-radius:2px;padding:1px 5px;word-break:break-all}

/* ---------- логотип-бейдж ---------- */
.logo-badge{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;flex:none;object-fit:contain}
.logo-mono{color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase}

/* ---------- top nav ---------- */
.topnav{background:var(--ink);color:#EEF1F6}
.topnav .inner{max-width:960px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:2px;height:58px;overflow-x:auto}
.topnav .navlink{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#A7B0C0;text-decoration:none;padding:8px 10px;border-radius:2px;white-space:nowrap}
.topnav .navlink:hover{color:#fff}
.topnav .navlink.active{color:#fff;background:rgba(255,255,255,.08)}
.topnav .brand{margin-right:auto;font-family:var(--display);color:#fff;font-size:16px;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;padding:8px 4px}

/* ---------- header ---------- */
header.hero{padding:44px 0 26px;border-bottom:2px solid var(--ink)}
.hero-top{display:flex;align-items:center;gap:16px}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1{font-family:var(--display);font-weight:700;font-size:clamp(30px,6vw,50px);line-height:1.0;margin:6px 0 0;letter-spacing:-.01em;text-transform:uppercase}
.lede{max-width:60ch;color:var(--muted);margin:0}

/* ---------- вкладки Инструкция / Ошибки ---------- */
.tabbar{display:flex;gap:6px;margin:26px 0 22px;border-bottom:1px solid var(--line)}
.tabbtn{font-family:var(--display);text-transform:uppercase;font-size:16px;letter-spacing:.02em;background:none;border:none;border-bottom:3px solid transparent;padding:10px 4px;margin-right:22px;cursor:pointer;color:var(--muted)}
.tabbtn:hover{color:var(--ink)}
.tabbtn.active{color:var(--ink);border-bottom-color:var(--accent,var(--ink))}
.panel[hidden]{display:none}

/* ---------- инструкция (полный текст) ---------- */
.instruction-article{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent,var(--base));border-radius:2px;padding:24px 26px;margin-bottom:20px}
.instruction-article p{margin:0 0 14px}
.instruction-article ol,.instruction-article ul{margin:0 0 14px;padding-left:22px}
.instruction-article li{margin:6px 0}
.instruction-article p:last-child,.instruction-article ol:last-child,.instruction-article ul:last-child{margin-bottom:0}

/* ---------- controls ---------- */
.controls{position:sticky;top:0;z-index:20;background:var(--paper);padding:14px 0 12px;border-bottom:1px solid var(--line);margin-bottom:24px}
.search{width:100%;padding:11px 14px;border:1.5px solid var(--ink);border-radius:2px;background:var(--card);font-family:var(--mono);font-size:13px;color:var(--ink)}
.search::placeholder{color:#9AA2B1}
.search:focus{outline:3px solid rgba(11,95,208,.35);outline-offset:1px}
.count{font-family:var(--mono);font-size:11px;color:var(--muted);margin-top:10px}

/* ---------- карточки ошибок ---------- */
details.card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--accent,var(--base));border-radius:2px;margin-bottom:10px;overflow:hidden}
details.card summary{list-style:none;cursor:pointer;padding:16px 44px 16px 18px;position:relative}
details.card summary::-webkit-details-marker{display:none}
details.card summary:hover{background:#F5F7FA}
details.card summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.code{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:700}
.title{font-weight:600;font-size:16.5px;margin-top:3px;line-height:1.35}
.symp{color:var(--muted);font-size:13.5px;margin-top:4px}
.chev{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-family:var(--mono);color:var(--muted);transition:transform .18s}
details.card[open] .chev{transform:translateY(-50%) rotate(90deg)}
.cardbody{padding:2px 18px 22px;border-top:1px dashed var(--line)}
.note{margin:14px 0;padding:10px 12px;background:#F5F7FA;border-left:3px solid var(--accent);font-size:13.5px;color:var(--muted)}
.note b{color:var(--ink)}

/* ---------- Решение / чек-листы вариантов ---------- */
.solheading{font-family:var(--display);text-transform:uppercase;font-size:17px;margin:16px 0 6px}
.seq-note{font-size:12.5px;color:var(--muted);background:#F5F7FA;border:1px dashed var(--line);border-radius:2px;padding:8px 10px;margin-bottom:16px}
.variant-block{border:1px solid var(--line);border-left:3px solid var(--accent,var(--base));border-radius:2px;padding:14px 16px;margin-bottom:12px;background:#fff}
.vname{font-family:var(--display);text-transform:uppercase;font-size:15.5px;letter-spacing:.02em;margin-bottom:8px}
.steplist{list-style:none;margin:0;padding:0}
.step{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-top:1px solid var(--line)}
.step:first-child{border-top:none}
.stepnum{font-family:var(--mono);font-size:11px;color:var(--muted);width:20px;flex:none;padding-top:3px}
.steptext{flex:1;font-size:14px;line-height:1.5}
.step.done .steptext{color:var(--muted);text-decoration:line-through}
.stepbtn{flex:none;font-family:var(--mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase;padding:6px 10px;border-radius:2px;border:1.5px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer;white-space:nowrap}
.stepbtn:hover{background:#F5F7FA}
.step.done .stepbtn{background:#2E6B3C;border-color:#2E6B3C;color:#fff}
.step.shake{animation:shake .4s}
@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
.stepwarning{margin-top:8px;padding:8px 10px;background:#FBEBEC;border:1px solid #EDC3C6;color:#A32A31;border-radius:2px;font-size:13px}
.stepwarning[hidden]{display:none}
.checkprogress{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:var(--muted)}
.checklist-block{background:#fff}
.instruction-article .checklist-block{border:1px solid var(--line);border-left:3px solid var(--accent,var(--base));border-radius:2px;padding:14px 16px;margin-bottom:18px}
.instruction-outro{margin-top:4px}
.instruction-outro p:last-child{margin-bottom:0}

.empty{display:none;padding:40px 0;text-align:center;color:var(--muted);font-family:var(--mono);font-size:13px}

/* ---------- форма обращения ---------- */
.suggest-box{background:var(--ink);color:#EEF1F6;border-radius:2px;padding:24px 24px 26px;margin:30px 0}
.suggest-box h3{font-family:var(--display);text-transform:uppercase;font-size:20px;margin:0 0 6px;color:#fff}
.suggest-box p{color:#A7B0C0;font-size:13.5px;margin:0 0 16px;max-width:58ch}
.suggest-box .field label{color:#A7B0C0}
.suggest-box textarea,.suggest-box input[type=text]{background:#1D2330;border:1px solid #2A3140;color:#EEF1F6}
.suggest-box .btn.primary{background:#fff;color:var(--ink);border-color:#fff}

footer.pagefoot{margin-top:30px;padding-top:20px;border-top:2px solid var(--ink);font-size:13px;color:var(--muted)}

/* ---------- главная ---------- */
.home-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:30px}
.home-card{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--accent,var(--base));border-radius:2px;padding:20px}
.home-card-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.home-card .path{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.06em}
.home-card h3{font-family:var(--display);text-transform:uppercase;font-size:20px;margin:2px 0 0}
.home-card p{margin:6px 0 14px;color:var(--muted);font-size:13.5px}
.home-card-actions{display:flex;gap:8px;flex-wrap:wrap}
@media (max-width:560px){ .home-grid{grid-template-columns:1fr} }

/* =====================================================================
   АДМИНКА
   ===================================================================== */
.admin-shell{max-width:920px;margin:0 auto;padding:26px 20px 70px}
.admin-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:10px}
.admin-top h1{font-family:var(--display);text-transform:uppercase;font-size:28px;margin:0}
.admin-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:8px 14px;border-radius:2px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--ink);color:#fff}
.btn.primary{background:var(--ink);color:#fff}
.btn.primary:hover{opacity:.85}
.btn.danger{border-color:#A32A31;color:#A32A31}
.btn.danger:hover{background:#A32A31;color:#fff}
.btn.small{padding:5px 10px;font-size:11px}

.admin-card{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:18px 20px;margin-bottom:16px}
.admin-card h2{font-family:var(--display);text-transform:uppercase;font-size:19px;margin:0 0 12px}
.admin-list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.admin-list-row:first-child{border-top:none}
.admin-list-row .info{min-width:0}
.admin-list-row .code{display:block}
.admin-list-row .title{font-size:14.5px;font-weight:500;margin-top:2px}
.admin-list-row .actions{flex:none;display:flex;gap:6px}
.badge-draft{font-family:var(--mono);font-size:10px;text-transform:uppercase;color:#A32A31;border:1px solid #EDC3C6;background:#FBEBEC;padding:1px 6px;border-radius:999px;margin-left:8px}

form.stack{display:flex;flex-direction:column;gap:14px}
.field label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
.field input[type=text],.field input[type=number],.field input[type=password],.field select,.field textarea{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:2px;font-family:var(--body-f);font-size:14px;background:#fff;color:var(--ink)
}
.field textarea{font-family:var(--mono);font-size:13px;min-height:80px;resize:vertical}
.field .hint{color:var(--muted);font-size:12px;margin-top:4px}
.hint{color:var(--muted);font-size:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}
@media (max-width:640px){.row2,.row3{grid-template-columns:1fr}}
.checkbox-row{display:flex;align-items:center;gap:8px}
.checkbox-row input{width:16px;height:16px}

.solution-block{border:1px solid var(--line);border-left:3px solid var(--base);border-radius:2px;padding:14px 16px;margin-bottom:14px}
.solution-block .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.step-edit-row{display:flex;gap:10px;align-items:flex-end;padding:8px 0;border-top:1px dashed var(--line)}
.step-edit-row:first-of-type{border-top:none}

.login-shell{max-width:380px;margin:90px auto;padding:0 20px}
.login-shell .admin-card{margin-bottom:0}
.error-msg{background:#FBEBEC;border:1px solid #EDC3C6;color:#A32A31;padding:9px 12px;border-radius:2px;font-size:13.5px}
.success-msg{background:#EAF6EC;border:1px solid #BEDCC4;color:#2E6B3C;padding:9px 12px;border-radius:2px;font-size:13.5px}
.muted-link{color:var(--muted);font-size:13px}
.divider{height:1px;background:var(--line);margin:16px 0}

/* =====================================================================
   ВЕРСИЯ 2: фикс ширины, редактор, инфо-блоки, статистика
   ===================================================================== */

/* Полоса прокрутки всегда зарезервирована — страницы и вкладки
   больше не «прыгают» по ширине при переключении */
html{overflow-y:scroll}

/* Логотип строго на одной линии с заголовком */
header.hero .hero-top{display:flex;align-items:center;gap:14px;margin-top:6px}
header.hero .hero-top h1{margin:0;line-height:1}
header.hero .hero-top .logo-badge{flex:none}

/* Верхнее меню без бренда — разделы начинаются слева */
.topnav .inner{gap:4px}

/* ---------- контент из визуального редактора ---------- */
.rich img,.ed-area img{max-width:100%;height:auto;border-radius:6px;display:block}
.rich img.align-left,.ed-area img.align-left{margin:10px auto 10px 0}
.rich img.align-center,.ed-area img.align-center{margin:10px auto}
.rich img.align-right,.ed-area img.align-right{margin:10px 0 10px auto}
.rich hr,.ed-area hr,.ed-hr{border:none;border-top:2px solid var(--line);margin:18px 0}
.rich .ed-callout,.ed-area .ed-callout{padding:10px 14px;border-radius:8px;margin:12px 0;border-left:4px solid var(--accent)}
.rich .ed-video,.ed-area .ed-video{margin:14px 0;max-width:100%}
.rich .ed-video iframe,.ed-area .ed-video iframe{max-width:100%;border:0;border-radius:8px;display:block}
.rich a{color:var(--accent);text-decoration:underline}
.rich p:first-child{margin-top:0}
.rich p:last-child{margin-bottom:0}

/* ---------- инфо-блоки (Внимание / Разрешено / Запрещено) ---------- */
.infoblock{border-radius:4px;padding:14px 18px;margin-bottom:12px;border:1px solid var(--line);border-left-width:5px}
.infoblock-head{display:flex;align-items:center;gap:9px;margin-bottom:6px}
.ib-icon{font-size:19px;line-height:1}
.ib-title{font-family:var(--display);text-transform:uppercase;font-size:17px;letter-spacing:.02em}
.infoblock-body{font-size:14.5px}
.infoblock.tone-warn{background:#FFF9E8;border-color:#EBD9A6;border-left-color:#D9A404}
.infoblock.tone-allow{background:#EDF8EF;border-color:#BEDCC4;border-left-color:#2E8B45}
.infoblock.tone-deny{background:#FCEDEE;border-color:#EDC3C6;border-left-color:#C22A32}
.infoblock.tone-info{background:#EDF3FC;border-color:#C3D5ED;border-left-color:#1D6FD0}
.solution-block.tone-warn{border-left-color:#D9A404}
.solution-block.tone-allow{border-left-color:#2E8B45}
.solution-block.tone-deny{border-left-color:#C22A32}
.solution-block.tone-info{border-left-color:#1D6FD0}

/* ---------- визуальный редактор ---------- */
.ed-wrap{border:1px solid var(--line);border-radius:3px;background:#fff}
.ed-toolbar{display:flex;flex-wrap:wrap;gap:3px;align-items:center;padding:6px;border-bottom:1px solid var(--line);background:#F7F8FB;position:sticky;top:0;z-index:5}
.ed-btn{font-family:var(--body-f);font-size:13px;min-width:30px;height:30px;padding:0 8px;border:1px solid transparent;border-radius:3px;background:transparent;cursor:pointer;color:var(--ink);line-height:1}
.ed-btn:hover{background:#E6EAF2;border-color:var(--line)}
.ed-sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.ed-select{height:30px;border:1px solid var(--line);border-radius:3px;background:#fff;font-size:12.5px;padding:0 4px;max-width:170px}
.ed-select-sm{max-width:110px}
.ed-color{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:30px;border-radius:3px;cursor:pointer;border:1px solid transparent}
.ed-color:hover{background:#E6EAF2;border-color:var(--line)}
.ed-color span{font-size:15px;font-weight:700;pointer-events:none}
.ed-color input[type=color]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:none;padding:0}
.ed-color-hl span{color:#C9A227}
.ed-color-quote span{color:#1D6FD0}
.ed-area{padding:12px 14px;min-height:90px;outline:none;font-size:14.5px;line-height:1.6}
.ed-area:focus{box-shadow:inset 0 0 0 2px rgba(11,95,208,.18)}
.ed-area img.ed-selected{outline:3px solid var(--accent);outline-offset:2px}
.ed-area code{font-family:var(--mono);font-size:12.5px;background:#F1F3F7;border:1px solid var(--line);border-radius:2px;padding:1px 5px}
.ed-html-mode textarea{display:block!important;width:100%;border:none;border-top:1px solid var(--line);font-family:var(--mono);font-size:12.5px;padding:10px}

/* ---------- вкладки в админке ---------- */
.cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 18px;border-bottom:1px solid var(--line);padding-bottom:0}
.cat-tab{font-family:var(--display);text-transform:uppercase;font-size:15px;letter-spacing:.02em;background:none;border:none;border-bottom:3px solid transparent;padding:9px 14px;cursor:pointer;color:var(--muted);text-decoration:none}
.cat-tab:hover{color:var(--ink)}
.cat-tab.active{color:var(--ink);border-bottom-color:var(--accent,var(--ink))}
.cat-tab-add{color:#2E6B3C}
.cat-panel[hidden]{display:none}
.sub-tabs{display:flex;gap:6px;margin-bottom:14px}
.sub-tab{font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;padding:7px 13px;border:1px solid var(--line);background:#fff;border-radius:3px;cursor:pointer;color:var(--muted)}
.sub-tab:hover{border-color:var(--ink);color:var(--ink)}
.sub-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.sub-panel[hidden]{display:none}
.badge-count{background:#FCF4E4;border:1px solid #E8D4A8;color:#8A6410;border-radius:999px;padding:0 6px;font-size:11px;margin-left:4px}

/* ---------- статистика ---------- */
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:16px 18px}
.stat-card.stat-live{background:var(--ink);color:#fff;border-color:var(--ink)}
.stat-card.stat-live .muted-link{color:#8E99AC}
.stat-num{font-family:var(--display);font-size:34px;line-height:1;margin-bottom:6px}
.stat-lbl{font-size:12.5px;color:var(--muted)}
.stat-card.stat-live .stat-lbl{color:#C3CBD9}
.stat-table{width:100%;border-collapse:collapse;font-size:13px}
.stat-table th{text-align:left;font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 8px;border-bottom:1px solid var(--line)}
.stat-table td{padding:6px 8px;border-bottom:1px solid #EFF1F5}
.stat-table td.mono{font-family:var(--mono);font-size:12px}
.bar{height:8px;background:var(--ink);border-radius:2px;min-width:2px}
.secret-url{background:var(--ink);color:#fff;padding:14px 16px;border-radius:3px;margin:12px 0;overflow-x:auto}
.secret-url code{background:none;border:none;color:#fff;font-size:17px;padding:0}
.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.img-cell{border:1px solid var(--line);border-radius:3px;padding:8px;background:#fff}
.img-cell img{width:100%;height:90px;object-fit:contain;background:#F5F7FA;border-radius:3px;margin-bottom:6px}

/* =====================================================================
   ПРАВКИ: растягивание полей, видимость селектов, перенос текста
   ===================================================================== */

/* (1) Поле редактора можно тянуть за нижний правый угол */
.ed-area{resize:vertical;overflow:auto;min-height:110px}
.ed-wrap{resize:vertical;overflow:hidden;min-height:150px}

/* (6) Выпадающие списки «Шрифт» и «Размер» — текст больше не обрезается */
.ed-toolbar{align-items:center}
.ed-select{height:30px;line-height:normal;padding:4px 6px;vertical-align:middle;font-family:var(--body-f);color:var(--ink);appearance:auto}
.ed-select:focus{outline:2px solid rgba(11,95,208,.35)}

/* (8) Длинные слова, emoji и вставленный текст не вылезают за границы */
.ed-area,.rich,.infoblock-body,.steptext,.cardbody,.instruction-article{
  overflow-wrap:anywhere;word-break:break-word;max-width:100%
}
.ed-area *,.rich *{max-width:100%}
.ed-area table,.rich table{display:block;overflow-x:auto;border-collapse:collapse}
.ed-area pre,.rich pre{white-space:pre-wrap;overflow-x:auto}

/* ссылки-вкладки рядом с подвкладками */
.sub-tab-link{display:inline-flex;align-items:center;text-decoration:none;background:#fff;color:var(--muted)}
.sub-tab-link:hover{background:#F0F2F7;border-color:var(--ink);color:var(--ink)}

/* обычные textarea тоже тянутся */
.field textarea{resize:vertical}

/* =====================================================================
   v3: чек-лист в инструкции, крупные цифры, ровное расположение кнопок
   ===================================================================== */

/* (12) Чек-лист в инструкции — без рамки, только цифры и линии-разделители */
.instruction-article .steplist.flat-list{list-style:none;margin:14px 0;padding:0;background:none;border:none}
.instruction-article .steplist.flat-list .step{
  border-top:1px solid var(--line);border-radius:0;background:none;padding:12px 0;
  display:grid;grid-template-columns:44px 1fr auto;align-items:start;gap:12px
}
.instruction-article .steplist.flat-list .step:first-child{border-top:none}
.instruction-article .steplist.flat-list .stepnum{
  font-family:var(--display);font-size:22px;line-height:1;color:var(--accent,var(--ink));
  font-weight:700;padding-top:2px;text-align:left
}
.instruction-article .steplist.flat-list .steptext{padding-top:2px}

/* Общее правило для чек-листа — цифры покрупнее (пункт 8) */
.steplist .stepnum{font-size:19px;font-family:var(--display);font-weight:700;color:var(--accent,var(--ink));padding-top:2px}
.steplist .step{grid-template-columns:36px 1fr auto;align-items:start}

/* (3) Кнопка «Отметить выполненным» — ровная ширина и не толкает текст */
.stepbtn{
  min-width:170px;text-align:center;flex:0 0 auto;
  border-radius:20px;padding:7px 14px;
  transition:background .12s,color .12s,transform 0s
}
.step.done .stepbtn{background:#2E6B3C;border-color:#2E6B3C;color:#fff}
.step.done .steptext{color:var(--muted);text-decoration:line-through}

/* Разделитель между подразделами инструкции */
.section-divider{border:none;border-top:1px solid var(--line);margin:22px 0}
.instr-name{font-family:var(--display);text-transform:uppercase;font-size:20px;letter-spacing:.02em;margin:0 0 10px}
.section-pre{margin-bottom:12px}

/* h2/h3/h4 внутри визуального редактора */
.rich h2,.ed-area h2{font-family:var(--display);font-size:22px;text-transform:uppercase;margin:14px 0 8px;letter-spacing:.02em}
.rich h3,.ed-area h3{font-family:var(--display);font-size:18px;margin:12px 0 6px}
.rich h4,.ed-area h4{font-family:var(--display);font-size:15.5px;margin:10px 0 4px;text-transform:uppercase;letter-spacing:.03em}

/* внутренние подвкладки не «наезжают» на внешние */
.sub-tabs-inner{margin-top:6px;padding-top:2px;border-top:1px dashed var(--line)}
.sub-tab-add{color:#2E6B3C;background:#EAF6EC;border-color:#BEDCC4}

/* Мобильная адаптация чек-листа */
@media (max-width:560px){
  .stepbtn{min-width:0;width:100%}
  .steplist .step,.instruction-article .steplist.flat-list .step{grid-template-columns:32px 1fr;gap:8px}
  .steplist .step .stepbtn{grid-column:1 / -1}
}

/* =====================================================================
   v3.1 — точечные правки к чек-листам и заголовкам полей
   ===================================================================== */

/* (6) Цифры чек-листа выравниваются по первой строке текста,
   а не «уплывают» ниже — задаём совпадающие line-height и убираем padding-top. */
.steplist .step{align-items:baseline}
.steplist .stepnum{
  padding-top:0;line-height:1.5;
  font-size:20px;font-family:var(--display);font-weight:700;
  color:var(--accent,var(--ink));text-align:left
}
.steplist .steptext{line-height:1.5;padding-top:0}
.steplist .stepbtn{align-self:center}

/* Чек-лист в инструкции — цифры и первая строка на одной линии */
.instruction-article .steplist.flat-list .step{align-items:baseline}
.instruction-article .steplist.flat-list .stepnum{
  padding-top:0;line-height:1.55;font-size:22px
}
.instruction-article .steplist.flat-list .steptext{line-height:1.55;padding-top:0}

/* (5) Инструкция — только один общий блок вокруг всего, без внутренних рамок */
.instruction-article{padding:22px 24px}
.instr-section{padding:0;background:none;border:none;margin:0}
.instr-section .instr-name{margin:14px 0 8px}

/* Мини-редактор для «Заголовка поля»: одна строка */
.ed-wrap-mini{display:inline-block;width:100%;min-height:auto;resize:none}
.ed-toolbar-mini{padding:4px 5px;gap:2px}
.ed-toolbar-mini .ed-btn{min-width:26px;height:26px;padding:0 6px;font-size:12px}
.ed-area-mini{
  min-height:auto;padding:8px 11px;font-size:14px;line-height:1.4;
  white-space:nowrap;overflow-x:auto;resize:none
}
.ed-area-mini br{display:none}

/* =====================================================================
   v3.2 — убираем лишние отступы у пустых блоков
   ===================================================================== */

/* Пустой текст перед пунктами чек-листа больше не отображается вовсе,
   но подстрахуемся: схлопываем отступы у пустых элементов */
.rich:empty,.section-pre:empty,.instruction-article .rich:empty{display:none;margin:0;padding:0}
.rich > p:empty,.rich > div:empty{display:none}
.rich > br:only-child{display:none}

/* Чек-лист начинается сразу после пояснения */
.seq-note + .steplist,.solheading + .steplist{margin-top:12px}
.section-pre{margin-bottom:12px}
.section-pre:empty{margin-bottom:0}
.instr-section > .steplist:first-child{margin-top:0}

/* =====================================================================
   v3.3 — одна линия внизу инструкции, компактные отступы
   ===================================================================== */

/* Полоска прогресса в инструкции — без своей линии сверху:
   разделителей и так достаточно от самих пунктов */
.instruction-article .checklist-block.flat{border:none;background:none;padding:0;margin:0}
.instruction-article .checklist-block.flat .checkprogress{
  border-top:none;margin-top:8px;padding-top:0
}
/* Если прогресс пустой (скрипт не успел заполнить) — не занимает место */
.checkprogress:empty{display:none;margin:0;padding:0;border:none}
.stepwarning[hidden]{display:none}

/* Последний пункт чек-листа не оставляет двойную линию */
.instruction-article .steplist.flat-list{margin-bottom:0}
.instruction-article .steplist.flat-list .step:last-child{border-bottom:none;padding-bottom:10px}

/* Меньше пустого места до конца блока инструкции */
.instruction-article{padding:22px 24px 18px}
.instr-section:last-child{margin-bottom:0;padding-bottom:0}
.instr-section:last-child > *:last-child{margin-bottom:0}
.instruction-article > *:last-child{margin-bottom:0}
.instruction-outro{margin-top:10px}
