/* =================================================================
   Раздел «Документы» (05.10.2026): дерево папок слева, документы справа.
   Две отдельные карточки с воздухом между ними — навигация не сливается
   с содержимым. Только токены. Выбранная строка — рамкой, без заливки
   (правило дизайна 08.09.2026); залита одна кнопка — «Загрузить».
   ================================================================= */
.dk-app{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:16px}
.dk-app>.card{margin-bottom:0;color:var(--text-1)}

/* ---------- левая карточка: папки ---------- */
.dk-nav{position:sticky;top:64px;display:flex;flex-direction:column;max-height:calc(100vh - 80px);overflow:hidden}
.dk-nav-head{display:flex;gap:8px;padding:10px;border-bottom:1px solid var(--hair)}
.dk-search{flex:1;min-width:0;display:flex;align-items:center;gap:7px;height:32px;padding:0 9px;
  border:1px solid var(--hair-2);border-radius:var(--radius-ctrl);background:var(--surface-2);cursor:text}
.dk-search:focus-within{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-glow)}
.dk-search svg{width:15px;height:15px;flex:none;fill:none;stroke:var(--text-3);stroke-width:1.6;stroke-linecap:round}
.dk-search input{flex:1;min-width:0;border:0;outline:0;background:none;font:inherit;font-size:13px;color:var(--text-1)}
.dk-search input::placeholder{color:var(--text-3)}
.btn.dk-add{width:32px;height:32px;padding:0;flex:none}
.dk-nav-scroll{overflow-y:auto;padding:6px 0 10px;overscroll-behavior:contain}

.dk-sec{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px 5px;
  font-size:12px;font-weight:600;color:var(--text-3)}
.dk-link{border:0;background:none;font:inherit;font-size:12px;font-weight:500;color:var(--text-2);cursor:pointer;
  padding:3px 6px;border-radius:5px}
.dk-link:hover{background:var(--surface-3);color:var(--text-1)}
.dk-link:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}

/* строка: стрелка, значок, название, плашка-счётчик */
/* отступ вложенности — внешним полем: рамка выбранной подпапки начинается от её отступа
   и не пересекает линию вложенности слева (Раиль 05.10.2026) */
.dk-row{display:flex;align-items:center;gap:7px;min-height:34px;margin:1px 8px 1px calc(8px + var(--lvl,0) * 20px);padding:0 8px 0 4px;
  border:1.5px solid transparent;border-radius:var(--radius-ctrl);cursor:pointer;color:var(--text-1);outline:0;user-select:none}
.dk-row:hover{background:var(--surface-3)}
.dk-row:focus-visible{border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-glow)}
.dk-row.active{border-color:var(--accent-line);color:var(--accent);font-weight:600;background:transparent}
.dk-name{flex:1;min-width:0;font-size:13px;line-height:1.25;padding:7px 0;overflow-wrap:break-word;hyphens:auto}
.dk-ico{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;color:var(--text-3)}
.dk-row.active .dk-ico{color:var(--accent)}
.dk-chev{width:22px;height:22px;flex:none;display:grid;place-items:center;border:0;background:none;border-radius:5px;
  color:var(--text-3);cursor:pointer;padding:0}
.dk-chev:hover{background:var(--surface-4);color:var(--text-1)}
.dk-chev svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .16s ease}
.dk-chev.is-leaf{visibility:hidden;pointer-events:none}
.dk-node[aria-expanded="true"]>.dk-row .dk-chev svg{transform:rotate(90deg)}

/* плашка-счётчик: контур без заливки, пустая папка — пунктиром */
.dk-count{flex:none;min-width:26px;padding:0 6px;line-height:19px;text-align:center;font-size:11.5px;font-weight:600;
  font-variant-numeric:tabular-nums;color:var(--text-2);border:1px solid var(--hair-2);border-radius:var(--radius-chip)}
.dk-count.is-zero{color:var(--text-3);border-style:dashed}
.dk-row.active .dk-count{border-color:var(--accent-line);color:var(--accent)}

/* подпапки раскрываются плавно; линия слева показывает вложенность,
   на пути до выбранной папки она акцентная */
.dk-kids{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}
.dk-node[aria-expanded="true"]>.dk-kids{grid-template-rows:1fr}
.dk-kids-in{overflow:hidden;min-height:0;position:relative}
.dk-kids-in::before{content:"";position:absolute;left:calc(19px + var(--lvl,0) * 20px);top:1px;bottom:8px;width:1.5px;
  border-radius:1px;background:var(--hair-2)}
.dk-node.onpath>.dk-kids>.dk-kids-in::before{background:var(--accent-line)}
.dk-mark{background:var(--accent-soft);color:inherit;border-radius:3px;padding:0 1px}
.dk-empty-small{padding:10px 16px;color:var(--text-3);font-size:12.5px}

