/* =====================================================================
   ПРОЕКТНАЯ РАБОТА: мониторинг пространств «Мой проект» (admin-work.js).
   Отдельный файл бакета foresight/admin/admin-work.css. Токены (--cyan, --amber, --tile…) и общие классы
   (.pa-head, .pd-pd-button, .pd-pd-metric-card, .pd-pd-field, .pd-pd-state, .pd-pd-empty, .pr-chip) берутся
   из admin-hub.css; здесь только то, чего там нет. Все правила — внутри #pd-admin-hub, префикс pw-.
   ===================================================================== */

/* ---- шапка раздела: заголовок слева, кнопки и время обновления справа ---- */
#pd-admin-hub .pa-head.pw-head { display: flex; align-items: flex-end; justify-content: space-between; flex-wrap: wrap; gap: 14px 24px; }
#pd-admin-hub .pw-head-side { display: grid; gap: 8px; justify-items: end; }
#pd-admin-hub .pw-updated { min-height: 16px; color: var(--faint); font-size: 12px; line-height: 1.35; text-align: right; }
#pd-admin-hub .pw-updated.is-error { color: var(--amber); }

/* Спокойная заметка «раздел ещё не установлен»: та же плитка состояния, но без красного знака */
#pd-admin-hub .pw-calm .pw-calm-icon { color: #04121c; background: var(--cyan); }

/* Пока идёт обновление, прежние данные остаются на месте и приглушаются — без мигания и скачков раскладки */
#pd-admin-hub .pw-content { transition: opacity 0.2s ease; }
#pd-admin-hub .pw-content.is-refreshing { opacity: 0.55; pointer-events: none; }

/* ---- сводка: шесть плиток «большое число + короткая подпись» ---- */
#pd-admin-hub .pd-pd-metrics.pw-metrics { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0; }
#pd-admin-hub .pw-metrics .pd-pd-metric-card { position: relative; overflow: hidden; padding-bottom: 22px; }
#pd-admin-hub .pw-metrics .pd-pd-metric-value small { margin-left: 8px; color: var(--faint); font-family: "Exo 2", "Ubuntu", Arial, sans-serif; font-size: 13px; font-weight: 600; letter-spacing: 0; }
#pd-admin-hub .pw-metrics .pd-pd-metric-note { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#pd-admin-hub .pw-metrics .is-warn .pd-pd-metric-value { color: var(--amber); }
/* тонкая шкала доли внизу плитки: дорожка — приглушённый тон той же заливки */
#pd-admin-hub .pw-tile-meter { position: absolute; left: 20px; right: 20px; bottom: 11px; height: 3px; border-radius: 999px; background: rgba(146, 213, 255, 0.14); overflow: hidden; }
#pd-admin-hub .pw-tile-meter i { display: block; width: 0; height: 100%; border-radius: 999px; background: var(--cyan); transition: width 0.4s ease; }
#pd-admin-hub .pw-metrics .is-warn .pw-tile-meter { background: rgba(255, 183, 3, 0.16); }
#pd-admin-hub .pw-metrics .is-warn .pw-tile-meter i { background: var(--amber); }

/* ---- полоса распределения: пространства фазы I по текущему этапу ----
   Этапы упорядочены, поэтому шкала одного тона (голубой панели) по светлоте: чем дальше этап, тем ярче. Между долями
   зазор 2px цветом поверхности, подписи внутри долей — светлые или тёмные чернила по светлоте заливки.
   Шкала проверена на поверхности плитки (#0f1119): светлота монотонна, шаг не меньше 0,06, самый тёмный шаг 3,2:1. */
