/* Кабинет: уточнения образца «Чернила и коралл». Блог этот файл не подключает. */
.cabinet { --text-muted: #929BB8; --button-text: #2A0C05; }
.cabinet[data-theme="light"], [data-theme="light"] .cabinet { --text-muted: #56617A; --button-text: #FFF3EF; }
.cabinet .content { padding: 16px 20px; gap: 12px; }
.cabinet :is(.mono, [class$="-label"], [class$="-head"], [class$="-title"], [class$="-value"], [class$="-num"]) { font-family: var(--font-sans); letter-spacing: 0; text-transform: none; font-variant-numeric: tabular-nums; }
.cabinet :is(.table-head,.gp-head,.kw-head,.cp-head,.rn-head,.nav-label,.tile-head,.cl-field>.small) { text-transform: lowercase; }
.cabinet :is(.btn,.btn-outline) { height: 32px; min-height: 32px; padding: 0 12px; border-radius: 6px; font: 500 12.5px var(--font-sans); background: transparent; border: 1px solid var(--border-strong); color: var(--text-primary); box-shadow: none; white-space: normal; }
.cabinet :is(.btn-primary,.gp-run .btn,.kw-run .btn,.cp-run .btn,.nc-submit) { height: 36px; min-height: 36px; background: var(--teal); border-color: var(--teal); color: var(--button-text); font-weight: 600; border-radius: 6px; }
.cabinet :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),select,textarea) { font: inherit; color: var(--text-primary); background: var(--panel); border: 1px solid var(--border-strong); border-radius: 6px; padding: 8px 12px; min-width: 0; max-width: 100%; }
.cabinet :is(button,a,input,select,textarea,summary):focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.cabinet button:disabled { opacity: .65; cursor: not-allowed; }
.cabinet ::selection { color: var(--text-primary); background: var(--teal-dim); }
.cabinet :is(.gp-kpis,.kw-kpis,.cp-kpis,.tiles,.ct-scores,.bl-packages) { display: flex; flex-direction: column; gap: 0; border-block: 1px solid var(--border); }
.cabinet :is(.gp-kpi,.kw-kpi,.cp-kpi,.tile,.ct-score,.bl-package) { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 8px 12px; border: 0; border-bottom: 1px solid var(--border); padding: 8px 0; background: transparent; border-radius: 0; }
.cabinet :is(.gp-kpi-label,.kw-kpi-label,.cp-kpi-label,.tile-head) { min-width: 144px; color: var(--text-secondary); font-size: 12px; }
.cabinet :is(.gp-kpi-label,.kw-kpi-label,.cp-kpi-label,.tile-head) .ic { display: none; }
.cabinet :is(.gp-kpi-value,.kw-kpi-value,.cp-kpi-value,.tile-value,.ct-score b) { font-size: 14px; font-weight: 600; line-height: 1.4; white-space: normal; }
.cabinet :is(.gp-kpi-text,.kw-kpi-text,.cp-kpi-text,.tile-foot) { font-size: 12px; }
.cabinet :is(.gp-kpi-foot,.kw-kpi-foot,.cp-kpi-foot) { border: 0; padding: 0; }
.cabinet :is(.gp-layout,.gp-panel,.kw-layout,.cp-layout,.ct-layout) { gap: 12px; }
.cabinet :is(.gp-note,.kw-note,.cp-note,.ct-note,.cl-note,.bl-note,.ob-note) { border-radius: 6px; border-width: 1px; border-left-width: 1px; padding: 8px 12px; box-shadow: none; }
.cabinet :is(.gp-note.is-ok,.kw-note.is-ok,.cp-note.is-ok,.cl-note-ok) { border-color: var(--border); background: var(--panel); }
.cabinet :is(.is-bad,.cl-note-error,.bl-note-error) { color: var(--crimson); background: var(--crimson-dim); border-color: var(--crimson); }
.cabinet :is(.gp-legend,.kw-legend) { display: flex; flex-direction: column; gap: 8px; }
.cabinet .cabinet-help { border: 1px solid var(--border); border-radius: 6px; background: var(--panel); }
.cabinet .cabinet-help > summary { padding: 8px 12px; color: var(--text-secondary); cursor: pointer; }
.cabinet .cabinet-help > div { padding: 12px; }
.cabinet .cabinet-help summary .ic { vertical-align: middle; }
.cabinet :is(.gp-row-wrap,.kw-row-wrap,.cp-row-wrap) { border-left: 0; }
.cabinet :is(.gp-head,.gp-row) { width: 100%; min-width: 0; border-left: 0; gap: 8px; }
.cabinet .gp-c-name { flex: 1 1 180px; width: auto; }
.cabinet .gp-c-band { width: 36px; }
.cabinet .gp-c-num { width: 68px; }
.cabinet .gp-c-prio { width: 68px; }
.cabinet .gp-c-who { width: 100px; }
.cabinet .gp-c-occ { width: 104px; }
.cabinet .gp-c-status { width: 104px; }
.cabinet .gp-title { flex-wrap: wrap; overflow: visible; }
.cabinet .gp-row-wrap.is-dismissed > .gp-row { opacity: 1; color: var(--text-secondary); }
.cabinet .gp-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--border); }
.cabinet .gp-status-knopki { display: grid; grid-template-columns: 96px 96px; gap: 8px; margin: 0; }
.cabinet .gp-status-knopki form:has([data-status-knopka="planned"]) { grid-column: 1; grid-row: 1; }
.cabinet .gp-status-knopki form:has([data-status-knopka="dismissed"]), .cabinet .gp-status-knopki form:has([data-status-knopka="open"]) { grid-column: 2; grid-row: 1; }
.cabinet .gp-status-knopki .btn { width: 96px; }
.cabinet .gp-zakaz { order: -1; margin: 0; }
.cabinet .gp-zakaz .small { display: none; }
.cabinet :is(.gp-bar,.cp-bar) { border-radius: 0; }
.cabinet .ct-c-quality { width: 200px; }
.cabinet .ct-c-status { width: 144px; }
.cabinet .ct-c-cost { width: 96px; }
.cabinet .oc-c-action { display: grid; grid-template-columns: repeat(3, 88px); gap: 8px; width: 280px; }
.cabinet .oc-c-action form { min-width: 0; }
.cabinet .oc-c-action .btn { width: 88px; }
.cabinet :is(.card-head,.table-head) { flex-wrap: wrap; }
.cabinet .card-head .small { white-space: normal; }
.cabinet :is(.empty,.empty.tall) { min-height: 120px; text-align: left; align-items: flex-start; padding: 16px; }
.cabinet :is(.gp-missing,.gp-legend,.kw-legend) { grid-template-columns: 1fr; }
.cabinet .gp-missing-item { flex-direction: row; flex-wrap: wrap; border: 0; border-bottom: 1px solid var(--border); }
.cabinet :is(.gp-head,.kw-head,.cp-head,.rn-head,.table-head) { color: var(--text-secondary); }
@media(max-width:760px) {
 .cabinet .content { padding: 12px; }
 .cabinet .topbar { padding: 8px 12px; }
 .cabinet .topbar-title h1 { white-space: normal; }
 .cabinet :is(.card,.row,.gp-layout,.kw-layout,.cp-layout,.ct-layout,.ob-layout,.bl-layout) { min-width: 0; max-width: 100%; }
 .cabinet :is(.gp-head,.kw-head,.cp-head,.rn-head,.table-head) { display: none; }
 .cabinet :is(.gp-row,.kw-row,.cp-row,.ct-row,.oc-row,.db-row,.rn-row,.cl-row) { display: flex; flex-wrap: wrap; width: 100%; min-width: 0; gap: 8px 12px; padding: 12px; }
 .cabinet :is(.gp-row,.kw-row,.cp-row,.ct-row,.oc-row,.db-row,.rn-row,.cl-row) > * { min-width: 0; max-width: 100%; flex: 0 1 auto; width: auto; white-space: normal; overflow-wrap: anywhere; }
 .cabinet :is(.gp-c-name,.kw-c-name,.cp-c-name,.oc-name,.ct-row>.grow,.db-c-name,.rn-c-client,.cl-row>.grow) { flex-basis: 100%; width: 100%; }
 .cabinet :is(.card:has(>.gp-head),.card:has(>.ct-row),.card:has(>.oc-row)) { overflow-x: visible; }
 .cabinet .gp-row-actions { justify-content: flex-start; flex-wrap: wrap; }
 .cabinet .gp-status-knopki { grid-template-columns: 104px 104px; }
 .cabinet .gp-status-knopki .btn { width: 104px; }
 .cabinet :is(.btn,.btn-primary,.btn-outline,.gp-run .btn,.kw-run .btn,.cp-run .btn) { min-height: 44px; height: auto; padding: 8px 12px; }
 .cabinet .gp-details { padding: 12px; grid-template-columns: minmax(0,1fr); }
 .cabinet .gp-line { flex-wrap: wrap; }
 .cabinet .gp-c-rank { display: none; }
 .cabinet .oc-c-action { flex-basis: 100%; width: 100%; display: flex; flex-wrap: wrap; }
 .cabinet :is(.gp-kpi-label,.kw-kpi-label,.cp-kpi-label,.tile-head) { min-width: 0; }
 .cabinet :is(.cl-form,.nc-form,.ct-variants,.ob-layout,.bl-layout) { grid-template-columns: minmax(0,1fr); }
 .cabinet .card-side { width: 100%; }
 .cabinet img { max-width: 100%; }
}
/* Формы, мастер и системные экраны: тот же ритм строк, без декоративной кромки. */
.cabinet :is(.ob-step,.nc-result-head,.rp-row.is-main,.rp-fakt,.rn-step,.bl-hint,.bl-until) { border-left-width: 1px; border-left-color: var(--border); }
.cabinet .bl-package.is-active { box-shadow: none; }
.cabinet :is(.cl-props,.ob-props) { display: flex; flex-direction: column; gap: 0; }
.cabinet .cl-props > div { display: grid; grid-template-columns: 144px minmax(0,1fr); gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
.cabinet .cl-props dt { font-size: 12px; color: var(--text-secondary); }
.cabinet .cl-head { padding: 12px 16px; gap: 12px; }
.cabinet .cl-head-title h2 { font-size: 18px; }
.cabinet .cl-head-actions { flex-wrap: wrap; max-width: 168px; }
.cabinet .cl-hod-form { gap: 8px; }
.cabinet .cl-hod-form input[type="number"] { width: 88px; }
.cabinet .ob-step { border-radius: 0; }
.cabinet .ob-step-head { padding: 12px; }
.cabinet .ob-step-body { padding: 0 12px 12px; }
.cabinet :is(.ct-score,.ct-variant,.ct-step-n) { border-radius: 4px; }
.cabinet .ct-step.is-done .ct-step-n { color: var(--button-text); }
.cabinet :is(.nc-row,.rp-row) { min-width: 0; }
.cabinet .gp-zakaz .small { display: inline; }
@media(max-width:760px) {
 .cabinet :is(.nc-row,.rp-row,.rn-step,.rn-call,.acc-row) { display: flex; flex-wrap: wrap; width: 100%; min-width: 0; gap: 8px 12px; padding: 12px; }
 .cabinet :is(.nc-row,.rp-row,.rn-step,.rn-call,.acc-row) > * { min-width: 0; max-width: 100%; width: auto; flex: 0 1 auto; overflow-wrap: anywhere; }
 .cabinet :is(.nc-c-who,.rp-c-name,.rn-step-note) { flex-basis: 100%; }
 .cabinet .cl-props > div { grid-template-columns: 100px minmax(0,1fr); gap: 8px; }
 .cabinet .cl-head { flex-direction: column; }
 .cabinet .cl-head-actions { max-width: 100%; }
 .cabinet :is(.oc-tools,.oc-tool) { flex-wrap: wrap; min-width: 0; width: 100%; }
 .cabinet .oc-tool input { width: 100%; flex: 1 1 160px; }
 .cabinet .bl-sum { flex-wrap: wrap; }
}
/* Вход: тот же шрифт и элементы кабинета, обычные подписи. */
.cabinet :is(.auth-label,.auth-card-title,.auth-card-sub,.auth-bottom-links,.auth-step-num,.auth-brand-text) { font-family: var(--font-sans); letter-spacing: 0; text-transform: none; }
.cabinet .auth-label { text-transform: lowercase; }
.cabinet .auth-steps { border-left: 0; }
.cabinet .auth-kicker { display: none; }
.cabinet .gp-status-knopki form:has([data-status-knopka="open"]) { grid-column: 1; }
.cabinet .gp-status-knopki:has([data-status-knopka="open"]):not(:has([data-status-knopka="dismissed"])) form { grid-column: 2; }
.cabinet .oc-c-action form { grid-column: 1; }
@media(max-width:760px) { .cabinet .auth-bottom-links { flex-wrap: wrap; gap: 12px; } }
/* Заключительная проверка: порядок данных, доступный отказ, места действий. */
.cabinet :is(.auth-btn) { height: 36px; min-height: 36px; border-radius: 6px; font: 600 12.5px var(--font-sans); color: var(--button-text); }
.cabinet :is(.auth-step-num,.ob-step-mark) { display: none; }
.cabinet :is(.auth-brand-name,.auth-mono-muted) { letter-spacing: 0; text-transform: lowercase; }
.cabinet .auth-input input { border: 0; padding: 0; background: transparent; border-radius: 0; }
.cabinet .auth-card-accent { display: none; }
.cabinet .rn-totals { display: flex; flex-direction: column; gap: 0; }
.cabinet .rn-total { display: flex; flex-direction: row; flex-wrap: wrap; gap: 12px; border-left: 0; border-bottom: 1px solid var(--border); padding: 8px 0; }
.cabinet .rn-total b { font-size: 14px; }
.cabinet .ct-row { display: grid; grid-template-columns: 80px minmax(120px,1fr) 160px 120px repeat(5,40px) 80px; gap: 8px; }
.cabinet .ct-row > span { width: auto; min-width: 0; }
.cabinet .ct-row:not(:has(.ct-c-cost)) { grid-template-columns: 80px minmax(120px,1fr) 160px 120px repeat(5,40px); }
.cabinet .ct-row .pill { min-width: 0; width: 100%; }
.cabinet .ct-row .ct-c-status .pill { width: 112px; }
.cabinet .ct-note { flex-wrap: wrap; border-color: var(--border); }
.cabinet .ct-note.is-warn { border-color: var(--amber); background: var(--amber-dim); }
.cabinet input::placeholder,.cabinet textarea::placeholder { color: var(--text-muted); opacity: 1; }
@media(max-width:760px) {
 .cabinet :is(.ct-row,.ct-row:not(:has(.ct-c-cost))) { display: flex; }
 .cabinet .ct-row > .grow { flex: 1 1 100%; order: -1; }
 .cabinet .ct-row .ct-c-quality { flex-basis: 100%; }
 .cabinet .oc-dni { flex-wrap: wrap; }
 .cabinet .auth-btn { min-height: 44px; }
}
.cabinet .card:has(>.ct-row) > .table-head { display: grid; grid-template-columns: 80px minmax(120px,1fr) 160px 120px repeat(5,40px) 80px; gap: 8px; }
.cabinet .card:has(>.ct-row):not(:has(.ct-c-cost)) > .table-head { grid-template-columns: 80px minmax(120px,1fr) 160px 120px repeat(5,40px); }
.cabinet .card:has(>.ct-row) > .table-head > * { min-width: 0; width: auto; overflow-wrap: anywhere; }
.cabinet .btn:hover { border-color: var(--teal); }
.cabinet .btn-primary:hover { background: var(--teal); filter: brightness(1.08); }
.cabinet input,.cabinet textarea { caret-color: var(--teal); }
.cabinet { scrollbar-color: var(--border-strong) var(--panel); }
@media(max-width:760px) { .cabinet .card:has(>.ct-row) > .table-head { display: none; } }
/* Причины в одной открытой полосе; длинный текст переносится, а не скрывается. */
.cabinet .cabinet-alerts { border: 1px solid var(--amber); border-radius: 6px; background: var(--amber-dim); padding: 8px 12px; }
.cabinet .cabinet-alerts .cl-note { border: 0; background: transparent; padding: 4px 0; margin: 0; }
.cabinet .cabinet-alerts .cl-note-error { color: var(--crimson); }
.cabinet .cabinet-alerts .cl-note + .cl-note > .ic { display: none; }
@media(max-width:760px) {
 .cabinet .card:has(>.ct-row) > .ct-row { width: 100%; min-width: 0; display: flex; flex-wrap: wrap; }
 .cabinet .card:has(>.ct-row) > .ct-row > .grow { flex: 1 1 100%; width: 100%; min-width: 0; }
}
.cabinet .cp-legend { display: flex; flex-direction: column; gap: 8px; }
.cabinet .mono.small { letter-spacing: 0; text-transform: lowercase; }
/* Читаемые заголовки числовых колонок Статей: слова не режутся на отдельные буквы. */
@media(min-width:761px) {
 .cabinet .ct-row, .cabinet .card:has(>.ct-row) > .table-head { grid-template-columns: 72px minmax(120px,1fr) 100px 112px repeat(5,72px) 80px; }
 .cabinet .ct-row:not(:has(.ct-c-cost)), .cabinet .card:has(>.ct-row):not(:has(.ct-c-cost)) > .table-head { grid-template-columns: 72px minmax(120px,1fr) 100px 112px repeat(5,72px); }
 .cabinet .card:has(>.ct-row) > .table-head > * { overflow-wrap: normal; }
}
@media(max-width:760px) {
 .cabinet .bl-row { display: flex; flex-wrap: wrap; gap: 8px 12px; padding: 12px; width: 100%; min-width: 0; }
 .cabinet .bl-row > * { width: auto; min-width: 0; max-width: 100%; flex: 0 1 auto; overflow-wrap: anywhere; }
 .cabinet .bl-row > .grow { flex: 1 1 100%; }
 .cabinet .bl-item { flex-wrap: wrap; white-space: normal; }
 .cabinet .bl-row > .bl-c-action { flex-basis: 100%; justify-content: flex-start; }
 .cabinet .cl-row :is(.cl-c-niche,.cl-c-tariff,.cl-c-channel,.cl-c-status,.cl-c-when) { display: block; }
}