/* ---------- правая карточка: путь, подпапки, документы ---------- */
.dk-pane{min-width:0}
.dk-pane-head{padding:14px 18px;border-bottom:1px solid var(--hair)}
.dk-back{border:0;background:none;font:inherit;font-size:13px;color:var(--accent);cursor:pointer;padding:4px 0;margin-bottom:6px}
.dk-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin-bottom:6px;font-size:12.5px;color:var(--text-3)}
.dk-crumbs button{border:0;background:none;font:inherit;font-size:12.5px;color:var(--text-2);cursor:pointer;padding:2px 5px;border-radius:5px}
.dk-crumbs button:hover{background:var(--surface-3);color:var(--text-1)}
.dk-crumbs button:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}
.dk-crumbs b{color:var(--text-1);font-weight:600;padding:2px 5px}
.dk-sep{padding:0 1px;color:var(--text-3)}
.dk-head-line{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.dk-title{flex:1;min-width:200px}
.dk-title h2{font-size:18px;line-height:1.25;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--text-1);overflow-wrap:break-word;hyphens:auto}
.dk-meta{margin-top:3px;font-size:12.5px;color:var(--text-3)}
.dk-acts{display:flex;flex-wrap:wrap;gap:8px}
.dk-acts .btn{height:32px;padding:0 12px}

.dk-block{padding:12px 18px 4px}
.dk-block-tight{padding-top:4px;padding-bottom:0}
.dk-block-h{margin-bottom:7px;font-size:12.5px;font-weight:600;color:var(--text-2)}
.dk-subs{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:8px}
.dk-sub{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 10px 0 11px;text-align:left;font:inherit;color:var(--text-1);
  border:1px solid var(--hair-2);border-radius:var(--radius-ctrl);background:var(--surface-2);cursor:pointer}
.dk-sub:hover{background:var(--surface-3);border-color:var(--edge)}
.dk-sub:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}
.dk-sub .dk-ico{width:19px;height:19px}
.dk-sub-name{flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.25;padding:6px 0;overflow-wrap:break-word;hyphens:auto}
.dk-go{width:11px;height:11px;flex:none;fill:none;stroke:var(--text-3);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.dk-docs{padding-bottom:6px}
.dk-doc{display:flex;align-items:center;gap:11px;padding:9px 18px;border-top:1px solid var(--hair)}
.dk-doc:first-child{border-top:0}
.dk-doc:hover{background:var(--surface-3)}
.dk-ext{flex:none;width:42px;padding:4px 0;text-align:center;font-size:10.5px;font-weight:700;letter-spacing:.02em;
  color:var(--text-2);border:1px solid var(--hair-2);border-radius:var(--radius-chip)}
.dk-doc-main{flex:1;min-width:0}
.dk-doc-name{font-size:13px;font-weight:600;line-height:1.35;overflow-wrap:break-word;hyphens:auto}
.dk-doc-meta{margin-top:2px;font-size:12px;color:var(--text-3)}
.dk-doc-acts{display:flex;align-items:center;gap:8px;flex:none}
.dk-doc-acts .btn{height:28px;padding:0 10px;font-size:12px}
.dk-star{width:30px;height:30px;flex:none;display:grid;place-items:center;border:0;background:none;border-radius:6px;cursor:pointer;
  color:var(--text-3)}
.dk-star:hover{background:var(--surface-4);color:var(--text-1)}
.dk-star:focus-visible{outline:2px solid var(--accent-line);outline-offset:1px}
.dk-star svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.dk-star[aria-pressed="true"]{color:var(--mid)}
.dk-star[aria-pressed="true"] svg{fill:currentColor}
.dk-empty{padding:26px 18px 30px;font-size:13px;color:var(--text-3)}
.dk-empty b{display:block;margin-bottom:3px;font-size:14px;color:var(--text-1)}

/* ---------- планшет и телефон ---------- */
@media (max-width:1100px){.dk-app{grid-template-columns:280px minmax(0,1fr)}}
@media (max-width:760px){
  .dk-app{grid-template-columns:1fr}
  .dk-nav{position:static;max-height:none}
  .dk-row{min-height:42px}
  .dk-pane-head{padding:12px 14px}
  .dk-block{padding:12px 14px 4px}
  /* строка документа на телефоне: название сверху, крупные кнопки снизу —
     попасть пальцем в мелкую «Скачать» невозможно */
  .dk-doc{flex-wrap:wrap;padding:12px 14px}
  .dk-doc-main{flex-basis:calc(100% - 54px)}
  .dk-doc-acts{width:100%;justify-content:flex-end}
  .dk-doc-acts .btn{height:36px;padding:0 14px;font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  .dk-kids,.dk-chev svg{transition:none}
}

/* ---------- просмотр PDF: страницы рисует PDF.js (05.10.2026) ---------- */
/* место под лист занято сразу (пропорции листа), холст появляется, когда лист рядом с экраном;
   лист бумаги белый в обеих темах — как сам PDF */
.doc-view-pages{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;min-height:76vh;padding:16px;
  background:var(--surface-3)}
.doc-view-page{flex:none;position:relative;max-width:100%;background:#fff;border:1px solid var(--edge)}
.doc-view-page canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block}
@media (max-width:760px){.doc-view-pages{padding:10px;gap:10px;min-height:66vh}}
