@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@400;500;600;700&family=Tektur:wght@700;900&display=swap');

/* =====================================================================
   ОБОЛОЧКА /admin: общая шапка, боковая навигация, панели разделов.
   Токены совпадают с foresight-staff.css (стиль «Телеметрия»).
   ===================================================================== */
#pd-admin-hub {
  --bg: #05070f;
  --text: #eef1ff;
  --muted: rgba(238, 241, 255, 0.62);
  --faint: rgba(238, 241, 255, 0.34);
  --cyan: #92D5FF;
  --lav: #E9C3FF;
  --green: #34d399;
  --amber: #ffb703;
  --red: #ff6b6b;
  --tile: rgba(255, 255, 255, 0.04);
  --tile-hi: rgba(255, 255, 255, 0.07);
  --tile-in: rgba(255, 255, 255, 0.03);
  --line: rgba(255, 255, 255, 0.1);
  --line-hi: rgba(255, 255, 255, 0.18);
  --cyan-soft: rgba(146, 213, 255, 0.12);
  --lav-soft: rgba(233, 195, 255, 0.14);
  --green-soft: rgba(52, 211, 153, 0.14);
  --amber-soft: rgba(255, 183, 3, 0.14);
  --red-soft: rgba(255, 107, 107, 0.14);

  position: relative;
  min-height: 100vh;
  overflow: hidden;
  overflow: clip;
  color: var(--text);
  font-family: "Exo 2", "Ubuntu", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  background:
    radial-gradient(900px 500px at 12% 10%, rgba(61, 107, 255, 0.14), transparent 60%),
    radial-gradient(700px 500px at 92% 95%, rgba(139, 92, 246, 0.12), transparent 60%),
    var(--bg);
}

#pd-admin-hub *, #pd-admin-hub *::before, #pd-admin-hub *::after { box-sizing: border-box; }
#pd-admin-hub [hidden] { display: none !important; }
#pd-admin-hub button, #pd-admin-hub input, #pd-admin-hub select, #pd-admin-hub textarea { font: inherit; }
#pd-admin-hub a { color: var(--cyan); }

#pd-admin-hub::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 20%, #000 30%, transparent 75%);
  mask-image: radial-gradient(ellipse at 50% 20%, #000 30%, transparent 75%);
}

/* ---- шапка ---- */
#pd-admin-hub .pa-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 36px;
  font-size: 13px;
  color: var(--muted);
}
#pd-admin-hub .pa-brand { font-family: "Tektur", sans-serif; font-size: 15px; font-weight: 700; letter-spacing: 0.08em; color: var(--text); white-space: nowrap; }
#pd-admin-hub .pa-brand em { margin: 0 6px; color: var(--cyan); font-style: normal; }
#pd-admin-hub .pa-top-actions { display: flex; align-items: center; gap: 8px; }
#pd-admin-hub .pa-user { padding: 7px 14px; border-radius: 999px; color: var(--muted); background: rgba(255, 255, 255, 0.05); box-shadow: inset 0 0 0 1px var(--line); font-size: 13px; }

#pd-admin-hub .pa-btn {
  display: inline-flex;
  align-items: center;
  padding: 8px 18px;
  border: 0;
  border-radius: 999px;
  color: var(--text);
  background: rgba(255, 255, 255, 0.07);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#pd-admin-hub .pa-btn:hover { background: rgba(255, 255, 255, 0.13); }
#pd-admin-hub .pa-btn:disabled { opacity: 0.55; cursor: wait; }

/* ---- раскладка: навигация слева, панели справа ---- */
#pd-admin-hub .pa-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  gap: 28px;
  width: min(100%, 1640px);
  margin: 0 auto;
  padding: 6px 36px 72px;
}

#pd-admin-hub .pa-nav {
  position: sticky;
  top: 20px;
  align-self: start;
  display: grid;
  gap: 6px;
}

#pd-admin-hub .pa-nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  color: var(--muted);
  background: transparent;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}
#pd-admin-hub .pa-nav-item svg { width: 20px; height: 20px; flex: 0 0 20px; opacity: 0.8; }
#pd-admin-hub .pa-nav-item span { flex: 1; }
#pd-admin-hub .pa-nav-item:hover { color: var(--text); background: rgba(255, 255, 255, 0.05); }
#pd-admin-hub .pa-nav-item.is-active { color: var(--cyan); background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.35); }
#pd-admin-hub .pa-nav-item.is-active svg { opacity: 1; }

#pd-admin-hub .pa-badge {
  min-width: 22px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #04060f;
  background: var(--amber);
  font-family: "Tektur", sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}

#pd-admin-hub .pa-nav-foot {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  padding: 14px 14px 0;
  box-shadow: inset 0 1px 0 var(--line);
  font-size: 12px;
}
#pd-admin-hub .pa-nav-foot a { color: var(--muted); text-decoration: none; }
#pd-admin-hub .pa-nav-foot a:hover { color: var(--text); }

#pd-admin-hub .pa-pane { display: none; min-width: 0; }
#pd-admin-hub .pa-pane.is-active { display: block; animation: pa-in 0.4s ease backwards; }
@keyframes pa-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Объединённые разделы («Команды», «Распределение проектов»): общая шапка раздела и вкладки внутри него.
   Вкладки повторяют стиль блока отбора на форсайт (foresight-staff.css: .pd-tabs / .pd-tab). */
#pd-admin-hub .pa-head { margin-bottom: 18px; }
#pd-admin-hub .pa-subtabs { display: flex; flex-wrap: wrap; gap: 4px; width: fit-content; max-width: 100%; margin: 0 0 18px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.04); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); }
#pd-admin-hub .pa-subtab { font: inherit; font-size: 13px; font-weight: 700; letter-spacing: 0.02em; color: var(--muted); background: transparent; border: 0; border-radius: 999px; padding: 8px 16px; cursor: pointer; white-space: nowrap; transition: background-color 0.2s ease, color 0.2s ease; }
#pd-admin-hub .pa-subtab:hover { color: var(--text); background: rgba(255, 255, 255, 0.05); }
#pd-admin-hub .pa-subtab.is-active { color: var(--cyan); background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.35); }
/* Вкладка появляется той же анимацией, что и раздел. Fill-mode только backwards, как у .pa-pane: после анимации
   transform снимается, иначе sticky-панели внутри вкладки (.pr-panel, .te-panel, шапки таблиц) перестали бы прилипать */
#pd-admin-hub .pa-subpane { display: none; min-width: 0; }
#pd-admin-hub .pa-subpane.is-active { display: block; animation: pa-in 0.3s ease backwards; }
/* Прежняя шапка раздела внутри вкладки: без надзаголовка, h2 вместо h1, кнопки справа как раньше */
#pd-admin-hub .pa-subhead { margin-bottom: 14px; }
#pd-admin-hub .pa-subhead h2 { margin: 0; font-family: "Tektur", sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--text); }
#pd-admin-hub .pa-subhead .pd-pd-subtitle { margin-top: 6px; font-size: 13px; }

/* =====================================================================
   ОБЩИЕ КОМПОНЕНТЫ ТРЁХ РАЗДЕЛОВ (доступы, дашборд, заявки)
   ===================================================================== */
#pd-admin-hub #pd-admin-app,
#pd-admin-hub #pd-project-dashboard,
#pd-admin-hub #pd-application-review { padding: 0; background: none; min-height: 0; font-family: inherit; color: var(--text); }

#pd-admin-hub .pd-admin-shell,
#pd-admin-hub .pd-pd-shell,
#pd-admin-hub .par-shell { width: 100%; margin: 0; }

/* Заголовок раздела */
#pd-admin-hub .pd-admin-header,
#pd-admin-hub .pd-pd-header,
#pd-admin-hub .par-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 24px;
  margin-bottom: 18px;
}

#pd-admin-hub .pd-admin-kicker,
#pd-admin-hub .pd-pd-kicker,
#pd-admin-hub .par-kicker,
#pd-admin-hub .par-card-kicker {
  margin: 0 0 8px;
  color: var(--cyan);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

#pd-admin-hub #pd-admin-app h1,
#pd-admin-hub #pd-project-dashboard h1,
#pd-admin-hub #pd-application-review h1 {
  margin: 0;
  font-family: "Tektur", sans-serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  line-height: 1.05;
  background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0.55));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

#pd-admin-hub .pd-admin-subtitle,
#pd-admin-hub .pd-pd-subtitle,
#pd-admin-hub .par-subtitle { max-width: 720px; margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

#pd-admin-hub #pd-admin-app h2,
#pd-admin-hub #pd-project-dashboard h2,
#pd-admin-hub #pd-application-review h2 { margin: 0; font-family: "Tektur", sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; color: var(--text); }

#pd-admin-hub #pd-admin-app h3,
#pd-admin-hub #pd-application-review h3 { margin: 0 0 8px; font-size: 16px; font-weight: 700; color: var(--text); }

/* Кнопки */
#pd-admin-hub .pd-admin-header-actions,
#pd-admin-hub .pd-admin-inline-actions,
#pd-admin-hub .pd-pd-header-actions,
#pd-admin-hub .pd-pd-inline-actions,
#pd-admin-hub .par-header-actions,
#pd-admin-hub .par-action-buttons,
#pd-admin-hub .pd-pd-toolbar-group { display: flex; flex-wrap: wrap; gap: 10px; }

#pd-admin-hub .pd-admin-button,
#pd-admin-hub .pd-pd-button,
#pd-admin-hub .par-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 20px;
  border: 0;
  border-radius: 999px;
  color: #04060f;
  background: linear-gradient(90deg, var(--cyan), var(--lav));
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.25;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 8px 26px rgba(146, 213, 255, 0.2);
  transition: transform 0.15s ease, box-shadow 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
}
#pd-admin-hub .pd-admin-button:hover:not(:disabled),
#pd-admin-hub .pd-pd-button:hover:not(:disabled),
#pd-admin-hub .par-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 12px 36px rgba(146, 213, 255, 0.32); }
#pd-admin-hub .pd-admin-button:disabled,
#pd-admin-hub .pd-pd-button:disabled,
#pd-admin-hub .par-button:disabled { opacity: 0.45; cursor: wait; box-shadow: none; transform: none; }

#pd-admin-hub .pd-admin-button-secondary,
#pd-admin-hub .pd-pd-button-secondary,
#pd-admin-hub .par-button-secondary { color: var(--text); background: rgba(255, 255, 255, 0.07); box-shadow: none; }
#pd-admin-hub .pd-admin-button-secondary:hover:not(:disabled),
#pd-admin-hub .pd-pd-button-secondary:hover:not(:disabled),
#pd-admin-hub .par-button-secondary:hover:not(:disabled) { background: rgba(255, 255, 255, 0.13); box-shadow: none; }

/* Малые кнопки действий в таблицах и карточках */
#pd-admin-hub .pd-admin-role-revoke,
#pd-admin-hub .pd-admin-revoke-group-button,
#pd-admin-hub .pd-admin-reject-button,
#pd-admin-hub .pd-admin-approve-button,
#pd-admin-hub .pd-admin-restore-button,
#pd-admin-hub .pd-admin-account-delete,
#pd-admin-hub .pd-admin-role-locked {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 11px;
  border: 0;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#pd-admin-hub .pd-admin-role-revoke,
#pd-admin-hub .pd-admin-revoke-group-button,
#pd-admin-hub .pd-admin-reject-button { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .pd-admin-role-revoke:hover,
#pd-admin-hub .pd-admin-revoke-group-button:hover,
#pd-admin-hub .pd-admin-reject-button:hover { background: rgba(255, 107, 107, 0.26); }
#pd-admin-hub .pd-admin-approve-button,
#pd-admin-hub .pd-admin-restore-button { color: #bff5dc; background: var(--green-soft); }
#pd-admin-hub .pd-admin-approve-button:hover,
#pd-admin-hub .pd-admin-restore-button:hover { background: rgba(52, 211, 153, 0.26); }
#pd-admin-hub .pd-admin-role-promote { display: inline-flex; align-items: center; justify-content: center; min-height: 30px; padding: 5px 11px; border: 0; border-radius: 999px; color: var(--cyan); background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.35); font-size: 12px; font-weight: 600; line-height: 1.2; white-space: nowrap; cursor: pointer; transition: background-color 0.2s ease; }
#pd-admin-hub .pd-admin-role-promote:hover { background: rgba(146, 213, 255, 0.24); }
#pd-admin-hub .pd-admin-role-promote:disabled { opacity: 0.5; cursor: wait; }
#pd-admin-hub .pd-admin-account-delete { margin-top: 8px; color: #04060f; background: var(--red); }
#pd-admin-hub .pd-admin-account-delete:hover { background: #ff8585; }
#pd-admin-hub .pd-admin-role-locked { color: var(--amber); background: var(--amber-soft); cursor: default; }
#pd-admin-hub .pd-admin-role-revoke:disabled,
#pd-admin-hub .pd-admin-revoke-group-button:disabled,
#pd-admin-hub .pd-admin-reject-button:disabled,
#pd-admin-hub .pd-admin-approve-button:disabled,
#pd-admin-hub .pd-admin-restore-button:disabled,
#pd-admin-hub .pd-admin-account-delete:disabled { opacity: 0.5; cursor: wait; }

#pd-admin-hub .pd-pd-text-button { padding: 0; border: 0; color: var(--cyan); background: transparent; font-size: 13px; font-weight: 600; cursor: pointer; }
#pd-admin-hub .pd-pd-text-button:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Состояния: загрузка, отказ, ошибка */
#pd-admin-hub .pd-admin-state,
#pd-admin-hub .pd-pd-state,
#pd-admin-hub .par-state {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: min(100%, 620px);
  margin: 40px auto;
  padding: 24px 28px;
  border-radius: 20px;
  background: rgba(8, 11, 24, 0.66);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
#pd-admin-hub .pd-admin-state strong,
#pd-admin-hub .pd-pd-state strong,
#pd-admin-hub .par-state strong { display: block; font-family: "Tektur", sans-serif; font-size: 17px; font-weight: 700; }
#pd-admin-hub .pd-admin-state p,
#pd-admin-hub .pd-pd-state p,
#pd-admin-hub .par-state p { margin: 6px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
#pd-admin-hub .pd-admin-inline-actions,
#pd-admin-hub .pd-pd-inline-actions { margin-top: 14px; }
#pd-admin-hub .par-state .par-button { margin-top: 14px; }

#pd-admin-hub .pd-admin-loader,
#pd-admin-hub .pd-pd-loader,
#pd-admin-hub .par-loader {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border: 3px solid rgba(146, 213, 255, 0.18);
  border-top-color: var(--cyan);
  border-radius: 50%;
  animation: pa-spin 0.85s linear infinite;
}
@keyframes pa-spin { to { transform: rotate(360deg); } }

#pd-admin-hub .pd-admin-state-icon,
#pd-admin-hub .pd-pd-state-icon,
#pd-admin-hub .par-error-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  border-radius: 50%;
  color: #04060f;
  background: var(--red);
  font-family: "Tektur", sans-serif;
  font-size: 18px;
  font-weight: 900;
}

