/* ДНЖ · днж-практики.рф · admin-v2.css (29.09.2026)
   Админка: 4 раздела с подвкладками, пакеты экспертов с ручным выбором, журнал по страницам, пароли профилей в строке. */

/* разделы и подвкладки */
.adm-groups{display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px}
.adm-groups button{border:1.5px solid var(--line); background:#fff; border-radius:var(--r-pill); padding:7px 18px; font-weight:700; font-size:14px; color:var(--ink); white-space:nowrap; cursor:pointer}
.adm-groups button:hover{border-color:var(--violet)}
.adm-groups button.act{background:var(--violet); border-color:var(--violet); color:#fff}
.adm-sub{display:flex; gap:4px; flex-wrap:wrap; border-bottom:1px solid var(--line); margin-bottom:14px}
.adm-sub button{border:0; background:transparent; border-bottom:2.5px solid transparent; margin-bottom:-1px; padding:8px 12px 9px; font-weight:600; font-size:13.5px; color:var(--mut); white-space:nowrap; cursor:pointer}
.adm-sub button:hover{color:var(--violet)}
.adm-sub button.act{color:var(--violet); border-bottom-color:var(--orange)}
.adm-bar{display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:0 0 12px}
.adm-bar .adm-right{margin-left:auto}
.adm-fold{background:#fff; border-radius:var(--r); box-shadow:var(--shadow); margin-bottom:12px; overflow:hidden}
.adm-fold>summary{cursor:pointer; padding:12px 16px; font-weight:700; color:var(--violet); font-size:14.5px; list-style:none}
.adm-fold>summary::-webkit-details-marker{display:none}
.adm-fold>summary::after{content:'Изменить'; float:right; font-weight:600; font-size:13px}
.adm-fold[open]>summary::after{content:'Свернуть'}
.adm-fold>.adm-row{box-shadow:none; border-top:1px solid var(--line-2); border-radius:0; margin:0}
.adm-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:12px}
.adm-card{background:#fff; border-radius:var(--r); box-shadow:var(--shadow); padding:16px; display:flex; flex-direction:column; gap:8px}
.adm-card span{font-size:12.5px; color:var(--mut); flex:1; line-height:1.45}
.adm-card .btn{align-self:flex-start}
.sp{flex:1}

/* пароли профилей */
.pw-list{padding:0 !important}
.pw-row{border-bottom:1px solid var(--line-2)}
.pw-row:last-child{border-bottom:0}
.pw-line{display:grid; grid-template-columns:minmax(0,1fr) 150px auto; gap:12px; align-items:center; padding:11px 16px}
.pw-dots{font-family:ui-monospace,Menlo,monospace; color:var(--mut-2); letter-spacing:.08em}
.pw-edit{display:flex; gap:8px; align-items:center; flex-wrap:wrap; padding:0 16px 12px; background:var(--violet-l2)}
.pw-edit input{flex:1 1 240px; max-width:340px; border:1.5px solid var(--line); border-radius:9px; padding:8px 11px; font-family:ui-monospace,Menlo,monospace; font-size:14px}
.pw-hint{font-size:12.5px; font-weight:600; color:var(--mut); white-space:nowrap}
.pw-hint.ok{color:var(--ok)} .pw-hint.bad{color:var(--err)}
.pw-edit .btn[disabled]{opacity:.45; cursor:default}

/* журнал: страницы */
.jr-pager{display:flex; gap:4px; align-items:center; justify-content:center; flex-wrap:wrap; padding:12px 0 4px}
.jr-pager button{min-width:34px; height:32px; border:1.5px solid var(--line); background:#fff; color:var(--violet); border-radius:8px; font-size:13px; font-weight:700; cursor:pointer}
.jr-pager button.act{background:var(--violet); border-color:var(--violet); color:#fff}
.jr-pager button[disabled]{opacity:.4; cursor:default}
.jr-gap{color:var(--mut-2); padding:0 4px}
.jr-range{margin-left:10px; font-size:12.5px; color:var(--mut); font-weight:600}

/* пакеты экспертов */
.pk-covhead{display:flex; gap:10px; align-items:baseline; flex-wrap:wrap; margin-bottom:10px}
.pk-covhead b{color:var(--violet); font-size:15px}
.pk-covhead span{font-size:12.5px; color:var(--mut)}
.pk-bar{display:flex; height:12px; border-radius:var(--r-pill); overflow:hidden; background:var(--line-2)}
.pk-bar i{display:block; height:100%}
.pk-bar .c0,.pk-legend .c0{background:var(--orange)} .pk-bar .c1,.pk-legend .c1{background:var(--lavender)} .pk-bar .c2,.pk-legend .c2{background:var(--violet)}
.pk-legend{display:flex; gap:18px; flex-wrap:wrap; font-size:13px; margin-top:10px}
.pk-legend span{display:flex; gap:7px; align-items:center; white-space:nowrap}
.pk-legend i{flex:none; width:10px; height:10px; border-radius:3px}
.pk-table{background:#fff; border-radius:var(--r); box-shadow:var(--shadow); overflow:hidden; margin:12px 0}
.pk-th,.pk-line{display:grid; grid-template-columns:minmax(200px,2.2fr) minmax(110px,1fr) minmax(140px,1.3fr) 120px; gap:14px; align-items:center; padding:11px 16px}
.pk-th{background:var(--bg-2); border-bottom:1px solid var(--line-2); font-size:11px; font-weight:700; letter-spacing:var(--tracking-caps); text-transform:uppercase; color:var(--mut); padding:9px 16px}
.pk-row{border-bottom:1px solid var(--line-2)}
.pk-row:last-child{border-bottom:0}
.pk-row.open{background:var(--violet-l2)}
.pk-row.off .pk-line{opacity:.55}
.pk-who{min-width:0}
.pk-who b{display:block; font-size:14px}
.pk-who span{font-size:12px; color:var(--mut)}
.pk-size{font-size:13px; font-weight:600; color:var(--ink-2); white-space:nowrap}
.pk-none{color:var(--orange-d)}
.pk-prog{display:flex; flex-direction:column; gap:4px}
.pk-prog span{font-size:12px; color:var(--mut)}
.pk-pbar{height:6px; border-radius:var(--r-pill); background:var(--line-2); overflow:hidden}
.pk-pbar i{display:block; height:100%; background:var(--orange)}
.pk-pbar i.ok{background:var(--ok)}
.pk-acts{display:flex; justify-content:flex-end}
.pk-acts .btn{min-width:104px; justify-content:center; text-align:center; white-space:nowrap}
.pk-edit{padding:0 16px 16px}
.pk-note{font-size:13px; color:var(--ink-2); background:var(--orange-l); border:1px solid var(--orange-b); border-radius:10px; padding:8px 12px; margin-bottom:10px}
.pk-cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:12px}
.pk-col{background:#fff; border:1px solid var(--line-2); border-radius:12px; padding:12px; display:flex; flex-direction:column; gap:8px; min-width:0}
.pk-colhead{display:flex; gap:8px; align-items:center; flex-wrap:wrap}
.pk-colhead b{color:var(--violet); font-size:13.5px}
.pk-colhead .btn{padding:4px 10px; font-size:12px}
.pk-q{border:1.5px solid var(--line); border-radius:8px; padding:7px 10px; font-size:13.5px}
.pk-listbox{max-height:320px; overflow:auto}
.pk-it{display:grid; grid-template-columns:70px minmax(0,1fr) auto auto; gap:10px; align-items:center; padding:6px 2px; border-top:1px solid var(--line-2); font-size:13px}
.pk-it:first-child{border-top:0}
.pk-it b{color:var(--violet); font-size:12.5px; white-space:nowrap}
.pk-it span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.pk-it em{font-style:normal; font-size:11px; font-weight:700; white-space:nowrap; border-radius:var(--r-pill); padding:1px 7px; background:var(--violet-l); color:var(--violet)}
.pk-it em.zero{background:var(--orange-l); color:#9E3A00}
.pk-add{border:0; background:var(--violet-l); color:var(--violet); border-radius:8px; padding:3px 9px; font-size:12px; font-weight:700; white-space:nowrap; cursor:pointer}
.pk-add:hover{background:#EADFF2}
.pk-x{border:0; background:transparent; color:var(--mut-2); font-size:14px; padding:0 4px; cursor:pointer; grid-column:4}
.pk-x:hover{color:var(--err)}
.pk-empty{font-size:13px; color:var(--mut); padding:14px 2px}
.pk-editfoot{display:flex; gap:8px; margin-top:12px}
@media (max-width:760px){
  .pk-th{display:none}
  .pk-line{grid-template-columns:minmax(0,1fr) auto; row-gap:6px}
  .pk-size,.pk-prog{grid-column:1}
  .pk-acts{grid-column:2; grid-row:1}
  .pw-line{grid-template-columns:minmax(0,1fr) auto}
  .pw-dots{display:none}
}

/* 29.09.2026 (сборка -3) · дерево прав: выборы из нескольких вариантов — отдельными «таблетками» с переносом;
   правка текстов «нет / все / выбранные» со списком частей */
.acs-choice .acs-seg.acs-seg-wrap{display:flex; flex-wrap:wrap; gap:4px; border:0; background:transparent; overflow:visible; white-space:normal}
.acs-choice .acs-seg.acs-seg-wrap label{border:1.5px solid var(--line); border-radius:999px; background:#fff; white-space:nowrap}
.acs-choice .acs-seg.acs-seg-wrap label:first-child{border-left:1.5px solid var(--line)}
.acs-choice .acs-seg.acs-seg-wrap label:hover{border-color:var(--violet)}
.acs-choice .acs-seg.acs-seg-wrap label:has(input[type=radio]:checked){border-color:var(--violet)}
.acs-choice{min-width:0; max-width:100%}
.acs-scope{align-items:center}
.acs-scope .acs-clabel{min-width:104px}
.acs-scopebox{flex:1 1 100%; min-width:0; max-width:100%; box-sizing:border-box; max-height:240px; overflow:auto; border:1px solid var(--line-2); border-radius:10px; background:#fff; padding:8px 10px; display:flex; flex-wrap:wrap; gap:4px 6px}
.acs-scopebox.hidden{display:none}
.acs-scopebox > .acs-sc{flex:1 1 calc(50% - 6px)}
.acs-scg{flex:1 1 100%; min-width:0; display:flex; flex-direction:column; gap:3px; padding:4px 0 6px; border-top:1px solid var(--line-2)}
.acs-scg:first-child{border-top:0}
.acs-scgt{font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--violet); padding-top:2px}
.acs-sc{display:flex; align-items:center; gap:6px; min-width:0; box-sizing:border-box; border:1px solid var(--line); border-radius:8px; padding:3px 8px; font-size:12.5px; cursor:pointer; color:var(--ink-2)}
.acs-sc span{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.acs-sc input{flex:none; margin:0; accent-color:var(--violet)}
.acs-sc:hover{border-color:var(--violet)}
.acs-sc:has(input:checked){border-color:var(--violet); background:var(--violet-l); color:var(--violet); font-weight:600}
@media (max-width:760px){ .acs-scopebox > .acs-sc{flex-basis:100%} }
/* телефон: дерево прав и форма не шире экрана (длинные названия переносятся) */
@media (max-width:760px){
  .acs-grid{grid-template-columns:minmax(0,1fr)}
  .acs-branch{grid-template-columns:minmax(0,1fr)}
  .acs-leaves{min-width:0}
  .mini-fld select, .mini-fld input, .mini-fld textarea{max-width:100%; min-width:0; box-sizing:border-box}
  .acs-choice .acs-seg.acs-seg-wrap label{white-space:normal}
  .acs-scope .acs-clabel{min-width:0; flex-basis:100%}
}

/* 29.09.2026 (сборка -4) · Пакеты экспертов: что оценено, а что нет */
.pk-covhead2{margin-top:16px}
.pk-bar .ev1,.pk-legend .ev1{background:var(--ok)}
.pk-bar .ev2,.pk-legend .ev2{background:#F2B35B}
.pk-legend .ev0{background:var(--line-2); border:1px solid var(--line)}
.pk-fbar{display:flex; flex-wrap:wrap; gap:4px}
.pk-f{border:1px solid var(--line); background:#fff; border-radius:var(--r-pill); padding:3px 10px; font-size:12px; font-weight:600; color:var(--ink-2); cursor:pointer; white-space:nowrap}
.pk-f i{font-style:normal; color:var(--mut); font-weight:700; margin-left:2px}
.pk-f:hover{border-color:var(--violet)}
.pk-f.act{background:var(--violet); border-color:var(--violet); color:#fff}
.pk-f.act i{color:#fff}
.pk-it em.st-done{background:#E4F4EA; color:#1E7B45}
.pk-it em.st-draft{background:#FFF1DC; color:#9E5A00}
.pk-it em.st-none{background:var(--line-2); color:var(--mut)}
.pk-it.pk-st-done b{color:#1E7B45}
.pk-it-r{grid-template-columns:70px minmax(0,1fr) auto auto auto}
.pk-it em.ev{background:#E4F4EA; color:#1E7B45}
.pk-it em.noev{background:transparent; color:var(--mut-2); font-weight:600}
.pk-outside{margin-top:6px; padding-top:8px; border-top:1px dashed var(--line)}
.pk-listbox-sm{max-height:170px}
@media (max-width:760px){
  .pk-it-r{grid-template-columns:62px minmax(0,1fr) auto; row-gap:4px}
  .pk-it-r em{grid-row:2}
  .pk-it-r em:first-of-type{grid-column:2; justify-self:start}
  .pk-it-r .pk-add{grid-column:3; grid-row:1}
}
.acs-rchips:empty{display:none}
.acs-chip.neg{text-decoration:none; color:#9E3A00; background:var(--orange-l); border-color:var(--orange-b)}   /* «Не …», «Без …», «Пакета нет» — без зачёркивания */

/* 29.09.2026 (сборка -5) · «Мои оценки»: всё назначенное со статусами */
.my-scope{font-size:14px; color:var(--ink-2); margin:-4px 0 12px}
.my-bar{display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; margin-bottom:14px}
.st.todo{background:var(--line-2); color:var(--mut); border-color:var(--line)}
.my-out{font-size:11px; font-weight:700; color:#9E3A00; background:var(--orange-l); border-radius:999px; padding:1px 8px; margin-left:6px; white-space:nowrap}
/* -5 · «Пакеты на оценку»: группы по профилям */
.pk-grp{padding:10px 16px 6px; font-size:11.5px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--violet); background:var(--bg-2); border-bottom:1px solid var(--line-2)}
.pk-grp span{color:var(--mut); font-weight:700; margin-left:4px}
.pk-prof{font-size:12.5px; color:var(--mut); font-weight:600}
