/* Дашборды первичных данных апробации. Переиспользуют переменные и .admin-* из styles.css. */

.dash-main{max-width:1500px;margin:0 auto;padding:1.2rem}

.dash-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1rem}
.dash-tabs button{border:1px solid var(--border);background:var(--panel);backdrop-filter:var(--blur);
  -webkit-backdrop-filter:var(--blur);border-radius:999px;padding:.5rem 1rem;font-size:.88rem;
  color:var(--text);font-family:inherit;cursor:pointer}
.dash-tabs button.active{background:var(--accent);color:#fff;border-color:transparent}

.dash-note{font-size:.84rem;color:var(--muted);background:var(--panel);border:1px solid var(--border);
  border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:.7rem .9rem;margin-bottom:1.2rem;
  line-height:1.5}

.dash-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.7rem}
.dash-filters label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--muted)}
.dash-filters select,.dash-filters input{padding:.45rem .6rem;border:1px solid var(--border);
  border-radius:8px;background:var(--field);color:var(--text);font-family:inherit;font-size:.86rem}

.dash-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.9rem}
.dash-actions button{border:1px solid var(--border);background:var(--solid);border-radius:10px;
  padding:.45rem .9rem;font-size:.86rem;color:var(--text);font-family:inherit;cursor:pointer}
.dash-actions button.primary{background:var(--accent);color:#fff;border:none}
.dash-export{font-size:.8rem;color:var(--muted);margin-left:auto}
.dash-export a{color:var(--accent);text-decoration:none;margin-left:.5rem}
.dash-export a:hover{text-decoration:underline}

.dash-pager{display:flex;align-items:center;gap:.8rem;margin-top:.8rem;justify-content:center}
.dash-pager button{border:1px solid var(--border);background:var(--solid);border-radius:8px;
  padding:.35rem .8rem;font-size:.84rem;color:var(--text);font-family:inherit;cursor:pointer}
.dash-pager button:disabled{opacity:.4;cursor:default}

/* строка реестра кликабельна — открывает карточку сессии */
#sessionsTable tbody tr{cursor:pointer}
#sessionsTable tbody tr:hover{background:var(--panel-2)}
.dash-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem}
.dash-req{max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}

.pill{display:inline-block;padding:.12rem .5rem;border-radius:999px;font-size:.74rem;line-height:1.5}
.pill.yes{background:color-mix(in srgb,var(--g) 18%,transparent);color:var(--g)}
.pill.no{background:color-mix(in srgb,var(--w) 20%,transparent);color:var(--muted)}
.pill.pre{background:color-mix(in srgb,var(--w) 20%,transparent);color:var(--muted)}
.pill.post{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
.pill.ok{background:color-mix(in srgb,var(--g) 18%,transparent);color:var(--g)}
.pill.gaps{background:color-mix(in srgb,var(--y) 26%,transparent);color:var(--o)}
.pill.check{background:color-mix(in srgb,var(--r) 16%,transparent);color:var(--r)}

/* ---------------------------------------------------- карточка сессии (2–4) */
.dash-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px);
  z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto}
/* display:flex перебивает атрибут hidden — без этого скрытый оверлей продолжает
   перехватывать клики по всей странице */
.dash-overlay[hidden]{display:none}
.dash-modal{position:relative;background:var(--bgcol);background-image:var(--bgimg);
  border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);
  max-width:1100px;width:100%;padding:1.6rem}
.dash-close{position:absolute;top:.9rem;right:.9rem;border:1px solid var(--border);background:var(--solid);
  border-radius:50%;width:32px;height:32px;font-size:1rem;color:var(--text);cursor:pointer;line-height:1}

.dash-modal h2{margin:0 0 .3rem;font-size:1.25rem}
.dash-modal h4{margin:1.4rem 0 .5rem;font-size:.95rem}
.dash-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.6rem;
  margin:.9rem 0 1.2rem}
.dash-meta div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:.55rem .7rem}
.dash-meta b{display:block;font-size:.72rem;color:var(--muted);font-weight:500;text-transform:uppercase;
  letter-spacing:.03em;margin-bottom:.2rem}

.dash-block{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:1rem 1.1rem;margin-bottom:1rem}
.dash-block .caption{font-size:.76rem;color:var(--muted);font-style:italic;margin-top:.6rem;
  padding-top:.5rem;border-top:1px solid var(--hair)}
.dash-text{white-space:pre-wrap;line-height:1.6;font-size:.9rem}
.dash-md{line-height:1.65;font-size:.9rem}
.dash-md h1,.dash-md h2,.dash-md h3{font-size:1rem;margin:1rem 0 .4rem}
.dash-md ul{padding-left:1.2rem}
.dash-md hr{border:0;border-top:1px solid var(--hair);margin:.9rem 0}

.empty{color:var(--o);font-size:.8rem;font-style:italic}

.dash-sub{display:flex;gap:.4rem;flex-wrap:wrap;margin:1rem 0 .3rem}
.dash-sub button{border:1px solid var(--border);background:var(--solid);border-radius:999px;
  padding:.35rem .85rem;font-size:.82rem;color:var(--text);font-family:inherit;cursor:pointer}
.dash-sub button.active{background:var(--accent);color:#fff;border-color:transparent}

.pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:860px){.pair{grid-template-columns:1fr}
  .dash-main{padding:.8rem}
  .dash-modal{padding:1.1rem}
  .dash-export{margin-left:0;width:100%}
}
