/* Карточка объекта реестра v2 (MnuGrObjectCard). Палитра и карточки — как у дашбордов (reports-analytics.css),
   чтобы реестр выглядел одинаково. Всё под .goc, чтобы не задевать тему Yoda. */
.goc { --ink: #26364a; --mut: #8494a8; --line: #e3eaf2; --soft: #eef3f9; --primary: #527da7; --teal: #6cafa5; --danger: #c96b7a; --sand: #d8a76a; color: var(--ink); max-width: 1600px; }
.goc a { color: var(--primary); }
.goc-mut { color: var(--mut); font-size: 11px; }
.goc .neg { color: var(--danger); }

/* шапка */
.goc-head { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 16px 18px; margin-bottom: 12px; }
.goc-head-top { display: flex; gap: 16px; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; }
.goc-head-main { min-width: 0; flex: 1; }
.goc-crumbs { font-size: 11px; color: var(--mut); margin-bottom: 4px; }
.goc-title { font-size: 20px; font-weight: 700; letter-spacing: -.02em; line-height: 1.25; margin: 0; color: var(--ink); }
.goc-sub { color: var(--mut); font-size: 12px; margin-top: 4px; display: flex; gap: 12px; flex-wrap: wrap; }
.goc-sub b { color: var(--ink); font-weight: 600; }
.goc-badges { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 9px; }
.goc-tag { display: inline-block; font-size: 11px; padding: 2px 8px; border-radius: 7px; background: var(--soft); color: #5b6f88; white-space: nowrap; }
.goc-tag.ok { background: #e3f1ee; color: #3d7f74; }
.goc-tag.bad { background: #f7e6e9; color: #a4505f; }
.goc-tag.warn { background: #f7eddc; color: #8a6a2a; }
.goc-tag.blue { background: #e4edf6; color: #3f6890; }
.goc-actions { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.goc-btn { display: inline-block; border: 1px solid var(--line); background: #fff; color: var(--ink) !important; border-radius: 9px; padding: 7px 12px; font-size: 13px; cursor: pointer; white-space: nowrap; text-decoration: none !important; line-height: 1.3; }
.goc-btn:hover { border-color: #c4d3e3; background: #f8fafc; }
.goc-btn.pri { background: var(--primary); border-color: var(--primary); color: #fff !important; }
.goc-btn.pri:hover { background: #46709a; }
.goc-btn.sm { padding: 4px 10px; font-size: 12px; }
.goc-btn.dan { color: #a4505f !important; border-color: #ecd1d6; background: #fff; }
.goc-btn[aria-disabled='true'] { opacity: .5; cursor: not-allowed; background: #fff; color: var(--ink) !important; border-color: var(--line); }
.goc-reason { margin: 0 8px 0 2px; }
.goc-dd { position: relative; }
.goc-menu { display: none; position: absolute; right: 0; top: calc(100% + 6px); background: #fff; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 32px rgba(31,47,66,.14); width: 340px; padding: 6px; z-index: 1050; }
.goc-dd.open .goc-menu { display: block; }
.goc-menu h6 { margin: 8px 10px 4px; font-size: 10px; letter-spacing: .05em; text-transform: uppercase; color: var(--mut); font-weight: 600; }
.goc-menu a, .goc-menu .off { display: flex; justify-content: space-between; gap: 8px; padding: 6px 10px; border-radius: 8px; color: var(--ink); font-size: 13px; }
.goc-menu a:hover { background: var(--soft); text-decoration: none; }
.goc-menu .off { color: #a9b5c3; cursor: not-allowed; flex-direction: column; gap: 1px; }
.goc-menu .off small { color: #c08a92; font-size: 11px; }
.goc-facts { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.goc-fact { border-left: 3px solid var(--primary); background: #fafcfe; border-radius: 10px; padding: 8px 11px; min-width: 0; }
.goc-fact .t { font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--mut); }
.goc-fact .v { font-size: 16px; font-weight: 700; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.goc-fact .d { font-size: 11px; color: var(--mut); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.goc-fact.teal { border-color: var(--teal); } .goc-fact.sand { border-color: var(--sand); } .goc-fact.red { border-color: var(--danger); }
.goc-running { display: flex; gap: 12px; align-items: center; justify-content: space-between; background: #fbf5ea; border: 1px solid #efdcb8; border-radius: 12px; padding: 9px 12px; margin-top: 12px; flex-wrap: wrap; font-size: 13px; }
.goc-running .l { display: flex; gap: 10px; align-items: center; }
.goc-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--sand); box-shadow: 0 0 0 4px #f5e6c9; flex: none; }

/* вкладки */
.goc-tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); margin: 0 0 12px; overflow-x: auto; }
.goc-tabs a { padding: 9px 13px; color: #4a5c72 !important; border-bottom: 2px solid transparent; white-space: nowrap; text-decoration: none !important; font-size: 13px; }
.goc-tabs a:hover { color: var(--ink) !important; }
.goc-tabs a.on { color: var(--primary) !important; border-color: var(--primary); font-weight: 600; }
.goc-tabs .c { font-size: 10px; background: var(--soft); color: #6b7d95; border-radius: 6px; padding: 0 5px; margin-left: 5px; }
.goc-body:empty::before, .goc-loading::before { content: attr(data-loading); display: block; color: var(--mut); padding: 24px; text-align: center; }

/* разделы */
.goc-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 15px 17px; margin-bottom: 12px; min-width: 0; }
.goc-card-h { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; margin-bottom: 10px; flex-wrap: wrap; }
.goc-card-t { font-size: 14px; font-weight: 700; color: #2b4a68; }
.goc-card-s { font-size: 11px; color: var(--mut); margin-top: 2px; }
.goc-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.goc-split > .goc-card { margin-bottom: 12px; }
.goc-kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.goc-kv.one { grid-template-columns: 1fr; }
.goc-kv > div { display: grid; grid-template-columns: 210px 1fr; gap: 10px; padding: 6px 0; border-bottom: 1px solid #f0f4f8; font-size: 13px; }
.goc-kv dt { color: var(--mut); font-weight: 400; } .goc-kv dd { margin: 0; }
.goc-kv-g, .goc-kv > .goc-kv-g { font-size: 10px; letter-spacing: .05em; text-transform: uppercase; color: var(--mut); margin: 12px 0 4px; grid-column: 1 / -1; border: 0; display: block; padding: 0; }
.goc-tw { overflow-x: auto; }
.goc-t { width: 100%; border-collapse: collapse; font-size: 12px; }
.goc-t th { text-align: left; color: #7c8ca0; font-weight: 600; font-size: 11px; padding: 7px 8px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.goc-t td { padding: 7px 8px; border-bottom: 1px solid #f0f4f8; vertical-align: top; }
.goc-t tr.goc-click { cursor: pointer; } .goc-t tr.goc-click:hover td { background: #f5f9fc; }
.goc-t tr.gone td { color: #a9b5c3; }
.goc-t .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.goc-t tfoot td { font-weight: 700; border-bottom: 0; }
.goc-empty { color: var(--mut); padding: 14px; text-align: center; background: #fafcfe; border-radius: 10px; font-size: 13px; }
.goc-note { background: #fafcfe; border-radius: 10px; padding: 10px 12px; color: #4a5c72; white-space: pre-line; font-size: 13px; display: block; }
.goc-more summary { cursor: pointer; list-style: none; } .goc-more summary::-webkit-details-marker { display: none; }
.goc-more-l { color: var(--primary); font-size: 12px; display: inline-block; margin-top: 4px; }
.goc-more[open] summary { display: none; }
.goc-meter { height: 10px; border-radius: 6px; background: #f2f6fa; overflow: hidden; display: flex; margin: 8px 0 6px; }
.goc-meter i { display: block; height: 100%; } .goc-meter .free, .goc-legend .free { background: var(--primary); } .goc-meter .enc, .goc-legend .enc { background: var(--sand); }
.goc-legend { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11px; color: #4a5c72; }
.goc-legend i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 5px; vertical-align: -1px; }
.goc-bars { display: flex; gap: 10px; align-items: flex-end; height: 88px; margin-bottom: 10px; }
.goc-bars > div { flex: 1; text-align: center; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; }
.goc-bars i { display: block; background: var(--primary); border-radius: 6px 6px 2px 2px; min-height: 2px; }
.goc-bars span { font-size: 11px; color: var(--mut); }
.goc-sig { display: flex; gap: 10px; padding: 8px 0; border-bottom: 1px solid #f0f4f8; font-size: 13px; }
.goc-sig:last-child { border-bottom: 0; }
.goc-sig .ic { width: 22px; height: 22px; border-radius: 7px; flex: none; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.goc-sig.w .ic { background: #f7eddc; color: #8a6a2a; } .goc-sig.r .ic { background: #f7e6e9; color: #a4505f; } .goc-sig.i .ic { background: #e4edf6; color: #3f6890; }
.goc-tl { position: relative; padding-left: 16px; font-size: 13px; }
.goc-tl::before { content: ""; position: absolute; left: 4px; top: 4px; bottom: 4px; width: 2px; background: var(--line); }
.goc-tl-i { position: relative; padding: 0 0 12px; }
.goc-tl-i::before { content: ""; position: absolute; left: -16px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: #fff; border: 2px solid var(--primary); }
.goc-tl-i.w::before { border-color: var(--sand); } .goc-tl-i.r::before { border-color: var(--danger); }
.goc-tl-i .d { font-size: 11px; color: var(--mut); }

/* дерево зависимых */
.goc-tree, .goc-tree ul { list-style: none; margin: 0; padding-left: 18px; font-size: 13px; }
.goc-tree { padding-left: 0; }
.goc-tree li { margin: 3px 0; }
.goc-node { border: 0; background: none; padding: 2px 4px; color: var(--primary); cursor: pointer; font: inherit; }
.goc-node::before { content: "▸ "; color: var(--mut); }
.goc-node.open::before { content: "▾ "; }
.goc-node.leaf { color: var(--mut); cursor: default; } .goc-node.leaf::before { content: "· "; }
.goc-cnt { font-size: 11px; background: var(--soft); border-radius: 6px; padding: 0 6px; color: #4a5c72; }
.goc-cnt.z { color: #c4cfdb; background: transparent; }
.goc-tree-i { padding: 2px 0; }

/* досье */
.goc-dos { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 16px; }
.goc-dos-nav { border-right: 1px solid var(--line); padding-right: 10px; }
.goc-folder { display: flex; justify-content: space-between; gap: 8px; padding: 6px 10px; border-radius: 8px; color: #34465c !important; font-size: 13px; text-decoration: none !important; }
.goc-folder:hover { background: var(--soft); }
.goc-folder.on { background: #e4edf6; color: #2b4a68 !important; font-weight: 600; }
.goc-dos-files:empty::before { content: attr(data-empty); color: var(--mut); display: block; padding: 20px; text-align: center; }
.goc-files { display: flex; flex-direction: column; }
.goc-file { display: flex; gap: 12px; align-items: center; padding: 9px 4px; border-bottom: 1px solid #f0f4f8; }
.goc-file:hover { background: #fafcfe; }
.goc-fi { width: 34px; height: 40px; border-radius: 6px; background: #f7e6e9; color: #a4505f; display: grid; place-items: center; font-size: 9px; font-weight: 700; flex: none; }
.goc-fm { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 13px; }
.goc-fm small { color: var(--mut); }
.goc-fa { display: flex; gap: 4px; }
.goc-fa a { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 7px; border: 1px solid var(--line); color: #4a5c72 !important; text-decoration: none !important; }
.goc-fa a:hover { background: var(--soft); } .goc-fa a.del:hover { background: #f7e6e9; color: #a4505f !important; }
.goc-search { border: 1px solid var(--line); border-radius: 8px; padding: 4px 9px; font-size: 12px; width: 200px; }
.goc-pdf { width: 100%; height: calc(100vh - 170px); border: 1px solid var(--line); border-radius: 8px; }

/* отчётность */
.goc-cov td.c, .goc-cov th.c { text-align: center; width: 70px; }
.goc-chip { display: inline-block; min-width: 26px; padding: 1px 6px; margin: 1px; border-radius: 6px; background: var(--primary); color: #fff !important; font-size: 11px; text-decoration: none !important; cursor: pointer; border: 0; }
.goc-chip.old { background: #c7d6e6; color: #3f6890 !important; }
.goc-miss { color: #c4cfdb; }
.goc-rv { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 14px; }
.goc-rv-nav { border-right: 1px solid var(--line); padding-right: 10px; }
.goc-rv-nav a { display: flex; gap: 8px; align-items: center; padding: 7px 10px; border-radius: 8px; color: #34465c !important; font-size: 13px; text-decoration: none !important; }
.goc-rv-nav a:hover { background: var(--soft); }
.goc-rv-nav a.on { background: #e4edf6; color: #2b4a68 !important; font-weight: 600; }
.goc-nt { display: inline-block; width: 8px; height: 8px; border-radius: 2px; flex: none; background: #a9b5c3; }
.goc-nt.SingleRow { background: var(--teal); } .goc-nt.Spreadsheet { background: var(--primary); } .goc-nt.MultipleRow, .goc-nt.SingleAndMultipleRow { background: var(--sand); }
.goc-rv-body { min-width: 0; overflow-x: auto; }
.goc-ver { display: inline-block; padding: 1px 7px; border-radius: 6px; background: var(--soft); color: #4a5c72 !important; margin-left: 4px; font-size: 11px; text-decoration: none !important; cursor: pointer; }
.goc-ver.on { background: var(--primary); color: #fff !important; }
.goc-reports.full { position: fixed; inset: 12px; z-index: 1040; overflow: auto; margin: 0; box-shadow: 0 0 0 100vmax rgba(31,47,66,.32); }

/* госбазы */
.goc-itiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 8px; margin-bottom: 14px; }
.goc-itile { border: 1px solid var(--line); border-radius: 10px; padding: 8px 10px; color: var(--ink) !important; display: flex; flex-direction: column; text-decoration: none !important; font-size: 13px; }
.goc-itile:hover { background: #fafcfe; } .goc-itile.on { border-color: var(--primary); box-shadow: inset 0 0 0 1px var(--primary); }
.goc-itile b { font-size: 17px; } .goc-itile small { color: var(--mut); font-size: 11px; }
.goc-itile.mock { opacity: .55; }

/* панель записи */
.goc-shade { position: fixed; inset: 0; background: rgba(31,47,66,.32); display: none; z-index: 1060; }
.goc-shade.open { display: block; }
.goc-drawer { position: fixed; top: 0; right: 0; bottom: 0; width: min(620px, 100vw); background: #fff; z-index: 1061; transform: translateX(100%); transition: transform .18s ease; display: flex; flex-direction: column; box-shadow: -12px 0 32px rgba(31,47,66,.15); }
.goc-drawer.wide { width: min(1000px, 100vw); }
.goc-drawer.open { transform: none; }
.goc-drawer-h { padding: 16px 18px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 10px; }
.goc-drawer-b { padding: 14px 18px; overflow: auto; flex: 1; }
.goc-drawer-f { padding: 12px 18px; border-top: 1px solid var(--line); display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.goc-drawer-f:empty { display: none; }
.goc-x { border: 0; background: transparent; font-size: 22px; color: var(--mut); cursor: pointer; line-height: 1; }

@media (max-width: 1300px) { .goc-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
    .goc-split, .goc-kv, .goc-dos, .goc-rv { grid-template-columns: 1fr; }
    .goc-kv > div { grid-template-columns: 140px 1fr; }
    .goc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .goc-dos-nav, .goc-rv-nav { border: 0; padding: 0; }
}