/* Полоса текущего доступа */
#pd-admin-hub .pd-admin-context,
#pd-admin-hub .pd-pd-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding: 16px 22px;
  border-radius: 18px;
  background: var(--tile);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 0 1px rgba(52, 211, 153, 0.16);
}
#pd-admin-hub .pd-admin-context-main,
#pd-admin-hub .pd-pd-context-main { display: flex; align-items: center; gap: 14px; }
#pd-admin-hub .pd-admin-status-dot,
#pd-admin-hub .pd-pd-status-dot { width: 10px; height: 10px; flex: 0 0 auto; border-radius: 50%; background: var(--green); box-shadow: 0 0 12px rgba(52, 211, 153, 0.8); }
#pd-admin-hub .pd-admin-context-label,
#pd-admin-hub .pd-pd-context-label { color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }
#pd-admin-hub .pd-admin-role-title,
#pd-admin-hub .pd-pd-role-title { margin-top: 3px; font-family: "Tektur", sans-serif; font-size: 18px; font-weight: 700; }
#pd-admin-hub .pd-admin-user-email,
#pd-admin-hub .pd-pd-user-email,
#pd-admin-hub .pd-admin-context-meta,
#pd-admin-hub .pd-pd-context-meta { color: var(--muted); font-size: 12px; line-height: 1.5; }
#pd-admin-hub .pd-pd-context-meta { text-align: right; }
#pd-admin-hub .pd-pd-auto-refresh { display: block; color: var(--faint); }

/* Метрики */
#pd-admin-hub .pd-admin-metrics,
#pd-admin-hub .pd-pd-metrics,
#pd-admin-hub .par-summary { display: grid; gap: 14px; margin-bottom: 16px; }
#pd-admin-hub .pd-admin-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#pd-admin-hub .pd-pd-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 16px; }
#pd-admin-hub .par-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#pd-admin-hub .par-summary-card--mentor { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 0 1px rgba(255, 183, 3, 0.32); }
#pd-admin-hub .par-summary-card--mentor .par-summary-value { color: var(--amber); }

#pd-admin-hub .pd-admin-metric-card,
#pd-admin-hub .pd-pd-metric-card,
#pd-admin-hub .par-summary-card {
  padding: 18px 20px;
  border-radius: 18px;
  background: var(--tile);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
#pd-admin-hub .pd-admin-metric-label,
#pd-admin-hub .pd-pd-metric-label,
#pd-admin-hub .par-summary-label { color: var(--muted); font-size: 12px; font-weight: 600; line-height: 1.35; }
#pd-admin-hub .pd-admin-metric-value,
#pd-admin-hub .pd-pd-metric-value,
#pd-admin-hub .par-summary-value { margin-top: 10px; font-family: "Tektur", sans-serif; font-size: 32px; font-weight: 900; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
#pd-admin-hub .pd-admin-metric-note,
#pd-admin-hub .pd-pd-metric-note,
#pd-admin-hub .par-summary-note { margin-top: 10px; color: var(--faint); font-size: 12px; line-height: 1.4; }

/* Плитки-секции */
#pd-admin-hub .pd-admin-section,
#pd-admin-hub .pd-pd-section,
#pd-admin-hub .pd-pd-mode-section,
#pd-admin-hub .par-card,
#pd-admin-hub .par-filter-bar {
  margin-top: 16px;
  padding: 22px 24px;
  border-radius: 22px;
  background: var(--tile);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
#pd-admin-hub .pd-pd-mode-section { margin-top: 0; }
#pd-admin-hub .par-list { display: grid; gap: 0; }

#pd-admin-hub .pd-admin-section-head,
#pd-admin-hub .pd-pd-section-head,
#pd-admin-hub .par-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
#pd-admin-hub .pd-admin-section-head p,
#pd-admin-hub .pd-pd-section-head p { margin: 6px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

/* Пустые состояния */
#pd-admin-hub .pd-admin-empty,
#pd-admin-hub .pd-pd-empty,
#pd-admin-hub .par-empty {
  margin: 0 0 12px;
  padding: 16px 18px;
  border: 1px dashed var(--line-hi);
  border-radius: 14px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
#pd-admin-hub .pd-pd-empty { margin: 14px 0 0; }
#pd-admin-hub .par-empty { margin-top: 16px; padding: 26px; text-align: center; }
#pd-admin-hub .par-empty h2 { margin-bottom: 6px; }
#pd-admin-hub .par-empty p { margin: 0; }

/* Поля ввода */
#pd-admin-hub .pd-admin-access-form label,
#pd-admin-hub .pd-pd-field,
#pd-admin-hub .par-filter-field,
#pd-admin-hub .par-field-label { display: grid; gap: 6px; color: var(--faint); font-size: 12px; font-weight: 500; }
#pd-admin-hub .par-field-label > span { color: var(--muted); font-weight: 600; }
#pd-admin-hub .par-field-label em { color: var(--faint); font-style: normal; font-weight: 400; }

#pd-admin-hub .pd-admin-access-form input,
#pd-admin-hub .pd-admin-access-form select,
#pd-admin-hub .pd-pd-field input[type="search"],
#pd-admin-hub .pd-pd-field select,
#pd-admin-hub .par-filter-field select,
#pd-admin-hub .pd-admin-action-note {
  width: 100%;
  min-height: 44px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  outline: none;
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  font-size: 14px;
  font-weight: 500;
  transition: box-shadow 0.2s ease, background-color 0.2s ease;
}
#pd-admin-hub select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 40px !important;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23eef1ff' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
}
#pd-admin-hub select option { color: #0a0e1e; background: #fff; }
#pd-admin-hub input::placeholder, #pd-admin-hub textarea::placeholder { color: var(--faint); }
#pd-admin-hub input:focus, #pd-admin-hub select:focus, #pd-admin-hub textarea:focus {
  outline: none;
  background-color: rgba(255, 255, 255, 0.09);
  box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.9), 0 0 22px rgba(146, 213, 255, 0.16);
}
#pd-admin-hub select:disabled { color: var(--faint); cursor: not-allowed; opacity: 1; }
#pd-admin-hub .pd-admin-action-note { min-width: 170px; min-height: 36px; font-size: 12px; }

#pd-admin-hub textarea {
  width: 100%;
  padding: 10px 14px;
  border: 0;
  border-radius: 14px;
  outline: none;
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  font-size: 13px;
  line-height: 1.45;
  resize: vertical;
}
#pd-admin-hub .pd-admin-application-actions textarea { min-height: 72px; }
#pd-admin-hub .par-action-fields textarea { min-height: 88px; }

#pd-admin-hub input[type="checkbox"], #pd-admin-hub input[type="radio"] { width: 16px; height: 16px; margin: 0; accent-color: var(--cyan); }

/* Сообщения форм */
#pd-admin-hub .pd-admin-form-message,
#pd-admin-hub .pd-admin-action-message,
#pd-admin-hub .par-action-message { min-height: 0; color: #ffb3b3; font-size: 12px; line-height: 1.45; }
#pd-admin-hub .pd-admin-form-message:empty,
#pd-admin-hub .pd-admin-action-message:empty,
#pd-admin-hub .par-action-message:empty { display: none; }
#pd-admin-hub .pd-admin-action-message { margin-top: 6px; }
#pd-admin-hub .par-action-message { margin-top: 10px; }
#pd-admin-hub .pd-admin-form-message.is-success,
#pd-admin-hub .pd-admin-action-message.is-success,
#pd-admin-hub .par-action-message.is-success { color: var(--green); }
#pd-admin-hub .par-action-message.is-warning { color: var(--amber); }

/* Таблицы */
#pd-admin-hub .pd-admin-table-wrap,
#pd-admin-hub .pd-pd-table-wrap { overflow: auto; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pd-pd-table-wrap { max-height: 70vh; }
#pd-admin-hub .pd-admin-table,
#pd-admin-hub .pd-pd-table { width: 100%; border-collapse: separate; border-spacing: 0; }
#pd-admin-hub .pd-admin-table { min-width: 960px; }
#pd-admin-hub .pd-admin-applications-table { min-width: 1160px; }
#pd-admin-hub .pd-pd-table { min-width: 1450px; }
#pd-admin-hub .pd-admin-table th,
#pd-admin-hub .pd-admin-table td,
#pd-admin-hub .pd-pd-table th,
#pd-admin-hub .pd-pd-table td { padding: 12px 14px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); text-align: left; vertical-align: top; font-size: 13px; line-height: 1.45; }
#pd-admin-hub .pd-admin-table th,
#pd-admin-hub .pd-pd-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  color: var(--faint);
  background: #0b0e1c;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
#pd-admin-hub .pd-admin-table tbody tr:last-child td,
#pd-admin-hub .pd-pd-table tbody tr:last-child td { border-bottom: 0; }
#pd-admin-hub .pd-admin-table tbody tr:hover td,
#pd-admin-hub .pd-pd-table tbody tr:hover td { background: rgba(255, 255, 255, 0.025); }

#pd-admin-hub .pd-admin-person-name,
#pd-admin-hub .pd-admin-mentor-group-mentor,
#pd-admin-hub .pd-pd-name,
#pd-admin-hub .par-member-name,
#pd-admin-hub .par-choice-title { font-weight: 600; color: var(--text); }
#pd-admin-hub .pd-admin-person-email,
#pd-admin-hub .pd-admin-mentor-group-email,
#pd-admin-hub .pd-admin-mentor-group-meta,
#pd-admin-hub .pd-admin-archive-role-date,
#pd-admin-hub .pd-pd-team-id,
#pd-admin-hub .pd-pd-project-code,
#pd-admin-hub .par-member-meta,
#pd-admin-hub .par-choice-code,
#pd-admin-hub .par-card-meta { margin-top: 3px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .pd-pd-muted,
#pd-admin-hub .pd-admin-application-text-muted { color: var(--faint); font-style: italic; }
#pd-admin-hub .pd-admin-application-text { max-width: 285px; color: var(--muted); font-size: 12px; line-height: 1.45; white-space: pre-wrap; }
#pd-admin-hub .pd-admin-application-text a { color: var(--cyan); }

/* Бейджи и статусы */
#pd-admin-hub .pd-admin-badge,
#pd-admin-hub .pd-admin-group-tag,
#pd-admin-hub .pd-admin-pending-count,
#pd-admin-hub .pd-pd-status,
#pd-admin-hub .pd-pd-lock,
#pd-admin-hub .pd-pd-group,
#pd-admin-hub .par-status,
#pd-admin-hub .par-choice-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
#pd-admin-hub .pd-admin-badge { color: var(--cyan); background: var(--cyan-soft); }
#pd-admin-hub .pd-admin-badge-super { color: var(--lav); background: var(--lav-soft); }
#pd-admin-hub .pd-admin-badge-mentor { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pd-admin-group-tag,
#pd-admin-hub .pd-pd-group { color: var(--muted); background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .pd-admin-pending-count { color: var(--amber); background: var(--amber-soft); font-family: "Tektur", sans-serif; }
#pd-admin-hub .pd-pd-status { color: var(--muted); background: rgba(255, 255, 255, 0.06); white-space: normal; }
#pd-admin-hub .pd-pd-status-draft,
#pd-admin-hub .pd-pd-status-mentor-review { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .pd-pd-status-ready,
#pd-admin-hub .pd-pd-status-approved { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pd-pd-status-submitted,
#pd-admin-hub .pd-pd-status-pd-review { color: var(--cyan); background: var(--cyan-soft); }
#pd-admin-hub .pd-pd-status-team-revision,
#pd-admin-hub .pd-pd-status-mentor-revision,
#pd-admin-hub .pd-pd-status-rejected { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .pd-pd-lock { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .pd-pd-lock-unlocked { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .par-status--pd { color: var(--cyan); background: var(--cyan-soft); }
#pd-admin-hub .par-status--mentor { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .par-status--revision { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .par-status--approved { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .par-status--neutral { color: var(--muted); background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .par-choice-tag { margin-left: 6px; color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .par-choice-tag--pd { color: var(--cyan); background: var(--cyan-soft); }

#pd-admin-hub .pd-admin-status { display: inline-flex; align-items: center; gap: 7px; color: var(--green); font-size: 12px; font-weight: 600; }
#pd-admin-hub .pd-admin-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
#pd-admin-hub .pd-admin-status-inactive { color: var(--faint); }

#pd-admin-hub .pd-admin-role-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
#pd-admin-hub .pd-admin-role-row:last-child { margin-bottom: 0; }
#pd-admin-hub .pd-admin-group-list { display: flex; flex-wrap: wrap; gap: 6px; }
#pd-admin-hub .pd-admin-application-actions,
#pd-admin-hub .pd-admin-archive-actions { display: grid; min-width: 240px; gap: 8px; }
#pd-admin-hub .pd-admin-application-buttons { display: flex; gap: 8px; }
#pd-admin-hub .pd-admin-application-buttons button { flex: 1 1 0; }

/* Формы закрепления и правила */
#pd-admin-hub .pd-admin-mentor-groups-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr); gap: 16px; margin-bottom: 18px; }
#pd-admin-hub .pd-admin-access-form,
#pd-admin-hub .pd-admin-mentor-groups-rules { padding: 18px 20px; border-radius: 18px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pd-admin-access-form { display: grid; gap: 12px; }
#pd-admin-hub .pd-admin-access-form .pd-admin-button { width: 100%; margin-top: 2px; }
#pd-admin-hub .pd-admin-mentor-groups-rules p { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.5; }

/* Учебные группы */
#pd-admin-hub .pd-admin-groups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
#pd-admin-hub .pd-admin-group-card { padding: 13px 15px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pd-admin-group-name { font-size: 14px; font-weight: 600; }
#pd-admin-hub .pd-admin-group-meta { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.35; }

/* Дашборд: режимы, фильтры, столбцы */
#pd-admin-hub .pd-pd-mode-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 999px; background: rgba(255, 255, 255, 0.04); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06); }
#pd-admin-hub .pd-pd-mode-tab { min-height: 36px; padding: 8px 16px; border: 0; border-radius: 999px; color: var(--muted); background: transparent; font-size: 13px; font-weight: 700; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease; }
#pd-admin-hub .pd-pd-mode-tab:hover { color: var(--text); background: rgba(255, 255, 255, 0.05); }
#pd-admin-hub .pd-pd-mode-tab.is-active { color: var(--cyan); background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.35); }
#pd-admin-hub .pd-pd-mode-description { margin-top: 12px; color: var(--muted); font-size: 13px; line-height: 1.45; }