#pd-admin-hub .pw-strip { margin: 0 0 16px; padding: 14px 20px; border-radius: 18px; background: var(--tile); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); }
#pd-admin-hub .pw-strip-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
#pd-admin-hub .pw-strip-title { color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
#pd-admin-hub .pw-strip-total { color: var(--muted); font-size: 12px; white-space: nowrap; }
#pd-admin-hub .pw-strip-bar { display: flex; gap: 2px; height: 18px; }
#pd-admin-hub .pw-seg { display: flex; align-items: center; justify-content: center; min-width: 8px; color: #04121c; font-family: "Tektur", sans-serif; font-size: 11px; font-weight: 700; line-height: 1; cursor: default; transition: filter 0.15s ease; }
#pd-admin-hub .pw-seg:first-child { border-top-left-radius: 4px; border-bottom-left-radius: 4px; }
#pd-admin-hub .pw-seg:last-child { border-top-right-radius: 4px; border-bottom-right-radius: 4px; }
#pd-admin-hub .pw-seg:hover, #pd-admin-hub .pw-seg:focus-visible { filter: brightness(1.18); outline: none; box-shadow: 0 0 0 2px rgba(238, 241, 255, 0.4); }
#pd-admin-hub .pw-seg.is-s0, #pd-admin-hub .pw-legend-item i.is-s0 { color: var(--text); background: rgba(255, 255, 255, 0.16); }
#pd-admin-hub .pw-seg.is-s1, #pd-admin-hub .pw-legend-item i.is-s1 { color: #eef1ff; background: #206b92; }
#pd-admin-hub .pw-seg.is-s2, #pd-admin-hub .pw-legend-item i.is-s2 { background: #3083b0; }
#pd-admin-hub .pw-seg.is-s3, #pd-admin-hub .pw-legend-item i.is-s3 { background: #469ccd; }
#pd-admin-hub .pw-seg.is-s4, #pd-admin-hub .pw-legend-item i.is-s4 { background: #65b5e5; }
#pd-admin-hub .pw-seg.is-s5, #pd-admin-hub .pw-legend-item i.is-s5 { background: #8ed1fa; }
#pd-admin-hub .pw-strip-legend { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.35; }
#pd-admin-hub .pw-legend-item { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
#pd-admin-hub .pw-legend-item i { flex: 0 0 auto; display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
#pd-admin-hub .pw-legend-item b { color: var(--text); font-family: "Tektur", sans-serif; font-weight: 700; font-variant-numeric: tabular-nums; }

/* ---- пустые состояния раздела ---- */
#pd-admin-hub .pw-empty { margin: 0 0 16px; padding: 30px 24px; border: 1px dashed var(--line-hi); border-radius: 18px; text-align: center; }
#pd-admin-hub .pw-empty strong { display: block; font-family: "Tektur", sans-serif; font-size: 17px; font-weight: 700; }
#pd-admin-hub .pw-empty p { max-width: 560px; margin: 8px auto 0; color: var(--muted); font-size: 14px; line-height: 1.5; }

/* ---- фильтры: одна строка над таблицей ---- */
#pd-admin-hub .pw-filters { display: grid; grid-template-columns: minmax(220px, 1.6fr) repeat(4, minmax(132px, 1fr)) auto; gap: 10px 12px; align-items: end; margin: 0 0 10px; padding: 14px 16px; border-radius: 18px; background: var(--tile); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); }
#pd-admin-hub .pw-filters .pd-pd-field { min-width: 0; }
#pd-admin-hub .pw-switch { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 16px 0 12px; border-radius: 999px; color: var(--muted); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); font-size: 13px; font-weight: 600; white-space: nowrap; cursor: pointer; -webkit-user-select: none; user-select: none; transition: color 0.2s ease; }
#pd-admin-hub .pw-switch:hover, #pd-admin-hub .pw-switch.is-on { color: var(--text); }
#pd-admin-hub .pw-switch input[type="checkbox"] { position: relative; flex: 0 0 auto; width: 34px; height: 20px; margin: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.14); box-shadow: none; -webkit-appearance: none; appearance: none; cursor: pointer; transition: background-color 0.2s ease, box-shadow 0.2s ease; }
#pd-admin-hub .pw-switch input[type="checkbox"]::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: var(--muted); transition: transform 0.2s ease, background-color 0.2s ease; }
#pd-admin-hub .pw-switch input[type="checkbox"]:checked { background: var(--amber-soft); box-shadow: inset 0 0 0 1px rgba(255, 183, 3, 0.55); }
#pd-admin-hub .pw-switch input[type="checkbox"]:checked::after { transform: translateX(14px); background: var(--amber); }
#pd-admin-hub .pw-switch input[type="checkbox"]:focus { background-color: rgba(255, 255, 255, 0.14); }
#pd-admin-hub .pw-switch input[type="checkbox"]:checked:focus { background-color: var(--amber-soft); }
#pd-admin-hub .pw-switch input[type="checkbox"]:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }

#pd-admin-hub .pw-tablebar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px 16px; margin: 0 4px 8px; color: var(--faint); font-size: 12px; }
#pd-admin-hub .pw-tablebar .pd-pd-filter-result { padding-top: 0; }

