/* Data-MCP — общие стили продукта (все поверхности). Опирается на tokens/data-mcp.css.
   Корень поверхности: <body class="dmcp"> или <... class="dmcp dark">. */
*{box-sizing:border-box;}
.dmcp{background:var(--dm-bg);color:var(--dm-text);font-family:var(--dm-font);font-size:15px;line-height:1.55;margin:0;-webkit-font-smoothing:antialiased;}
.dmcp h1,.dmcp h2,.dmcp h3,.dmcp h4{margin:0;color:var(--dm-text);letter-spacing:-0.02em;}
.dmcp a{color:var(--dm-accent);text-decoration:none;}
.dmcp a:hover{text-decoration:underline;}
.dm-mono{font-family:var(--dm-mono);}
.dm-wrap{max-width:1120px;margin:0 auto;padding:0 24px;}

/* Кнопки */
.dm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 18px;border-radius:var(--dm-radius);font:700 14px/1 var(--dm-font);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background-color .12s,border-color .12s,opacity .12s;white-space:nowrap;}
.dm-btn i,.dm-btn svg{width:16px;height:16px;}
.dm-btn--primary{background:var(--dm-accent);color:var(--dm-on-accent);border-color:var(--dm-accent);}
.dm-btn--primary:hover{background:var(--dm-accent-2);border-color:var(--dm-accent-2);text-decoration:none;}
.dm-btn--ghost{background:transparent;color:var(--dm-text);border-color:var(--dm-border-2);}
.dm-btn--ghost:hover{background:var(--dm-surface-2);text-decoration:none;}
.dm-btn--sm{height:34px;padding:0 13px;font-size:13px;}
.dm-btn--lg{height:50px;padding:0 24px;font-size:15px;}
.dm-btn--danger{background:transparent;color:var(--dm-error);border-color:var(--dm-error-line);}
.dm-btn--danger:hover{background:var(--dm-error-bg);text-decoration:none;}
/* DM-39, фикс дефекта 1: `.dmcp a{color:var(--dm-accent)}` (0,0,1,1) перебивает
   вариант кнопки `.dm-btn--*` (0,0,1,0) у кнопок-ссылок <a class="dm-btn ...">
   (primary становился индиго-на-индиго). Тот же конфликт у ghost/danger.
   Цвета — через токены, поэтому корректно и в .dmcp.dark. */
.dmcp a.dm-btn--primary{color:var(--dm-on-accent);}
.dmcp a.dm-btn--ghost{color:var(--dm-text);}
.dmcp a.dm-btn--danger{color:var(--dm-error);}

/* Чипы/бейджи */
.dm-chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font:700 11.5px/1 var(--dm-font);border:1px solid transparent;white-space:nowrap;}
.dm-chip .dot{width:7px;height:7px;border-radius:50%;flex:none;}
.dm-chip--ok{background:var(--dm-ok-bg);color:var(--dm-ok);border-color:var(--dm-ok-line);}
.dm-chip--ok .dot{background:var(--dm-ok);}
.dm-chip--stale{background:var(--dm-stale-bg);color:var(--dm-stale);border-color:var(--dm-stale-line);}
.dm-chip--stale .dot{background:var(--dm-stale);}
.dm-chip--error{background:var(--dm-error-bg);color:var(--dm-error);border-color:var(--dm-error-line);}
.dm-chip--error .dot{background:var(--dm-error);}
.dm-chip--info{background:var(--dm-info-bg);color:var(--dm-info);}
.dm-chip--accent{background:var(--dm-accent-soft);color:var(--dm-accent);border-color:var(--dm-accent-line);}
.dm-chip--neutral{background:var(--dm-surface-2);color:var(--dm-text-2);border-color:var(--dm-border);}

/* Карточки/панели */
.dm-card{background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-radius-lg);box-shadow:var(--dm-shadow);}
.dm-panel{background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-radius);}

/* Таблицы — чистые, лёгкий фон шапки, без uppercase */
.dm-table{width:100%;border-collapse:collapse;font-size:14px;}
.dm-table th{text-align:left;font:600 13px/1 var(--dm-font);color:var(--dm-text-2);background:var(--dm-surface-2);padding:10px 14px;border-bottom:1px solid var(--dm-border);}
.dm-table td{padding:12px 14px;border-bottom:1px solid var(--dm-border);vertical-align:middle;}
.dm-table tr:last-child td{border-bottom:none;}
.dm-table tbody tr:hover{background:var(--dm-surface-2);}
.dm-num{font-variant-numeric:tabular-nums;}