#pd-admin-hub .pd-pd-filter-result { padding-top: 4px; color: var(--muted); font-size: 13px; white-space: nowrap; }
#pd-admin-hub .pd-pd-filter-result strong { color: var(--text); font-family: "Tektur", sans-serif; }
#pd-admin-hub .pd-pd-filters { display: grid; grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(160px, 1fr)); gap: 12px; align-items: end; }
#pd-admin-hub .pd-pd-field-checkbox { display: flex; flex-direction: row; align-items: center; gap: 9px; min-height: 44px; color: var(--muted); font-weight: 500; }
#pd-admin-hub .pd-pd-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 16px; }
#pd-admin-hub .pd-pd-columns-panel { margin-top: 14px; padding: 16px 18px; border-radius: 18px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pd-pd-columns-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; font-size: 13px; }
#pd-admin-hub .pd-pd-columns-actions { display: flex; gap: 14px; }
#pd-admin-hub .pd-pd-columns-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 16px; margin-top: 12px; }
#pd-admin-hub .pd-pd-column-check { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; cursor: pointer; }
#pd-admin-hub .pd-pd-columns-help { margin: 12px 0 0; color: var(--faint); font-size: 12px; }

#pd-admin-hub .pd-pd-members { display: grid; gap: 7px; }
#pd-admin-hub .pd-pd-member { padding-bottom: 7px; border-bottom: 1px dashed var(--line); }
#pd-admin-hub .pd-pd-member:last-child { padding-bottom: 0; border-bottom: 0; }
#pd-admin-hub .pd-pd-member-role { margin-left: 5px; color: var(--lav); font-size: 11px; font-weight: 700; }
#pd-admin-hub .pd-pd-priority { display: grid; gap: 4px; }

/* Заявки команд: карточки */
#pd-admin-hub .par-card { margin-top: 16px; }
#pd-admin-hub .par-card-title { margin: 0; font-family: "Tektur", sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; }
#pd-admin-hub .par-filter-bar { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 16px 20px; }
#pd-admin-hub .par-filter-field select { min-width: 280px; }
#pd-admin-hub .par-filter-result { padding-bottom: 12px; color: var(--muted); font-size: 13px; font-weight: 600; }
#pd-admin-hub .par-content-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr); gap: 18px; margin-top: 18px; }
#pd-admin-hub .par-section-title { margin-bottom: 10px; color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }
#pd-admin-hub .par-members,
#pd-admin-hub .par-choices { display: grid; gap: 8px; }
#pd-admin-hub .par-member,
#pd-admin-hub .par-choice { padding: 11px 13px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .par-role { margin-left: 6px; color: var(--lav); font-size: 11px; font-weight: 700; }
#pd-admin-hub .par-choice { display: flex; align-items: flex-start; gap: 10px; }
#pd-admin-hub .par-choice-number { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 10px; color: var(--lav); background: var(--lav-soft); font-family: "Tektur", sans-serif; font-size: 13px; font-weight: 700; }

#pd-admin-hub .par-route { margin-top: 18px; padding: 14px 16px; border-left: 2px solid rgba(146, 213, 255, 0.5); border-radius: 0 14px 14px 0; color: var(--muted); background: var(--tile-in); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .par-route strong { color: var(--text); }
#pd-admin-hub .par-route-comment { margin-top: 8px; white-space: pre-line; }
#pd-admin-hub .par-route-warning { margin-top: 8px; padding: 10px 12px; border-radius: 12px; color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .par-recommendation { margin-top: 10px; padding: 12px 14px; border-radius: 12px; color: var(--cyan); background: var(--cyan-soft); font-size: 13px; line-height: 1.45; }
/* Параллельное рассмотрение: заявка ещё ждёт наставника */
#pd-admin-hub .par-wait { margin-top: 8px; padding: 10px 12px; border-radius: 12px; color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .par-wait strong { color: inherit; }
#pd-admin-hub .par-wait.is-long { color: #ffb3b3; background: var(--red-soft); }

#pd-admin-hub .par-action-panel { margin-top: 18px; padding: 18px 20px; border-radius: 18px; background: var(--tile-in); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.16); }
#pd-admin-hub .par-action-panel p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .par-action-fields { display: grid; gap: 12px; margin-top: 16px; }
#pd-admin-hub .par-choice-picker { display: grid; gap: 8px; }
#pd-admin-hub .par-choice-option { display: flex; align-items: flex-start; gap: 10px; padding: 11px 13px; border-radius: 14px; color: var(--text); background: rgba(255, 255, 255, 0.05); box-shadow: inset 0 0 0 1px var(--line); font-size: 13px; font-weight: 500; cursor: pointer; transition: box-shadow 0.2s ease, background-color 0.2s ease; }
#pd-admin-hub .par-choice-option:hover { box-shadow: inset 0 0 0 1px var(--line-hi); }
#pd-admin-hub .par-choice-option:has(input:checked) { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.6); }
#pd-admin-hub .par-choice-option input { margin-top: 2px; }
#pd-admin-hub .par-action-buttons { margin-top: 14px; }
#pd-admin-hub .par-return-button { color: #ffb3b3; background: var(--red-soft); box-shadow: none; }
#pd-admin-hub .par-return-button:hover:not(:disabled) { background: rgba(255, 107, 107, 0.26); box-shadow: none; }
#pd-admin-hub .par-return-team-button { color: var(--amber); background: var(--amber-soft); box-shadow: none; }
#pd-admin-hub .par-return-team-button:hover:not(:disabled) { background: rgba(255, 183, 3, 0.26); box-shadow: none; }

/* Раздел «Обращения»: собственный заголовок, вкладка внутри блока отбора спрятана */
#pd-admin-hub .pa-feedback-head { margin-bottom: 18px; }
#pd-admin-hub .pa-kicker { margin: 0 0 8px; color: var(--cyan); font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
#pd-admin-hub .pa-h1 {
  margin: 0;
  font-family: "Tektur", sans-serif;
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  line-height: 1.05;
  background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0.55));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
#pd-admin-hub .pa-sub { max-width: 720px; margin: 10px 0 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
#pd-admin-hub #pd-admin-test .pd-tab[data-t="feedback"] { display: none; }
#pd-admin-hub .pa-pane.is-feedback #pd-admin-test .pd-head,
#pd-admin-hub .pa-pane.is-feedback #pd-admin-test .pd-tabs { display: none; }

/* Отбор на форсайт: внешние стили остаются, убираем дублирующую шапку и фон */
#pd-admin-hub #pd-admin-test.pd-ft { min-height: 0; padding: 0; background: none; }
#pd-admin-hub #pd-admin-test.pd-ft::before { display: none; }
#pd-admin-hub #pd-admin-test .pd-top { justify-content: flex-end; padding: 0 0 12px; }
#pd-admin-hub #pd-admin-test .pd-brand,
#pd-admin-hub #pd-admin-test .pd-top-mid,
#pd-admin-hub #pd-admin-test #fta-console { display: none; }
#pd-admin-hub #pd-admin-test .pd-shell { width: 100%; padding: 0; }

/* ---- Реестр студентов ---- */
#pd-admin-hub .ps-filters { grid-template-columns: minmax(220px, 1.6fr) repeat(3, minmax(150px, 1fr)); }
#pd-admin-hub .ps-filters-2 { margin-top: 12px; grid-template-columns: repeat(3, minmax(150px, 1fr)) minmax(200px, 1.2fr); }
#pd-admin-hub .ps-sortbox { display: flex; gap: 8px; }
#pd-admin-hub .ps-sortbox select { flex: 1 1 auto; min-width: 0; }
#pd-admin-hub .ps-dir {
  flex: 0 0 44px;
  width: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  color: var(--cyan);
  background: var(--cyan-soft);
  box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.35);
  font: 700 18px/1 "Tektur", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
#pd-admin-hub .ps-dir:hover { background: rgba(146, 213, 255, 0.2); }
#pd-admin-hub .ps-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; color: var(--muted); font-size: 13px; }
#pd-admin-hub .ps-toolbar b { color: var(--text); font-family: "Tektur", sans-serif; }

#pd-admin-hub .ps-table { min-width: 980px; }
#pd-admin-hub .ps-table th { white-space: nowrap; }
#pd-admin-hub .ps-table td.ps-contact { white-space: nowrap; }
#pd-admin-hub .ps-table th:nth-child(2),
#pd-admin-hub .ps-table td:nth-child(2) { min-width: 220px; }
#pd-admin-hub .ps-table th.ps-num,
#pd-admin-hub .ps-table td.ps-num { width: 44px; color: var(--faint); text-align: right; font-variant-numeric: tabular-nums; }
#pd-admin-hub .ps-sort {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  cursor: pointer;
  transition: color 0.2s ease;
}
#pd-admin-hub .ps-sort:hover { color: var(--text); }
#pd-admin-hub .ps-sort i {
  width: 7px;
  height: 7px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: 0.35;
  transform: translateY(-2px) rotate(45deg);
  transition: transform 0.2s ease, opacity 0.2s ease;
}
#pd-admin-hub .ps-table th.is-asc .ps-sort,
#pd-admin-hub .ps-table th.is-desc .ps-sort { color: var(--cyan); }
#pd-admin-hub .ps-table th.is-asc .ps-sort i,
#pd-admin-hub .ps-table th.is-desc .ps-sort i { opacity: 1; }
#pd-admin-hub .ps-table th.is-asc .ps-sort i { transform: translateY(2px) rotate(-135deg); }
#pd-admin-hub .ps-table th.is-desc .ps-sort i { transform: translateY(-2px) rotate(45deg); }

#pd-admin-hub .ps-name { font-weight: 700; color: var(--text); }
#pd-admin-hub .ps-sub { display: block; margin-top: 3px; color: var(--faint); font-size: 11px; line-height: 1.4; }
#pd-admin-hub .ps-course { font-family: "Tektur", sans-serif; font-weight: 700; font-variant-numeric: tabular-nums; }
#pd-admin-hub .ps-group,
#pd-admin-hub .ps-status {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
#pd-admin-hub .ps-group { color: var(--text); background: rgba(255, 255, 255, 0.07); font-family: "Tektur", sans-serif; letter-spacing: 0.04em; }
#pd-admin-hub .ps-status.is-leader { color: var(--lav); background: var(--lav-soft); }
#pd-admin-hub .ps-status.is-member { color: var(--cyan); background: var(--cyan-soft); }
#pd-admin-hub .ps-status.is-none { color: var(--muted); background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .ps-contact a { color: var(--text); text-decoration: none; border-bottom: 1px dotted rgba(255, 255, 255, 0.28); transition: color 0.2s ease, border-color 0.2s ease; }
#pd-admin-hub .ps-contact a:hover { color: var(--cyan); border-color: var(--cyan); }
#pd-admin-hub .ps-muted { color: var(--faint); }
#pd-admin-hub .ps-updated { margin: 12px 0 0; color: var(--faint); font-size: 12px; }
#pd-admin-hub .ps-updated:empty { display: none; }
#pd-admin-hub .ps-hint { margin: 10px 0 0; padding: 12px 14px; border-radius: 12px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); color: var(--muted); font-size: 12px; line-height: 1.5; }
#pd-admin-hub .ps-hint code { color: var(--cyan); font-family: "JetBrains Mono", Consolas, monospace; font-size: 12px; }

@media screen and (max-width: 1280px) {
  #pd-admin-hub .ps-filters,
  #pd-admin-hub .ps-filters-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .ps-filters,
  #pd-admin-hub .ps-filters-2 { grid-template-columns: 1fr; }
  #pd-admin-hub .ps-table td.ps-num { display: none; }
  #pd-admin-hub .ps-toolbar { flex-direction: column; align-items: stretch; }
  #pd-admin-hub .ps-toolbar .pd-pd-button { width: 100%; }
}

/* ---- Состав команд (super_admin) ---- */
#pd-admin-hub .pa-nav-item[hidden] { display: none; }
#pd-admin-hub .pr-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#pd-admin-hub .pr-layout { display: grid; grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.5fr); gap: 16px; align-items: start; }
#pd-admin-hub .pr-team-filters { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(150px, 1fr); gap: 12px; align-items: end; }
#pd-admin-hub .pr-team-count { margin: 12px 0 8px; color: var(--faint); font-size: 12px; }
#pd-admin-hub .pr-team-list { display: grid; gap: 8px; max-height: 70vh; overflow: auto; padding-right: 4px; scrollbar-width: thin; }

#pd-admin-hub .pr-team {
  display: grid;
  gap: 6px;
  width: 100%;
  padding: 12px 14px;
  border: 0;
  border-radius: 14px;
  color: var(--text);
  background: var(--tile-in);
  box-shadow: inset 0 0 0 1px var(--line);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
#pd-admin-hub .pr-team:hover { background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .pr-team.is-active { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
#pd-admin-hub .pr-team-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
#pd-admin-hub .pr-team-name { font-weight: 700; line-height: 1.3; }
#pd-admin-hub .pr-team-sub { color: var(--muted); font-size: 12px; line-height: 1.4; }
#pd-admin-hub .pr-team-size { flex: 0 0 auto; font-family: "Tektur", sans-serif; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
#pd-admin-hub .pr-team-size.is-out { color: var(--amber); }
#pd-admin-hub .pr-team-tags { display: flex; flex-wrap: wrap; gap: 6px; }

#pd-admin-hub .pr-chip {
  display: inline-block;
  padding: 3px 9px;
  border-radius: 999px;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.06);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
#pd-admin-hub .pr-chip.is-cyan { color: var(--cyan); background: var(--cyan-soft); }
#pd-admin-hub .pr-chip.is-lav { color: var(--lav); background: var(--lav-soft); }
#pd-admin-hub .pr-chip.is-green { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pr-chip.is-amber { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .pr-chip.is-red { color: #ffb3b3; background: var(--red-soft); }

#pd-admin-hub .pr-panel { position: sticky; top: 20px; }
#pd-admin-hub .pr-panel-empty { padding: 40px 20px; text-align: center; color: var(--muted); }
#pd-admin-hub .pr-panel-empty strong { display: block; margin-bottom: 8px; font-family: "Tektur", sans-serif; font-size: 18px; color: var(--text); }
#pd-admin-hub .pr-panel-empty p { margin: 0; font-size: 13px; line-height: 1.5; }

/* Наставник и заказчик команды (teams_context_map, sql/20-teams-mentor-customer.sql): строки в карточке команды
   списка и под заголовком панели; на узком экране строки переносятся */
#pd-admin-hub .pr-team-ctx { display: flex; flex-wrap: wrap; gap: 2px 14px; color: var(--muted); font-size: 13px; line-height: 1.4; }
#pd-admin-hub .pr-team-ctx span { min-width: 0; overflow-wrap: anywhere; }
#pd-admin-hub .pr-team-ctx .is-empty { color: var(--faint); }
#pd-admin-hub .pr-team-meta .pr-team-ctx { margin-top: 4px; }

#pd-admin-hub .pr-team-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
#pd-admin-hub .pr-team-head h2 { margin: 4px 0 6px; font-family: "Tektur", sans-serif; font-size: 22px; font-weight: 700; }
#pd-admin-hub .pr-team-meta { color: var(--muted); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .pr-team-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 46%; }

