@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter-latin-normal.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter-cyrillic-normal.woff2') format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/assets/fonts/inter-cyrillic-ext-normal.woff2') format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }

:root {
  /* ===== STEMD Hub · Mission Control — тёмный космос (по умолчанию) =====
     Палитра — из stemd.net: сигнальный синий #2997ff, графит Apple-системы,
     закатный оранжевый из главного видео сайта и фиолетовое свечение талисмана. */
  --font: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif;
  --space-0: #04050b;
  --bg: #04050b;
  --surface: rgba(17, 21, 36, .78);
  --surface-solid: #111524;
  --surface-soft: rgba(255, 255, 255, .035);
  --surface-raise: rgba(255, 255, 255, .06);
  --line: rgba(255, 255, 255, .10);
  --line-soft: rgba(255, 255, 255, .065);
  --line-strong: rgba(255, 255, 255, .22);
  --text: #eef1f8;
  --text-hover: #ffffff;
  --muted: #8f97ad;
  --muted-strong: #bcc3d6;
  --on-strong: #05060c;
  --on-strong-muted: #3b4152;
  --accent: #4da3ff;
  --accent-soft: rgba(41, 151, 255, .13);
  --accent-tint: rgba(41, 151, 255, .06);
  --accent-line: rgba(77, 163, 255, .36);
  --violet: #9d8cff;
  --mint: #3ddc97;
  --mint-soft: rgba(61, 220, 151, .12);
  --mint-tint: rgba(61, 220, 151, .05);
  --mint-line: rgba(61, 220, 151, .34);
  --orange: #ffad6b;
  --orange-soft: rgba(255, 159, 90, .13);
  --yellow: #f2cf66;
  --yellow-soft: rgba(242, 207, 102, .12);
  --warm-tint: rgba(255, 173, 107, .06);
  --warm-line: rgba(255, 173, 107, .36);
  --danger: #ff7385;
  --danger-soft: rgba(255, 99, 120, .13);
  --danger-tint: rgba(255, 99, 120, .06);
  --danger-line: rgba(255, 115, 133, .38);
  --topbar-bg: rgba(6, 8, 18, .72);
  --backdrop: rgba(2, 3, 9, .66);
  --radius: 16px;
  --shadow: 0 18px 50px rgba(0, 0, 0, .45);
  --glow: 0 0 0 1px rgba(255, 255, 255, .06), 0 20px 60px rgba(4, 8, 30, .55);
  --grad-primary: linear-gradient(135deg, #2997ff 0%, #7b6cff 100%);
}
:root[data-theme="light"] {
  --bg: #f5f5f7;
  --surface: #ffffff;
  --surface-solid: #ffffff;
  --surface-soft: #fbfbfc;
  --surface-raise: #f3f4f6;
  --line: #d8dadd;
  --line-soft: #e7e8eb;
  --line-strong: #aab0b6;
  --text: #1d1d1f;
  --text-hover: #35363a;
  --muted: #6e6e73;
  --muted-strong: #454549;
  --on-strong: #ffffff;
  --on-strong-muted: #c9c9cd;
  --accent: #1769aa;
  --accent-soft: #e7f1fa;
  --accent-tint: #f6fafd;
  --accent-line: #bfd5e4;
  --violet: #6b5bd6;
  --mint: #247a54;
  --mint-soft: #e8f4ed;
  --mint-tint: #fbfdfc;
  --mint-line: #c8e3d3;
  --orange: #9a5c22;
  --orange-soft: #fff2e5;
  --yellow: #806d14;
  --yellow-soft: #fff8d9;
  --warm-tint: #fffdf6;
  --warm-line: #f0d0ad;
  --danger: #a13c3c;
  --danger-soft: #fff0f0;
  --danger-tint: #fffafa;
  --danger-line: #ebc8c8;
  --topbar-bg: rgba(255, 255, 255, .92);
  --backdrop: rgba(29, 29, 31, .28);
  --shadow: 0 12px 30px rgba(35, 38, 42, .08);
  --glow: 0 1px 2px rgba(0, 0, 0, .04);
}

* { box-sizing: border-box; }
html { background: var(--bg); color-scheme: dark; }
:root[data-theme="light"] { color-scheme: light; }
body {
  margin: 0;
  min-width: 320px;
  background: var(--bg);
  color: var(--text);
  font-family: var(--font);
  line-height: 1.45;
  -webkit-font-smoothing: antialiased;
}
button, input, textarea { font: inherit; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }

.app-shell { min-height: 100vh; }
.topbar {
  height: 68px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
  background: var(--topbar-bg);
  position: sticky;
  top: 0;
  z-index: 10;
}
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 230px; }
.brand-mark { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; background: var(--text); color: var(--on-strong); font-weight: 700; font-size: 14px; }
.brand strong { display: block; letter-spacing: -.02em; font-size: 14px; }
.brand small { display: block; color: var(--muted); font-size: 10px; letter-spacing: .02em; margin-top: 1px; }
.topbar-center { display: flex; align-items: center; gap: 18px; color: var(--muted); font-size: 11px; }
.live-indicator { display: inline-flex; align-items: center; gap: 7px; color: var(--muted-strong); }
.live-indicator i { width: 6px; height: 6px; border-radius: 50%; background: var(--mint); }
.topbar-note { color: var(--orange); }
.profile-chip { border: 0; background: transparent; color: var(--muted-strong); display: inline-flex; align-items: center; gap: 9px; padding: 6px 0 6px 8px; }
.avatar { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #59636c; font-size: 10px; font-weight: 700; }
.profile-name { font-size: 12px; }
.chevron { color: var(--muted); font-size: 17px; line-height: 1; }
.logout-form { margin-left: 12px; }
.logout-form button { border: 0; background: transparent; color: var(--muted); font-size: 11px; padding: 6px 0; }
.logout-form button:hover { color: var(--text); }

.page-frame { width: min(1400px, calc(100% - 60px)); margin: 0 auto; padding: 42px 0 64px; }
.home-hero { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr); gap: 58px; align-items: end; padding: 38px 0 44px; }
.eyebrow { color: var(--accent); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
h1, h2, h3, p { margin: 0; }
h1 { font-size: clamp(36px, 5vw, 62px); letter-spacing: -.065em; line-height: 1.03; max-width: 720px; margin-top: 16px; font-weight: 700; }
.hero-copy { margin-top: 20px; max-width: 590px; color: var(--muted); font-size: 15px; }
.hero-aside { border-left: 1px solid var(--line); padding-left: 26px; color: var(--muted); font-size: 13px; max-width: 420px; }
.hero-aside strong { color: var(--text); font-size: 19px; display: block; margin-bottom: 8px; letter-spacing: -.035em; }

.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin: 27px 0 15px; }
.section-heading h2 { font-size: 18px; letter-spacing: -.035em; }
.section-heading p { color: var(--muted); font-size: 12px; margin-top: 4px; }
.section-heading-actions { display: flex; align-items: center; gap: 9px; }
.section-heading-actions .button { margin-bottom: 0; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--muted-strong); padding: 9px 13px; font-size: 12px; transition: background .16s ease, border-color .16s ease, transform .16s ease; }
.button:hover { border-color: var(--line-strong); background: var(--surface-soft); }
.button:active { transform: scale(.98); }
.button.primary { background: var(--text); color: var(--on-strong); border-color: var(--text); font-weight: 600; }
.button.primary:hover { background: var(--text-hover); border-color: var(--text-hover); }
.button.quiet { border-color: transparent; background: transparent; }
.button.quiet:hover { border-color: var(--line); }

