/* ДНЖ · днж-практики.рф · app.css
   Правки поверх пака: сетка библиотеки, сердечко, дровер, дорожная карта (инфостраница).
   Часть разделённого сайта (15.09.2026). Подключается из index.html. */

/* ---- app tweaks поверх пака ---- */
.lib-wrap{display:grid; grid-template-columns:280px 1fr; gap:16px; align-items:start}
.filters.side{flex-direction:column; align-items:stretch; gap:12px; position:sticky; top:76px; max-height:calc(100vh - 96px); overflow:auto}
.filters.side input[type=search]{width:100%; flex:none}
.filters.side select{width:100%}
.fgroup{display:grid; gap:5px}
.fgroup label{font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--violet)}
.lib-head{display:flex; align-items:center; gap:12px; margin-bottom:12px}
.lib-head select{border:1.5px solid var(--line); border-radius:9px; padding:8px 10px; font-size:13.5px; background:#fff}
.lib-head .fcount{margin-left:auto; font-size:13px; color:var(--mut)}
@media (max-width:1000px){ .lib-wrap{grid-template-columns:1fr} .filters.side{position:static; max-height:none} }
.pi-tag{display:inline-flex; align-items:center; font-size:11px; font-weight:800; border-radius:20px; padding:2.5px 9px; cursor:help}
.pi-tag.strong{background:var(--orange); color:#fff}
.pi-tag.mid{background:#FFD9C2; color:#8A3D00}
.pi-tag.weak{background:var(--orange-l); color:#B8703F}

/* фирменное сердечко Добро.рф (вектор), цвет наследуется от текста */
.ic-heart{display:inline-block; width:16px; height:10px; background:currentColor;
  -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI1IiB2aWV3Qm94PSIwIDAgOCA1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNy4wNjMwNyAwLjQ2NDk4M0M2LjQ1ODgyIC0wLjE3NTk1NCA1LjY3MzMgLTAuMTYyMTQzIDQuOTA5MzUgMC41NTgyMVYwLjU1NjkxNkwzLjcyMjQzIDEuNzQ2NDJMMi41Mzk4MyAwLjU1NjkxNlYwLjU1ODIxQzEuNzcxNTcgLTAuMTYyNTc1IDAuOTg2MDUgLTAuMTc2Mzg2IDAuMzg2MTE2IDAuNDY0OTgzQy0wLjE3OTI5IDEuMDYyNzYgLTAuMTE0NTIzIDEuODcxNTkgMC41MTk5NCAyLjUzOTI5QzAuNTE5OTQgMi41NDAxNSAwLjgwMDQ4MiAyLjgyMjg1IDAuODk1NDM2IDIuOTE2NTFDMS42NzIzMyAzLjcwMjQ3IDIuNjk5NTIgNC4wOTM5NCAzLjcyMjQzIDQuMDkzOTRDNC43NDUzNCA0LjA5Mzk0IDUuNzcyNTkgMy43MDI0NyA2LjU1MzggMi45MTY1MUM2LjY0NDQ0IDIuODIyNDIgNi45MjQ5OCAyLjUzOTI5IDYuOTI0OTggMi41MzkyOUM3LjU2Mzc2IDEuODcyMDIgNy42MjQxNiAxLjA2Mjc2IDcuMDYzMDcgMC40NjQ5ODNaIiBmaWxsPSIjRkY1RDAwIi8+Cjwvc3ZnPgo=") center/contain no-repeat;
  mask:url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOCIgaGVpZ2h0PSI1IiB2aWV3Qm94PSIwIDAgOCA1IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNy4wNjMwNyAwLjQ2NDk4M0M2LjQ1ODgyIC0wLjE3NTk1NCA1LjY3MzMgLTAuMTYyMTQzIDQuOTA5MzUgMC41NTgyMVYwLjU1NjkxNkwzLjcyMjQzIDEuNzQ2NDJMMi41Mzk4MyAwLjU1NjkxNlYwLjU1ODIxQzEuNzcxNTcgLTAuMTYyNTc1IDAuOTg2MDUgLTAuMTc2Mzg2IDAuMzg2MTE2IDAuNDY0OTgzQy0wLjE3OTI5IDEuMDYyNzYgLTAuMTE0NTIzIDEuODcxNTkgMC41MTk5NCAyLjUzOTI5QzAuNTE5OTQgMi41NDAxNSAwLjgwMDQ4MiAyLjgyMjg1IDAuODk1NDM2IDIuOTE2NTFDMS42NzIzMyAzLjcwMjQ3IDIuNjk5NTIgNC4wOTM5NCAzLjcyMjQzIDQuMDkzOTRDNC43NDUzNCA0LjA5Mzk0IDUuNzcyNTkgMy43MDI0NyA2LjU1MzggMi45MTY1MUM2LjY0NDQ0IDIuODIyNDIgNi45MjQ5OCAyLjUzOTI5IDYuOTI0OTggMi41MzkyOUM3LjU2Mzc2IDEuODcyMDIgNy42MjQxNiAxLjA2Mjc2IDcuMDYzMDcgMC40NjQ5ODNaIiBmaWxsPSIjRkY1RDAwIi8+Cjwvc3ZnPgo=") center/contain no-repeat; vertical-align:-0.5px}
/* дорожная карта */
.dk-proj{font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--orange); margin:16px 0 8px}
/* вводная к направлению и к проекту дорожной карты */
.info-sec .dk-intro{font-size:14px; line-height:1.62; color:var(--ink-2); margin:0 0 14px; max-width:none}
.info-sec .dk-intro.proj{margin:-2px 0 14px; padding:2px 0 2px 14px; border-left:2px solid var(--line)}
.dk-row{display:flex; gap:12px; align-items:flex-start; padding:10px 12px; border:1.5px solid var(--line-2); border-radius:10px; margin-bottom:8px; background:#fff}
.dk-id{color:var(--violet); min-width:44px; font-size:13.5px; padding-top:1px}
.dk-t{flex:1; font-size:14px; line-height:1.45}
.dk-schedule-editor{border:1px solid var(--line);border-radius:12px;padding:14px;margin:8px 0 22px;min-width:0}
.dk-schedule-editor legend{font-weight:700;color:var(--violet);padding:0 6px}
.dk-schedule-editor select,.dk-schedule-editor input,.dk-schedule-editor textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
.dk-schedule-editor textarea{min-height:70px}
.dk-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.dk-schedule-editor [hidden]{display:none!important}
.dk-schedule-preview{font-size:13px;line-height:1.5;color:var(--violet);margin:10px 0 0;overflow-wrap:anywhere}
.dk-note-drawer .drawer-ft{flex-wrap:wrap}
.dk-note-drawer .drawer-ft .fld-hint{flex-basis:100%;margin:0}
@media(max-width:420px){.dk-schedule-grid{grid-template-columns:1fr}}
.dk-add{flex:none}
/* дровер */
#dkDrawer .drawer-overlay{position:fixed; inset:0; background:rgba(29,23,38,.45); z-index:200}
#dkDrawer .drawer{position:fixed; top:0; right:0; bottom:0; width:min(480px, 96vw); background:#fff; z-index:201; box-shadow:var(--shadow-modal); display:flex; flex-direction:column; animation:dkIn .22s var(--ease)}
@keyframes dkIn{from{transform:translateX(30px); opacity:0} to{transform:none; opacity:1}}
#dkDrawer .drawer-hd{display:flex; gap:12px; align-items:flex-start; padding:18px 20px 12px; border-bottom:1.5px solid var(--line)}
#dkDrawer .drawer-hd .k{font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--orange)}
#dkDrawer .drawer-hd .t{font-weight:700; color:var(--violet); font-size:15px; line-height:1.35; margin-top:3px}
#dkDrawer .drawer-x{margin-left:auto; border:0; background:var(--bg); border-radius:8px; width:32px; height:32px; font-size:15px; color:var(--mut)}
#dkDrawer .drawer-bd{padding:14px 20px; overflow:auto; flex:1}
#dkDrawer .drawer-ft{padding:12px 20px 18px; border-top:1.5px solid var(--line); display:flex; gap:10px}
.flag-chip{display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; border-radius:999px; padding:3px 10px; background:var(--violet-l); color:var(--violet)}
.dec-badge{display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; border-radius:999px; padding:4px 12px}
.dec-badge.heart{background:var(--violet-l); color:var(--violet)}
.dec-badge.rework{background:var(--warn-bg); color:var(--warn)}
.dec-badge.reject{background:var(--err-bg); color:var(--err)}
.adm-tabs{display:flex; gap:6px; margin-bottom:14px; flex-wrap:wrap}
.adm-tabs button{border:1.5px solid var(--line); background:#fff; border-radius:999px; padding:7px 16px; font-weight:600; font-size:13.5px; color:var(--ink)}
.adm-tabs button.act{background:var(--violet); border-color:var(--violet); color:#fff}
.adm-row{background:#fff; border-radius:12px; box-shadow:var(--shadow); padding:12px 16px; margin-bottom:8px}
.adm-row .hd-line{display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.adm-row .hd-line .nm{flex:1; min-width:240px; font-weight:600}
.adm-row .detail{border-top:1px solid var(--line-2); margin-top:10px; padding-top:10px}
/* строки документов в админке (дорожные карты, теории изменений, расчёты):
   название и подпись слева, кнопки одной группой справа */
.adm-doc{display:flex; gap:14px; align-items:flex-start; flex-wrap:wrap}
.adm-doc .tx{flex:1 1 420px; min-width:0}
.adm-doc .tx b{display:inline-block; margin-right:8px}
.adm-doc .tx .nm{font-weight:600; display:inline}
.adm-doc .tx .mt{display:block; margin-top:4px; font-size:12px; color:var(--mut); line-height:1.5}
.adm-doc .acts{display:flex; gap:8px; flex-wrap:wrap; margin-left:auto}
.adm-doc .acts .btn{white-space:nowrap}
@media (max-width:720px){ .adm-doc .acts{margin-left:0; width:100%} }
.qa{margin:0 0 10px}
.qa .qq{font-size:12.5px; color:var(--mut); margin-bottom:2px}
.qa .aa{font-size:14px}
.mini-fld{display:grid; gap:4px; margin:8px 0}
.mini-fld label{font-size:12px; font-weight:700; color:var(--violet)}
.mini-fld input,.mini-fld select,.mini-fld textarea{border:1.5px solid var(--line); border-radius:9px; padding:7px 10px; font-size:13.5px}

/* 16.09.2026: пометка «все практики» у эксперта с полным доступом */
.acc-full{color:var(--violet); font-weight:600}