#pd-admin-hub .pr-block { margin-top: 18px; }
#pd-admin-hub .pr-block-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
#pd-admin-hub .pr-block-head h3 { margin: 0; font-family: "Tektur", sans-serif; font-size: 16px; font-weight: 700; }
#pd-admin-hub .pr-block-note { color: var(--faint); font-size: 12px; text-align: right; }
#pd-admin-hub .pr-count { margin-left: 6px; color: var(--cyan); font-variant-numeric: tabular-nums; }

#pd-admin-hub .pr-members { display: grid; gap: 8px; }
#pd-admin-hub .pr-member { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pr-member.is-leader { box-shadow: inset 0 0 0 1px rgba(233, 195, 255, 0.35); }
#pd-admin-hub .pr-member.is-pending { opacity: 0.75; }
#pd-admin-hub .pr-avatar { display: grid; place-items: center; width: 36px; height: 36px; flex: 0 0 36px; border-radius: 50%; background: rgba(255, 255, 255, 0.07); font-family: "Tektur", sans-serif; font-size: 13px; font-weight: 700; color: var(--cyan); }
#pd-admin-hub .pr-member.is-leader .pr-avatar { color: var(--lav); background: var(--lav-soft); }
#pd-admin-hub .pr-member-main { flex: 1 1 auto; min-width: 0; }
#pd-admin-hub .pr-member-name { font-weight: 700; }
#pd-admin-hub .pr-member-sub { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
#pd-admin-hub .pr-member-sub a { color: inherit; text-decoration: none; border-bottom: 1px dotted rgba(255, 255, 255, 0.28); }
#pd-admin-hub .pr-member-actions { flex: 0 0 auto; }

#pd-admin-hub .pr-btn-danger { color: #ffb3b3; background: var(--red-soft); box-shadow: inset 0 0 0 1px rgba(255, 107, 107, 0.35); }
#pd-admin-hub .pr-btn-danger:hover:not(:disabled) { background: rgba(255, 107, 107, 0.24); }
#pd-admin-hub .pr-btn-small { min-height: 34px; padding: 0 14px; font-size: 12px; }

#pd-admin-hub .pr-results { display: grid; gap: 8px; margin-top: 10px; }
#pd-admin-hub .pr-result { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pr-result-main { flex: 1 1 auto; min-width: 0; }
#pd-admin-hub .pr-result-name { font-weight: 700; }
#pd-admin-hub .pr-result-sub { color: var(--muted); font-size: 12px; line-height: 1.4; overflow-wrap: anywhere; }
#pd-admin-hub .pr-result-state { margin-top: 4px; font-size: 12px; }
#pd-admin-hub .pr-result-state.is-warn { color: var(--amber); }
#pd-admin-hub .pr-result-state.is-block { color: #ffb3b3; }
#pd-admin-hub .pr-result-state.is-ok { color: var(--green); }
#pd-admin-hub .pr-hint { margin-top: 10px; color: var(--faint); font-size: 12px; }
#pd-admin-hub .pr-hint:empty { display: none; }

#pd-admin-hub .pr-comment { margin-top: 18px; }
#pd-admin-hub .pr-comment textarea {
  width: 100%;
  min-height: 64px;
  padding: 12px 16px;
  border: 0;
  border-radius: 16px;
  outline: none;
  resize: vertical;
  color: var(--text);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 1px var(--line);
  font: inherit;
  font-size: 14px;
  line-height: 1.45;
}
#pd-admin-hub .pr-comment textarea:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .pr-comment.is-invalid textarea { box-shadow: inset 0 0 0 1px rgba(255, 107, 107, 0.7); }

#pd-admin-hub .pr-message { margin-top: 12px; padding: 12px 14px; border-radius: 12px; font-size: 13px; line-height: 1.5; }
#pd-admin-hub .pr-message.is-ok { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pr-message.is-error { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .pr-message.is-warn { color: var(--amber); background: var(--amber-soft); }

#pd-admin-hub .pr-log { display: grid; gap: 8px; }
#pd-admin-hub .pr-log-item { padding: 10px 12px; border-left: 2px solid rgba(146, 213, 255, 0.5); border-radius: 0 12px 12px 0; background: var(--tile-in); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .pr-log-item.is-removed { border-left-color: rgba(255, 107, 107, 0.6); }
#pd-admin-hub .pr-log-item.is-moved { border-left-color: rgba(233, 195, 255, 0.6); }
#pd-admin-hub .pr-log-time { color: var(--faint); font-size: 11px; }
#pd-admin-hub .pr-log-comment { color: var(--muted); font-style: italic; }
#pd-admin-hub .pr-log-empty { color: var(--faint); font-size: 13px; }
/* Закреплённый проект: замена специальным администратором */
#pd-admin-hub .pr-project-current { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--green-soft); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08); font-size: 14px; line-height: 1.4; }
#pd-admin-hub .pr-project-sub { margin: 14px 0 6px; color: var(--faint); font-size: 12px; }
#pd-admin-hub #pr-project-block .pd-pd-field { margin-top: 14px; }
#pd-admin-hub .pr-result.is-recommended { box-shadow: inset 0 0 0 1px rgba(233, 195, 255, 0.35); }
#pd-admin-hub .pr-log-item.is-project { border-left-color: rgba(120, 220, 170, 0.6); }

#pd-admin-hub .pr-danger { padding: 14px 16px; border-radius: 16px; background: rgba(255, 107, 107, 0.07); box-shadow: inset 0 0 0 1px rgba(255, 107, 107, 0.25); }
#pd-admin-hub .pr-danger-text { margin: 0 0 12px; color: var(--muted); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .pr-modal { position: fixed; inset: 0; z-index: 50; display: grid; place-items: center; padding: 20px; background: rgba(5, 7, 15, 0.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
#pd-admin-hub .pr-modal[hidden] { display: none; }
#pd-admin-hub .pr-modal-card { width: min(100%, 520px); padding: 24px 26px; border-radius: 22px; background: #0b0e1c; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.1); }
#pd-admin-hub .pr-modal-card h3 { margin: 6px 0 10px; font-family: "Tektur", sans-serif; font-size: 20px; font-weight: 700; }
#pd-admin-hub .pr-modal-card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
#pd-admin-hub .pr-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 20px; }

@media screen and (max-width: 1280px) {
  #pd-admin-hub .pr-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 1000px) {
  #pd-admin-hub .pr-layout { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .pr-panel { position: static; }
  #pd-admin-hub .pr-team-list { max-height: 46vh; }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .pr-team-filters { grid-template-columns: 1fr; }
  #pd-admin-hub .pr-team-head { flex-direction: column; }
  #pd-admin-hub .pr-team-badges { justify-content: flex-start; max-width: none; }
  #pd-admin-hub .pr-block-head { flex-direction: column; align-items: flex-start; gap: 4px; }
  #pd-admin-hub .pr-block-note { text-align: left; }
  #pd-admin-hub .pr-member, #pd-admin-hub .pr-result { flex-wrap: wrap; }
  #pd-admin-hub .pr-member-actions, #pd-admin-hub .pr-result-actions { flex: 1 1 100%; }
  #pd-admin-hub .pr-member-actions .pd-pd-button, #pd-admin-hub .pr-result-actions .pd-pd-button { width: 100%; }
  #pd-admin-hub .pr-modal-actions { flex-direction: column-reverse; }
  #pd-admin-hub .pr-modal-actions .pd-pd-button { width: 100%; }
}

/* ---- адаптив ---- */
@media screen and (max-width: 1280px) {
  #pd-admin-hub .pd-pd-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #pd-admin-hub .par-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pd-pd-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pd-pd-columns-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #pd-admin-hub .pd-admin-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media screen and (max-width: 1000px) {
  #pd-admin-hub .pa-layout { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 0 18px 56px; }
  #pd-admin-hub .pa-nav { position: sticky; top: 0; z-index: 3; display: flex; gap: 6px; overflow-x: auto; padding: 8px 0; margin: 0 -18px; padding-left: 18px; padding-right: 18px; background: rgba(5, 7, 15, 0.9); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); scrollbar-width: none; }
  #pd-admin-hub .pa-nav::-webkit-scrollbar { display: none; }
  #pd-admin-hub .pa-nav-item { flex: 0 0 auto; padding: 9px 14px; font-size: 13px; }
  #pd-admin-hub .pa-nav-item svg { display: none; }
  #pd-admin-hub .pa-nav-foot { display: none; }
  #pd-admin-hub .pa-top { padding: 16px 18px; }
  #pd-admin-hub .pa-top-mid { display: none; }
  #pd-admin-hub .pd-admin-metrics,
  #pd-admin-hub .pd-pd-metrics,
  #pd-admin-hub .par-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pd-admin-mentor-groups-grid,
  #pd-admin-hub .par-content-grid { grid-template-columns: 1fr; }
  #pd-admin-hub .pd-admin-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media screen and (max-width: 640px) {
  #pd-admin-hub .pa-user { display: none; }
  #pd-admin-hub .pd-admin-metrics,
  #pd-admin-hub .pd-pd-metrics,
  #pd-admin-hub .par-summary,
  #pd-admin-hub .pd-pd-filters,
  #pd-admin-hub .pd-pd-columns-list,
  #pd-admin-hub .pd-admin-groups { grid-template-columns: 1fr; }
  #pd-admin-hub .pd-admin-section,
  #pd-admin-hub .pd-pd-section,
  #pd-admin-hub .pd-pd-mode-section,
  #pd-admin-hub .par-card,
  #pd-admin-hub .par-filter-bar { padding: 18px 16px; border-radius: 18px; }
  #pd-admin-hub .pd-admin-section-head,
  #pd-admin-hub .pd-pd-section-head,
  #pd-admin-hub .par-card-head,
  #pd-admin-hub .par-filter-bar,
  #pd-admin-hub .pd-pd-context,
  #pd-admin-hub .pd-admin-context { flex-direction: column; align-items: flex-start; }
  #pd-admin-hub .pd-pd-context-meta { text-align: left; }
  #pd-admin-hub .par-filter-field select { min-width: 0; width: 100%; }
  #pd-admin-hub .pd-admin-header-actions .pd-admin-button,
  #pd-admin-hub .pd-pd-header-actions .pd-pd-button,
  #pd-admin-hub .par-header-actions .par-button,
  #pd-admin-hub .par-action-buttons .par-button { flex: 1 1 auto; }
  #pd-admin-hub .par-status { white-space: normal; }
}

/* Блок отбора внутри оболочки: у него нет своей левой колонки, поэтому ужимаем сетки раньше */
@media screen and (max-width: 1000px) {
  #pd-admin-hub #pd-admin-test .pd-grid2,
  #pd-admin-hub #pd-admin-test .pd-grid-half,
  #pd-admin-hub #pd-admin-test .pd-grid-wide { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub #pd-admin-test .pd-quad { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub #pd-admin-test .pd-quad > div { min-width: 0; overflow-wrap: anywhere; }
  #pd-admin-hub #pd-admin-test .pd-scroll { max-width: 100%; }
  #pd-admin-hub #pd-admin-test table.pd-stat { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub #pd-admin-test .pd-top { flex-wrap: wrap; gap: 8px; }
  #pd-admin-hub #pd-admin-test .pd-who { display: none; }
  #pd-admin-hub #pd-admin-test .pd-tabs { width: 100%; border-radius: 18px; }
  #pd-admin-hub #pd-admin-test .pd-tab { flex: 1 1 auto; text-align: center; padding: 8px 12px; }
  #pd-admin-hub #pd-admin-test .pd-card { padding: 16px 14px; }
}

/* ---- Телефоны (iPhone 16 и уже): таблицы становятся карточками, поля не вызывают масштабирование ---- */
@media screen and (max-width: 640px) {
  #pd-admin-hub input, #pd-admin-hub select, #pd-admin-hub textarea { font-size: 16px; }
  #pd-admin-hub .pa-top { flex-wrap: nowrap; gap: 10px; }
  #pd-admin-hub .pa-brand { font-size: 13px; }
  #pd-admin-hub .pa-layout { padding: 0 14px 48px; }
  #pd-admin-hub .pa-nav {
    margin: 0 -14px;
    padding-left: 14px;
    padding-right: 34px;
    -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 34px), transparent);
    mask-image: linear-gradient(90deg, #000 calc(100% - 34px), transparent);
  }
  #pd-admin-hub .pa-nav-item { padding: 9px 13px; font-size: 13px; }
  #pd-admin-hub .pa-badge { min-width: 20px; padding: 2px 6px; font-size: 10px; }

  #pd-admin-hub .pd-admin-header,
  #pd-admin-hub .pd-pd-header,
  #pd-admin-hub .par-header { margin-bottom: 14px; }
  #pd-admin-hub #pd-admin-app h1,
  #pd-admin-hub #pd-project-dashboard h1,
  #pd-admin-hub #pd-application-review h1,
  #pd-admin-hub .pa-h1 { font-size: 26px; }
  #pd-admin-hub .pd-admin-header-actions,
  #pd-admin-hub .pd-pd-header-actions,
  #pd-admin-hub .par-header-actions { width: 100%; }

  #pd-admin-hub .pd-admin-metrics,
  #pd-admin-hub .pd-pd-metrics,
  #pd-admin-hub .par-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  #pd-admin-hub .pd-admin-metric-card,
  #pd-admin-hub .pd-pd-metric-card,
  #pd-admin-hub .par-summary-card { padding: 14px 16px; }
  #pd-admin-hub .pd-admin-metric-value,
  #pd-admin-hub .pd-pd-metric-value,
  #pd-admin-hub .par-summary-value { font-size: 26px; }
  #pd-admin-hub .pd-admin-metric-note,
  #pd-admin-hub .pd-pd-metric-note,
  #pd-admin-hub .par-summary-note { display: none; }

  #pd-admin-hub .pd-admin-context,
  #pd-admin-hub .pd-pd-context { padding: 14px 16px; gap: 8px; }
  #pd-admin-hub .pd-admin-role-title,
  #pd-admin-hub .pd-pd-role-title { font-size: 16px; }

  /* Таблицы: каждая строка — карточка, подпись колонки над значением */
  #pd-admin-hub .pd-admin-table-wrap,
  #pd-admin-hub .pd-pd-table-wrap { overflow: visible; max-height: none; border-radius: 0; box-shadow: none; }
  #pd-admin-hub .pd-admin-table,
  #pd-admin-hub .pd-pd-table { display: block; min-width: 0; }
  #pd-admin-hub .pd-admin-table thead,
  #pd-admin-hub .pd-pd-table thead { display: none; }
  #pd-admin-hub .pd-admin-table tbody,
  #pd-admin-hub .pd-pd-table tbody { display: grid; gap: 10px; }
  #pd-admin-hub .pd-admin-table tr,
  #pd-admin-hub .pd-pd-table tr { display: block; padding: 4px 14px; border-radius: 16px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
  #pd-admin-hub .pd-admin-table td,
  #pd-admin-hub .pd-pd-table td { display: block; padding: 10px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
  #pd-admin-hub .pd-admin-table td:last-child,
  #pd-admin-hub .pd-pd-table td:last-child { border-bottom: 0; }
  #pd-admin-hub .pd-admin-table td::before,
  #pd-admin-hub .pd-pd-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 5px;
    color: var(--faint);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }
  #pd-admin-hub .pd-admin-table td:not([data-label])::before,
  #pd-admin-hub .pd-pd-table td:not([data-label])::before { display: none; }
  #pd-admin-hub .pd-admin-table tbody tr:hover td,
  #pd-admin-hub .pd-pd-table tbody tr:hover td { background: transparent; }
  #pd-admin-hub .pd-admin-application-actions,
  #pd-admin-hub .pd-admin-archive-actions,
  #pd-admin-hub .pd-admin-action-note { min-width: 0; }
  #pd-admin-hub .pd-admin-application-text { max-width: none; }
  #pd-admin-hub .pd-admin-account-delete { width: 100%; }

  #pd-admin-hub .pd-pd-toolbar-group { width: 100%; }
  #pd-admin-hub .pd-pd-toolbar-group .pd-pd-button { flex: 1 1 auto; }
  #pd-admin-hub .pd-pd-filter-result { white-space: normal; }
  #pd-admin-hub .par-filter-field { width: 100%; }
  #pd-admin-hub .par-choice-option { align-items: flex-start; }
}