.project-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.project-card { min-height: 245px; padding: 23px; text-align: left; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); position: relative; overflow: hidden; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.project-card:hover { transform: translateY(-2px); border-color: var(--line-strong); box-shadow: var(--shadow); }
.project-card::after { content: ''; position: absolute; width: 150px; height: 150px; right: -72px; bottom: -92px; border: 1px solid var(--line-strong); border-radius: 50%; box-shadow: 0 0 0 19px var(--surface-soft), 0 0 0 38px var(--surface-soft); }
.project-card-top { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.project-symbol { width: 38px; height: 38px; border-radius: 10px; display: grid; place-items: center; background: var(--text); color: var(--on-strong); font-weight: 700; font-size: 16px; }
.project-card:nth-child(2) .project-symbol { background: #3d6f91; }
.project-card:nth-child(3) .project-symbol { background: #76786d; }
.status-label { border: 1px solid var(--mint-line); border-radius: 999px; padding: 5px 8px; color: var(--mint); background: var(--mint-soft); font-size: 10px; font-weight: 600; white-space: nowrap; }
.project-card h3 { margin-top: 27px; font-size: 22px; letter-spacing: -.045em; }
.project-card p { margin-top: 6px; color: var(--muted); font-size: 12px; max-width: 390px; }
.project-card-footer { display: flex; align-items: end; justify-content: space-between; gap: 10px; margin-top: 29px; }
.project-stats { display: flex; gap: 19px; }
.project-stat strong { display: block; color: var(--text); font-size: 18px; letter-spacing: -.04em; }
.project-stat span { color: var(--muted); font-size: 10px; }
.arrow { color: var(--accent); font-size: 18px; }

.overview-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); margin-top: 27px; box-shadow: 0 1px 1px rgba(0, 0, 0, .02); }
.overview-metric { padding: 18px 20px; border-right: 1px solid var(--line-soft); }
.overview-metric:last-child { border-right: 0; }
.metric-label { display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; }
.metric-value { font-size: 25px; font-weight: 700; letter-spacing: -.05em; margin-top: 9px; }
.metric-delta { color: var(--mint); font-size: 10px; font-weight: 600; }
.metric-sub { color: var(--muted); font-size: 10px; margin-top: 4px; }

.workspace-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 34px; }
.workspace-sidebar { padding-top: 8px; }
.workspace-project { padding: 14px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.workspace-project-name { display: flex; align-items: center; gap: 9px; font-weight: 700; font-size: 13px; }
.workspace-project-name .project-symbol { width: 27px; height: 27px; border-radius: 8px; font-size: 12px; }
.workspace-project p { color: var(--muted); font-size: 10px; margin: 8px 0 0 36px; }
.nav-group { margin-top: 27px; }
.nav-label { padding: 0 12px 8px; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.nav-button { width: 100%; text-align: left; border: 0; border-left: 2px solid transparent; padding: 10px 12px; border-radius: 0 7px 7px 0; background: transparent; color: var(--muted); font-size: 12px; }
.nav-button:hover { color: var(--text); background: var(--surface); }
.nav-button.active { border-left-color: var(--accent); color: var(--text); background: var(--surface); font-weight: 600; }
.nav-count { float: right; color: var(--orange); font-size: 10px; font-weight: 600; }
.dispatcher-panel, .source-registry-panel { margin-top: 18px; }
.dispatcher-grid { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 18px; }
.dispatcher-command-stack { display: grid; gap: 10px; }
.dispatcher-lead { display: flex; gap: 14px; align-items: flex-start; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.dispatcher-controller { background: var(--surface-soft); }
.dispatcher-controller small { display: block; margin-bottom: 4px; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.dispatcher-orb { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: var(--text); color: var(--surface); font-weight: 700; }
.dispatcher-lead strong { display: block; color: var(--text); font-size: 14px; }
.dispatcher-lead p { margin: 8px 0 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.dispatcher-rules { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dispatcher-rules div, .source-row { padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.dispatcher-rules span, .source-row small { display: block; color: var(--muted); font-size: 10px; }
.dispatcher-rules strong { display: block; margin-top: 5px; color: var(--text); font-size: 11px; line-height: 1.4; }
.source-registry { display: grid; gap: 8px; }
.source-row { display: grid; grid-template-columns: 1.05fr 1fr auto; gap: 14px; align-items: center; }
.source-row strong { display: block; color: var(--text); font-size: 12px; }
.source-row span { display: block; color: var(--text); font-size: 11px; }
.source-row small { margin-top: 4px; line-height: 1.35; }
@media (max-width: 760px) { .dispatcher-grid, .source-row { grid-template-columns: 1fr; } .dispatcher-rules { grid-template-columns: 1fr; } }
.department-panel { margin-top: 18px; }
.region-panel { margin-top: 18px; }
.region-panel-compact { margin-top: 18px; }
.medoglyad-centers-panel { margin-top: 18px; }
.medoglyad-centers-panel-compact { margin-top: 18px; }
.medoglyad-centers-intro { display: flex; gap: 11px; align-items: flex-start; padding: 15px 19px; border-bottom: 1px solid var(--line-soft); background: var(--surface-soft); }
.medoglyad-centers-intro strong { display: block; color: var(--text); font-size: 12px; letter-spacing: .02em; }
.medoglyad-centers-intro p { max-width: 78ch; margin-top: 5px; color: var(--muted-strong); font-size: 10px; line-height: 1.5; }
.health-center-map { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px 19px; }
.health-center-card { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.health-center-card-pilot { border-color: var(--accent-line); background: var(--accent-tint); }
.health-center-card-head { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 9px; align-items: start; }
.health-center-card-head .domain-status { grid-column: 1 / -1; width: fit-content; margin-top: 1px; }
.health-center-emblem { display: grid; place-items: center; position: relative; width: 34px; height: 34px; border: 1px solid var(--accent-line); border-radius: 9px; background: var(--accent-tint); color: var(--accent); }
.health-center-emblem span { position: absolute; top: 3px; right: 4px; font-size: 10px; line-height: 1; }
.health-center-emblem b { margin-top: 8px; font: 700 10px 'DM Mono', monospace; letter-spacing: -.04em; }
.health-center-card strong { display: block; color: var(--text); font-size: 11px; line-height: 1.35; }
.health-center-card-head small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.health-center-agent, .health-center-report { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line-soft); }
.health-center-agent span, .health-center-report span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.health-center-agent strong, .health-center-report strong { margin-top: 4px; color: var(--muted-strong); font-size: 9px; line-height: 1.4; }
.health-center-report small { display: block; margin-top: 4px; color: var(--accent); font-size: 9px; line-height: 1.35; }
.health-center-channel-list { display: grid; gap: 5px; margin-top: 12px; }
.health-center-channel { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding-top: 6px; border-top: 1px solid var(--line-soft); }
.health-center-channel > span:first-child { color: var(--muted-strong); font-size: 9px; line-height: 1.3; }
.health-center-channel .domain-status { flex: 0 0 auto; font-size: 8px; }
@media (max-width: 980px) { .health-center-map { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .health-center-map { grid-template-columns: 1fr; } .medoglyad-centers-intro { align-items: flex-start; } }
.lviv-pilot-panel { margin-top: 18px; }
.lviv-pilot-intro { display: flex; gap: 11px; align-items: center; padding: 15px 19px; border-bottom: 1px solid var(--line-soft); background: var(--surface-soft); }
.lviv-pilot-mark { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border: 1px solid var(--accent-line); border-radius: 9px; background: var(--accent-tint); color: var(--accent); font: 700 10px 'DM Mono', monospace; }
.lviv-pilot-intro strong { display: block; color: var(--text); font-size: 12px; }
.lviv-pilot-intro p { max-width: 76ch; margin-top: 5px; color: var(--muted-strong); font-size: 10px; line-height: 1.5; }
.lviv-pilot-intro .domain-status { margin-left: auto; flex: 0 0 auto; }
.lviv-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px 19px; }
.lviv-module { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
.lviv-module-number { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--accent-line); border-radius: 8px; background: var(--accent-tint); color: var(--accent); font: 700 10px 'DM Mono', monospace; }
.lviv-module-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.lviv-module h3 { margin: 0; color: var(--text); font-size: 11px; line-height: 1.35; }
.lviv-module-head .domain-status { flex: 0 0 auto; font-size: 8px; }
.lviv-module p { margin-top: 8px; color: var(--muted-strong); font-size: 9px; line-height: 1.5; }
.lviv-module small { display: block; margin-top: 10px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.lviv-flow { padding: 0 19px 14px; }
.lviv-flow-label { padding: 12px 0 8px; border-top: 1px solid var(--line); color: var(--muted); font: 600 9px 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.lviv-flow-track { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
.lviv-flow-step { min-width: 0; padding: 10px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--surface-soft); }
.lviv-flow-step span { display: block; color: var(--accent); font: 600 8px 'DM Mono', monospace; }
.lviv-flow-step strong { display: block; margin-top: 6px; color: var(--text); font-size: 9px; line-height: 1.35; }
@media (max-width: 980px) { .lviv-flow-track { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 760px) { .lviv-pilot-intro { align-items: flex-start; flex-wrap: wrap; } .lviv-pilot-intro .domain-status { margin-left: 45px; } .lviv-module-grid { grid-template-columns: 1fr; } .lviv-flow-track { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.developer-cabinet-panel { margin-top: 18px; }
.developer-intro { display: flex; gap: 11px; align-items: flex-start; padding: 15px 19px; border-bottom: 1px solid var(--line-soft); background: var(--surface-soft); }
.developer-intro strong { display: block; color: var(--text); font-size: 12px; }
.developer-intro p { max-width: 75ch; margin-top: 5px; color: var(--muted-strong); font-size: 10px; line-height: 1.5; }
.developer-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px 19px; }
.developer-quick-card { display: grid; grid-template-columns: 31px minmax(0, 1fr); gap: 10px; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: inherit; font: inherit; text-align: left; text-decoration: none; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.developer-quick-card:hover { border-color: var(--accent-line); background: var(--accent-tint); transform: translateY(-1px); }
.developer-quick-card-static { cursor: default; }
.developer-quick-card-static:hover { border-color: var(--line); background: var(--surface); transform: none; }
.developer-quick-icon { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--surface-soft); color: var(--accent); font-size: 16px; font-weight: 700; }
.developer-quick-card strong { display: block; color: var(--text); font-size: 12px; }
.developer-quick-card small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.developer-quick-card em { display: block; margin-top: 11px; color: var(--accent); font-size: 9px; font-style: normal; font-weight: 700; }
.developer-checklist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0 19px 14px; }
.developer-checklist > div { padding: 12px 13px; border-top: 1px solid var(--line); }
.developer-checklist span { display: block; color: var(--orange); font: 600 9px 'DM Mono', monospace; }
.developer-checklist strong { display: block; margin-top: 5px; color: var(--text); font-size: 11px; }
.developer-checklist small { display: block; margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.panel-title-mark { color: var(--orange); font-size: 15px; }
.region-intro { display: flex; gap: 11px; align-items: center; padding: 15px 19px; border-bottom: 1px solid var(--line-soft); background: var(--surface-soft); }
.region-intro p { max-width: 75ch; color: var(--muted-strong); font-size: 10px; line-height: 1.5; }
.region-ai-mark { flex: 0 0 auto; width: 31px; height: 31px; font-size: 9px; }
.region-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 14px 19px; }
.region-card { min-width: 0; padding: 13px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
button.region-card { width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
button.region-card:hover { border-color: var(--accent-line); background: var(--accent-tint); transform: translateY(-1px); }
.region-card-head { display: grid; grid-template-columns: 31px 1fr; gap: 9px; align-items: start; }
.region-card-head .domain-status { grid-column: 1 / -1; width: fit-content; margin-top: 2px; }
.region-flag { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--surface-soft); font-size: 18px; line-height: 1; }
.region-card strong { display: block; color: var(--text); font-size: 12px; }
.region-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.region-source, .region-scope { margin-top: 12px; padding-top: 9px; border-top: 1px solid var(--line-soft); }
.region-source span, .region-scope span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.region-source strong, .region-scope strong { display: block; margin-top: 4px; color: var(--muted-strong); font-size: 9px; line-height: 1.35; overflow-wrap: anywhere; }
.region-open-hint { display: block; margin-top: 12px; color: var(--accent); font-size: 9px; font-weight: 700; }
.region-detail-panel { margin-top: 18px; }
.region-detail-body { padding: 18px 19px 20px; }
.region-breadcrumb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; color: var(--muted); font-size: 10px; }
.region-breadcrumb .button { padding: 7px 9px; }
.region-detail-intro { display: flex; gap: 11px; align-items: flex-start; margin-top: 18px; padding: 14px; border: 1px solid var(--line-soft); border-radius: 11px; background: var(--surface-soft); }
.region-detail-intro strong { display: block; color: var(--text); font-size: 12px; }
.region-detail-intro p { margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.region-department-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.region-department-card { display: grid; grid-template-columns: 30px 1fr auto; gap: 9px; align-items: start; min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: inherit; font: inherit; text-align: left; cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.region-department-card:hover { border-color: var(--accent-line); background: var(--accent-tint); transform: translateY(-1px); }
.region-department-icon, .region-system-icon { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: var(--accent-soft); color: var(--accent); font-size: 15px; font-weight: 700; }
.region-department-card strong { display: block; color: var(--text); font-size: 12px; }
.region-department-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.region-department-card .region-department-count { color: var(--accent); font-weight: 700; }
.region-department-arrow { color: var(--accent); font-size: 16px; }
.region-section-heading { display: flex; justify-content: space-between; gap: 12px; align-items: end; margin-top: 18px; }
.region-section-heading h3 { color: var(--text); font-size: 13px; }
.region-section-heading p { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.region-section-heading > span { flex: 0 0 auto; color: var(--muted); font-size: 9px; }
.region-agent-list { display: grid; gap: 8px; margin-top: 10px; }
.region-agent-card { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 10px; align-items: start; min-width: 0; padding: 12px 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.agent-avatar { position: relative; display: grid; place-items: center; width: 36px; height: 36px; overflow: hidden; border: 1px solid var(--line-soft); border-radius: 50%; background: var(--text); color: var(--surface); font: 600 10px 'DM Mono', monospace; cursor: pointer; }
.agent-avatar:hover { border-color: var(--accent); }
.agent-avatar img { width: 100%; height: 100%; object-fit: cover; }
.agent-avatar input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.region-agent-index { color: var(--orange); font: 600 9px 'DM Mono', monospace; }
.region-agent-card strong { display: block; color: var(--text); font-size: 11px; line-height: 1.35; }
.region-agent-card small { display: block; margin-top: 4px; color: var(--accent); font-size: 9px; }
.region-agent-card p { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.region-agent-meta { display: grid; justify-items: end; gap: 5px; }
.regional-local-status { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 9px; white-space: nowrap; }
.regional-local-status::before { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--muted); content: ''; }
.regional-local-status-working { color: var(--mint); }
.regional-local-status-working::before { background: #55af50; }
.regional-local-status-in-progress { color: var(--yellow); }
.regional-local-status-in-progress::before { background: #e2a600; }
.regional-local-status-unavailable { color: var(--danger); }
.regional-local-status-unavailable::before { background: #d45b5b; }
.regional-agent-controls { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
.regional-status-button { padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface); color: var(--muted); font-size: 9px; cursor: pointer; }
.regional-status-button:hover, .regional-status-button.active { color: var(--text); }
.regional-status-working:hover, .regional-status-working.active { border-color: var(--mint-line); background: var(--mint-tint); color: var(--mint); }
.regional-status-progress:hover, .regional-status-progress.active { border-color: var(--warm-line); background: var(--warm-tint); color: var(--yellow); }
.regional-status-unavailable:hover, .regional-status-unavailable.active { border-color: var(--danger-line); background: var(--danger-tint); color: var(--danger); }
.region-empty-state { padding: 14px; border: 1px dashed var(--line); border-radius: 10px; color: var(--muted); font-size: 10px; }
.region-system-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.region-system-card { display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: start; padding: 13px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: inherit; text-decoration: none; }
a.region-system-card { cursor: pointer; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
a.region-system-card:hover { border-color: var(--accent-line); background: var(--accent-tint); transform: translateY(-1px); }
.region-system-card > .domain-status { grid-column: 1 / -1; width: fit-content; margin-top: 2px; }
.region-system-card strong { display: block; color: var(--text); font-size: 11px; line-height: 1.35; }
.region-system-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.region-system-open { grid-column: 1 / -1; margin-top: 1px; color: var(--accent); font-size: 9px; font-style: normal; font-weight: 700; }
.region-communication-panel { margin-top: 18px; }
.communication-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; padding: 14px 19px; }
.communication-card { position: relative; display: grid; justify-items: center; align-content: center; min-height: 132px; padding: 15px 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--text); text-align: center; }
.communication-card-confirmed { border-color: transparent; color: #fff; }
.communication-card-confirmed:nth-child(1) { background: #d92f87; }
.communication-card-confirmed:nth-child(3) { background: #e83939; }
.communication-card-confirmed:nth-child(5) { background: #27a9df; }
.communication-card-review { background: var(--surface-soft); }
.communication-card-empty { background: var(--surface); }
.communication-icon { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; font-weight: 800; letter-spacing: -.03em; }
.communication-card strong { margin-top: 10px; font-size: 12px; }
.communication-card small { margin-top: 5px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.communication-card-confirmed small { color: rgba(255,255,255,.86); }
.communication-check { position: absolute; top: -7px; right: -7px; display: grid; place-items: center; width: 24px; height: 24px; border: 3px solid var(--surface); border-radius: 50%; background: #99cf00; color: #fff; font-size: 14px; font-weight: 800; }
.department-icon { color: var(--accent); font-size: 17px; font-family: inherit; }
.agent-card-mark { color: var(--accent); font-size: 9px; font-family: 'DM Mono', monospace; }
@media (max-width: 900px) { .region-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .region-department-grid, .region-system-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) { .developer-quick-grid, .developer-checklist { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .communication-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .region-grid, .region-department-grid, .region-system-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .region-intro, .region-detail-intro, .developer-intro { align-items: flex-start; } }
@media (max-width: 560px) { .communication-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .region-agent-card { grid-template-columns: 36px minmax(0, 1fr); } .region-agent-meta { grid-column: 2; justify-items: start; } .region-agent-card > .domain-status { grid-column: 2; width: fit-content; } .region-section-heading { align-items: start; flex-direction: column; gap: 5px; } }
.department-chief-panel { display: grid; grid-template-columns: 52px minmax(0, 1fr) auto; gap: 14px; align-items: center; margin-bottom: 18px; padding: 18px; border-color: var(--accent-line); background: var(--accent-tint); }
.department-chief-mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--text); color: var(--surface); font-size: 12px; font-weight: 700; }
.department-chief-panel small { display: block; color: var(--accent); font-size: 9px; font-weight: 700; }
.department-chief-panel strong { display: block; margin-top: 4px; color: var(--text); font-size: 16px; }
.department-chief-panel p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
@media (max-width: 560px) { .department-chief-panel { grid-template-columns: 44px 1fr; } .department-chief-panel > .domain-status { grid-column: 1 / -1; } }
.marketing-platforms-panel { margin-bottom: 18px; }
.marketing-platforms-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 18px; }
.marketing-platform-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); color: inherit; text-decoration: none; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.marketing-platform-card:hover { border-color: var(--accent); background: var(--accent-tint); transform: translateY(-1px); }
.marketing-platform-card strong { display: block; color: var(--text); font-size: 14px; }
.marketing-platform-card small { display: block; margin-top: 5px; color: var(--accent); font-size: 9px; font-weight: 600; }
.marketing-platform-card p { max-width: 48ch; margin: 8px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.marketing-contours { display: grid; gap: 7px; margin-top: 12px; }
.marketing-contour { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 8px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.marketing-contour b { display: block; color: var(--text); font-size: 11px; }
.marketing-contour small { color: var(--muted); font-size: 9px; line-height: 1.35; }
.marketing-contour .domain-status { flex: 0 0 auto; }
.marketing-platform-card > div:last-child { display: grid; justify-items: end; gap: 10px; }
.marketing-platform-link { display: flex; width: fit-content; text-decoration: none; white-space: nowrap; }
@media (max-width: 900px) { .marketing-platforms-grid { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .marketing-platform-card { grid-template-columns: 1fr; } .marketing-platform-card > div:last-child { justify-items: start; } }
.department-agent-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.department-agent-card { display: grid; width: 100%; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: start; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: inherit; font: inherit; text-align: left; }
button.department-agent-card { cursor: pointer; transition: border-color .16s ease, background .16s ease; }
button.department-agent-card:hover { border-color: var(--accent-line); background: var(--accent-tint); }
.department-agent-index { color: var(--orange); font: 600 11px 'DM Mono', monospace; padding-top: 2px; }
.department-agent-card strong { display: block; color: var(--text); font-size: 14px; }
.department-agent-card small { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; }
.department-agent-card p { margin: 10px 0 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
@media (max-width: 760px) { .department-agent-grid { grid-template-columns: 1fr; } }
.org-panel { margin-top: 18px; overflow: hidden; }
.domain-address a { color: var(--accent); text-decoration: none; }
.domain-address a:hover { text-decoration: underline; }
.domain-admin-link { display: inline-flex; width: fit-content; margin-top: 7px; font-size: 9px; font-weight: 700; }
.domain-admin-missing { display: block; margin-top: 7px; color: var(--muted); font-size: 9px; font-weight: 600; }
.source-open-link { display: block; width: fit-content; margin-top: 7px; color: var(--accent); font-size: 9px; font-weight: 700; text-decoration: none; }
.source-open-link:hover { text-decoration: underline; }
.infrastructure-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 20px; }
.infrastructure-card { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); }
.infrastructure-mark { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; background: var(--text); color: var(--surface); font-weight: 700; }
.infrastructure-card strong { display: block; color: var(--text); font-size: 14px; }
.infrastructure-card p { margin: 6px 0 12px; color: var(--muted); font-size: 10px; line-height: 1.45; }
.infrastructure-link { display: flex; width: fit-content; margin-top: 14px; text-decoration: none; }
@media (max-width: 760px) { .infrastructure-grid { grid-template-columns: 1fr; } }
.org-panel:fullscreen { overflow: auto; border: 0; border-radius: 0; background: var(--bg); padding: 20px; }
.org-canvas { min-height: calc(100vh - 230px); padding: 24px; overflow: auto; background: linear-gradient(var(--line-soft) 1px, transparent 1px), linear-gradient(90deg, var(--line-soft) 1px, transparent 1px), var(--surface-soft); background-size: 32px 32px; }
.org-owner { width: min(290px, 90%); margin: 0 auto; padding: 12px 16px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); text-align: center; }
.org-owner small, .org-owner span { display: block; color: var(--muted); font-size: 9px; }
.org-owner strong { display: block; margin: 4px 0; color: var(--text); font-size: 13px; }
.org-link { width: 1px; height: 20px; margin: 0 auto; background: var(--accent); }
.org-root { display: grid; width: min(470px, 94%); grid-template-columns: 46px 1fr auto; gap: 14px; align-items: center; margin: 0 auto; padding: 16px; border: 2px solid var(--text); border-radius: 14px; background: var(--surface); box-shadow: 0 8px 24px rgba(28, 37, 44, .08); }
.org-root-mark, .org-chief-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--text); color: var(--surface); font-weight: 700; }
.org-root small, .org-chief small { display: block; color: var(--muted); font-size: 9px; }
.org-root strong, .org-chief strong { display: block; margin-top: 4px; color: var(--text); font-size: 15px; }
.org-root p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.org-trunk { width: 1px; height: 24px; margin: 0 auto; background: var(--accent); }
.org-scale { display: flex; width: fit-content; max-width: 100%; gap: 8px; margin: 0 auto 24px; padding: 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); }
.org-scale span { padding: 4px 9px; color: var(--muted); font-size: 9px; white-space: nowrap; }
.org-scale b { color: var(--text); font-size: 11px; }
.org-branches { position: relative; display: grid; grid-template-columns: repeat(5, minmax(160px, 1fr)); gap: 14px; min-width: 856px; padding-top: 20px; }
.org-branches::before { content: ''; position: absolute; top: 0; left: 10%; right: 10%; height: 1px; background: var(--accent); }
.org-branch { position: relative; min-width: 0; }
.org-branch::before { content: ''; position: absolute; top: -20px; left: 50%; width: 1px; height: 20px; background: var(--accent); }
.org-chief { display: grid; width: 100%; grid-template-columns: 42px 1fr; gap: 11px; align-items: center; padding: 14px; border: 1px solid var(--accent-line); border-radius: 12px; background: var(--accent-tint); color: inherit; font: inherit; text-align: left; cursor: pointer; }
.org-chief:hover { border-color: var(--accent); }
.org-chief-mark { width: 36px; height: 36px; background: var(--accent); font-size: 12px; }
.org-chief em { display: block; margin-top: 4px; color: var(--accent); font-size: 10px; font-style: normal; }
.org-agent-list { display: grid; gap: 7px; margin-top: 12px; padding-left: 16px; border-left: 1px solid var(--line); }
.org-agent { display: grid; grid-template-columns: 24px 1fr; gap: 8px; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.org-agent > span { color: var(--orange); font: 600 9px 'DM Mono', monospace; }
.org-agent strong { display: block; color: var(--text); font-size: 10px; }
.org-agent small { display: block; margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.35; }
.medoglyad-org-top { position: relative; display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 14px; min-width: 820px; margin-bottom: 20px; }
.medoglyad-top-unit { cursor: default; }
.medoglyad-top-unit:hover { border-color: var(--accent-line); }
.org-unit-agent, .org-unit-meta { display: block; margin-top: 6px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.org-unit-agent { color: var(--accent); font-weight: 600; }
.medoglyad-department-link { height: 20px; }
.medoglyad-org-branches { grid-template-columns: repeat(8, minmax(190px, 1fr)); min-width: 1680px; }
.medoglyad-org-branches::before { left: 6.25%; right: 6.25%; }
.medoglyad-org-branch .org-chief { cursor: default; min-height: 120px; }
.medoglyad-org-branch .org-chief:hover { border-color: var(--accent-line); }
@media (max-width: 760px) { .medoglyad-org-top { grid-template-columns: repeat(3, minmax(240px, 1fr)); } .medoglyad-org-branches { grid-template-columns: repeat(8, minmax(220px, 1fr)); } }
@media (max-width: 760px) { .org-root { grid-template-columns: 42px 1fr; } .org-root .state-badge { grid-column: 1 / -1; } .org-scale { border-radius: 12px; flex-wrap: wrap; justify-content: center; } }
.sidebar-footer { border-top: 1px solid var(--line-soft); margin-top: 30px; padding: 17px 12px; }
.sidebar-footer strong { display: block; font-size: 11px; }
.sidebar-footer span { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.workspace-main { min-width: 0; }
.workspace-header { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 24px; }
.workspace-header h1 { font-size: 34px; margin-top: 9px; }
.workspace-header p { color: var(--muted); font-size: 12px; margin-top: 9px; }
.workspace-header-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: end; }

.panel { border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: 0 1px 1px rgba(0, 0, 0, .02); }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 19px; border-bottom: 1px solid var(--line-soft); }
.panel-header h2 { font-size: 14px; letter-spacing: -.02em; }
.panel-header span { color: var(--muted); font-size: 10px; }
.panel-body { padding: 18px 19px; }
.hierarchy { display: grid; grid-template-columns: 1fr 25px 1.15fr; gap: 12px; align-items: stretch; }
.hierarchy-branch { border: 1px solid var(--line); border-radius: 10px; padding: 13px; background: var(--surface-soft); }
.hierarchy-branch.orchestrator { border-color: var(--accent-line); background: var(--accent-tint); }
.branch-kicker { color: var(--muted); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.branch-title { margin-top: 9px; font-size: 14px; font-weight: 700; }
.branch-meta { margin-top: 5px; color: var(--muted); font-size: 10px; }
.branch-metrics { display: flex; gap: 17px; margin-top: 15px; }
.branch-metrics strong { display: block; font-size: 17px; letter-spacing: -.04em; }
.branch-metrics span { display: block; color: var(--muted); font-size: 9px; }
.connector { display: grid; place-items: center; color: var(--accent); font-size: 22px; }
.agent-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
.agent-mini { padding: 11px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--surface); }
.agent-mini-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.agent-mini strong { font-size: 11px; }
.agent-mini small { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; }
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--mint); margin-right: 5px; }
.status-dot.waiting { background: var(--orange); }
.status-dot.review { background: var(--yellow); }
.status-dot.paused { background: #8c949a; }
.status-text { color: var(--muted-strong); font-size: 9px; white-space: nowrap; }
.task-status { display: inline-flex; align-items: center; gap: 5px; width: fit-content; color: var(--muted-strong); font-size: 9px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.task-status i { display: block; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: var(--mint); }
.task-status-working i { background: #2f9d65; }
.task-status-finishing i { background: #d09a2a; }
.task-status-done i { background: #c55345; }
.task-status-working { color: var(--mint); }
.task-status-finishing { color: var(--yellow); }
.task-status-done { color: var(--danger); }

.dashboard-grid { display: grid; grid-template-columns: 1.14fr .86fr; gap: 14px; margin-top: 14px; }
.crm-readback-panel { margin-top: 14px; border-color: var(--accent-line); background: var(--accent-tint); }
.crm-readback-panel .panel-header { background: var(--accent-tint); }
.crm-status { display: inline-flex; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 4px 8px; font-size: 9px; font-weight: 600; white-space: nowrap; }
.crm-status.connected { color: var(--mint); border-color: var(--mint-line); background: var(--mint-soft); }
.crm-status.no_access, .crm-status.error { color: var(--danger); border-color: var(--danger-line); background: var(--danger-soft); }
.crm-status.pending { color: var(--orange); border-color: var(--warm-line); background: var(--orange-soft); }
.crm-readback-body { padding: 16px 19px; }
.crm-identity { display: flex; align-items: center; gap: 10px; }
.crm-mark { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font: 600 9px 'DM Mono', monospace; }
.crm-identity strong { display: block; font-size: 11px; }
.crm-identity small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; }
.crm-metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.crm-metrics > div { border: 1px solid var(--line-soft); border-radius: 9px; padding: 10px; background: var(--surface); }
.crm-metrics span, .crm-category-readback > span { display: block; color: var(--muted); font-size: 9px; }
.crm-metrics strong { display: block; margin-top: 4px; font-size: 17px; letter-spacing: -.04em; }
.crm-metrics small { display: block; color: var(--muted); font-size: 8px; margin-top: 2px; }
.crm-category-readback { margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line-soft); }
.crm-category-readback > div { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.crm-category-readback b { border: 1px solid var(--accent-line); border-radius: 999px; padding: 4px 7px; background: var(--accent-soft); color: var(--accent); font-size: 9px; font-weight: 500; }
.crm-readback-loading, .crm-readback-error { padding: 18px 19px; color: var(--muted); font-size: 11px; }
.crm-readback-error strong { display: block; color: var(--danger); font-size: 11px; }
.crm-readback-error p { margin-top: 5px; font-size: 10px; }
.agent-overview-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 14px; margin-bottom: 14px; align-items: start; }
.task-status-legend { margin-bottom: 14px; }
.task-status-legend-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 14px 19px; }
.task-status-legend-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 10px 11px; border: 1px solid var(--line-soft); border-radius: 9px; background: var(--surface-soft); }
.task-status-legend-list small { color: var(--muted); font-size: 9px; text-align: right; }
.agent-panels-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .75fr); gap: 14px; margin-top: 14px; align-items: start; }
.agents-panel { grid-column: 1 / -1; }
.agent-panels-grid .agents-panel { min-width: 0; }
.medoglyad-agents-panel { border-color: var(--accent-line); background: var(--accent-tint); }
.medoglyad-agents-panel .panel-header { background: var(--accent-tint); }
.medoglyad-agents-body { padding: 16px 19px 3px; }
.medoglyad-agent-group + .medoglyad-agent-group { margin-top: 17px; }
.medoglyad-agent-group-title { color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.medoglyad-agent-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin-top: 8px; }
.medoglyad-agent-card { border: 1px solid var(--line-soft); border-radius: 10px; padding: 11px; background: var(--surface); }
.medoglyad-agent-card-head { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.medoglyad-agent-card .agent-name { align-items: start; }
.medoglyad-agent-card .agent-icon { width: 28px; height: 28px; font-size: 9px; }
.medoglyad-agent-card .agent-avatar { width: 28px; height: 28px; font-size: 8px; }
.medoglyad-agent-card .agent-name strong { font-size: 11px; }
.medoglyad-agent-card .agent-name small { font-size: 9px; }
.medoglyad-agent-card > p { min-height: 29px; margin-top: 9px; color: var(--muted); font-size: 10px; line-height: 1.4; }
.agent-card-status { display: grid; justify-items: end; gap: 3px; }
.agent-card-status small, .agent-local-state { color: var(--accent); font-size: 8px; }
.agent-controls { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 9px; }
.agent-control { border: 1px solid var(--line); border-radius: 6px; padding: 4px 6px; color: var(--accent); background: var(--surface-soft); font-size: 8px; cursor: pointer; }
.agent-control:hover { border-color: var(--accent); }
.agent-control:disabled { color: var(--muted); background: var(--surface); cursor: default; opacity: .65; }
.agent-control.danger { color: var(--danger); }
.medoglyad-agent-task { margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--line-soft); }
.medoglyad-agent-task span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .06em; }
.medoglyad-agent-task .task-status { margin-top: 4px; text-transform: none; letter-spacing: 0; }
.medoglyad-agent-task strong { display: block; margin-top: 3px; color: var(--muted-strong); font-size: 10px; line-height: 1.35; }
.agent-subsection-label { grid-column: 1 / -1; padding: 12px 19px 9px; border-bottom: 1px solid var(--line-soft); background: var(--mint-tint); color: var(--mint); font-size: 9px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.system-roles-panel { border-color: var(--mint-line); background: var(--mint-tint); }
.system-roles-panel .panel-header { background: var(--mint-tint); }
.system-role-list { display: grid; gap: 8px; padding: 13px 15px; }
.system-role-card { padding: 10px; border: 1px solid var(--mint-line); border-radius: 9px; background: var(--surface); }
.system-role-head { display: flex; align-items: start; justify-content: space-between; gap: 8px; }
.system-role-card .agent-icon { width: 27px; height: 27px; font-size: 9px; }
.system-role-card .agent-name strong { font-size: 10px; }
.system-role-card .agent-name small { font-size: 8px; }
.system-role-task { margin-top: 8px; padding-top: 7px; border-top: 1px solid var(--line-soft); }
.system-role-task span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .05em; }
.system-role-task strong { display: block; margin-top: 3px; color: var(--muted-strong); font-size: 9px; line-height: 1.35; }
.my-agents-panel { border-color: var(--mint-line); background: var(--mint-tint); }
.my-agents-panel .panel-header { background: var(--mint-tint); }
.panel-kicker { color: var(--mint); font-size: 10px; margin-top: 4px; }
.my-agents-body { padding: 16px 18px; }
.my-agents-intro { display: flex; gap: 10px; align-items: flex-start; padding-bottom: 14px; border-bottom: 1px solid var(--mint-line); }
.my-agents-mark { width: 31px; height: 31px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: var(--mint-tint); color: var(--mint); font: 600 10px 'DM Mono', monospace; }
.my-agents-intro strong { display: block; font-size: 11px; }
.my-agents-intro p { color: var(--muted); font-size: 10px; line-height: 1.45; margin-top: 5px; }
.my-agents-slots { display: grid; gap: 8px; margin-top: 14px; }
.my-agent-slot { display: grid; grid-template-columns: 24px 1fr auto; gap: 9px; align-items: center; padding: 10px; border: 1px dashed var(--mint-line); border-radius: 8px; background: var(--surface); }
.slot-index { color: var(--mint); font: 500 10px 'DM Mono', monospace; }
.my-agent-slot strong { display: block; color: var(--muted-strong); font-size: 10px; }
.my-agent-slot small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; }
.agent-table { display: grid; }
.agent-row { display: grid; grid-template-columns: 1.08fr .9fr .92fr .95fr .62fr .5fr .58fr; gap: 12px; align-items: center; padding: 14px 19px; border-bottom: 1px solid var(--line-soft); }
.agent-row > .agent-name { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 9px; align-items: start; }
.agent-row > .agent-name > div { min-width: 0; }
.agent-row > .agent-name .agent-controls { grid-column: 1 / -1; margin-top: 6px; }
.agent-row > .agent-name .agent-control { padding: 3px 5px; font-size: 7px; }
.agent-row:last-child { border-bottom: 0; }
.agent-row.header { padding-top: 11px; padding-bottom: 10px; color: var(--muted); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.agent-name { display: flex; align-items: center; gap: 10px; min-width: 0; }
.agent-icon { width: 31px; height: 31px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 9px; background: var(--accent-soft); color: var(--accent); font-size: 12px; font-weight: 700; }
.agent-name strong { display: block; font-size: 12px; }
.agent-name small { display: block; color: var(--muted); font-size: 9px; margin-top: 2px; }
.agent-cell { color: var(--muted-strong); font-size: 11px; }
.agent-cell .task-status { display: flex; margin-bottom: 4px; }
.agent-process { display: block; }
.provider-cell strong { display: block; color: var(--muted-strong); font-size: 10px; font-weight: 600; }
.provider-cell small { display: block; color: var(--muted); font-size: 9px; margin-top: 2px; }
.mono { font-size: 11px; font-variant-numeric: tabular-nums; }
.efficiency { display: inline-flex; align-items: center; gap: 5px; color: var(--mint); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.efficiency::before { content: ''; width: 5px; height: 5px; border-radius: 50%; background: currentColor; }

.chart-wrap { padding: 4px 0 0; }
.chart-legend { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; margin-bottom: 14px; }
.chart-legend strong { color: var(--text); font-size: 17px; letter-spacing: -.04em; }
.chart-bars { height: 132px; display: flex; align-items: end; gap: 7px; border-bottom: 1px solid var(--line); padding: 0 3px; }
.bar-group { display: flex; flex-direction: column; justify-content: end; align-items: center; gap: 7px; height: 100%; flex: 1; }
.bar { width: 100%; max-width: 22px; border-radius: 4px 4px 0 0; background: #93bedd; min-height: 6px; }
.bar.alt { background: #e6b07b; }
.bar-label { color: var(--muted); font-size: 9px; }
.chart-foot { display: flex; gap: 15px; margin-top: 12px; color: var(--muted); font-size: 10px; }
.chart-foot b { display: inline-block; width: 7px; height: 7px; border-radius: 2px; background: #93bedd; margin-right: 5px; }
.chart-foot b.orange { background: #e6b07b; }
.donut-panel { display: grid; grid-template-columns: 145px 1fr; gap: 16px; align-items: center; }
.donut { width: 126px; height: 126px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#74b493 0 68%, #e6b07b 68% 87%, #b7bdc2 87% 100%); position: relative; }
.donut::after { content: ''; position: absolute; inset: 13px; background: var(--surface); border-radius: 50%; }
.donut-center { z-index: 1; text-align: center; }
.donut-center strong { display: block; font-size: 24px; letter-spacing: -.05em; }
.donut-center span { color: var(--muted); font-size: 9px; }
.legend-list { display: grid; gap: 11px; }
.legend-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 10px; }
.legend-item span:first-child::before { content: ''; display: inline-block; width: 7px; height: 7px; border-radius: 2px; background: #74b493; margin-right: 7px; }
.legend-item:nth-child(2) span:first-child::before { background: #e6b07b; }
.legend-item:nth-child(3) span:first-child::before { background: #b7bdc2; }
.legend-item strong { color: var(--text); font-size: 11px; font-variant-numeric: tabular-nums; }

.task-list, .approval-list, .activity-list, .integration-list { display: grid; }
.task-row, .approval-row, .activity-row, .integration-row { display: grid; gap: 12px; align-items: center; padding: 14px 19px; border-bottom: 1px solid var(--line-soft); }
.task-row:last-child, .approval-row:last-child, .activity-row:last-child, .integration-row:last-child { border-bottom: 0; }
.task-row { grid-template-columns: 1fr .68fr .55fr .6fr; }
.task-title strong, .approval-title strong, .integration-title strong { display: block; font-size: 11px; }
.task-title small, .approval-title small, .integration-title small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; }
.task-source-status { display: block; color: var(--muted); font-size: 8px; margin-top: 4px; }
.state-badge { display: inline-flex; align-items: center; width: fit-content; border: 1px solid var(--line); border-radius: 999px; color: var(--muted-strong); padding: 4px 7px; background: var(--surface-soft); font-size: 9px; font-weight: 600; white-space: nowrap; }
.state-badge.active { color: var(--mint); border-color: var(--mint-line); background: var(--mint-soft); }
.state-badge.review { color: var(--yellow); border-color: var(--warm-line); background: var(--yellow-soft); }
.state-badge.waiting { color: var(--orange); border-color: var(--warm-line); background: var(--orange-soft); }
.task-context { color: var(--muted); font-size: 10px; }
.task-action { text-align: right; }
.inline-action { border: 0; background: transparent; color: var(--accent); font-size: 10px; padding: 4px; }
.inline-action:hover { text-decoration: underline; }

.approval-row { grid-template-columns: 1fr .58fr .72fr auto; }
.approval-row.urgent { background: var(--warm-tint); }
.approval-type { color: var(--orange); font-size: 9px; font-weight: 600; }
.approval-time { color: var(--muted); font-size: 10px; }
.approval-actions { display: flex; gap: 6px; }
.approval-actions .button { padding: 6px 8px; font-size: 10px; }
.button.approve { color: var(--mint); border-color: var(--mint-line); background: var(--mint-soft); }
.button.reject { color: var(--danger); border-color: var(--danger-line); background: var(--danger-soft); }

.activity-row { grid-template-columns: 28px 1fr auto; }
.activity-icon { width: 27px; height: 27px; border: 1px solid var(--line); border-radius: 8px; display: grid; place-items: center; color: var(--accent); font-size: 10px; font-weight: 700; }
.activity-copy strong { display: block; font-size: 10px; font-weight: 600; }
.activity-copy small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; }
.activity-time { color: var(--muted); font-size: 9px; white-space: nowrap; }

.integration-row { grid-template-columns: 1fr .68fr .72fr .55fr; }
.integration-name { display: flex; align-items: center; gap: 9px; }
.integration-icon { width: 28px; height: 28px; border-radius: 8px; display: grid; place-items: center; color: var(--orange); background: var(--orange-soft); font-size: 9px; font-weight: 600; }
.integration-cell { color: var(--muted); font-size: 10px; }
.integration-cell strong { color: var(--muted-strong); display: block; font-size: 10px; font-weight: 500; }
.secure-note { display: flex; gap: 9px; align-items: center; color: var(--muted); font-size: 10px; padding: 14px 19px; border-top: 1px solid var(--line-soft); }
.secure-note b { color: var(--mint); font-weight: 600; }

.domain-list { display: grid; }
.domain-row { display: grid; grid-template-columns: 1.15fr 1fr .85fr .7fr .85fr; gap: 12px; align-items: center; padding: 14px 19px; border-bottom: 1px solid var(--line-soft); }
.domain-row:last-child { border-bottom: 0; }
.domain-head { padding-top: 11px; padding-bottom: 10px; color: var(--muted); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .07em; }
.domain-address strong { display: block; color: var(--accent); font-size: 11px; font-weight: 600; overflow-wrap: anywhere; }
.domain-address small { display: block; color: var(--muted); font-size: 9px; margin-top: 3px; }
.domain-cell { color: var(--muted-strong); font-size: 10px; }
.domain-status { display: inline-block; border: 1px solid var(--line); border-radius: 999px; padding: 4px 7px; background: var(--surface-soft); color: var(--muted); font-size: 9px; font-weight: 600; }
.domain-status.planned { color: var(--orange); border-color: var(--warm-line); background: var(--orange-soft); }
.domain-status.confirmed { color: var(--mint); border-color: var(--mint-line); background: var(--mint-soft); }
.domain-status.unverified { color: var(--yellow); border-color: var(--warm-line); background: var(--yellow-soft); }
.domain-status.not-connected { color: var(--danger); border-color: var(--danger-line); background: var(--danger-soft); }
.domain-status.documented { color: var(--accent); border-color: var(--accent-line); background: var(--accent-soft); }

.where-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 14px; }
.where-card { border: 1px solid var(--line-soft); border-radius: 11px; background: var(--surface-soft); padding: 15px; }
.where-card-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.where-status { display: grid; justify-items: end; gap: 4px; }
.where-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 17px; padding-top: 14px; border-top: 1px solid var(--line-soft); }
.where-details span { display: block; color: var(--muted); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; }
.where-details strong { display: block; color: var(--muted-strong); font-size: 10px; font-weight: 500; margin-top: 4px; }

.empty-state { min-height: 180px; display: grid; place-items: center; text-align: center; color: var(--muted); padding: 24px; }
.empty-state strong { display: block; color: var(--text); font-size: 13px; margin-bottom: 5px; }
.empty-state p { font-size: 11px; }

.modal-backdrop { position: fixed; inset: 0; background: var(--backdrop); display: grid; place-items: center; padding: 20px; z-index: 20; }
.modal { width: min(480px, 100%); border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.modal-header { display: flex; align-items: start; justify-content: space-between; gap: 14px; padding: 20px 21px 14px; }
.modal-header h2 { font-size: 18px; letter-spacing: -.04em; }
.modal-header p { color: var(--muted); font-size: 11px; margin-top: 4px; }
.close-button { border: 0; background: transparent; color: var(--muted); font-size: 20px; }
.modal-form { padding: 0 21px 21px; }
.field { display: grid; gap: 7px; margin-top: 15px; }
.field label { color: var(--muted-strong); font-size: 11px; }
.field input, .field textarea { border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); color: var(--text); padding: 10px 11px; outline: none; }
.field textarea { resize: vertical; min-height: 80px; }
.field input::placeholder, .field textarea::placeholder { color: var(--muted); }
.field input:focus, .field textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.form-actions { display: flex; justify-content: end; gap: 8px; margin-top: 20px; }
.toast { position: fixed; right: 22px; bottom: 22px; max-width: 320px; background: var(--text); color: var(--on-strong); border-radius: 9px; padding: 11px 14px; font-size: 11px; box-shadow: var(--shadow); transform: translateY(18px); opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; z-index: 30; }
.toast.show { transform: translateY(0); opacity: 1; }

@media (max-width: 1040px) {
  .page-frame { width: min(100% - 36px, 820px); }
  .topbar { padding: 0 18px; }
  .topbar-center { display: none; }
  .project-grid { grid-template-columns: 1fr 1fr; }
  .workspace-layout { grid-template-columns: 1fr; gap: 20px; }
  .workspace-sidebar { display: grid; grid-template-columns: 210px 1fr; gap: 20px; align-items: start; }
  .nav-group { margin-top: 0; }
  .sidebar-footer { display: none; }
  .dashboard-grid { grid-template-columns: 1fr; }
  .agent-panels-grid { grid-template-columns: 1fr; }
  .agent-overview-grid { grid-template-columns: 1fr; }
  .agents-panel { grid-column: auto; }
  .crm-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .medoglyad-agent-cards { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .page-frame { width: calc(100% - 28px); padding-top: 20px; }
  .topbar { height: 64px; }
  .profile-name, .chevron { display: none; }
  .logout-form { margin-left: 8px; }
  .brand { min-width: 0; }
  .home-hero { grid-template-columns: 1fr; gap: 22px; padding-top: 25px; }
  h1 { font-size: 42px; }
  .hero-aside { border-left: 0; border-top: 1px solid var(--line); padding: 17px 0 0; }
  .project-grid { grid-template-columns: 1fr; }
  .overview-strip { grid-template-columns: repeat(2, 1fr); }
  .overview-metric:nth-child(2) { border-right: 0; }
  .overview-metric:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .workspace-sidebar { grid-template-columns: 1fr; }
  .nav-group { margin-top: 5px; }
  .workspace-header { display: block; }
  .workspace-header h1 { font-size: 31px; }
  .workspace-header-actions { justify-content: start; margin-top: 16px; }
  .hierarchy { grid-template-columns: 1fr; }
  .connector { transform: rotate(90deg); height: 12px; }
  .agent-row { grid-template-columns: 1.25fr .95fr .7fr; }
  .agent-row > :nth-child(2), .agent-row > :nth-child(4), .agent-row > :nth-child(5), .agent-row > :nth-child(6) { display: none; }
  .agent-row.header > :nth-child(2), .agent-row.header > :nth-child(4), .agent-row.header > :nth-child(5), .agent-row.header > :nth-child(6) { display: none; }
  .task-row, .approval-row, .integration-row { grid-template-columns: 1fr auto auto; }
  .task-row > :nth-child(2), .approval-row > :nth-child(2), .integration-row > :nth-child(2), .integration-row > :nth-child(3) { display: none; }
  .task-status-legend-list { grid-template-columns: 1fr; }
  .domain-row { grid-template-columns: 1fr auto; }
  .domain-row > :nth-child(2), .domain-row > :nth-child(3), .domain-row > :nth-child(4) { display: none; }
  .task-action, .approval-actions { text-align: right; }
  .donut-panel { grid-template-columns: 1fr; justify-items: center; }
  .legend-list { width: 100%; }
  .section-heading { align-items: start; flex-direction: column; }
  .where-list { grid-template-columns: 1fr; padding: 10px; }
  .where-details { grid-template-columns: 1fr; }
  .crm-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
.demo-label { color: var(--orange); }
.draft-details { display: grid; gap: 14px; padding: 20px 0; }
.draft-field { border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; background: var(--paper); }
.draft-field span { display: block; margin-bottom: 6px; color: var(--muted); font: 500 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .06em; }
.draft-field p { margin: 0; line-height: 1.55; }

/* ===== Контур МЕДОГЛЯД+: отделы и агенты в работе (medoglyad-ops.js) ===== */
.mg-banner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 2fr) auto; gap: 18px; align-items: center; padding: 16px 19px; margin-bottom: 18px; }
.mg-banner-main { display: flex; gap: 11px; align-items: flex-start; }
.mg-banner-main strong { font-size: 13px; }
.mg-banner-main p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
.mg-dot { width: 9px; height: 9px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--orange); box-shadow: 0 0 0 4px var(--orange-soft); }
.mg-banner.ready .mg-dot { background: var(--mint); box-shadow: 0 0 0 4px var(--mint-soft); }
.mg-banner-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.mg-banner-stats div { border-left: 1px solid var(--line-soft); padding-left: 11px; position: relative; }
.mg-banner-stats span { display: block; color: var(--muted); font-size: 10px; }
.mg-banner-stats strong { font-size: 15px; letter-spacing: -.02em; }
.mg-banner-stats i { display: block; height: 3px; margin-top: 5px; border-radius: 3px; background: linear-gradient(90deg, var(--text) var(--w), var(--line-soft) var(--w)); }
.mg-banner-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.mg-top-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 18px; margin-bottom: 18px; }
.mg-report-body { padding: 14px 19px; max-height: 360px; overflow: auto; }
.mg-card-foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 10px 19px 14px; border-top: 1px solid var(--line-soft); }
.mg-card-foot small { color: var(--muted); font-size: 10px; }
.mg-card-foot span { display: flex; gap: 6px; }
.mg-dep-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 16px 19px; }
.mg-dep-card { text-align: left; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-soft); padding: 13px; display: flex; flex-direction: column; gap: 3px; transition: border-color .16s ease, transform .16s ease; color: var(--text); }
.mg-dep-card:hover { border-color: var(--line-strong); transform: translateY(-1px); }
.mg-dep-top { display: flex; justify-content: space-between; gap: 8px; }
.mg-dep-top strong { font-size: 12.5px; }
.mg-dep-top span { color: var(--muted); font-size: 10px; border: 1px solid var(--line); border-radius: 999px; padding: 1px 7px; height: fit-content; }
.mg-dep-card small { color: var(--muted-strong); font-size: 10.5px; }
.mg-dep-card em { color: var(--accent); font-style: normal; font-size: 10.5px; }
.mg-dots { display: flex; gap: 4px; margin-top: 7px; }
.mg-status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--line); display: inline-block; flex: none; }
.mg-status-dot.ok { background: var(--mint); }
.mg-status-dot.pending { background: var(--orange); }
.mg-status-dot.error { background: var(--danger); }
.mg-status-dot.busy { background: var(--accent); animation: mgPulse 1.2s infinite; }
.mg-dep-foot { color: var(--muted); font-size: 10px; margin-top: 6px; }
.mg-dep-foot .err { color: var(--danger); font-weight: 600; }
.mg-dep-foot .pend { color: var(--orange); font-weight: 600; }
.mg-pulse { animation: mgPulse 1.2s infinite; }
@keyframes mgPulse { 50% { opacity: .45; } }
.mg-chief-row { padding: 16px 19px 0; }
.mg-agent-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; padding: 14px 19px 18px; }
.mg-agent { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 14px; display: flex; flex-direction: column; gap: 9px; }
.mg-agent.chief { background: var(--surface-soft); border-style: dashed; }
.mg-agent-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.mg-agent-head > .domain-status { flex: none; white-space: nowrap; }
.mg-agent-head .agent-name small { display: block; color: var(--muted); font-size: 10px; }
.mg-mission { margin: 0; color: var(--muted-strong); font-size: 11.5px; }
.mg-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.mg-meta span { font-size: 9.5px; color: var(--muted); border: 1px solid var(--line-soft); border-radius: 6px; padding: 2px 6px; }
.mg-meta .mg-meta-hot { color: var(--orange); border-color: var(--warm-line); background: var(--orange-soft); }
.mg-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.mg-chip { font-size: 9.5px; border-radius: 999px; padding: 2px 8px; background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent-line); }
.mg-chip.ok { background: var(--mint-soft); color: var(--mint); border-color: var(--mint-line); }
.mg-chip.bad { background: var(--danger-soft); color: var(--danger); border-color: var(--danger-line); }
.mg-chip.empty { background: var(--surface-soft); color: var(--muted); border-color: var(--line); }
.mg-last { border-radius: 9px; background: var(--surface-soft); border: 1px solid var(--line-soft); padding: 9px 10px; display: grid; gap: 3px; }
.mg-last.error { background: var(--danger-soft); border-color: var(--danger-line); }
.mg-last.empty strong { color: var(--muted); font-weight: 500; }
.mg-last-head { display: flex; justify-content: space-between; align-items: center; }
.mg-last-head span { color: var(--muted); font-size: 10px; }
.mg-last strong { font-size: 11.5px; font-weight: 600; }
.mg-last small { color: var(--accent); font-size: 10px; }
.mg-input textarea, .modal-form select { width: 100%; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-soft); padding: 9px 10px; font-size: 12px; resize: vertical; outline: none; }
.mg-input textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-soft); }
.mg-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: auto; }
.mg-actions .button[disabled], .mg-banner-actions .button[disabled], .mg-card-foot .button[disabled] { opacity: .55; cursor: progress; }
.mg-row { display: flex; justify-content: space-between; gap: 16px; padding: 13px 19px; border-bottom: 1px solid var(--line-soft); align-items: center; }
.mg-row-main { min-width: 0; }
.mg-row-main strong { font-size: 12px; }
.mg-row-main p { margin: 2px 0; color: var(--muted-strong); font-size: 11.5px; overflow-wrap: anywhere; }
.mg-row-main small { color: var(--muted); font-size: 10px; }
.mg-row-side { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; justify-content: flex-end; flex: none; }
.mg-log-row { display: grid; grid-template-columns: 12px minmax(0, 2.4fr) .8fr 1fr .8fr .8fr auto; gap: 12px; align-items: center; padding: 11px 19px; border-bottom: 1px solid var(--line-soft); }
.mg-log-cell { color: var(--muted); font-size: 10.5px; }
.mg-markdown { font-size: 12.5px; color: var(--text); }
.mg-markdown p { margin: 0 0 8px; }
.mg-markdown h4 { margin: 14px 0 6px; font-size: 12.5px; letter-spacing: -.01em; }
.mg-markdown h4:first-child { margin-top: 0; }
.mg-markdown ul, .mg-markdown ol { margin: 0 0 10px; padding-left: 18px; }
.mg-markdown li { margin: 3px 0; }
.mg-markdown a { color: var(--accent); text-decoration: underline; text-underline-offset: 2px; }
.mg-markdown code { background: var(--surface-soft); border: 1px solid var(--line-soft); border-radius: 5px; padding: 0 4px; font-size: 11px; }
.mg-markdown .mg-route { color: var(--accent); font-size: 11px; }
.mg-table-wrap { overflow-x: auto; margin: 0 0 10px; }
.mg-markdown table { border-collapse: collapse; font-size: 11.5px; min-width: 100%; }
.mg-markdown td { border: 1px solid var(--line-soft); padding: 5px 7px; vertical-align: top; }
.mg-markdown tr:first-child td { font-weight: 600; background: var(--surface-soft); }
.mg-clamp { max-height: 320px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 80%, transparent); mask-image: linear-gradient(#000 80%, transparent); }
.mg-muted { color: var(--muted); font-size: 12px; margin: 0; }
.mg-error { color: var(--danger); font-size: 12px; margin: 0; }
.mg-modal { width: min(820px, calc(100vw - 32px)); max-height: calc(100vh - 48px); display: flex; flex-direction: column; }
.mg-modal-chips { padding: 10px 22px 0; }
.mg-modal-body { padding: 16px 22px; overflow: auto; flex: 1; }
.mg-modal-foot { display: flex; gap: 8px; justify-content: flex-end; align-items: center; padding: 12px 22px 18px; border-top: 1px solid var(--line-soft); flex-wrap: wrap; }
.mg-input-view { margin: 10px 22px 0; font-size: 11.5px; color: var(--muted-strong); }
.mg-input-view summary { cursor: pointer; color: var(--muted); }
.mg-pre { white-space: pre-wrap; font: 11.5px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; background: var(--surface-soft); border: 1px solid var(--line-soft); border-radius: 9px; padding: 12px; margin: 0; }
@media (max-width: 1180px) {
  .mg-banner { grid-template-columns: 1fr; }
  .mg-banner-actions { justify-content: flex-start; }
  .mg-top-grid { grid-template-columns: 1fr; }
  .mg-dep-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .mg-banner-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-dep-grid { grid-template-columns: 1fr; }
  .mg-agent-grid { grid-template-columns: 1fr; }
  .mg-row { flex-direction: column; align-items: stretch; }
  .mg-row-side { justify-content: flex-start; }
  .mg-log-row { grid-template-columns: 12px minmax(0, 1fr) auto; }
  .mg-log-row .mg-log-cell { display: none; }
}

.mg-status-dot.off { background: transparent; border: 1px dashed var(--line-strong); }
.mg-agent-off { background: var(--surface-soft); opacity: .78; }
.mg-off-badge { color: var(--muted); border-style: dashed; }

/* ===== Медогляд: процессы, реестр агентов, оргструктура (03.10.2026) ===== */
.nav-label.nav-sub { padding-top: 14px; }
.mg-status-dot.silent { background: #9cc0dd; }
.mg-status-dot.none { background: var(--line); }
.mg-coverage { margin-bottom: 18px; }
.mg-coverage-bar { display: flex; height: 10px; margin: 16px 19px 10px; border-radius: 6px; overflow: hidden; background: var(--line-soft); }
.mg-coverage-bar i, .mg-coverage-legend i { display: block; height: 100%; }
.mg-cov-served { background: var(--mint); }
.mg-cov-idle { background: #d9c45a; }
.mg-cov-silent { background: #9cc0dd; }
.mg-cov-error { background: var(--danger); }
.mg-cov-gap { background: #e7a3a3; }
.mg-coverage-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 0 19px 14px; font-size: 11px; color: var(--muted-strong); }
.mg-coverage-legend span { display: inline-flex; align-items: center; gap: 6px; }
.mg-coverage-legend i { width: 9px; height: 9px; border-radius: 3px; }
.mg-coverage-problems { padding: 11px 19px 14px; border-top: 1px solid var(--line-soft); font-size: 11.5px; color: var(--muted-strong); }
.mg-link { border: 0; background: none; padding: 0; color: var(--danger); text-decoration: underline; text-underline-offset: 2px; font-size: 11.5px; }
.mg-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.mg-tile { padding: 14px 18px; border-right: 1px solid var(--line-soft); }
.mg-tile:last-child { border-right: 0; }
.mg-tile span { display: block; color: var(--muted); font-size: 10.5px; }
.mg-tile strong { font-size: 22px; letter-spacing: -.03em; }
.mg-tile.ok strong { color: var(--mint); }
.mg-tile.idle strong { color: var(--yellow); }
.mg-tile.silent strong { color: var(--accent); }
.mg-tile.err strong { color: var(--danger); }
.mg-process-panel { margin-top: 18px; }
.mg-stage { padding: 4px 0 8px; }
.mg-stage-title { padding: 14px 19px 6px; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.mg-process { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 18px; margin: 0 19px 10px; padding: 14px; border: 1px solid var(--line); border-left-width: 4px; border-radius: 12px; background: var(--surface); }
.mg-process.served { border-left-color: var(--mint); }
.mg-process.idle { border-left-color: var(--warm-line); }
.mg-process.silent { border-left-color: var(--accent-line); }
.mg-process.error, .mg-process.gap { border-left-color: var(--danger); background: var(--danger-tint); }
.mg-process-head { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.mg-process-head strong { font-size: 13px; }
.mg-process-head .domain-status { flex: none; white-space: nowrap; }
.mg-process-main p { margin: 4px 0; color: var(--muted-strong); font-size: 11.5px; }
.mg-process-main small { color: var(--muted); font-size: 10.5px; }
.mg-gap-note { margin-top: 8px; padding: 7px 9px; border-radius: 8px; background: var(--danger-soft); color: var(--danger); font-size: 11px; }
.mg-process.served .mg-gap-note, .mg-process.idle .mg-gap-note, .mg-process.silent .mg-gap-note { background: var(--yellow-soft); color: var(--yellow); }
.mg-process-label { color: var(--muted); font-size: 9.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 5px; }
.mg-process-label + .mg-agent-chips, .mg-process-label + .mg-chips { margin-bottom: 10px; }
.mg-agent-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mg-agent-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface-soft); padding: 4px 10px; font-size: 11px; color: var(--text); }
.mg-agent-chip:hover { border-color: var(--line-strong); }
.mg-agent-chip em, .mg-org-agent em { font-style: normal; color: var(--accent); font-size: 9.5px; }
.mg-process-connect { padding: 5px 0; font-size: 11px; color: var(--accent); }
.mg-filters { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 19px; border-bottom: 1px solid var(--line-soft); }
.mg-filter { border: 1px solid var(--line); border-radius: 999px; background: var(--surface); padding: 5px 11px; font-size: 11px; color: var(--muted-strong); }
.mg-filter b { color: var(--muted); font-weight: 600; margin-left: 3px; }
.mg-filter.active { background: var(--text); color: var(--on-strong); border-color: var(--text); }
.mg-filter.active b { color: var(--on-strong-muted); }
.mg-reg-row { display: grid; grid-template-columns: 12px minmax(0, 2.6fr) 1.1fr 1fr .8fr 1fr auto; gap: 12px; align-items: center; padding: 11px 19px; border-bottom: 1px solid var(--line-soft); }
.mg-reg-head { color: var(--muted); font-size: 9.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding-top: 9px; padding-bottom: 9px; }
.mg-reg-row .mg-row-main small { color: var(--accent); }
.mg-reg-actions { display: flex; flex-direction: column; gap: 3px; align-items: flex-end; }
.mg-danger { color: var(--danger) !important; }
.mg-subhead { display: flex; gap: 10px; align-items: baseline; padding: 4px 19px 0; }
.mg-subhead strong { font-size: 12.5px; }
.mg-subhead span { color: var(--muted); font-size: 10.5px; }
.mg-agent-ext { border-style: solid; border-color: var(--accent-line); }
.mg-note { margin: 0; color: var(--muted); font-size: 10.5px; }
.mg-larysa-inventory { display: grid; gap: 6px; padding: 10px; border: 1px solid var(--line-soft); border-radius: 9px; background: var(--surface-soft); }
.mg-larysa-inventory > strong { font-size: 10.5px; }
.mg-larysa-inventory > div { display: flex; justify-content: space-between; gap: 10px; font-size: 10px; color: var(--muted-strong); }
.mg-larysa-inventory em { font-style: normal; color: var(--orange); text-align: right; }
.mg-larysa-inventory em.reference_contour { color: var(--accent); }
.mg-larysa-inventory em.connected { color: var(--mint); }
.mg-connect-row { padding: 0 19px 16px; }
.mg-org-top { display: flex; flex-direction: column; align-items: center; padding: 22px 19px 0; }
.mg-org-node { min-width: 300px; max-width: 460px; text-align: center; border: 1px solid var(--line); border-radius: 12px; padding: 11px 16px; background: var(--surface-soft); }
.mg-org-node.owner { background: var(--text); color: var(--on-strong); border-color: var(--text); }
.mg-org-node.owner small, .mg-org-node.owner span { color: var(--on-strong-muted); }
.mg-org-node small { display: block; color: var(--muted); font-size: 9.5px; letter-spacing: .05em; text-transform: uppercase; }
.mg-org-node strong { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; margin: 2px 0; }
.mg-org-node span { display: block; color: var(--muted); font-size: 10.5px; }
.mg-org-line { width: 1px; height: 18px; background: var(--line); }
.mg-org-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 0 19px 18px; border-top: 1px solid var(--line); margin: 0 19px; padding-top: 18px; }
.mg-org-dep { text-align: left; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); padding: 12px; display: flex; flex-direction: column; gap: 5px; color: var(--text); }
.mg-org-dep:hover { border-color: var(--line-strong); }
.mg-org-dep small { color: var(--muted); font-size: 10px; }
.mg-org-dep > strong { font-size: 12.5px; }
.mg-org-chief { display: flex; align-items: center; gap: 6px; color: var(--accent); font-size: 11px; padding: 4px 0 3px; border-bottom: 1px dashed var(--line-soft); margin-bottom: 2px; }
.mg-org-agent { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted-strong); }
.mg-org-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 0 19px 14px; color: var(--muted); font-size: 10.5px; }
.mg-org-legend span { display: inline-flex; align-items: center; gap: 5px; }
.mg-check-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 18px; max-height: 260px; overflow: auto; border: 1px solid var(--line-soft); border-radius: 9px; padding: 10px 12px; }
.mg-check-group span { display: block; color: var(--muted); font-size: 9.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 4px; }
.mg-check { display: flex; gap: 7px; align-items: flex-start; font-size: 11.5px; padding: 2px 0; font-weight: 400 !important; color: var(--text) !important; }
.mg-modal .modal-form input:not([type="checkbox"]) { width: 100%; }
@media (max-width: 1180px) {
  .mg-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mg-org-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-reg-row { grid-template-columns: 12px minmax(0, 2fr) 1fr 1fr auto; }
  .mg-reg-row > .mg-log-cell:nth-of-type(4) { display: none; }
}
@media (max-width: 720px) {
  .mg-process { grid-template-columns: 1fr; margin: 0 12px 10px; }
  .mg-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mg-org-grid { grid-template-columns: 1fr; margin: 0 12px; padding: 14px 0; }
  .mg-org-node { min-width: 0; width: 100%; }
  .mg-reg-row { grid-template-columns: 12px minmax(0, 1fr) auto; }
  .mg-reg-row .mg-log-cell, .mg-reg-head { display: none; }
  .mg-check-list { grid-template-columns: 1fr; }
}

/* ===== Кабинет «Доступы» ===== */
.acc-progress { display: flex; align-items: center; gap: 8px; margin-left: auto; color: var(--muted); font-size: 11px; }
.acc-progress i { display: block; width: 120px; height: 6px; border-radius: 4px; background: linear-gradient(90deg, var(--mint) var(--w), var(--line-soft) var(--w)); }
.acc-search { margin-left: auto; min-width: 240px; border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; font-size: 11.5px; background: var(--surface-soft); outline: none; }
.acc-search:focus { border-color: var(--accent); }
.acc-group { padding-bottom: 6px; }
.acc-row { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.1fr) .9fr .9fr 1fr 170px; gap: 14px; align-items: center; padding: 11px 19px; border-bottom: 1px solid var(--line-soft); }
.acc-row.saved { background: var(--mint-tint); }
.acc-main { display: grid; gap: 1px; min-width: 0; }
.acc-main strong { font-size: 12.5px; }
.acc-main a { color: var(--accent); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.acc-main small { color: var(--muted); font-size: 10.5px; }
.acc-login { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-width: 0; }
.acc-login code { font-size: 11px; background: var(--surface-soft); border: 1px solid var(--line-soft); border-radius: 6px; padding: 2px 6px; overflow-wrap: anywhere; }
.acc-missing { color: var(--muted); font-size: 10.5px; font-style: italic; }
.acc-cell { font-size: 11px; color: var(--muted-strong); }
.acc-cell span { display: block; color: var(--muted); font-size: 9.5px; text-transform: uppercase; letter-spacing: .06em; }
.acc-saved { display: flex; align-items: center; gap: 7px; font-size: 11px; color: var(--muted-strong); cursor: pointer; }
.acc-row.saved .acc-saved { color: var(--mint); font-weight: 600; }
.acc-actions { display: flex; gap: 6px; justify-content: flex-end; }
.acc-suggest { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; justify-content: space-between; margin: 4px 19px 14px; padding: 14px 16px; border: 1px dashed var(--accent-line); border-radius: 12px; background: var(--accent-tint); }
.acc-suggest > div:first-child { display: grid; gap: 3px; min-width: 220px; }
.acc-suggest strong { font-size: 12.5px; color: var(--text); }
.acc-suggest span { font-size: 11px; color: var(--muted); }
.acc-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.acc-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 6px 12px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--text); font-size: 12px; cursor: pointer; transition: border-color .15s, background .15s; }
.acc-chip i { font-style: normal; font-size: 10px; color: var(--muted); }
.acc-chip:hover, .acc-chip:focus-visible { border-color: var(--accent-line); background: var(--accent-soft); outline: none; }
.acc-chip.other { color: var(--accent); }
.acc-kind { display: inline-block; margin-right: 7px; padding: 1px 7px; border-radius: 999px; background: var(--surface-raise); color: var(--muted-strong); font-size: 10px; font-weight: 500; vertical-align: 1px; }
.acc-howto { margin: 6px 19px 18px; padding: 14px 16px; border-radius: 12px; background: var(--accent-soft); color: var(--muted-strong); font-size: 11.5px; }
.acc-howto strong { color: var(--text); font-size: 12px; }
.acc-howto ol { margin: 8px 0; padding-left: 18px; }
.acc-howto li { margin: 3px 0; }
.acc-howto p { margin: 0; color: var(--muted); }
.mcp-endpoint { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; padding: 11px 19px; border-bottom: 1px solid var(--line-soft); font-size: 11.5px; color: var(--muted); }
.mcp-endpoint code, .mcp-key { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; background: var(--surface-soft); border: 1px solid var(--line-soft); border-radius: 6px; padding: 3px 7px; color: var(--text); overflow-wrap: anywhere; }
.mcp-key { width: 100%; padding: 9px 10px; }
.mcp-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 12px 19px; border-bottom: 1px solid var(--line-soft); }
.mcp-row.issued { background: var(--mint-tint); }
.mcp-status { font-size: 11px; color: var(--muted-strong); margin-top: 3px; }
.mcp-row.issued .mcp-status { color: var(--mint); font-weight: 600; }
.mcp-actions { display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }
.hk-group { margin: 0; padding: 14px 19px 6px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); border-bottom: 1px solid var(--line-soft); }
.hk-key { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; padding: 8px 10px; border: 1px solid var(--line-soft); border-radius: 8px; background: var(--surface-soft); }
.hk-key strong { display: block; font-size: 12.5px; color: var(--text); }
.hk-key small { display: block; color: var(--muted); font-size: 11px; }
textarea.mcp-key { resize: vertical; }
@media (max-width: 720px) {
  .mcp-row { grid-template-columns: 1fr; }
  .mcp-actions { justify-content: flex-start; }
}
@media (max-width: 1180px) {
  .acc-row { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) 1fr 170px; }
  .acc-row .acc-cell { display: none; }
}
@media (max-width: 720px) {
  .acc-row { grid-template-columns: 1fr; gap: 8px; }
  .acc-actions { justify-content: flex-start; }
  .acc-search { min-width: 0; width: 100%; margin-left: 0; }
  .acc-progress { display: none; }
}

