/* Zorum admin v1 (ZS-DIS-01): page-specific layout on top of web/shared/design.css. */
#connectionDetails { max-height: 40vh; overflow: auto; }
.item-row .badge { flex-shrink: 0; }
/* ZS-MODEL-001 read-only model-policy card: key/value list outside a <dialog>. */
.kv-list { display: grid; grid-template-columns: auto 1fr; gap: 6px 12px; font-size: 13px; margin: 0; }
.kv-list dt { color: var(--muted); }
.kv-list dd { margin: 0; overflow-wrap: anywhere; }

/* ZS-PATCH-008: "Оставаться в системе" on the login form and the "Мои сессии" dialog. */
.remember-field { display: flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 13px; }
.remember-field input[type="checkbox"] { width: auto; flex-shrink: 0; }
.remember-hint { margin: 4px 0 0; }
.sessions-list { margin-top: 12px; max-height: 50vh; overflow: auto; }
.session-meta { width: 100%; color: var(--muted); font-size: 12px; }

/* ZS-ONB-001: 1C connection wizard -- one column, no horizontal scroll down to 360 px. */
.onec-card .card-head { flex-wrap: wrap; gap: 8px; }
.onec-wizard { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 16px; min-width: 0; }
.onec-wizard-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.onec-wizard-head h3 { margin: 0; font-size: 17px; overflow-wrap: anywhere; }
.onec-steps { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 12px; }
.onec-step { border: 1px solid var(--line); border-radius: 10px; padding: 12px; min-width: 0; }
.onec-step[data-status="passed"], .onec-step[data-status="passed_with_limitations"] { border-color: var(--soft); }
.onec-step[data-status="failed"], .onec-step[data-status="blocked"] { border-color: var(--danger-soft); }
.onec-step-locked { opacity: 0.75; }
.onec-step-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.onec-step-head h4 { margin: 0; font-size: 15px; flex: 1 1 auto; }
.onec-step-num { width: 24px; height: 24px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
  background: var(--side); font-size: 12px; font-weight: 650; flex-shrink: 0; }
.onec-result, .onec-plan { font-size: 13px; margin: 8px 0 0; overflow-wrap: anywhere; }
.onec-result:empty { display: none; }
.onec-form { margin-top: 8px; }
.onec-form input, .onec-form select { max-width: 100%; min-width: 0; }
.onec-progress { margin-top: 12px; padding: 10px 12px; border-radius: 8px; background: var(--amber-soft); }
.onec-summary { margin-top: 16px; }
.onec-summary h4 { margin: 0 0 6px; }
.onec-table-wrap { max-width: 100%; overflow-x: auto; }
.onec-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.onec-table th, .onec-table td { white-space: normal; text-transform: none; text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--line); vertical-align: top; overflow-wrap: anywhere; }
/* ZS-ONEC-007: the ledger mirror block (passport of the publication, reconciliation with the trial balance). */
.onec-ledger { border-top: 1px solid var(--line); padding-top: 12px; }
.onec-ledger-caps { grid-template-columns: minmax(140px, max-content) 1fr; }
.onec-ledger-table { min-width: 640px; }
.onec-ledger-table td:nth-child(2), .onec-ledger-table td:nth-child(3) { white-space: nowrap; }
.onec-ledger-table td:nth-child(n+4) { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 560px) { .onec-ledger .form-actions { flex-wrap: wrap; } .onec-ledger-table { font-size: 12px; } }
/* ZS-ONB-004: «История для анализа» -- depth and consent, the progress by years (bar + text) and months. */
.onec-history { display: grid; gap: 10px; min-width: 0; }
.onec-history-text { font-size: 14px; margin: 0; overflow-wrap: anywhere; }
.onec-history-loaded { font-weight: 600; }
.onec-history-org select { max-width: 100%; }
.onec-history-depth, .onec-history-pace { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 10px 12px; margin: 0; min-width: 0; display: grid; gap: 8px; }
.onec-history-depth legend, .onec-history-pace legend { font-size: 13px; color: var(--muted); padding: 0 4px; }
.onec-history-option { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; overflow-wrap: anywhere; }
.onec-history-option input { width: auto; flex-shrink: 0; margin-top: 3px; }
.onec-history-agree span { white-space: pre-line; }
.onec-history-consent { display: grid; gap: 8px; padding-left: 24px; }
.onec-history-progress { display: grid; gap: 8px; padding: 10px 12px; border-radius: var(--radius-sm); background: var(--side); min-width: 0; }
.onec-history-progress h5, .onec-history-sub { margin: 0; font-size: 14px; }
.onec-history-sub { margin-top: 12px; }
.onec-history-years { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.onec-history-year { min-width: 0; }
.onec-history-year-head { display: grid; grid-template-columns: 3.5em minmax(0, 12em) 1fr; align-items: center; gap: 8px; font-size: 14px; }
.onec-history-year-label { font-weight: 600; font-variant-numeric: tabular-nums; }
.onec-history-year-text { overflow-wrap: anywhere; }
.onec-history-bar { display: flex; gap: 2px; min-width: 0; }
.onec-history-cell { flex: 1 1 0; height: 10px; border-radius: 2px; background: var(--line); }
.onec-history-cell.onec-history-loaded, .onec-history-cell.onec-history-no_postings { background: var(--green); }
.onec-history-cell.onec-history-updating { background: var(--amber-dot); }
.onec-history-cell.onec-history-error, .onec-history-cell.onec-history-retrying { background: var(--danger); }
.onec-history-months { margin: 4px 0 0 calc(3.5em + 8px); font-size: 13px; }
.onec-history-months summary { cursor: pointer; color: var(--muted); }
.onec-history-tiles { list-style: none; margin: 6px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 6px; }
.onec-history-tile { border: 1px solid var(--line); border-radius: var(--radius-sm); padding: 6px 8px; display: grid; gap: 4px; background: var(--white); min-width: 0; overflow-wrap: anywhere; }
.onec-history-tile.onec-history-error, .onec-history-tile.onec-history-retrying { border-color: var(--danger-soft); }
.onec-history-code { color: var(--danger); }
.onec-history-small { padding: 4px 8px; font-size: 12px; }
.onec-history-link { background: none; border: 0; padding: 0; color: var(--green); text-decoration: underline; cursor: pointer; font: inherit; }
.onec-tech { margin-top: 14px; font-size: 13px; }
.onec-tech summary { cursor: pointer; color: var(--muted); }
@media (max-width: 480px) {
  .onec-step { padding: 10px; }
  .onec-wizard-head .btn, .onec-card .card-head .btn { width: 100%; }
  /* ZS-ONB-004 §2.5: one column, the year label above its bar, the section's buttons full width, text >= 15 px. */
  .onec-ledger, .onec-history { grid-template-columns: 1fr; }
  .onec-ledger p, .onec-history-text, .onec-history-option, .onec-history-year-head, .onec-history-months { font-size: 15px; }
  .onec-history-year-head { grid-template-columns: 1fr; gap: 4px; }
  .onec-history-months { margin-left: 0; }
  .onec-history-consent { padding-left: 0; }
  .onec-ledger .form-actions .btn, .onec-history .btn { width: 100%; }
  .onec-history-link { width: auto; }
}

/* ZS-ONB-001 (360 px): action rows wrap instead of widening the page. */
.form-actions { flex-wrap: wrap; }