/* =====================================================================
   ДАШБОРД ПРОЕКТОВ: востребованность проектов, шансы команд
   ===================================================================== */
#pd-admin-hub .pdm-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 16px; }
#pd-admin-hub .pdm-controls { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(140px, 1fr)); gap: 12px; align-items: end; }
#pd-admin-hub .pdm-controls input[type="number"] { width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; color: var(--text); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; }
#pd-admin-hub .pdm-controls input[type="number"]:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .pdm-checks { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 12px; color: var(--muted); font-size: 13px; }
#pd-admin-hub .pdm-check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
#pd-admin-hub .pdm-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--cyan); }
#pd-admin-hub .pdm-legend { display: flex; flex-wrap: wrap; gap: 8px 16px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .pdm-legend-item { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
#pd-admin-hub .pdm-legend-item i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
#pd-admin-hub .pdm-legend-item i.is-cap { width: 0; height: 14px; border-left: 2px dashed rgba(255, 107, 107, 0.85); border-radius: 0; }
#pd-admin-hub .pdm-seg.is-assigned, #pd-admin-hub .pdm-legend-item i.is-assigned { color: #04321f; background: var(--green); }
#pd-admin-hub .pdm-seg.is-p1, #pd-admin-hub .pdm-legend-item i.is-p1 { color: #05233a; background: var(--cyan); }
#pd-admin-hub .pdm-seg.is-p2, #pd-admin-hub .pdm-legend-item i.is-p2 { color: #2a0b3d; background: var(--lav); }
#pd-admin-hub .pdm-seg.is-p3, #pd-admin-hub .pdm-legend-item i.is-p3 { color: #3a2600; background: var(--amber); }

#pd-admin-hub .pdm-bars { display: grid; gap: 8px; margin-top: 14px; }
#pd-admin-hub .pdm-row { border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pdm-row.is-open { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.35); }
#pd-admin-hub .pdm-row-head { display: grid; grid-template-columns: minmax(220px, 1.1fr) minmax(0, 2fr) 44px; gap: 14px; align-items: center; width: 100%; padding: 12px 14px; border: 0; border-radius: 14px; color: var(--text); background: transparent; font: inherit; text-align: left; cursor: pointer; }
#pd-admin-hub .pdm-row-head:hover { background: rgba(255, 255, 255, 0.04); }
#pd-admin-hub .pdm-row-name { font-weight: 700; line-height: 1.3; }
#pd-admin-hub .pdm-id { display: inline-block; margin-right: 8px; padding: 1px 7px; border-radius: 7px; color: var(--cyan); background: rgba(255, 255, 255, 0.07); font-family: "Tektur", sans-serif; font-size: 12px; font-weight: 700; }
#pd-admin-hub .pdm-row-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
#pd-admin-hub .pdm-grade { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 600; line-height: 1.3; }
#pd-admin-hub .pdm-grade.is-full { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .pdm-grade.is-hot { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .pdm-grade.is-ok { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pdm-grade.is-reserve { color: var(--lav); background: var(--lav-soft); }
#pd-admin-hub .pdm-grade.is-taken { color: var(--muted); background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .pdm-grade.is-idle { color: var(--faint); background: rgba(255, 255, 255, 0.04); }
#pd-admin-hub .pdm-track { position: relative; height: 26px; border-radius: 8px; background: rgba(255, 255, 255, 0.05); }
#pd-admin-hub .pdm-fill { display: flex; height: 100%; min-width: 0; border-radius: 8px; overflow: hidden; }
#pd-admin-hub .pdm-seg { display: grid; place-items: center; flex: 1 0 18px; min-width: 18px; height: 100%; font-family: "Tektur", sans-serif; font-size: 12px; font-weight: 700; }
#pd-admin-hub .pdm-cap { position: absolute; top: -4px; bottom: -4px; width: 0; border-left: 2px dashed rgba(255, 107, 107, 0.85); }
#pd-admin-hub .pdm-total { font-family: "Tektur", sans-serif; font-size: 16px; font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
#pd-admin-hub .pdm-row.is-idle .pdm-row-name, #pd-admin-hub .pdm-row.is-idle .pdm-total, #pd-admin-hub .pdm-row.is-taken .pdm-row-name { color: var(--muted); }

#pd-admin-hub .pdm-details { padding: 0 14px 14px; }
#pd-admin-hub .pdm-details-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 10px 0; color: var(--muted); font-size: 12px; }
#pd-admin-hub .pdm-details-warn { color: var(--amber); }
#pd-admin-hub .pdm-details-empty { padding: 10px 0 4px; color: var(--faint); font-size: 13px; }
#pd-admin-hub .pdm-table-wrap { overflow-x: auto; }
#pd-admin-hub .pdm-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13px; }
#pd-admin-hub .pdm-table th, #pd-admin-hub .pdm-table td { padding: 8px 10px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); text-align: left; vertical-align: top; line-height: 1.4; }
#pd-admin-hub .pdm-table th { color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .pdm-table tr:last-child td { border-bottom: 0; }
#pd-admin-hub .pdm-alt { display: inline-flex; align-items: center; gap: 4px; margin: 2px 6px 2px 0; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 600; white-space: nowrap; }
#pd-admin-hub .pdm-alt em, #pd-admin-hub .pdm-cell em { font-style: normal; opacity: 0.7; }
#pd-admin-hub .pdm-alt.is-free, #pd-admin-hub .pdm-cell.is-free { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pdm-alt.is-contested, #pd-admin-hub .pdm-cell.is-contested { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .pdm-alt.is-full, #pd-admin-hub .pdm-cell.is-full { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .pdm-alt.is-unknown, #pd-admin-hub .pdm-cell.is-unknown, #pd-admin-hub .pdm-cell.is-none { color: var(--faint); background: rgba(255, 255, 255, 0.04); }

#pd-admin-hub .pdm-teams { display: grid; gap: 8px; margin-top: 14px; }
#pd-admin-hub .pdm-team { display: grid; grid-template-columns: minmax(200px, 0.9fr) minmax(0, 2fr); gap: 8px 14px; padding: 12px 14px; border-left: 3px solid rgba(255, 255, 255, 0.2); border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pdm-team.is-risk-high { border-left-color: var(--red); }
#pd-admin-hub .pdm-team.is-risk-medium { border-left-color: var(--amber); }
#pd-admin-hub .pdm-team.is-risk-low { border-left-color: var(--green); }
#pd-admin-hub .pdm-team-name { font-weight: 700; line-height: 1.3; }
#pd-admin-hub .pdm-risk { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; color: var(--muted); background: rgba(255, 255, 255, 0.06); font-size: 11px; font-weight: 600; vertical-align: middle; }
#pd-admin-hub .is-risk-high .pdm-risk { color: #ffb3b3; background: var(--red-soft); }
#pd-admin-hub .is-risk-medium .pdm-risk { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .is-risk-low .pdm-risk { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pdm-team-sub { margin-top: 2px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .pdm-team-cells { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
#pd-admin-hub .pdm-cell { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "n id claim" "n title title"; align-items: center; column-gap: 8px; min-width: 0; padding: 8px 10px; border-radius: 10px; font-size: 12px; font-weight: 600; }
#pd-admin-hub .pdm-cell em { grid-area: n; }
#pd-admin-hub .pdm-cell-id { grid-area: id; }
#pd-admin-hub .pdm-cell-title { grid-area: title; overflow: hidden; font-weight: 500; opacity: 0.85; text-overflow: ellipsis; white-space: nowrap; }
#pd-admin-hub .pdm-cell-claim { grid-area: claim; font-family: "Tektur", sans-serif; }
#pd-admin-hub .pdm-cell.is-none { grid-template-columns: auto 1fr; grid-template-areas: "n id"; }
#pd-admin-hub .pdm-team-note { grid-column: 1 / -1; color: var(--faint); font-size: 12px; }

@media screen and (max-width: 1280px) {
  #pd-admin-hub .pdm-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #pd-admin-hub .pdm-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 1000px) {
  #pd-admin-hub .pdm-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pdm-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pdm-row-head { grid-template-columns: minmax(0, 1fr) 40px; }
  #pd-admin-hub .pdm-row-title { grid-column: 1 / -1; }
  #pd-admin-hub .pdm-team { grid-template-columns: minmax(0, 1fr); }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .pdm-controls { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .pdm-team-cells { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .pdm-table thead { display: none; }
  #pd-admin-hub .pdm-table, #pd-admin-hub .pdm-table tbody, #pd-admin-hub .pdm-table tr, #pd-admin-hub .pdm-table td { display: block; }
  #pd-admin-hub .pdm-table tr { padding: 6px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
  #pd-admin-hub .pdm-table td { padding: 4px 0; border-bottom: 0; }
  #pd-admin-hub .pdm-table td::before { content: attr(data-label); display: block; color: var(--faint); font-size: 11px; text-transform: uppercase; letter-spacing: 0.04em; }
}

/* =====================================================================
   АЦ «ПРОЕКТ»: встречи «заказчик — команда»
   ===================================================================== */
#pd-admin-hub .ac-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 16px; }
#pd-admin-hub .ac-filters { display: grid; grid-template-columns: minmax(200px, 1.6fr) repeat(3, minmax(150px, 1fr)); gap: 12px; align-items: end; }
#pd-admin-hub .ac-toolbar { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
#pd-admin-hub .ac-toolbar .pd-pd-button { min-height: 38px; padding: 0 14px; font-size: 13px; }
#pd-admin-hub .ac-sub { color: var(--muted); font-size: 12px; line-height: 1.45; }
#pd-admin-hub .ac-sub a { color: inherit; text-decoration: none; border-bottom: 1px dotted rgba(255, 255, 255, 0.28); }
#pd-admin-hub .ac-missing { color: var(--amber); font-size: 13px; }
#pd-admin-hub .ac-mini { margin-top: 4px; padding: 0; border: 0; background: none; color: var(--cyan); font: inherit; font-size: 12px; cursor: pointer; border-bottom: 1px dotted rgba(146, 213, 255, 0.5); }
#pd-admin-hub .ac-row-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }

#pd-admin-hub .ac-table-wrap { margin-top: 14px; overflow: visible; }
#pd-admin-hub .ac-table { width: 100%; min-width: 0; border-collapse: separate; border-spacing: 0; font-size: 13px; table-layout: fixed; }
#pd-admin-hub .ac-table th, #pd-admin-hub .ac-table td { padding: 12px 12px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); text-align: left; vertical-align: top; line-height: 1.45; overflow-wrap: anywhere; }
#pd-admin-hub .ac-table th { color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
/* шапка остаётся на экране при прокрутке (панель — не scroll-контейнер, см. overflow: clip выше) */
#pd-admin-hub .ac-table thead th { position: sticky; top: 0; z-index: 2; background: rgba(11, 14, 28, 0.96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08); }
#pd-admin-hub .ac-table th:nth-child(1) { width: 21%; }
#pd-admin-hub .ac-table th:nth-child(2) { width: 20%; }
#pd-admin-hub .ac-table th:nth-child(3) { width: 24%; }
#pd-admin-hub .ac-table th:nth-child(4) { width: 18%; }
#pd-admin-hub .ac-table th:nth-child(5) { width: 17%; }
#pd-admin-hub .ac-table tr.ac-group-row td { padding: 18px 12px 6px; border-bottom: 0; color: var(--cyan); font-family: "Tektur", sans-serif; font-size: 13px; font-weight: 700; }
#pd-admin-hub .ac-table tr.ac-group-row td .pdm-id { margin-right: 8px; }
#pd-admin-hub .ac-group-count { margin-left: 8px; color: var(--faint); font-family: "Exo 2", sans-serif; font-size: 12px; font-weight: 500; }
#pd-admin-hub .ac-table tr.ac-row { cursor: pointer; transition: background-color 0.15s ease; }
#pd-admin-hub .ac-table tr.ac-row:hover { background: rgba(255, 255, 255, 0.04); }
#pd-admin-hub .ac-table tr.ac-row.is-scheduled { background: rgba(52, 211, 153, 0.1); box-shadow: inset 3px 0 0 rgba(52, 211, 153, 0.7); }
#pd-admin-hub .ac-table tr.ac-row.is-scheduled:hover { background: rgba(52, 211, 153, 0.16); }
#pd-admin-hub .ac-table tr.ac-row.is-scheduled td { border-bottom-color: rgba(52, 211, 153, 0.18); }
#pd-admin-hub .ac-when { margin-top: 6px; font-size: 13px; line-height: 1.4; }
#pd-admin-hub .ac-when b { display: inline; }
#pd-admin-hub .ac-by { margin-top: 4px; }
#pd-admin-hub .ac-more { margin-top: 6px; color: var(--faint); font-size: 11px; }
#pd-admin-hub .ac-view { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px 18px; margin-top: 14px; }
#pd-admin-hub .ac-view-when { padding-right: 14px; border-right: 1px solid var(--line); }
#pd-admin-hub .ac-view-date { font-family: "Tektur", sans-serif; font-size: 18px; font-weight: 700; }
#pd-admin-hub .ac-view-time { font-family: "Tektur", sans-serif; font-size: 28px; font-weight: 900; line-height: 1.1; color: var(--green); }
#pd-admin-hub .ac-view-time small { font-family: "Exo 2", sans-serif; font-size: 11px; font-weight: 600; color: var(--muted); }
#pd-admin-hub .ac-view-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; font-size: 13px; }
#pd-admin-hub .ac-view-person b { display: block; }
#pd-admin-hub .ac-table td b { display: block; }
#pd-admin-hub .ac-table .pdm-id { margin-bottom: 4px; }