/* =====================================================================
   STEMD Hub · Mission Control — космический слой (03.10.2026)
   ===================================================================== */
body { background: var(--bg); font-feature-settings: "cv11", "ss01"; letter-spacing: -.005em; }
:root:not([data-theme="light"]) body {
  background:
    radial-gradient(1200px 700px at 78% -10%, rgba(123, 108, 255, .16), transparent 60%),
    radial-gradient(900px 600px at 8% 105%, rgba(255, 140, 90, .10), transparent 60%),
    radial-gradient(1000px 800px at 40% 40%, rgba(41, 151, 255, .06), transparent 70%),
    var(--bg);
  background-attachment: fixed;
}
.space-bg { position: fixed; inset: 0; z-index: 0; pointer-events: none; }
.space-bg canvas { width: 100%; height: 100%; display: block; }
:root[data-theme="light"] .space-bg { display: none; }
.app-shell { position: relative; z-index: 1; }
::selection { background: rgba(41, 151, 255, .35); }
.skip-link { position: absolute; left: 12px; top: -60px; z-index: 100; background: var(--surface-solid); color: var(--text); padding: 10px 14px; border-radius: 10px; border: 1px solid var(--line); }
.skip-link:focus { top: 12px; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
button:focus:not(:focus-visible) { outline: none; }

/* Топбар — стекло */
.topbar { background: var(--topbar-bg); border-bottom: 1px solid var(--line-soft); backdrop-filter: saturate(160%) blur(18px); -webkit-backdrop-filter: saturate(160%) blur(18px); height: 64px; }
.brand-mark { width: 30px; height: 30px; border-radius: 50%; overflow: hidden; background: #0b0d1a; box-shadow: 0 0 0 1px rgba(157, 140, 255, .35), 0 0 18px rgba(123, 108, 255, .45); }
.brand-mark img { width: 100%; height: 100%; object-fit: cover; display: block; }
.brand strong { font-size: 14px; letter-spacing: -.02em; }
.live-indicator i { box-shadow: 0 0 0 3px var(--mint-soft); animation: hub-breathe 2.6s ease-in-out infinite; }
.live-indicator.warn i { background: var(--yellow); box-shadow: 0 0 0 3px var(--yellow-soft); }
.live-indicator.bad i { background: var(--danger); box-shadow: 0 0 0 3px var(--danger-soft); }
.topbar-note { color: var(--muted); }
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.icon-button { width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--line); background: var(--surface-soft); color: var(--muted-strong); display: grid; place-items: center; transition: background .16s ease, border-color .16s ease, color .16s ease; }
.icon-button svg { width: 17px; height: 17px; }
.icon-button:hover { color: var(--text); }
.icon-button:hover { background: var(--surface-raise); border-color: var(--line-strong); }
.profile-chip { cursor: default; }
.logout-form button { border: 1px solid var(--line); background: transparent; color: var(--muted-strong); border-radius: 9px; padding: 7px 11px; font-size: 12px; }
.logout-form button:hover { color: var(--text); border-color: var(--line-strong); }
@keyframes hub-breathe { 50% { opacity: .55; } }

/* Панели — стекло поверх космоса */
.panel, .project-card, .modal, .mg-agent, .mg-dep-card, .mg-org-dep, .mg-process { backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); }
.panel { background: var(--surface); border-color: var(--line); box-shadow: var(--glow); }
.modal { background: var(--surface-solid); border: 1px solid var(--line); box-shadow: 0 40px 120px rgba(0, 0, 0, .6); }
.modal-backdrop { backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.toast { background: var(--surface-solid); color: var(--text); border: 1px solid var(--line-strong); box-shadow: var(--shadow); }
.button { background: var(--surface-soft); border-color: var(--line); color: var(--text); }
.button:hover { background: var(--surface-raise); border-color: var(--line-strong); }
.button.primary { background: var(--grad-primary); color: #fff; border-color: transparent; box-shadow: 0 8px 24px rgba(41, 151, 255, .28); }
.button.primary:hover { filter: brightness(1.08); background: var(--grad-primary); }
:root[data-theme="light"] .button.primary { box-shadow: 0 6px 18px rgba(41, 151, 255, .22); }
.button.quiet { background: transparent; }
input, textarea, select { color: var(--text); }
.modal-form input, .modal-form textarea, .modal-form select, .mg-input textarea, .acc-search { background: rgba(255, 255, 255, .04); border-color: var(--line); color: var(--text); }
:root[data-theme="light"] .modal-form input, :root[data-theme="light"] .modal-form textarea { background: var(--surface-soft); }
.eyebrow { color: var(--accent); letter-spacing: .14em; }
h1, h2, h3 { letter-spacing: -.025em; }
.workspace-header h1 { font-weight: 700; letter-spacing: -.04em; }
.nav-button { color: var(--muted-strong); border-radius: 10px; }
.nav-button:hover { background: var(--surface-soft); color: var(--text); }
.nav-button.active { background: linear-gradient(90deg, rgba(41, 151, 255, .16), rgba(123, 108, 255, .06)); color: var(--text); box-shadow: inset 2px 0 0 var(--accent); }
.workspace-project { background: var(--surface); border: 1px solid var(--line); }
.nav-label { color: var(--muted); }
.secure-note { color: var(--muted); }
.domain-status, .state-badge { background: var(--surface-soft); }
.mg-markdown code, .mg-pre { background: rgba(255, 255, 255, .04); }

/* Портреты агентов из stemd.net */
.mg-avatar { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; flex: none; box-shadow: 0 0 0 1px var(--line-strong), 0 6px 18px rgba(0, 0, 0, .35); background: #0b0d1a; }
.mg-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mg-avatar.planned { filter: grayscale(.9) brightness(.7); box-shadow: 0 0 0 1px var(--line), inset 0 0 0 1px var(--line); }
.mg-agent-planned { border-style: dashed; background: transparent; }
.mg-agent-planned .mg-mission { color: var(--muted); }
.mg-planned-badge { color: var(--muted); border-style: dashed; }
.mg-status-dot.planned { background: transparent; border: 1px dashed var(--muted); }
.mg-top-grid.single { grid-template-columns: 1fr; }
.mg-agent { transition: border-color .2s ease, transform .2s ease; }
.mg-agent:hover { border-color: var(--line-strong); }

/* ---------- Космос ---------- */
body[data-screen="home"] .page-frame { max-width: 1480px; }
.cosmos-hero { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-template-areas: "intro intro" "stage pulse"; gap: 14px 20px; margin-top: -6px; }
.cosmos-hero.loading { grid-template-columns: 1fr; grid-template-areas: "intro"; min-height: 60vh; place-items: center; text-align: center; }
.cosmos-intro { grid-area: intro; display: grid; grid-template-columns: minmax(340px, 1fr) minmax(0, 2.4fr); grid-template-areas: "eyebrow eyebrow" "title kpis" "lead kpis"; column-gap: 28px; align-items: end; }
.cosmos-intro .eyebrow { grid-area: eyebrow; }
.cosmos-intro .cosmos-lead { grid-area: lead; }
.cosmos-intro .cosmos-kpis { grid-area: kpis; }
.cosmos-hero.loading .cosmos-intro { display: block; }
.cosmos-intro h1 { grid-area: title; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.02; margin: 6px 0 6px; letter-spacing: -.055em; font-weight: 700; background: linear-gradient(120deg, #ffffff 10%, #b9c6ff 45%, #ffb98a 95%); -webkit-background-clip: text; background-clip: text; color: transparent; }
:root[data-theme="light"] .cosmos-intro h1 { background: linear-gradient(120deg, #1d1d1f 20%, #3b5bdb 60%, #c86b2a 100%); -webkit-background-clip: text; background-clip: text; }
.cosmos-lead { max-width: 560px; color: var(--muted-strong); font-size: 13.5px; margin: 0; }
.cosmos-loader { display: flex; gap: 8px; justify-content: center; margin-top: 18px; }
.cosmos-loader i { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); animation: hub-breathe 1.2s infinite; }
.cosmos-loader i:nth-child(2) { animation-delay: .2s; } .cosmos-loader i:nth-child(3) { animation-delay: .4s; }
.cosmos-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px; min-width: 0; }
.cosmos-intro h1, .cosmos-lead { min-width: 0; overflow-wrap: normal; }
.cosmos-kpi { border: 1px solid var(--line); border-radius: 14px; padding: 10px 12px; background: var(--surface); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.cosmos-kpi span { display: block; color: var(--muted); font-size: 11px; }
.cosmos-kpi strong { display: block; font-size: 22px; letter-spacing: -.04em; margin: 2px 0; font-variant-numeric: tabular-nums; }
.cosmos-kpi strong em { font-style: normal; color: var(--muted); font-size: 16px; font-weight: 500; }
.cosmos-kpi small { color: var(--muted); font-size: 10.5px; }
.cosmos-kpi.ok strong { color: var(--mint); }
.cosmos-kpi.warn strong { color: var(--orange); }
.cosmos-kpi.bad strong { color: var(--danger); }
.cosmos-stage { grid-area: stage; position: relative; display: flex; align-items: center; justify-content: center; height: clamp(440px, calc(100vh - 250px), 760px); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; background: radial-gradient(60% 70% at 50% 50%, rgba(41, 151, 255, .07), transparent 70%), rgba(4, 6, 16, .55); min-height: 420px; }
:root[data-theme="light"] .cosmos-stage { background: radial-gradient(60% 70% at 50% 50%, rgba(41, 151, 255, .08), transparent 70%), #0b0e1c; }
.cosmos-map { width: 100%; height: 100%; display: block; position: relative; z-index: 1; }
.cosmos-stage::before { content: ""; position: absolute; inset: auto 0 0 0; height: 62%; background: url('/assets/brand/horizon.webp') center 85% / cover no-repeat; opacity: .2; -webkit-mask-image: linear-gradient(to top, #000 10%, transparent 95%); mask-image: linear-gradient(to top, #000 10%, transparent 95%); pointer-events: none; }
.cosmos-sub { transition: opacity .4s ease; }
.cosmos-orbit { fill: none; stroke: rgba(160, 180, 255, .14); stroke-width: 1; stroke-dasharray: 2 6; }
.cosmos-link { stroke: url(#link-grad); stroke-width: 1; opacity: .45; }
.cosmos-link.live { stroke-dasharray: 3 7; animation: cosmos-flow 1.6s linear infinite; opacity: .85; }
@keyframes cosmos-flow { to { stroke-dashoffset: -20; } }
.cosmos-signal { fill: #cfe4ff; filter: drop-shadow(0 0 4px #7fb8ff); }
.cosmos-planet { cursor: pointer; outline: none; transition: opacity .3s ease; }
.cosmos-planet .cosmos-body { transition: filter .2s ease; }
.cosmos-planet.hover .cosmos-body, .cosmos-planet:focus-visible .cosmos-body { filter: drop-shadow(0 0 14px rgba(140, 190, 255, .65)); }
.cosmos-planet.launch .cosmos-body { animation: cosmos-launch .3s ease-in forwards; }
@keyframes cosmos-launch { to { opacity: 0; } }
.cosmos-surface { stroke: rgba(255, 255, 255, .25); stroke-width: .8; }
.cosmos-health-track { fill: none; stroke: rgba(255, 255, 255, .08); stroke-width: 2.5; }
.cosmos-health { fill: none; stroke: var(--mint); stroke-width: 2.5; stroke-linecap: round; }
.cosmos-planet.bad .cosmos-health { stroke: var(--danger); }
.cosmos-planet.idle .cosmos-health { stroke: #d9c45a; }
.cosmos-moon { fill: #8f97ad; stroke: rgba(4, 5, 11, .8); stroke-width: 1; }
.cosmos-moon.ok { fill: var(--mint); }
.cosmos-moon.error { fill: var(--danger); }
.cosmos-moon.planned { fill: transparent; stroke: #8f97ad; stroke-dasharray: 1.5 1.5; }
.cosmos-badge circle { fill: #ff9f5a; stroke: #04050b; stroke-width: 2; }
.cosmos-badge text { fill: #1a0f05; font-size: 10px; font-weight: 700; text-anchor: middle; }
.cosmos-name { fill: #eef1f8; font-size: 15px; font-weight: 650; text-anchor: middle; letter-spacing: -.01em; paint-order: stroke; stroke: rgba(4, 5, 11, .85); stroke-width: 3px; }
.cosmos-sub { fill: #a9b2c8; font-size: 10.5px; text-anchor: middle; paint-order: stroke; stroke: rgba(4, 5, 11, .85); stroke-width: 3px; }
.cosmos-core { cursor: pointer; outline: none; }
.cosmos-core-glow { animation: cosmos-core-glow 5s ease-in-out infinite; transform-origin: 600px 350px; }
@keyframes cosmos-core-glow { 50% { opacity: .7; transform: scale(1.06); } }
.cosmos-core-ring { fill: none; stroke: rgba(157, 140, 255, .35); stroke-width: 1; }
.cosmos-core-ring.r1 { stroke-dasharray: 1 5; animation: cosmos-spin 40s linear infinite; transform-origin: 600px 350px; }
.cosmos-core-ring.r2 { stroke: rgba(41, 151, 255, .22); stroke-dasharray: 18 10; animation: cosmos-spin 70s linear infinite reverse; transform-origin: 600px 350px; }
@keyframes cosmos-spin { to { transform: rotate(360deg); } }
.cosmos-core-disc { fill: #0b0d1a; stroke: rgba(157, 140, 255, .65); stroke-width: 1.5; filter: drop-shadow(0 0 20px rgba(123, 108, 255, .7)); }
.cosmos-core:focus-visible .cosmos-core-disc, .cosmos-core:hover .cosmos-core-disc { stroke: #cfc6ff; stroke-width: 2.5; }
.cosmos-core-name { fill: #f2f0ff; font-size: 17px; font-weight: 700; text-anchor: middle; letter-spacing: -.02em; }
.cosmos-core-sub { fill: #a49bd8; font-size: 11px; text-anchor: middle; }
.cosmos-tooltip { position: absolute; z-index: 3; width: 262px; padding: 13px 14px; border-radius: 14px; background: rgba(10, 13, 26, .92); border: 1px solid rgba(255, 255, 255, .14); color: #e9edf7; box-shadow: 0 24px 60px rgba(0, 0, 0, .55); backdrop-filter: blur(12px); pointer-events: none; font-size: 12px; }
.cosmos-tooltip strong { display: block; font-size: 14px; }
.cosmos-tooltip small { display: block; color: #9aa3ba; margin: 1px 0 8px; }
.cosmos-tooltip ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.cosmos-tooltip b { color: #fff; }
.cosmos-tooltip .bad { color: #ff8b9a; }
.cosmos-tooltip em { display: block; margin-top: 8px; color: #7fb2ff; font-style: normal; font-size: 11px; }
.cosmos-legend { position: absolute; left: 14px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 12px; color: #9aa3ba; font-size: 10.5px; }
.cosmos-legend span { display: inline-flex; align-items: center; gap: 5px; }
.cosmos-legend i { width: 8px; height: 8px; border-radius: 50%; background: #8f97ad; }
.cosmos-legend i.ok { background: var(--mint); } .cosmos-legend i.idle { background: #d9c45a; } .cosmos-legend i.err { background: var(--danger); }
.cosmos-legend i.planned { background: transparent; border: 1px dashed #8f97ad; } .cosmos-legend i.pulse { background: #cfe4ff; box-shadow: 0 0 6px #7fb8ff; }
.cosmos-pulse { grid-area: pulse; display: flex; flex-direction: column; gap: 14px; }
.cosmos-core-card, .cosmos-block { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); padding: 16px; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.cosmos-core-card { background: linear-gradient(160deg, rgba(123, 108, 255, .18), rgba(41, 151, 255, .06) 60%, transparent), var(--surface); border-color: rgba(157, 140, 255, .32); }
.cosmos-core-head { display: flex; gap: 12px; align-items: center; }
.cosmos-core-head img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 2px rgba(157, 140, 255, .45), 0 0 24px rgba(123, 108, 255, .5); }
.cosmos-core-head small { display: block; color: var(--violet); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; font-weight: 600; }
.cosmos-core-head strong { display: block; font-size: 15px; }
.cosmos-core-head span { color: var(--muted); font-size: 11px; }
.cosmos-core-card p { color: var(--muted-strong); font-size: 12.5px; margin: 12px 0; }
.cosmos-core-card p b { display: block; color: var(--text); font-size: 11px; margin-bottom: 3px; }
.cosmos-core-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cosmos-block-title { display: flex; justify-content: space-between; font-size: 12px; font-weight: 650; margin-bottom: 10px; }
.cosmos-block-title span { color: var(--muted); font-weight: 500; }
.cosmos-alert { width: 100%; display: flex; gap: 10px; align-items: flex-start; text-align: left; border: 0; background: transparent; color: var(--text); padding: 7px 6px; border-radius: 10px; font-size: 12px; }
.cosmos-alert:hover { background: var(--surface-soft); }
.cosmos-alert i { width: 7px; height: 7px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--danger); box-shadow: 0 0 8px var(--danger); }
.cosmos-alert.pending i { background: var(--orange); box-shadow: 0 0 8px var(--orange); }
.cosmos-alert.gap i { background: #e7a3a3; box-shadow: none; }
.cosmos-alert b { display: block; font-size: 10.5px; color: var(--muted); font-weight: 600; letter-spacing: .02em; }
.cosmos-quiet { color: var(--muted); font-size: 12px; margin: 0; }
.cosmos-main-agent { display: flex; gap: 10px; align-items: center; padding: 6px 2px; font-size: 12px; }
.cosmos-main-agent img { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px var(--line-strong); }
.cosmos-main-agent small { display: block; color: var(--muted); font-size: 10.5px; }
.cosmos-main-agent.core img { box-shadow: 0 0 0 2px rgba(157, 140, 255, .5); }
.cosmos-link-button { border: 0; background: none; color: var(--accent); font-size: 12px; padding: 8px 2px 0; }
.cosmos-section { margin-top: 34px; }
.cosmos-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; }
.cosmos-card { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr); grid-template-areas: "planet main" "stats stats" "foot foot"; gap: 12px 14px; text-align: left; padding: 16px; border-radius: 18px; border: 1px solid var(--line); background: var(--surface); color: var(--text); overflow: hidden; transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; backdrop-filter: blur(14px); }
.cosmos-card::before { content: ""; position: absolute; inset: -1px; background: radial-gradient(400px 120px at 0% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%); pointer-events: none; }
.cosmos-card:hover { transform: translateY(-2px); border-color: var(--line-strong); box-shadow: 0 20px 50px rgba(0, 0, 0, .35); }
.cosmos-card-planet { grid-area: planet; width: 64px; height: 64px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 1px rgba(255, 255, 255, .2), 0 0 26px color-mix(in srgb, var(--accent) 45%, transparent); }
.cosmos-card-planet img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cosmos-planet-fallback { display: block; width: 100%; height: 100%; background: radial-gradient(circle at 35% 30%, #fff 0%, var(--accent) 35%, #0b0e1c 100%); }
.cosmos-card-main { grid-area: main; align-self: center; position: relative; }
.cosmos-card-main strong { display: block; font-size: 17px; letter-spacing: -.02em; }
.cosmos-card-main small { color: var(--muted); font-size: 12px; }
.cosmos-card-stats { grid-area: stats; display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; position: relative; }
.cosmos-card-stats span { border: 1px solid var(--line-soft); border-radius: 10px; padding: 8px 10px; color: var(--muted); font-size: 10.5px; background: var(--surface-soft); }
.cosmos-card-stats b { display: block; color: var(--text); font-size: 17px; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.cosmos-card-foot { grid-area: foot; color: var(--muted); font-size: 11px; position: relative; }
.cosmos-card.bad .cosmos-card-foot { color: var(--danger); }
.cosmos-card.ok .cosmos-card-foot { color: var(--mint); }

/* ---------- Безопасность ---------- */
.sec-score { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--mint) var(--p), var(--line) 0); }
.sec-score span { width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-solid); font-weight: 700; font-size: 13px; }
.sec-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 16px 19px 18px; }
.sec-check { display: flex; gap: 12px; padding: 12px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface-soft); }
.sec-check strong { font-size: 12.5px; }
.sec-check p { margin: 3px 0 0; color: var(--muted); font-size: 11.5px; }
.sec-icon { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; flex: none; font-size: 12px; font-weight: 700; background: var(--mint-soft); color: var(--mint); }
.sec-check.warn .sec-icon { background: var(--yellow-soft); color: var(--yellow); }
.sec-check.fail .sec-icon { background: var(--danger-soft); color: var(--danger); }
.sec-check.fail { border-color: var(--danger-line); }
.sec-audit-row { display: grid; grid-template-columns: 150px 220px minmax(0, 1fr) 110px; gap: 12px; padding: 9px 19px; border-bottom: 1px solid var(--line-soft); font-size: 11.5px; align-items: center; }
.sec-audit-row span, .sec-audit-row em { color: var(--muted); font-style: normal; font-variant-numeric: tabular-nums; }
.sec-audit-row small { color: var(--muted-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sec-audit-row.bad strong { color: var(--danger); }

/* ---------- Вход ---------- */
.gate-body { min-height: 100vh; margin: 0; color: var(--text); font-family: var(--font); background: radial-gradient(1000px 600px at 75% -10%, rgba(123, 108, 255, .22), transparent 60%), radial-gradient(900px 500px at 10% 110%, rgba(255, 140, 90, .16), transparent 60%), #04050b; overflow-x: hidden; }
.gate-stars { position: fixed; inset: 0; background-image: radial-gradient(1px 1px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 72% 34%, #cfe0ff 50%, transparent 51%), radial-gradient(1.4px 1.4px at 38% 72%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 88% 82%, #ffd9b8 50%, transparent 51%), radial-gradient(1px 1px at 22% 58%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 56% 12%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 92% 8%, #cfe0ff 50%, transparent 51%), radial-gradient(1px 1px at 6% 88%, #fff 50%, transparent 51%); background-size: 520px 520px; opacity: .7; animation: hub-breathe 6s ease-in-out infinite; }
.gate-horizon { position: fixed; left: -10%; right: -10%; bottom: -55vh; height: 80vh; border-radius: 50%; background: radial-gradient(closest-side, rgba(41, 151, 255, .22), rgba(123, 108, 255, .10) 55%, transparent 75%); filter: blur(10px); }
.gate { position: relative; z-index: 1; min-height: 100vh; display: grid; place-items: center; padding: 24px 16px; }
.gate-card { width: min(430px, 100%); padding: 30px 30px 24px; border-radius: 24px; background: rgba(14, 18, 32, .72); border: 1px solid rgba(255, 255, 255, .12); box-shadow: 0 40px 120px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .06); backdrop-filter: blur(22px) saturate(150%); -webkit-backdrop-filter: blur(22px) saturate(150%); }
.gate-core { position: relative; width: 132px; height: 132px; margin: -86px auto 14px; }
.gate-core img { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; display: block; box-shadow: 0 0 0 2px rgba(157, 140, 255, .55), 0 0 60px rgba(123, 108, 255, .6); }
.gate-core i { position: absolute; inset: -12px; border-radius: 50%; border: 1px dashed rgba(157, 140, 255, .4); animation: cosmos-spin 30s linear infinite; }
.gate-core i:nth-child(3) { inset: -26px; border: 1px solid rgba(41, 151, 255, .18); animation-duration: 55s; animation-direction: reverse; }
.gate-core i:nth-child(4) { inset: -42px; border: 1px dotted rgba(255, 173, 107, .2); animation-duration: 80s; }
.gate-brand { display: flex; align-items: center; gap: 10px; justify-content: center; }
.gate-brand strong { display: block; font-size: 14px; }
.gate-brand small { display: block; color: #9aa3ba; font-size: 11px; }
.gate-mark { display: none; }
.gate h1 { text-align: center; font-size: 30px; letter-spacing: -.05em; margin: 18px 0 6px; }
.gate-lead { text-align: center; color: #aab3c8; font-size: 13px; margin: 0 0 18px; }
.gate-form { display: grid; gap: 6px; }
.gate-form label { color: #c3cadb; font-size: 12px; font-weight: 600; margin-top: 8px; }
.gate-form input { width: 100%; padding: 12px 13px; border-radius: 11px; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .05); color: #f2f4fa; font: inherit; outline: none; transition: border-color .15s ease, box-shadow .15s ease; }
.gate-form input:focus { border-color: #4da3ff; box-shadow: 0 0 0 3px rgba(41, 151, 255, .25); }
.gate-help { color: #8f97ad; font-size: 11px; }
.gate-form .gate-remember { display: flex; align-items: center; gap: 10px; margin-top: 14px; color: #e4e8f2; font-size: 13px; font-weight: 500; cursor: pointer; }
.gate-form .gate-remember input { flex: none; width: 18px; height: 18px; margin: 0; padding: 0; border-radius: 5px; accent-color: #2997ff; cursor: pointer; }
.gate-submit { margin-top: 16px; padding: 13px; border: 0; border-radius: 12px; background: linear-gradient(135deg, #2997ff, #7b6cff); color: #fff; font-weight: 650; font-size: 14px; cursor: pointer; box-shadow: 0 12px 30px rgba(41, 151, 255, .35); }
.gate-submit:hover { filter: brightness(1.08); }
.gate-error { margin-top: 6px; padding: 10px 12px; border-radius: 11px; background: rgba(255, 99, 120, .12); border: 1px solid rgba(255, 115, 133, .35); color: #ffb3bd; font-size: 12px; }
.gate-note { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .08); color: #8f97ad; font-size: 11px; text-align: center; }
.gate-code { display: block; margin: 14px 0; padding: 12px; border-radius: 10px; background: rgba(255, 255, 255, .05); font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; overflow-x: auto; }

/* ---------- Адаптивность и движение ---------- */
@media (max-width: 1240px) {
  .cosmos-intro { grid-template-columns: 1fr; grid-template-areas: "eyebrow" "title" "lead" "kpis"; }
  .cosmos-intro .cosmos-kpis { margin-top: 14px; }
}
@media (max-width: 1180px) {
  .cosmos-hero { grid-template-columns: 1fr; grid-template-areas: "intro" "stage" "pulse"; }
  .cosmos-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cosmos-stage { height: auto; aspect-ratio: 12 / 7; }
  .cosmos-pulse { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
  .sec-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .topbar { height: auto; min-height: 56px; padding: 8px 12px; gap: 6px; }
  .brand { min-width: 0; }
  .brand small { display: none; }
  .brand strong { white-space: nowrap; font-size: 13px; }
  .topbar-actions { gap: 5px; }
  .icon-button { width: 32px; height: 32px; }
  .profile-chip { display: none; }
  .logout-form button { padding: 6px 9px; }
  .cosmos-name { font-size: 30px; stroke-width: 5px; }
  .cosmos-core-name { font-size: 28px; }
  .cosmos-core-sub { display: none; }
  .cosmos-stage { aspect-ratio: 3 / 2; }
  .topbar-center { display: none; }
  .profile-name { display: none; }
  .cosmos-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cosmos-kpi strong { font-size: 22px; }
  .cosmos-stage { min-height: 0; border-radius: 16px; flex-direction: column; }
  .cosmos-legend { position: static; padding: 0 12px 12px; }
  .cosmos-sub { display: none; }
  .cosmos-grid { grid-template-columns: 1fr; }
  .sec-audit-row { grid-template-columns: 1fr; gap: 2px; }
  .gate-card { padding: 26px 20px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
}

/* Медогляд · главная собственника. Наследует тему Hub; стили ограничены этим экраном. */
.owner-dashboard { --owner-panel: var(--surface-solid); color: var(--text); display: grid; gap: 26px; }
.owner-dashboard h2, .owner-dashboard h3, .owner-dashboard p { margin: 0; }
.owner-dashboard h2 { font-size: 18px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; }
.owner-dashboard h3 { font-size: 14px; line-height: 1.45; font-weight: 600; }
.owner-dashboard button { font: inherit; }
.owner-dashboard button:focus-visible, .owner-dashboard summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; }
.owner-dashboard ::selection { background: var(--accent); color: var(--on-strong); }
.owner-status { display: flex; align-items: center; gap: 14px; padding: 20px 22px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--owner-panel); }
.owner-status > div { flex: 1; }
.owner-status p { color: var(--muted-strong); font-size: 13px; line-height: 1.6; margin-top: 6px; max-width: 70ch; }
.owner-status .button { flex-shrink: 0; font-size: 12px; }
.owner-signal { display: inline-block; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--muted); }
.owner-signal.warning { background: var(--yellow); }
.owner-signal.danger { background: var(--danger); }
.owner-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.owner-section-head > span { color: var(--muted-strong); font-size: 12px; }
.owner-money-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 14px; background: var(--owner-panel); overflow: hidden; }
.owner-metric { min-width: 0; padding: 22px; display: flex; flex-direction: column; align-items: flex-start; }
.owner-metric + .owner-metric { border-left: 1px solid var(--line); }
.owner-value { margin: 16px 0 12px !important; font-size: 30px; font-weight: 600; line-height: 1.25; letter-spacing: -.03em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.owner-value > span:not(.owner-missing) { font-size: 19px; color: var(--muted-strong); font-weight: 400; }
.owner-value .owner-missing { display: block; font-size: 17px; font-weight: 500; letter-spacing: -.01em; color: var(--muted-strong); max-width: 22ch; }
.owner-metric-note { color: var(--muted-strong); font-size: 12px; line-height: 1.6; flex: 1; }
.owner-provenance { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 11px; line-height: 1.5; margin: 18px 0 12px; }
.owner-metric.is-stale .owner-provenance { color: var(--yellow); }
.owner-link { display: inline-flex; align-items: center; gap: 12px; text-align: left; padding: 4px 0; border: 0; border-radius: 2px; background: transparent; color: var(--accent); font-size: 12px !important; line-height: 1.5; cursor: pointer; }
.owner-link:hover { color: var(--text); text-decoration: underline; text-underline-offset: 4px; }
.owner-link:active { opacity: .75; }
.owner-link > span { flex-shrink: 0; }
.owner-action-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 26px; }
.owner-attention, .owner-decisions { min-width: 0; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--owner-panel); }
.owner-attention ul { list-style: none; padding: 0; margin: 0 0 14px; }
.owner-attention li, .owner-attention-empty { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; }
.owner-attention li + li { border-top: 1px solid var(--line-soft); }
.owner-attention .owner-signal { margin-top: 6px; }
.owner-attention strong { font-size: 13px; font-weight: 600; line-height: 1.5; }
.owner-attention p, .owner-secondary { font-size: 12px; line-height: 1.65; color: var(--muted-strong); margin-top: 5px !important; }
.owner-attention small, .owner-decisions > small { display: block; font-size: 11px; line-height: 1.55; color: var(--muted); margin-top: 6px; }
.owner-decision-title { font-size: 17px; line-height: 1.5; font-weight: 550; overflow-wrap: anywhere; }
.owner-decisions { display: flex; flex-direction: column; align-items: flex-start; }
.owner-decisions .owner-section-head { width: 100%; }
.owner-primary { margin-top: 22px; font-size: 12px !important; background: var(--accent); color: var(--on-strong); border-color: transparent; display: inline-flex; gap: 18px; }
.owner-primary:hover { filter: brightness(1.12); }
.owner-decisions > small { margin-top: auto; padding-top: 16px; }
.owner-business-list { border-top: 1px solid var(--line); }
.owner-business-list article { display: flex; justify-content: space-between; align-items: center; gap: 22px; padding: 18px 2px; border-bottom: 1px solid var(--line); }
.owner-business-list article > div { min-width: 0; }
.owner-business-list p { color: var(--muted-strong); font-size: 13px; line-height: 1.6; margin-top: 5px; }
.owner-business-list small { display: block; color: var(--muted); font-size: 11px; line-height: 1.6; margin-top: 5px; }
.owner-business-list .owner-link { flex-shrink: 0; }
.owner-sources { border: 1px solid var(--line); border-radius: 14px; padding: 18px 22px; background: var(--owner-panel); }
.owner-sources summary { cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 13px; font-weight: 550; list-style: none; }
.owner-sources summary::-webkit-details-marker { display: none; }
.owner-sources summary::after { content: '+'; color: var(--accent); font-size: 20px; margin-left: 4px; }
.owner-sources[open] summary::after { content: '−'; }
.owner-sources summary > span:last-child { margin-left: auto; color: var(--muted-strong); font-size: 12px; font-weight: 400; }
.owner-sources > p { margin: 18px 0; color: var(--muted-strong); font-size: 12px; line-height: 1.6; max-width: 75ch; }
.owner-table-wrap { overflow-x: auto; margin-bottom: 12px; }
.owner-sources table { width: 100%; border-collapse: collapse; text-align: left; font-size: 11px; line-height: 1.55; }
.owner-sources th, .owner-sources td { padding: 11px 10px 11px 0; border-bottom: 1px solid var(--line); vertical-align: top; min-width: 110px; }
.owner-sources thead { color: var(--muted-strong); }
.owner-sources td { color: var(--muted-strong); }
.owner-sources tbody th { min-width: 140px; font-weight: 500; }
.owner-source-state { color: var(--muted-strong); }
.owner-source-state.received { color: var(--mint); }
.owner-system { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 0 2px; }
.owner-system strong { font-size: 12px; font-weight: 550; }
.owner-system p { color: var(--muted); font-size: 12px; line-height: 1.6; margin-top: 6px; max-width: 70ch; }
.owner-system .owner-link { flex-shrink: 0; }
.owner-fetch-error { font-size: 12px; line-height: 1.6; color: var(--yellow); }
.owner-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 1100px) {
  .owner-metric { padding: 18px; }
  .owner-value { font-size: 26px; }
  .owner-action-grid { grid-template-columns: 1fr; gap: 20px; }
  .owner-status { flex-wrap: wrap; }
  .owner-status > div { flex-basis: calc(100% - 28px); }
  .owner-status .button { margin-left: 21px; }
}
@media (max-width: 700px) {
  .owner-dashboard { gap: 24px; }
  .owner-money-grid { grid-template-columns: 1fr; }
  .owner-metric + .owner-metric { border-left: 0; border-top: 1px solid var(--line); }
  .owner-metric { padding: 20px; }
  .owner-value { margin-top: 10px !important; }
  .owner-status, .owner-attention, .owner-decisions, .owner-sources { padding: 18px; }
  .owner-section-head { align-items: flex-start; gap: 10px; }
  .owner-section-head > span { max-width: 50%; text-align: right; line-height: 1.5; }
  .owner-business-list article, .owner-system { align-items: flex-start; flex-direction: column; gap: 10px; }
  .owner-sources summary { flex-wrap: wrap; gap: 8px; }
  .owner-sources summary > span:last-child { margin-left: 0; }
}

.owner-row-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; flex-shrink: 0; }
.owner-preparation { margin-top: 18px; color: var(--muted-strong); font-size: 12px; line-height: 1.6; }
.owner-preparation summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.owner-preparation p { margin: 8px 0 16px; }
.owner-preparation li { margin-bottom: 12px; }
.fin-preparation { border: 1px solid var(--line); border-radius: 14px; padding: 16px 20px; }
body:has(.owner-dashboard) .workspace-header .eyebrow, body:has(.owner-dashboard) .live-indicator { display: none; }
.owner-mobile-nav { display: none; }
@media (max-width: 900px) {
  body:has(.owner-dashboard) .workspace-sidebar { display: none; }
  .owner-mobile-nav { display: block; border-block: 1px solid var(--line); padding: 14px 0; }
  .owner-mobile-nav summary { cursor: pointer; font-size: 13px; font-weight: 550; }
  .owner-mobile-nav nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding-top: 18px; }
}
/* Главные вопросы и суммы помещаются в обычный первый экран ноутбука. */
body:has(.owner-dashboard) .page-frame { padding-top: 22px; }
body:has(.owner-dashboard) .workspace-header { margin-bottom: 18px; }
.owner-dashboard { gap: 20px; }
.owner-status { padding: 16px 20px; }
.owner-metric { padding: 18px; }
.owner-value { margin: 10px 0 !important; }
.owner-provenance { margin: 12px 0 8px; }
.owner-attention, .owner-decisions { padding: 18px 20px; }
.owner-decisions > small { margin-top: 10px; padding-top: 0; }
.owner-primary { margin-top: 14px; }
.owner-attention li p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (max-width: 700px) { .owner-dashboard { gap: 22px; } }
body:has(.owner-dashboard) .workspace-header h1 { font-size: 30px; margin-top: 0; }
body:has(.owner-dashboard) .workspace-header p { display: none; }
.owner-dashboard { gap: 16px; }
.owner-status { padding-block: 14px; }
.owner-metric-note { display: none; }
.owner-metric { padding-block: 16px; }
.owner-decision-title { font-size: 15px; }