/* ---- таблица пространств: собственная прокрутка, шапка прилипает внутри неё ---- */
#pd-admin-hub .pw-table-wrap { max-width: 100%; max-height: 74vh; overflow: auto; border-radius: 16px; background: rgba(8, 11, 24, 0.5); box-shadow: inset 0 0 0 1px var(--line); -webkit-overflow-scrolling: touch; }
#pd-admin-hub .pw-table-wrap:focus-visible { outline: 2px solid rgba(146, 213, 255, 0.6); outline-offset: 2px; }
#pd-admin-hub .pw-table { width: 100%; min-width: 1060px; table-layout: fixed; border-collapse: separate; border-spacing: 0; }
#pd-admin-hub .pw-table th, #pd-admin-hub .pw-table td { padding: 11px 8px; border-bottom: 1px solid rgba(255, 255, 255, 0.06); text-align: left; vertical-align: top; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
#pd-admin-hub .pw-table th:first-child, #pd-admin-hub .pw-table td:first-child { padding-left: 16px; }
#pd-admin-hub .pw-table th:last-child, #pd-admin-hub .pw-table td:last-child { padding-right: 14px; }
#pd-admin-hub .pw-table th { position: sticky; top: 0; z-index: 2; color: var(--faint); background: #0b0e1c; font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; white-space: nowrap; }
/* ширины колонок задаёт шапка (table-layout: fixed); «Проект» забирает остаток. Сумма подобрана так, чтобы при окне
   1440 (раздел ≈ 1089px, с полосой прокрутки таблицы ≈ 1074px) таблица помещалась без горизонтальной прокрутки.
   Отдельной колонки «На проверке» нет — она не помещается в эту сумму: метка стоит в ячейке «Этап». Последняя колонка
   на широком экране вмещает «Открыть» и «Сводка» рядом; до 1640px она остаётся 56px — значки один под другим */
#pd-admin-hub .pw-col-team { width: 124px; }
#pd-admin-hub .pw-col-mentor { width: 104px; }
#pd-admin-hub .pw-col-track { width: 124px; }
#pd-admin-hub .pw-col-stage { width: 152px; }
#pd-admin-hub .pw-col-activity { width: 108px; }
#pd-admin-hub .pw-col-meet { width: 114px; }
#pd-admin-hub .pw-col-signals { width: 122px; }
#pd-admin-hub .pw-col-open { width: 204px; }
#pd-admin-hub .pw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

#pd-admin-hub .pw-row { cursor: pointer; }
#pd-admin-hub .pw-row td { transition: background-color 0.15s ease; }
#pd-admin-hub .pw-row.is-alt td { background: rgba(255, 255, 255, 0.018); }
#pd-admin-hub .pw-row:hover td { background: rgba(255, 255, 255, 0.04); }
#pd-admin-hub .pw-row.is-open td { border-bottom-color: transparent; background: rgba(146, 213, 255, 0.05); }
#pd-admin-hub .pw-row.has-warn td:first-child { box-shadow: inset 3px 0 0 var(--amber); }
#pd-admin-hub .pw-row.has-urgent td:first-child { box-shadow: inset 3px 0 0 var(--red); }
#pd-admin-hub .pw-row.is-dim td > * { opacity: 0.55; }

/* «Проект»: номер проекта — кнопка раскрытия строки, рядом название (в узкой колонке уходит под номер) */
#pd-admin-hub .pw-project { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 5px 8px; }
#pd-admin-hub .pw-code { display: inline-flex; align-items: center; gap: 5px; flex: 0 0 auto; padding: 3px 7px 3px 9px; border: 0; border-radius: 999px; color: var(--cyan); background: var(--cyan-soft); font-family: "Tektur", sans-serif; font-size: 11px; font-weight: 700; line-height: 1.3; letter-spacing: 0.02em; white-space: nowrap; cursor: pointer; }
#pd-admin-hub .pw-code svg { width: 10px; height: 10px; flex: 0 0 10px; transition: transform 0.2s ease; }
#pd-admin-hub .pw-code[aria-expanded="true"] svg { transform: rotate(180deg); }
#pd-admin-hub .pw-code:hover { background: rgba(146, 213, 255, 0.22); }
#pd-admin-hub .pw-code:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
#pd-admin-hub .pw-title { flex: 1 1 150px; min-width: 0; display: -webkit-box; overflow: hidden; color: var(--text); font-weight: 600; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; }
#pd-admin-hub .pw-name { color: var(--text); font-weight: 600; }
#pd-admin-hub .pw-sub { margin-top: 2px; color: var(--muted); font-size: 12px; }
#pd-admin-hub .pw-none { color: var(--faint); }
#pd-admin-hub .pw-warn-text { color: var(--amber); font-weight: 600; }