#pd-admin-hub .ac-cards { display: grid; gap: 10px; margin-top: 14px; }
#pd-admin-hub .ac-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px 18px; padding: 16px 18px; border-radius: 16px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .ac-card.is-green { opacity: 0.85; }
#pd-admin-hub .ac-card.is-red { opacity: 0.7; }
#pd-admin-hub .ac-card-when { padding-right: 14px; border-right: 1px solid var(--line); }
#pd-admin-hub .ac-card-date { font-family: "Tektur", sans-serif; font-size: 18px; font-weight: 700; }
#pd-admin-hub .ac-card-time { font-family: "Tektur", sans-serif; font-size: 26px; font-weight: 900; color: var(--cyan); line-height: 1.1; }
#pd-admin-hub .ac-card-time small { font-family: "Exo 2", sans-serif; font-size: 11px; font-weight: 600; color: var(--muted); }
#pd-admin-hub .ac-card-weekday { margin-top: 4px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .ac-card-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
#pd-admin-hub .ac-card-title { font-size: 15px; font-weight: 700; }
#pd-admin-hub .ac-card-place { margin-top: 4px; font-size: 13px; color: var(--text); overflow-wrap: anywhere; }
#pd-admin-hub .ac-card-place a { color: var(--cyan); text-decoration: none; border-bottom: 1px dotted rgba(146, 213, 255, 0.5); }
#pd-admin-hub .ac-card-agenda { margin-top: 8px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, 0.04); color: var(--muted); font-size: 13px; line-height: 1.5; white-space: pre-line; }
#pd-admin-hub .ac-card-people { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; font-size: 13px; }
#pd-admin-hub .ac-card-people b { display: block; }
#pd-admin-hub .ac-card-label { margin-bottom: 3px; color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .ac-card-meta { margin-top: 12px; color: var(--faint); font-size: 12px; line-height: 1.5; }
#pd-admin-hub .ac-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
#pd-admin-hub .ac-btn-ok { color: var(--green); background: var(--green-soft); box-shadow: inset 0 0 0 1px rgba(52, 211, 153, 0.35); }
#pd-admin-hub .ac-btn-ok:hover:not(:disabled) { background: rgba(52, 211, 153, 0.24); }

/* окна раздела: та же карточка, что у «Состава команд», но шире и с формой */
#pd-admin-hub .ac-modal-card { width: min(100%, 760px); max-height: calc(100vh - 40px); overflow: auto; }
#pd-admin-hub .ac-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; margin: 14px 0 16px; padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.04); font-size: 13px; }
#pd-admin-hub .ac-summary-grid b { display: block; }
#pd-admin-hub .ac-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#pd-admin-hub .ac-form .is-wide { grid-column: 1 / -1; }
#pd-admin-hub .ac-form .pd-pd-field input:not([type="radio"]):not([type="checkbox"]), #pd-admin-hub .ac-form .pd-pd-field textarea,
#pd-admin-hub .ac-cust-form .pd-pd-field input:not([type="radio"]):not([type="checkbox"]), #pd-admin-hub .ac-cust-form .pd-pd-field textarea {
  width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; color: var(--text);
  background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; color-scheme: dark;
}
#pd-admin-hub .ac-form .pd-pd-field textarea, #pd-admin-hub .ac-cust-form .pd-pd-field textarea, #pd-admin-hub .ac-confirm-note textarea { min-height: 72px; resize: vertical; line-height: 1.45; }
#pd-admin-hub .ac-form .pd-pd-field input:focus, #pd-admin-hub .ac-form .pd-pd-field textarea:focus,
#pd-admin-hub .ac-cust-form .pd-pd-field input:focus, #pd-admin-hub .ac-cust-form .pd-pd-field textarea:focus, #pd-admin-hub .ac-confirm-note textarea:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .ac-format { display: flex; gap: 8px; }
#pd-admin-hub .ac-format label { flex: 1 1 0; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; font-size: 14px; }
#pd-admin-hub .ac-format label:has(input:checked) { color: var(--cyan); background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
#pd-admin-hub .ac-format input[type="radio"] { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; accent-color: var(--cyan); }
#pd-admin-hub .ac-cust-info { margin-top: 6px; }
#pd-admin-hub .ac-cust-manual { padding: 12px 14px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .ac-cust-manual .ac-cust-form { margin-top: 0; }
#pd-admin-hub .ac-cust-save { margin-top: 12px; color: var(--muted); font-size: 13px; }
#pd-admin-hub .ac-cust-save input[type="checkbox"] { flex: 0 0 16px; width: 16px; height: 16px; min-height: 0; margin: 0; padding: 0; }
#pd-admin-hub .ac-cust-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
#pd-admin-hub .ac-cust-form .is-wide { grid-column: 1 / -1; }
#pd-admin-hub .ac-confirm-note { display: block; margin-top: 14px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .ac-confirm-note textarea { display: block; width: 100%; margin-top: 6px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; color: var(--text); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; }
#pd-admin-hub .ac-modal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; margin-top: 18px; }
#pd-admin-hub .ac-modal-actions .is-left { margin-right: auto; }

@media screen and (max-width: 1280px) {
  #pd-admin-hub .ac-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 1000px) {
  #pd-admin-hub .ac-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .ac-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .ac-table thead th { top: 52px; }
  #pd-admin-hub .ac-card { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .ac-card-when { padding-right: 0; padding-bottom: 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  #pd-admin-hub .ac-card-people { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .ac-view { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .ac-view-when { padding-right: 0; padding-bottom: 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  #pd-admin-hub .ac-view-people { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .ac-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .ac-filters { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .ac-table { table-layout: auto; }
  #pd-admin-hub .ac-table thead { display: none; }
  #pd-admin-hub .ac-table tr.ac-group-row td { padding: 14px 0 4px; }
  #pd-admin-hub .ac-table, #pd-admin-hub .ac-table tbody, #pd-admin-hub .ac-table tr, #pd-admin-hub .ac-table td { display: block; }
  #pd-admin-hub .ac-table tr.ac-row { margin-bottom: 10px; padding: 6px 12px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
  #pd-admin-hub .ac-table tr.ac-row.is-scheduled { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
  #pd-admin-hub .ac-table td { padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
  #pd-admin-hub .ac-table td:last-child { border-bottom: 0; }
  #pd-admin-hub .ac-table td::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--faint); font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; }
  #pd-admin-hub .ac-summary-grid, #pd-admin-hub .ac-form, #pd-admin-hub .ac-cust-form { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .ac-format { flex-direction: column; }
  #pd-admin-hub .ac-modal-actions .pd-pd-button { width: 100%; }
  #pd-admin-hub .ac-modal-actions .is-left { margin-right: 0; }
}

/* =====================================================================
   НОВОСТИ: записи кабинета студента и страницы /news
   ===================================================================== */
#pd-admin-hub .nw-layout { display: grid; grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.6fr); gap: 16px; align-items: start; }
#pd-admin-hub .nw-list { display: grid; gap: 8px; margin-top: 12px; }
#pd-admin-hub .nw-item { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 12px; width: 100%; padding: 12px 14px; border: 0; border-radius: 14px; color: var(--text); background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); font: inherit; text-align: left; cursor: pointer; transition: background-color 0.2s ease, box-shadow 0.2s ease; }
#pd-admin-hub .nw-item:hover { background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .nw-item.is-active { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
#pd-admin-hub .nw-item.is-draft { opacity: 0.75; }
#pd-admin-hub .nw-item-date b { display: block; font-family: "Tektur", sans-serif; font-size: 22px; font-weight: 700; line-height: 1; }
#pd-admin-hub .nw-item-date small { display: block; margin-top: 3px; color: var(--faint); font-size: 11px; }
#pd-admin-hub .nw-item-title { font-weight: 700; line-height: 1.3; }
#pd-admin-hub .nw-item-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
#pd-admin-hub .nw-panel { position: sticky; top: 20px; }
#pd-admin-hub .nw-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 14px; }
#pd-admin-hub .nw-form-grid .is-wide { grid-column: 1 / -1; }
#pd-admin-hub .nw-form-grid .is-two { grid-column: span 2; }
#pd-admin-hub .nw-form-grid .pd-pd-field input:not([type="checkbox"]), #pd-admin-hub .nw-form-grid .pd-pd-field select, #pd-admin-hub .nw-form-grid .pd-pd-field textarea {
  width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; color: var(--text);
  background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; color-scheme: dark;
}
#pd-admin-hub .nw-form-grid .pd-pd-field textarea { min-height: 84px; resize: vertical; line-height: 1.45; }
#pd-admin-hub .nw-form-grid .pd-pd-field input:focus, #pd-admin-hub .nw-form-grid .pd-pd-field select:focus, #pd-admin-hub .nw-form-grid .pd-pd-field textarea:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .nw-form-grid .pd-pd-field input:disabled { color: var(--muted); }
#pd-admin-hub .nw-hint { margin-top: 4px; color: var(--faint); font-size: 11px; line-height: 1.4; }
#pd-admin-hub .nw-section { grid-column: 1 / -1; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); font-family: "Tektur", sans-serif; font-size: 14px; font-weight: 700; }
#pd-admin-hub .nw-section small { display: block; margin-top: 2px; color: var(--faint); font-family: "Exo 2", sans-serif; font-size: 12px; font-weight: 500; }
#pd-admin-hub .nw-checks { display: flex; flex-wrap: wrap; gap: 10px 22px; align-self: end; min-height: 44px; align-items: center; color: var(--muted); font-size: 13px; }
#pd-admin-hub .nw-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; }
#pd-admin-hub .nw-actions .is-right { margin-left: auto; }
#pd-admin-hub .nw-open { color: var(--cyan); font-size: 13px; text-decoration: none; border-bottom: 1px dotted rgba(146, 213, 255, 0.5); }
/* предпросмотр карточки кабинета */
#pd-admin-hub .nw-preview-label { margin: 18px 0 8px; color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .nw-card { display: grid; grid-template-columns: 84px minmax(0, 1fr) 120px; gap: 16px; padding: 18px 20px; border-radius: 18px; background: rgba(255, 255, 255, 0.04); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 0 0 1px rgba(146, 213, 255, 0.2); }
#pd-admin-hub .nw-card-date b { display: block; font-family: "Tektur", sans-serif; font-size: 40px; font-weight: 900; line-height: 1; color: var(--cyan); }
#pd-admin-hub .nw-card-date small { display: block; margin-top: 6px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .nw-card-tag { display: inline-block; margin-bottom: 8px; color: var(--cyan); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
#pd-admin-hub .nw-card h3 { margin: 0 0 6px; font-size: 18px; font-weight: 700; line-height: 1.3; }
#pd-admin-hub .nw-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .nw-card-more { display: inline-block; margin-top: 10px; color: var(--cyan); font-size: 13px; font-weight: 600; }
#pd-admin-hub .nw-card-count { padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.04); text-align: left; }
#pd-admin-hub .nw-card-count b { display: block; font-family: "Tektur", sans-serif; font-size: 26px; font-weight: 700; line-height: 1; }
#pd-admin-hub .nw-card-count span { display: block; margin-top: 6px; color: var(--faint); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
#pd-admin-hub .nw-card-count small { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .nw-page { padding: 16px 18px; border-radius: 16px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .nw-page h4 { margin: 4px 0 6px; font-family: "Tektur", sans-serif; font-size: 18px; font-weight: 700; }
#pd-admin-hub .nw-page p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
#pd-admin-hub .nw-page .nw-page-text { margin-top: 10px; color: var(--text); }
#pd-admin-hub .nw-link { color: var(--cyan); text-decoration: none; border-bottom: 1px solid rgba(146, 213, 255, 0.45); }
#pd-admin-hub .nw-link:hover { color: #fff; border-bottom-color: currentColor; }
#pd-admin-hub .nw-page-facts { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 4px; }
#pd-admin-hub .nw-page-facts span { display: grid; padding: 8px 12px; border-radius: 12px; background: rgba(255, 255, 255, 0.05); font-size: 12px; color: var(--muted); }
#pd-admin-hub .nw-page-facts b { font-family: "Tektur", sans-serif; font-size: 16px; color: var(--text); }
@media screen and (max-width: 1280px) {
  #pd-admin-hub .nw-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .nw-form-grid .is-two { grid-column: span 1; }
}
@media screen and (max-width: 1000px) {
  #pd-admin-hub .nw-layout { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .nw-panel { position: static; }
  #pd-admin-hub .nw-card { grid-template-columns: 64px minmax(0, 1fr); }
  #pd-admin-hub .nw-card-count { grid-column: 1 / -1; }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .nw-form-grid { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .nw-actions .pd-pd-button { width: 100%; }
  #pd-admin-hub .nw-actions .is-right { margin-left: 0; }
}

/* =====================================================================
   БИБЛИОТЕКА ЗНАНИЙ: курсы и материалы страницы /library, правила подборок (admin-lib.js)
   Ширина и сетка формы — как у «Новостей» (.nw-layout, .nw-form-grid); свои классы — lb-*
   ===================================================================== */
