/* Справочник сфер (10.10.2026): оболочка — admin-shell.css, здесь только раскладка страницы. */
.sectors-admin .admin-main{max-width:1500px;width:100%}
.sectors-layout{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:16px;align-items:start}
.sectors-history{grid-column:2}
.sectors-panel{background:var(--admin-panel);border:1px solid var(--admin-line);border-radius:14px;padding:20px;min-width:0}
.sectors-panel h2{font-size:1.25rem;letter-spacing:-.015em;font-weight:600;margin:4px 0 8px;color:var(--admin-ink)}
.sectors-panel p{font-size:.8125rem;line-height:1.5;color:var(--admin-muted);margin:0 0 12px}
.sectors-loading{padding:32px 0;color:var(--admin-muted)}
.sectors-empty{padding:28px 4px;margin:0;color:var(--admin-muted);font-size:.875rem}
#access-denied{max-width:720px}

/* Ошибка висит, пока её не прочитали: role=alert, без таймера. */
.sectors-error{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 16px;border-radius:10px;margin-bottom:16px;background:#fff0ed;color:#b42318;border:1px solid #fecdca;font-size:.8125rem}
.sectors-error[hidden]{display:none}

/* Список сфер */
.sectors-index{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto}
.sectors-index-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.sector-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sector-item{width:100%;display:grid;grid-template-columns:1fr auto;gap:3px 8px;text-align:start;border:1px solid var(--admin-line);background:#fbfcfd;border-radius:10px;padding:11px 12px;cursor:pointer;color:var(--admin-ink);font:inherit;-webkit-tap-highlight-color:transparent;transition:background-color .16s ease,border-color .16s ease}
@media(hover:hover){.sector-item:hover{background:#f1f4f8}}
.sector-item.active{background:var(--admin-blue-soft);border-color:#a9c2ff}
.sector-item.archived .sector-item-name{color:var(--admin-muted)}
.sector-item:focus-visible,.icon-button:focus-visible{outline:2px solid var(--admin-blue);outline-offset:2px}
.sector-item-name{font-weight:650;font-size:.875rem;grid-column:1}
.sector-item-code{grid-column:2;grid-row:1;font:500 .6875rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;color:#8490a0}
.sector-item-meta{grid-column:1/-1;font-size:.6875rem;color:var(--admin-muted)}
.sector-item .sector-pill{grid-column:1/-1;justify-self:start}
.sector-pill{display:inline-block;font-size:.6875rem;font-weight:650;padding:3px 8px;border-radius:99px;background:#eef4ff;color:var(--admin-blue);white-space:nowrap}
.sector-pill.muted{background:#f1f4f8;color:#596579}

/* Форма */
.editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.editor-head h2{font-size:1.625rem;margin:6px 0 0}
.editor-head h2:focus{outline:none}
.editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;margin-bottom:12px}
.field,.lang-row label{display:grid;gap:6px;font-size:.75rem;font-weight:650;color:#4c5968}
.field small{font-weight:400;color:var(--admin-muted);line-height:1.4}
.sectors-admin input:not([type=checkbox]){width:100%;border:1px solid var(--admin-line);border-radius:9px;padding:10px 11px;background:#fbfcfd;color:var(--admin-ink);font:inherit;font-size:.8125rem;min-width:0}
.sectors-admin input:focus{outline:2px solid #bfd0ff;border-color:#8aa9ff}
.sectors-admin input[readonly]{background:#f3f5f8;color:#596579}
.field-set{border:1px solid var(--admin-line);border-radius:12px;padding:12px 14px 14px;margin:0 0 12px;min-width:0}
.field-set legend{padding:0 6px;font-size:.8125rem;font-weight:650;color:var(--admin-ink)}
.field-set legend small{font-weight:400;color:var(--admin-muted);margin-inline-start:6px}
.lang-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rows-head,.row-item{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:center}
.rows-head{font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;color:#8490a0;margin:2px 0 6px}
.row-list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.row-tools{display:flex;gap:4px}
.icon-button{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--admin-line);border-radius:8px;background:#fff;color:#4c5968;cursor:pointer;font-size:.875rem;line-height:1}
.icon-button:disabled{opacity:.35;cursor:default}
.icon-button.danger{color:#b42318}
@media(hover:hover){.icon-button:not(:disabled):hover{background:#f1f4f8}}
.shift-list{display:flex;flex-wrap:wrap;gap:8px 16px}
.check{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;color:#344054;cursor:pointer}
.check input{width:16px;height:16px;margin:0;accent-color:var(--admin-blue)}
.archive-warning{margin:10px 0 0!important;padding:10px 12px;border-radius:9px;background:#fffaeb;border:1px solid #fedf89;color:#93370d!important}
.form-errors{margin:0 0 12px;padding:12px 14px 12px 30px;border-radius:10px;background:#fff0ed;border:1px solid #fecdca;color:#b42318;font-size:.8125rem;line-height:1.5}
[dir="rtl"] .form-errors{padding:12px 30px 12px 14px}
.editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.save-status{font-size:.75rem;color:var(--admin-muted)}
.sectors-admin .primary{border:0;background:#111827;color:#fff;border-radius:9px;padding:11px 18px;font-weight:650;font-size:.75rem;cursor:pointer}
.sectors-admin [aria-busy="true"]{opacity:.7}

/* История */
.muted-note{font-size:.75rem!important}
.history-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--admin-line);border-radius:10px;background:#fbfcfd}
.history-item>div{display:grid;gap:2px;min-width:0}
.history-item strong{font-size:.8125rem}
.history-meta,.history-name{font-size:.6875rem;color:var(--admin-muted);overflow:hidden;text-overflow:ellipsis}
.history-item.current{background:var(--admin-blue-soft);border-color:#c9d8ff}

@media(prefers-reduced-motion:reduce){.sector-item{transition:none}}
@media(max-width:1000px){
  .sectors-layout{grid-template-columns:1fr}
  .sectors-history{grid-column:auto}
  .sectors-index{position:static;max-height:none}
}
@media(max-width:720px){
  .sectors-panel{padding:16px}
  .editor-grid,.lang-row{grid-template-columns:1fr}
  .rows-head{display:none}
  .row-item{grid-template-columns:1fr;padding:10px;border:1px solid var(--admin-line);border-radius:10px}
  .row-tools{justify-content:flex-end}
  .history-item{flex-direction:column;align-items:flex-start}
}

/* Атрибут hidden сильнее любой раскладки страницы: без этого .sectors-layout{display:grid} и .sector-pill
   показывали скрытое — пустой список с «+ Новая сфера» во время загрузки, у не-админа и рядом с ошибкой.
   Правило последнее в файле: тогда оно побеждает и по порядку (так считает jsdom в тестах), не только по весу. */
.sectors-admin [hidden]{display:none!important}