/* Код-блок с кнопкой копирования */
.dm-code{position:relative;background:var(--dm-code-bg);border:1px solid var(--dm-border);border-radius:var(--dm-radius);font:13px/1.7 var(--dm-mono);color:var(--dm-text);padding:14px 16px;overflow-x:auto;}
.dm-code .cm{color:var(--dm-text-3);}
.dm-code .kw{color:var(--dm-accent);}
.dm-code .st{color:var(--dm-ok);}
.dm-code__copy{position:absolute;top:9px;right:9px;height:28px;padding:0 10px;border-radius:var(--dm-radius-sm);background:var(--dm-surface);border:1px solid var(--dm-border-2);color:var(--dm-text-2);font:700 11px var(--dm-font);cursor:pointer;display:inline-flex;align-items:center;gap:5px;}
.dm-code__copy:hover{color:var(--dm-text);}
.dm-code__copy svg{width:13px;height:13px;}

/* Карточка юрлица с freshness — сигнатурный компонент */
.dm-co{background:var(--dm-surface);border:1px solid var(--dm-border);border-radius:var(--dm-radius-lg);overflow:hidden;box-shadow:var(--dm-shadow);}
.dm-co__h{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;border-bottom:1px solid var(--dm-border);}
.dm-co__logo{width:42px;height:42px;border-radius:var(--dm-radius);background:var(--dm-accent-soft);color:var(--dm-accent);display:flex;align-items:center;justify-content:center;font:700 16px var(--dm-font);flex:none;}
.dm-co__title{font:700 18px/1.25 var(--dm-font);}
.dm-co__sub{font:13px/1.4 var(--dm-mono);color:var(--dm-text-2);margin-top:3px;}
.dm-co__hstatus{margin-left:auto;text-align:right;}
.dm-co__grid{display:grid;grid-template-columns:1fr 1fr;gap:0;}
.dm-co__field{padding:13px 18px;border-bottom:1px solid var(--dm-border);border-right:1px solid var(--dm-border);}
.dm-co__field:nth-child(2n){border-right:none;}
.dm-co__k{display:flex;align-items:center;gap:8px;font:600 11px/1 var(--dm-font);text-transform:uppercase;letter-spacing:.08em;color:var(--dm-text-3);margin-bottom:7px;}
.dm-co__v{font:15px/1.4 var(--dm-font);color:var(--dm-text);}
.dm-co__v.mono{font-family:var(--dm-mono);font-size:14px;}
/* freshness-бейдж поля */
.dm-fresh{display:inline-flex;align-items:center;gap:5px;font:700 10.5px/1 var(--dm-font);padding:3px 7px;border-radius:999px;border:1px solid transparent;}
.dm-fresh .d{width:6px;height:6px;border-radius:50%;}
.dm-fresh--ok{background:var(--dm-ok-bg);color:var(--dm-ok);border-color:var(--dm-ok-line);} .dm-fresh--ok .d{background:var(--dm-ok);}
.dm-fresh--stale{background:var(--dm-stale-bg);color:var(--dm-stale);border-color:var(--dm-stale-line);} .dm-fresh--stale .d{background:var(--dm-stale);}
.dm-fresh--err{background:var(--dm-error-bg);color:var(--dm-error);border-color:var(--dm-error-line);} .dm-fresh--err .d{background:var(--dm-error);}
.dm-co__meta{font:11px/1.4 var(--dm-mono);color:var(--dm-text-3);margin-top:6px;}
.dm-co__foot{padding:11px 18px;font:12px/1.4 var(--dm-font);color:var(--dm-text-3);background:var(--dm-surface-2);}

/* Переключатель темы */
.dm-theme{display:inline-flex;border:1px solid var(--dm-border-2);border-radius:999px;padding:2px;background:var(--dm-surface);}
.dm-theme button{width:30px;height:26px;border:none;background:none;border-radius:999px;cursor:pointer;color:var(--dm-text-3);display:inline-flex;align-items:center;justify-content:center;}
.dm-theme button svg{width:15px;height:15px;}
.dm-theme button[data-on="true"]{background:var(--dm-accent-soft);color:var(--dm-accent);}