#pd-admin-hub #pd-lib-admin .pa-subtabs { margin: 16px 0 14px; }
#pd-admin-hub .lb-tools { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(120px, 1fr); gap: 8px; margin-top: 12px; }
#pd-admin-hub .lb-tools input, #pd-admin-hub .lb-tools select { width: 100%; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 12px; outline: none; color: var(--text); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13px; color-scheme: dark; }
#pd-admin-hub .lb-tools input:focus, #pd-admin-hub .lb-tools select:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .lb-item { grid-template-columns: 36px minmax(0, 1fr); }
#pd-admin-hub .lb-item-kind { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: var(--cyan); background: var(--cyan-soft); font-family: "Tektur", sans-serif; font-size: 15px; font-weight: 700; }
#pd-admin-hub .lb-item.is-draft .lb-item-kind { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .lb-item-meta { margin-top: 6px; color: var(--faint); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
#pd-admin-hub .lb-panel { position: static; }
#pd-admin-hub .lb-form-status { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
#pd-admin-hub .lb-slug { color: var(--faint); font-size: 12px; overflow-wrap: anywhere; }
#pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field input:not([type="checkbox"]):not([type="file"]), #pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field select, #pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field textarea,
#pd-admin-hub .lb-form-body .lb-opt input[type="text"], #pd-admin-hub .lb-file-row input {
  width: 100%; min-height: 42px; padding: 9px 12px; border: 0; border-radius: 12px; outline: none; color: var(--text);
  background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; color-scheme: dark;
}
#pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field input:focus, #pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field select:focus, #pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field textarea:focus,
#pd-admin-hub .lb-form-body .lb-opt input[type="text"]:focus, #pd-admin-hub .lb-file-row input:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field textarea { min-height: 84px; resize: vertical; line-height: 1.45; }
#pd-admin-hub .lb-form-body .nw-form-grid .pd-pd-field input:disabled { color: var(--muted); }
#pd-admin-hub .lb-url { font-family: ui-monospace, "Cascadia Mono", Consolas, monospace; font-size: 13px !important; }
#pd-admin-hub .lb-checks { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 8px; color: var(--muted); font-size: 13px; font-weight: 500; }
#pd-admin-hub .lb-checks-col { flex-direction: column; gap: 6px; max-height: 260px; overflow: auto; padding: 8px 10px; border-radius: 12px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px var(--line); scrollbar-width: thin; }
#pd-admin-hub .lb-stage-groups { display: grid; gap: 10px; margin-top: 6px; }
#pd-admin-hub .lb-stage-group small { display: block; color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .lb-stage-group .lb-checks { margin-top: 4px; }
#pd-admin-hub .lb-cover-row { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 12px; align-items: start; margin-top: 8px; }
#pd-admin-hub .lb-cover-img { display: block; width: 160px; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 12px; background: #0d1224; box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .lb-cover-none { display: grid; place-items: center; width: 160px; aspect-ratio: 16 / 9; border-radius: 12px; color: var(--faint); background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px var(--line); font-size: 12px; }
#pd-admin-hub .lb-cover-fields { display: grid; gap: 8px; }
#pd-admin-hub .lb-cover-fields input { width: 100%; min-height: 42px; padding: 9px 12px; border: 0; border-radius: 12px; outline: none; color: var(--text); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13px; }
#pd-admin-hub .lb-btn.lb-btn-small { min-height: 34px; padding: 6px 12px; font-size: 12px; }
#pd-admin-hub .lb-btn.lb-btn-x { min-height: 30px; min-width: 30px; padding: 0 8px; font-size: 13px; line-height: 1; }
#pd-admin-hub .lb-btn:disabled { opacity: 0.45; cursor: default; }
#pd-admin-hub .lb-file-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
#pd-admin-hub .lb-files { display: grid; gap: 6px; margin-top: 8px; }
#pd-admin-hub .lb-file-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr) auto; gap: 8px; align-items: center; }
#pd-admin-hub .lb-file-row input { min-height: 38px; padding: 7px 10px; font-size: 13px; }
#pd-admin-hub .lb-modules { display: grid; gap: 14px; margin-top: 12px; }
#pd-admin-hub .lb-module { padding: 16px 16px 14px; border-radius: 18px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.22); }
#pd-admin-hub .lb-module-head, #pd-admin-hub .lb-lesson-head, #pd-admin-hub .lb-q-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
#pd-admin-hub .lb-module-head h3 { margin: 0; font-family: "Tektur", sans-serif; font-size: 16px; font-weight: 700; }
#pd-admin-hub .lb-q-tools { display: inline-flex; flex-wrap: wrap; gap: 6px; margin-left: auto; }
#pd-admin-hub .lb-grid { margin-top: 10px; }
#pd-admin-hub .lb-lessons { display: grid; gap: 10px; margin-top: 12px; }
#pd-admin-hub .lb-lesson { padding: 14px 14px 12px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .lb-lesson-head b, #pd-admin-hub .lb-q-head b { font-size: 14px; }
#pd-admin-hub .lb-quiz { display: grid; gap: 10px; }
#pd-admin-hub .lb-quiz > .pd-pd-field { max-width: 320px; }
#pd-admin-hub .lb-q { padding: 12px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .lb-q .pd-pd-field { margin-top: 10px; }
#pd-admin-hub .lb-opts { display: grid; gap: 6px; margin-top: 10px; }
#pd-admin-hub .lb-opt { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 8px; align-items: center; }
#pd-admin-hub .lb-opt-check { justify-content: center; width: 30px; height: 38px; margin: 0; }
#pd-admin-hub .lb-opt-check input { width: 18px; height: 18px; margin: 0; accent-color: var(--green); }
#pd-admin-hub .lb-opt input[type="text"] { min-height: 38px; padding: 7px 10px; font-size: 13px; }
#pd-admin-hub .lb-file { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
@media screen and (max-width: 640px) {
  #pd-admin-hub .lb-tools { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .lb-cover-row { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .lb-file-row { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .lb-q-tools { margin-left: 0; }
}

/* =====================================================================
   РЕДАКТОР КОМАНД: студенты → команды → карточка команды
   ===================================================================== */
#pd-admin-hub .te-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 16px; }
#pd-admin-hub .te-layout { display: grid; grid-template-columns: minmax(260px, 0.9fr) minmax(240px, 0.8fr) minmax(0, 1.4fr); gap: 16px; align-items: start; }
#pd-admin-hub .te-filters { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(120px, 1fr); gap: 10px; align-items: end; }
#pd-admin-hub .te-filters.is-three { grid-template-columns: minmax(0, 1.4fr) minmax(110px, 0.9fr) minmax(110px, 0.9fr); }
#pd-admin-hub .te-count { margin: 10px 0 6px; color: var(--faint); font-size: 12px; }
#pd-admin-hub .te-scroll { display: grid; gap: 6px; max-height: 62vh; overflow: auto; padding-right: 4px; scrollbar-width: thin; }
#pd-admin-hub .te-student { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px 10px; border-radius: 12px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; }
#pd-admin-hub .te-student.is-checked { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
#pd-admin-hub .te-student.is-disabled { opacity: 0.6; cursor: default; }
#pd-admin-hub .te-student input { width: 16px; height: 16px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--cyan); }
#pd-admin-hub .te-student-main { display: grid; gap: 2px; min-width: 0; font-size: 13px; }
#pd-admin-hub .te-student-main b { line-height: 1.3; }
#pd-admin-hub .te-tags { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 2px; }
#pd-admin-hub .te-link { padding: 0; border: 0; background: none; color: var(--cyan); font: inherit; font-size: 11px; font-weight: 600; cursor: pointer; border-bottom: 1px dotted rgba(146, 213, 255, 0.5); }
#pd-admin-hub .te-selection { position: sticky; bottom: 0; z-index: 2; display: grid; gap: 8px; margin-top: 10px; padding: 12px; border-radius: 14px; background: rgba(11, 14, 28, 0.96); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.28); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
#pd-admin-hub .te-selection-text { color: var(--muted); font-size: 12px; line-height: 1.4; }
#pd-admin-hub .te-selection-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#pd-admin-hub .te-selection-actions .pd-pd-button { min-height: 36px; padding: 0 12px; font-size: 12px; }
#pd-admin-hub .te-panel { position: sticky; top: 20px; }
#pd-admin-hub .te-invite { padding: 8px 10px; border-radius: 10px; background: var(--amber-soft); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .te-invite + .te-invite { margin-top: 6px; }
#pd-admin-hub .te-choice { display: flex; align-items: center; gap: 10px; padding: 6px 0; font-size: 13px; }
#pd-admin-hub .te-project-current { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); font-size: 14px; line-height: 1.4; }
#pd-admin-hub .te-project-current .ac-sub { flex-basis: 100%; }
#pd-admin-hub .te-project-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
#pd-admin-hub .te-comment { margin-top: 18px; }
#pd-admin-hub .te-comment textarea, #pd-admin-hub .te-modal-comment textarea { width: 100%; min-height: 56px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; resize: vertical; color: var(--text); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; line-height: 1.45; }
#pd-admin-hub .te-comment textarea:focus, #pd-admin-hub .te-modal-comment textarea:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .te-modal-comment { display: block; margin-top: 14px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .te-modal-comment textarea { margin-top: 6px; }
/* окно создания команды */
#pd-admin-hub .te-create-list { display: grid; gap: 6px; margin-top: 14px; max-height: 40vh; overflow: auto; }
#pd-admin-hub .te-create-row { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px 10px; border-radius: 12px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; font-size: 13px; }
#pd-admin-hub .te-create-row:has(input:checked) { background: var(--lav-soft); box-shadow: inset 0 0 0 1px rgba(233, 195, 255, 0.45); }
#pd-admin-hub .te-create-row input { width: 16px; height: 16px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--lav); }
#pd-admin-hub .te-create-row b { display: block; }
#pd-admin-hub .te-create-row b::after { content: " · лидер"; color: var(--lav); font-weight: 600; font-size: 11px; opacity: 0; }
#pd-admin-hub .te-create-row:has(input:checked) b::after { opacity: 1; }
#pd-admin-hub .te-create-hint { margin-top: 8px; color: var(--faint); font-size: 12px; }
/* окно проекта */
#pd-admin-hub .te-pr-search { margin-top: 14px; }
#pd-admin-hub .te-pr-search input { width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; color: var(--text); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; }
#pd-admin-hub .te-pr-search input:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .te-pr-list { display: grid; gap: 6px; margin-top: 10px; max-height: 42vh; overflow: auto; }
#pd-admin-hub .te-pr-section { margin: 8px 0 2px; color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .te-project { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px 10px; border-radius: 12px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); cursor: pointer; }
#pd-admin-hub .te-project.is-checked { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
#pd-admin-hub .te-project.is-disabled { opacity: 0.6; cursor: default; }
#pd-admin-hub .te-project input { width: 16px; height: 16px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--cyan); }
#pd-admin-hub .te-project-main { display: grid; gap: 2px; font-size: 13px; }
#pd-admin-hub .te-project-main .pdm-id { margin-right: 6px; }
#pd-admin-hub .te-pr-hint { margin-top: 8px; }
@media screen and (max-width: 1280px) {
  #pd-admin-hub .te-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #pd-admin-hub .te-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #pd-admin-hub .te-layout > .te-panel { grid-column: 1 / -1; position: static; }
}
@media screen and (max-width: 1000px) {
  #pd-admin-hub .te-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .te-layout { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .te-scroll { max-height: 48vh; }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .te-filters, #pd-admin-hub .te-filters.is-three { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .te-selection-actions .pd-pd-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  #pd-admin-hub .pa-pane.is-active { animation: none; }
}

/* ============================ Карточки проектов (admin-cards.js) ============================ */
#pd-admin-hub .pc-layout { display: grid; grid-template-columns: minmax(250px, 0.62fr) minmax(0, 2fr); gap: 16px; align-items: start; }
#pd-admin-hub .pc-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
#pd-admin-hub .pc-search { margin-top: 10px; }
#pd-admin-hub .pc-list { display: grid; gap: 8px; margin-top: 12px; max-height: 1100px; overflow-y: auto; padding-right: 2px; }
#pd-admin-hub .pc-item { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; width: 100%; padding: 10px 12px; border: 0; border-radius: 14px; color: var(--text); background: rgba(255, 255, 255, 0.03); text-align: left; font: inherit; cursor: pointer; transition: background-color 0.2s ease; }
#pd-admin-hub .pc-item:hover { background: rgba(255, 255, 255, 0.06); }
#pd-admin-hub .pc-item.is-active { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.45); }
#pd-admin-hub .pc-item-thumb { display: grid; place-items: center; width: 44px; height: 86px; overflow: hidden; border-radius: 8px; background: #f4f6fb; color: #2b2b2b; font-family: "Tektur", sans-serif; font-size: 11px; font-weight: 700; }
#pd-admin-hub .pc-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
#pd-admin-hub .pc-item-main { display: grid; align-content: start; gap: 3px; min-width: 0; }
#pd-admin-hub .pc-item-id { color: var(--cyan); font-family: "Tektur", sans-serif; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; }
#pd-admin-hub .pc-item-title { font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
#pd-admin-hub .pc-item-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 4px; }
#pd-admin-hub .pc-panel { min-width: 0; }
#pd-admin-hub .pc-form-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
#pd-admin-hub .pc-editor { display: grid; grid-template-columns: minmax(0, 1fr) clamp(240px, 30%, 330px); gap: 22px; align-items: start; margin-top: 4px; }
#pd-admin-hub .pc-editor-form { min-width: 0; }
#pd-admin-hub .pc-form-grid { transition: opacity 0.2s ease; }
#pd-admin-hub .pc-form-grid.is-busy { opacity: 0.6; }
#pd-admin-hub #pc-f-message:focus { outline: none; }
#pd-admin-hub .pc-save-hint { margin: 8px 0 0; color: var(--amber); font-size: 12px; line-height: 1.45; }
#pd-admin-hub .pc-save-hint:empty { display: none; }
#pd-admin-hub .nw-form-grid .pd-pd-field .pc-capacity input { min-width: 0; padding-left: 8px; padding-right: 8px; text-align: center; }
#pd-admin-hub .pc-editor-preview { position: sticky; top: 16px; min-width: 0; }
#pd-admin-hub .pc-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#pd-admin-hub .pc-count { margin-left: 6px; color: var(--faint); font-size: 11px; font-style: normal; font-weight: 500; }
#pd-admin-hub .pc-chip { padding: 7px 12px; border: 0; border-radius: 999px; color: var(--text); background: rgba(255, 255, 255, 0.07); font: inherit; font-size: 12px; font-weight: 600; line-height: 1.2; cursor: pointer; transition: background-color 0.2s ease, color 0.2s ease; }
#pd-admin-hub .pc-chip:hover { background: rgba(255, 255, 255, 0.13); }
#pd-admin-hub .pc-chip[aria-pressed="true"] { color: #04060f; background: var(--cyan); }
#pd-admin-hub .pc-chip-custom { padding-right: 8px; color: var(--lav); background: var(--lav-soft); }
#pd-admin-hub .pc-chip-custom[aria-pressed="true"] { color: #04060f; background: var(--lav); }
#pd-admin-hub .pc-chip-x { display: inline-block; margin-left: 6px; padding: 0 2px; font-weight: 700; opacity: 0.7; }
#pd-admin-hub .pc-chip-x:hover { opacity: 1; }
#pd-admin-hub .pc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
#pd-admin-hub .pc-tag-add { display: flex; gap: 8px; margin-top: 8px; }
#pd-admin-hub .pc-tag-add input { flex: 1 1 auto; min-width: 0; }
#pd-admin-hub .pc-tag-add .pd-pd-button { flex: none; min-height: 44px; }
#pd-admin-hub .pc-inline-note { margin-top: 6px; color: var(--muted); font-size: 12px; line-height: 1.4; }
#pd-admin-hub .pc-inline-note.is-ok { color: var(--green); }
#pd-admin-hub .pc-inline-note.is-warn { color: var(--amber); }
#pd-admin-hub .pc-inline-note.is-error { color: #ffb3b3; }
#pd-admin-hub .pc-stars { display: flex; gap: 4px; min-height: 44px; align-items: center; }
#pd-admin-hub .pc-stars button { padding: 2px; border: 0; background: none; color: rgba(238, 241, 255, 0.2); font-size: 26px; line-height: 1; cursor: pointer; transition: color 0.15s ease; }
#pd-admin-hub .pc-stars button.on { color: var(--amber); text-shadow: 0 0 12px rgba(255, 183, 3, 0.5); }
#pd-admin-hub .pc-drop { display: grid; gap: 4px; place-items: center; padding: 16px; border: 1px dashed rgba(146, 213, 255, 0.35); border-radius: 16px; color: var(--muted); font-size: 12px; text-align: center; cursor: pointer; transition: border-color 0.2s ease, background-color 0.2s ease; }
#pd-admin-hub .pc-drop:hover, #pd-admin-hub .pc-drop.is-over, #pd-admin-hub .pc-drop:focus-visible { border-color: var(--cyan); background: rgba(146, 213, 255, 0.06); outline: none; }
#pd-admin-hub .pc-drop b { color: var(--text); font-weight: 600; font-size: 13px; }
#pd-admin-hub .pc-drop input { display: none; }
#pd-admin-hub .pc-drop-file { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; padding: 6px 6px 6px 14px; border-radius: 999px; color: var(--green); background: var(--green-soft); font-size: 12px; }
#pd-admin-hub .pc-drop-file a { color: inherit; }
#pd-admin-hub .pc-drop-file button { padding: 6px 12px; border: 0; border-radius: 999px; color: #ffb3b3; background: var(--red-soft); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
#pd-admin-hub #pc-f-art-actions { margin-top: 8px; }
#pd-admin-hub .pc-small-button { min-height: 34px; padding: 0 14px; font-size: 12px; }
#pd-admin-hub .pc-check { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; font-weight: 500; cursor: pointer; }
#pd-admin-hub .pc-check input { width: 16px; height: 16px; margin: 0; accent-color: var(--cyan); }
#pd-admin-hub .pc-captain { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.7fr); gap: 8px; margin-top: 8px; }
#pd-admin-hub .pc-capacity { display: flex; align-items: center; gap: 8px; }
#pd-admin-hub .pc-capacity i { color: var(--faint); font-style: normal; }
#pd-admin-hub .nw-checks.is-wide { grid-column: 1 / -1; align-self: auto; }
#pd-admin-hub .pc-team-block { grid-column: 1 / -1; }
#pd-admin-hub .pc-team-block .nw-section { margin-top: 0; }
#pd-admin-hub .pc-team-grid { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: 12px; margin-top: 12px; }
#pd-admin-hub .pc-team-info { margin: 8px 0; }
#pd-admin-hub .pc-form-grid .pc-captain input, #pd-admin-hub .pc-form-grid .pc-tag-add input, #pd-admin-hub .pc-form-grid .pc-capacity input, #pd-admin-hub .pc-team-grid input, #pd-admin-hub .pc-team-grid select {
  width: 100%; min-height: 44px; padding: 10px 14px; border: 0; border-radius: 14px; outline: none; color: var(--text);
  background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 14px; color-scheme: dark;
}
#pd-admin-hub .pc-steps { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
#pd-admin-hub .pc-steps li { padding: 5px 11px; border-radius: 999px; color: var(--faint); background: rgba(255, 255, 255, 0.04); font-size: 11px; font-weight: 600; }
#pd-admin-hub .pc-steps li.is-now { color: var(--amber); background: var(--amber-soft); }
#pd-admin-hub .pc-steps li.is-done { color: var(--green); background: var(--green-soft); }
#pd-admin-hub .pc-frame { position: relative; width: 100%; min-width: 0; height: 240px; overflow: hidden; padding: 10px; border-radius: 16px; background: rgba(5, 7, 15, 0.5); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pc-scale { position: absolute; left: 10px; top: 10px; width: 948px; transform-origin: top left; }
#pd-admin-hub .pc-metrics { margin-top: 8px; color: var(--faint); font-size: 11px; line-height: 1.45; }
#pd-admin-hub .pc-metrics b { color: var(--amber); font-weight: 600; }
#pd-admin-hub .pc-versions ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
#pd-admin-hub .pc-versions li { padding: 8px 12px; border-radius: 12px; color: var(--muted); background: rgba(255, 255, 255, 0.03); font-size: 12px; line-height: 1.45; }
#pd-admin-hub .pc-versions li b { color: var(--text); font-weight: 600; }
#pd-admin-hub .pc-versions a { color: var(--cyan); }
#pd-admin-hub .pc-confirm-text { white-space: pre-line; }
@media screen and (max-width: 1360px) {
  #pd-admin-hub .pc-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pc-form-grid .is-two { grid-column: 1 / -1; }
}
@media screen and (max-width: 1180px) {
  #pd-admin-hub #pc-form { scroll-margin-top: 16px; }
  #pd-admin-hub .pc-layout { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .pc-list { max-height: 420px; }
}
@media screen and (max-width: 1000px) {
  /* на узком экране меню липнет к верху (~54 px): заголовок формы не должен уходить под него */
  #pd-admin-hub #pc-form { scroll-margin-top: 72px; }
}
@media screen and (max-width: 860px) {
  #pd-admin-hub .pc-editor { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .pc-editor-preview { position: static; order: -1; width: min(100%, 320px); margin: 0 auto; }
  #pd-admin-hub .pc-form-grid, #pd-admin-hub .pc-team-grid, #pd-admin-hub .pc-captain { grid-template-columns: minmax(0, 1fr); }
}