/* «Трек»: метка с точкой; цвета по решению владельца — новый голубой, продолжение сиреневый, стартап янтарный */
#pd-admin-hub .pr-chip.pw-track { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; }
#pd-admin-hub .pr-chip.pw-track::before { content: ""; flex: 0 0 auto; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* «Этап»: «4 из 18 · название», шкала утверждённых этапов, подпись фазы */
#pd-admin-hub .pw-stage-line { color: var(--text); font-weight: 600; }
#pd-admin-hub .pw-stage-line b { font-family: "Tektur", sans-serif; font-weight: 700; font-variant-numeric: tabular-nums; }
#pd-admin-hub .pw-meter { height: 4px; margin: 6px 0 5px; border-radius: 999px; background: rgba(146, 213, 255, 0.16); overflow: hidden; }
#pd-admin-hub .pw-meter i { display: block; height: 100%; border-radius: 999px; background: var(--cyan); }
#pd-admin-hub .pw-phase { color: var(--faint); font-size: 11px; line-height: 1.3; }
/* метка «на проверке · 5 ч»: текущий этап ждёт проверки наставника (waiting_review_hours); дольше 72 часов —
   сплошная янтарная с тёмными чернилами. Полный текст — в подсказке */
#pd-admin-hub .pw-review { margin-top: 6px; }
#pd-admin-hub .pr-chip.pw-review-chip { max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: top; box-shadow: inset 0 0 0 1px rgba(255, 183, 3, 0.4); }
#pd-admin-hub .pr-chip.pw-review-chip.is-late { color: #1d1400; background: var(--amber); box-shadow: none; }
/* подпись плитки «С сигналами» — «на проверке N»: янтарная, если кто-то ждёт дольше 72 часов */
#pd-admin-hub .pw-metrics .pd-pd-metric-note.is-late { color: var(--amber); }

/* «Активность» и «Встречи» */
#pd-admin-hub .pw-act b { margin-right: 4px; color: var(--text); font-family: "Tektur", sans-serif; font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
#pd-admin-hub .pw-act span { color: var(--muted); font-size: 12px; }
#pd-admin-hub .pw-meet b { color: var(--text); font-weight: 600; white-space: nowrap; }
#pd-admin-hub .pw-meet span { color: var(--muted); font-size: 12px; }
#pd-admin-hub .pw-meet-quiet { color: var(--muted); }
#pd-admin-hub a.pr-chip.pw-urgent { display: inline-flex; align-items: center; gap: 5px; margin-top: 5px; text-decoration: none; box-shadow: inset 0 0 0 1px rgba(255, 107, 107, 0.5); }
#pd-admin-hub a.pr-chip.pw-urgent::before { content: "!"; font-family: "Tektur", sans-serif; font-weight: 900; }
#pd-admin-hub a.pr-chip.pw-urgent:hover { background: rgba(255, 107, 107, 0.28); }

/* «Сигналы»: предупреждение — янтарная метка со знаком, заметка — серая; длинный текст обрезается,
   целиком он есть в подсказке и в подробностях строки */
#pd-admin-hub .pw-signals { display: flex; flex-wrap: wrap; gap: 4px; }
#pd-admin-hub .pr-chip.pw-signal { min-width: 0; max-width: 100%; overflow: hidden; text-overflow: ellipsis; vertical-align: top; }
#pd-admin-hub .pr-chip.pw-signal.is-amber::before { content: "! "; font-family: "Tektur", sans-serif; font-weight: 900; }

/* «Открыть» и «Сводка»: рядом, а в узкой колонке (значки) — один под другим; «Сводка» — второстепенное действие */
#pd-admin-hub .pw-actions { display: flex; flex-wrap: wrap; gap: 6px; }
#pd-admin-hub .pw-open.pw-open--summary { color: var(--muted); background: rgba(255, 255, 255, 0.06); box-shadow: inset 0 0 0 1px var(--line-hi); }
#pd-admin-hub .pw-open.pw-open--summary:hover { color: var(--text); background: rgba(255, 255, 255, 0.1); }
#pd-admin-hub .pw-open { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 32px; padding: 6px 12px; 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: 700; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background-color 0.2s ease; }
#pd-admin-hub .pw-open:hover { background: rgba(146, 213, 255, 0.24); }
#pd-admin-hub .pw-open:focus-visible { outline: 2px solid var(--cyan); outline-offset: 2px; }
#pd-admin-hub .pw-open svg { width: 13px; height: 13px; flex: 0 0 13px; }

/* ---- раскрытая строка: подробности пространства ---- */
#pd-admin-hub .pw-detail td { padding: 2px 16px 16px; background: rgba(146, 213, 255, 0.05); cursor: default; }
#pd-admin-hub .pw-detail-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 24px; padding-top: 12px; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07); }
#pd-admin-hub .pw-detail-item span { display: block; margin-bottom: 3px; color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
#pd-admin-hub .pw-detail-item b { color: var(--text); font-size: 13px; font-weight: 600; }
#pd-admin-hub .pw-detail-signals { display: grid; gap: 6px; margin: 14px 0 0; padding: 0; list-style: none; }
#pd-admin-hub .pw-detail-signals li { display: flex; align-items: baseline; gap: 9px; color: var(--muted); font-size: 13px; line-height: 1.45; }
#pd-admin-hub .pw-detail-signals li::before { content: "i"; flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; color: var(--muted); background: rgba(255, 255, 255, 0.08); font-family: "Tektur", sans-serif; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
#pd-admin-hub .pw-detail-signals li.is-warning { color: var(--text); }
#pd-admin-hub .pw-detail-signals li.is-warning::before { content: "!"; color: #04121c; background: var(--amber); }
#pd-admin-hub .pw-detail-ok { margin-top: 14px; color: var(--faint); font-size: 13px; }

/* ---- адаптив: 16:9 — основной случай; на ноутбуке кнопки «Открыть» и «Сводка» становятся значками (один под другим),
   фильтры — в две строки ---- */
@media screen and (max-width: 1640px) {
  #pd-admin-hub .pw-col-open { width: 56px; }
  #pd-admin-hub .pw-open { width: 32px; padding: 0; }
  #pd-admin-hub .pw-open span { display: none; }
}
@media screen and (max-width: 1400px) {
  #pd-admin-hub .pw-filters { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  #pd-admin-hub .pw-filters .pw-field-search { grid-column: span 2; }
  #pd-admin-hub .pw-switch { grid-column: span 2; justify-self: start; }
}
@media screen and (max-width: 1280px) {
  #pd-admin-hub .pd-pd-metrics.pw-metrics { gap: 10px; }
  #pd-admin-hub .pw-metrics .pd-pd-metric-card { padding: 16px 16px 22px; }
  #pd-admin-hub .pw-metrics .pd-pd-metric-value { font-size: 28px; }
  #pd-admin-hub .pw-tile-meter { left: 16px; right: 16px; }
}
@media screen and (max-width: 1000px) {
  #pd-admin-hub .pd-pd-metrics.pw-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  #pd-admin-hub .pw-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pw-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media screen and (max-width: 640px) {
  #pd-admin-hub .pw-head-side { width: 100%; justify-items: stretch; }
  #pd-admin-hub .pw-updated { text-align: left; }
  #pd-admin-hub .pd-pd-metrics.pw-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #pd-admin-hub .pw-filters { grid-template-columns: minmax(0, 1fr); }
  #pd-admin-hub .pw-filters .pw-field-search, #pd-admin-hub .pw-switch { grid-column: auto; }
  #pd-admin-hub .pw-strip { padding: 14px 16px; }
  #pd-admin-hub .pw-strip-head { flex-direction: column; gap: 2px; }
  /* на телефоне строка таблицы становится карточкой, подпись колонки — над значением */
  #pd-admin-hub .pw-table-wrap { max-height: none; overflow: visible; border-radius: 0; background: none; box-shadow: none; }
  #pd-admin-hub .pw-table { display: block; min-width: 0; }
  #pd-admin-hub .pw-table thead { display: none; }
  #pd-admin-hub .pw-table tbody { display: grid; gap: 10px; }
  #pd-admin-hub .pw-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 .pw-table td, #pd-admin-hub .pw-table td:first-child, #pd-admin-hub .pw-table td:last-child { display: block; padding: 9px 0; background: none !important; box-shadow: none !important; }
  #pd-admin-hub .pw-table tr td:last-child { border-bottom: 0; }
  #pd-admin-hub .pw-table td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 4px; color: var(--faint); font-size: 10px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
  #pd-admin-hub .pw-table tr.pw-row.has-warn { box-shadow: inset 0 0 0 1px rgba(255, 183, 3, 0.4); }
  #pd-admin-hub .pw-table tr.pw-row.has-urgent { box-shadow: inset 0 0 0 1px rgba(255, 107, 107, 0.5); }
  #pd-admin-hub .pw-detail { margin-top: -6px; }
  #pd-admin-hub .pw-detail-grid { grid-template-columns: minmax(0, 1fr); padding-top: 4px; box-shadow: none; }
  #pd-admin-hub .pw-open { width: auto; padding: 6px 14px; }
  #pd-admin-hub .pw-open span { display: inline; }
}
@media (prefers-reduced-motion: reduce) {
  #pd-admin-hub .pw-content, #pd-admin-hub .pw-tile-meter i, #pd-admin-hub .pw-seg, #pd-admin-hub .pw-code svg,
  #pd-admin-hub .pw-switch input[type="checkbox"], #pd-admin-hub .pw-switch input[type="checkbox"]::after { transition: none; }
}