/* Окно встречи (19.09.2026): полоса черновика и выбор нескольких команд */
#pd-admin-hub .ac-draft { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; border: 1px solid rgba(255, 184, 77, 0.4); background: rgba(255, 184, 77, 0.1); }
#pd-admin-hub .ac-draft-chip { padding: 3px 10px; border-radius: 999px; background: rgba(255, 184, 77, 0.2); color: #ffd699; font-family: "Tektur", sans-serif; font-size: 11px; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .ac-draft-text { flex: 1 1 220px; color: #ffd699; font-size: 13px; line-height: 1.45; }
#pd-admin-hub .ac-teams-pick { margin: 0 0 14px; padding: 12px 14px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .ac-teams-pick-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 10px; }
#pd-admin-hub .ac-teams-pick-head b { color: var(--text); font-size: 14px; }
#pd-admin-hub .ac-teams-pick-count { padding: 4px 10px; border-radius: 999px; background: var(--cyan-soft); color: var(--cyan); font-family: "Tektur", sans-serif; font-size: 12px; white-space: nowrap; }
#pd-admin-hub .ac-teams-pick-search { width: 100%; margin: 10px 0 8px; padding: 9px 12px; border: 0; border-radius: 10px; background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); color: var(--text); font: inherit; font-size: 13px; }
#pd-admin-hub .ac-teams-pick-search:focus { outline: none; box-shadow: inset 0 0 0 1px var(--cyan); }
#pd-admin-hub .ac-teams-pick-list { display: grid; gap: 6px; max-height: 216px; overflow: auto; padding-right: 4px; }
#pd-admin-hub .ac-pick-row { display: flex; align-items: flex-start; gap: 10px; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, 0.04); cursor: pointer; }
#pd-admin-hub .ac-pick-row:hover { background: rgba(146, 213, 255, 0.1); }
#pd-admin-hub .ac-pick-row.is-picked { background: var(--cyan-soft); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.5); }
#pd-admin-hub .ac-pick-row input { margin-top: 3px; }
#pd-admin-hub .ac-pick-main { min-width: 0; flex: 1 1 auto; }
#pd-admin-hub .ac-pick-title { color: var(--text); font-size: 13px; line-height: 1.4; }
#pd-admin-hub .ac-pick-title .pdm-id { margin-right: 6px; }
#pd-admin-hub .ac-pick-sub { margin-top: 2px; color: var(--faint); font-size: 11px; line-height: 1.4; }
#pd-admin-hub .ac-pick-warn { color: #ffd699; }
#pd-admin-hub .ac-teams-pick-empty { padding: 10px; color: var(--faint); font-size: 12px; }
@media (max-width: 640px) {
  #pd-admin-hub .ac-teams-pick-count { align-self: flex-start; }
  #pd-admin-hub .ac-teams-pick-list { max-height: 260px; }
}

/* =====================================================================
   ПАРТНЁРЫ: организации-заказчики, сотрудники, закрепление проектов (admin-partners.js, только суперадминистратор)
   Сетка и поля формы — как у «Новостей» (.nw-layout, .nw-form-grid); свои классы — pt-*
   ===================================================================== */
#pd-admin-hub .pt-panel { position: static; }
#pd-admin-hub .pt-tools { margin-top: 12px; }
#pd-admin-hub .pt-tools input, #pd-admin-hub .pt-assign-tools input, #pd-admin-hub .pt-assign-tools select, #pd-admin-hub .pt-project-contact select {
  width: 100%; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 12px; outline: none; color: var(--text);
  background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13px; color-scheme: dark;
}
#pd-admin-hub .pt-tools input:focus, #pd-admin-hub .pt-assign-tools input:focus, #pd-admin-hub .pt-assign-tools select:focus, #pd-admin-hub .pt-project-contact select:focus { box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.55); }
#pd-admin-hub .pt-item { grid-template-columns: 36px minmax(0, 1fr); }
#pd-admin-hub .pt-item-mark { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: var(--cyan); background: var(--cyan-soft); font-family: "Tektur", sans-serif; font-size: 16px; font-weight: 700; }
#pd-admin-hub .pt-item.is-draft .pt-item-mark { color: var(--muted); background: rgba(255, 255, 255, 0.07); }
#pd-admin-hub .pt-item-meta { margin-top: 5px; color: var(--muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
#pd-admin-hub .pt-item-meta b { color: var(--text); font-family: "Tektur", sans-serif; font-weight: 700; }
#pd-admin-hub .pt-item-meta + .pt-item-meta { margin-top: 2px; color: var(--faint); }
#pd-admin-hub .pt-card-status { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
#pd-admin-hub .pt-block { margin-top: 18px; }
#pd-admin-hub .pt-block + .pt-block { padding-top: 16px; border-top: 1px solid var(--line); }
#pd-admin-hub .pt-block-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
#pd-admin-hub .pt-block-head h3 { margin: 0; font-family: "Tektur", sans-serif; font-size: 16px; font-weight: 700; }
#pd-admin-hub .pt-count { color: var(--muted); font-family: "Exo 2", sans-serif; font-size: 13px; font-weight: 500; }
#pd-admin-hub .pt-btn-small { min-height: 34px; padding: 6px 12px; font-size: 12px; }
#pd-admin-hub .pt-btn-main { color: #05070f; background: var(--cyan); box-shadow: none; }
#pd-admin-hub .pt-btn-main:hover:not(:disabled) { background: #b3e2ff; }
#pd-admin-hub .pt-members, #pd-admin-hub .pt-projects, #pd-admin-hub .pt-results { display: grid; gap: 8px; }
#pd-admin-hub .pt-member, #pd-admin-hub .pt-project, #pd-admin-hub .pt-result { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--tile-in); box-shadow: inset 0 0 0 1px var(--line); }
#pd-admin-hub .pt-member.is-blocked { opacity: 0.72; }
#pd-admin-hub .pt-member-main, #pd-admin-hub .pt-project-main, #pd-admin-hub .pt-result-main { flex: 1 1 auto; min-width: 0; }
#pd-admin-hub .pt-member-name { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-weight: 700; line-height: 1.3; }
#pd-admin-hub .pt-member-meta { margin-top: 4px; color: var(--muted); font-size: 13px; line-height: 1.45; overflow-wrap: anywhere; }
#pd-admin-hub .pt-member-dates { margin-top: 3px; color: var(--faint); font-size: 12px; line-height: 1.45; }
#pd-admin-hub .pt-member-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; gap: 6px; max-width: 260px; }
#pd-admin-hub .pt-member-form { margin: 0 0 12px; padding: 4px 14px 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.22); }
#pd-admin-hub .pt-member-form .nw-section { margin-top: 0; border-top: 0; }
#pd-admin-hub .pt-notice { margin: 0 0 12px; padding: 12px 14px; border-radius: 14px; color: var(--green); background: var(--green-soft); font-size: 13px; line-height: 1.5; }
#pd-admin-hub .pt-notice[hidden] { display: none; }
#pd-admin-hub .pt-notice p { margin: 0; overflow-wrap: anywhere; }
#pd-admin-hub .pt-notice-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
#pd-admin-hub .pt-letter { display: block; width: 100%; margin-top: 10px; padding: 10px 12px; border: 0; border-radius: 12px; outline: none; resize: vertical; color: var(--text); background: rgba(5, 7, 15, 0.45); box-shadow: inset 0 0 0 1px var(--line); font: inherit; font-size: 13px; line-height: 1.5; }
#pd-admin-hub .pt-letter[hidden] { display: none; }
#pd-admin-hub .pt-project-title { line-height: 1.35; overflow-wrap: anywhere; }
#pd-admin-hub .pt-code { margin-right: 4px; color: var(--cyan); font-family: "Tektur", sans-serif; font-weight: 700; }
#pd-admin-hub .pt-project-contact { display: grid; flex: 0 0 240px; gap: 4px; color: var(--faint); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
#pd-admin-hub .pt-project-contact select { font-weight: 500; letter-spacing: 0; text-transform: none; }
#pd-admin-hub .pt-assign { margin: 0 0 12px; padding: 14px; border-radius: 14px; background: rgba(255, 255, 255, 0.03); box-shadow: inset 0 0 0 1px rgba(146, 213, 255, 0.22); }
#pd-admin-hub .pt-assign[hidden] { display: none; }
#pd-admin-hub .pt-assign-tools { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 10px; }
#pd-admin-hub .pt-assign .nw-hint { display: block; margin: 8px 0; }
#pd-admin-hub .pt-assign .nw-actions { margin-top: 10px; }
#pd-admin-hub .pt-results { max-height: 380px; overflow: auto; padding-right: 2px; scrollbar-width: thin; }
#pd-admin-hub .pt-result-org { display: block; margin-top: 3px; color: var(--faint); font-size: 12px; line-height: 1.4; }
#pd-admin-hub .pt-result-org.is-taken { color: var(--amber); }
#pd-admin-hub .pt-result-org.is-mine { color: var(--green); }
/* «Команды → Состав»: пометка о кабинете партнёра в строке заказчика (admin-roster.js) */
#pd-admin-hub .pr-team-ctx .pt-note { color: var(--faint); }
#pd-admin-hub .pr-team-ctx .pt-note.is-on { color: var(--green); }
#pd-admin-hub .pr-team-ctx .pt-note.is-wait { color: var(--amber); }
#pd-admin-hub .pr-team-ctx .pt-note-link { color: var(--cyan); text-decoration: none; border-bottom: 1px dotted rgba(146, 213, 255, 0.5); }
#pd-admin-hub .pr-team-ctx .pt-note-link:hover { color: #fff; border-bottom-color: currentColor; }
@media screen and (max-width: 900px) {
  #pd-admin-hub .pt-member, #pd-admin-hub .pt-project, #pd-admin-hub .pt-result { flex-wrap: wrap; }
  #pd-admin-hub .pt-member-actions { flex: 1 1 100%; justify-content: flex-start; max-width: none; }
  #pd-admin-hub .pt-project-contact { flex: 1 1 100%; }
  #pd-admin-hub .pt-assign-tools { grid-template-columns: minmax(0, 1fr); }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .pt-member-actions .pd-pd-button, #pd-admin-hub .pt-notice-actions .pd-pd-button, #pd-admin-hub .pt-result .pd-pd-button { width: 100%; }
  #pd-admin-hub .pt-block-head .pd-pd-button { width: 100%; }
}
