:root {
  --v7-ink: #13231a;
  --v7-muted: #66766e;
  --v7-green: #126b41;
  --v7-green-soft: #eef7f1;
  --v7-red: #b33f45;
  --v7-line: rgba(18, 55, 36, 0.10);
  --v7-line-strong: rgba(18, 55, 36, 0.17);
  --v7-surface: #ffffff;
  --v7-surface-soft: #f8fbf9;
  --v7-shadow: 0 14px 42px rgba(7, 42, 23, 0.10);
}

/* Never show the experimental decorative corner strokes again. */
.panel::before,
.panel::after,
.tree-panel::before,
.tree-panel::after,
.filters::before,
.filters::after,
.metric-card::before,
.metric-card::after,
.warehouse-kpi::before,
.warehouse-kpi::after,
.warehouse-reference-block::before,
.warehouse-reference-block::after,
.budget-classification-block::before,
.budget-classification-block::after,
.org-node-card::before,
.org-node-card::after,
.panel-head::before,
.panel-head::after,
.panel-title::before,
.panel-title::after,
.section-soft-divider::before,
.section-soft-divider::after,
.soft-separator::before,
.soft-separator::after,
.v5-accent-left::before,
.v5-accent-left::after,
.v5-accent-right::before,
.v5-accent-right::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

.content {
  width: 100% !important;
  max-width: none !important;
}

button,
.button,
a.button {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* ERP Platform Core: wide / two-column / wide composition. */
.core-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(560px, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
}

.core-layout > .core-panel-wide {
  grid-column: 1 / -1 !important;
  width: 100% !important;
}

.core-layout > .panel:not(.core-panel-wide) {
  width: 100% !important;
  min-width: 0 !important;
  align-self: start !important;
}

.core-layout > .panel:not(.core-panel-wide) .compact-row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) auto !important;
  gap: 18px !important;
  align-items: center !important;
  min-width: 0 !important;
}

.core-layout > .panel:not(.core-panel-wide) .compact-row > div:first-child {
  min-width: 0 !important;
  line-height: 1.42 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.core-layout > .panel:not(.core-panel-wide) .compact-row > div:first-child strong {
  display: block !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

.core-layout > .panel:not(.core-panel-wide) .cell-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 9px !important;
  flex-wrap: nowrap !important;
  min-width: max-content !important;
}

.core-layout > .panel:not(.core-panel-wide) .cell-actions .status-badge {
  min-width: 105px !important;
  justify-content: center !important;
}

.core-layout > .panel:not(.core-panel-wide) .cell-actions button,
.core-layout > .panel:not(.core-panel-wide) .cell-actions .button {
  min-width: 112px !important;
  height: 40px !important;
  justify-content: center !important;
}

/* Direct organization-tree alignment without old JS wrappers. */
.org-node-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 20px !important;
  align-items: center !important;
}

.org-node-main {
  min-width: 0 !important;
}

.org-node-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

.org-node-actions button,
.org-node-actions .button {
  min-width: 118px !important;
  height: 40px !important;
  justify-content: center !important;
}

.cell-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

/* Audit list remains compact. */
.v7-audit-table {
  width: 100% !important;
  table-layout: fixed !important;
}

.v7-audit-table th:last-child,
.v7-audit-table td:last-child {
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
}

.v7-audit-table td:last-child {
  padding: 10px 14px !important;
  vertical-align: middle !important;
}

.v7-audit-detail-button {
  min-width: 112px !important;
  height: 38px !important;
  justify-content: center !important;
}

/* Right-side audit drawer. */
.v7-audit-dialog {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;
  width: min(760px, 94vw) !important;
  max-width: none !important;
  height: 100vh !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: var(--v7-surface) !important;
  color: var(--v7-ink) !important;
  box-shadow: -24px 0 70px rgba(3, 30, 16, 0.22) !important;
  overflow: hidden !important;
}

.v7-audit-dialog::backdrop {
  background: rgba(3, 25, 14, 0.44) !important;
  backdrop-filter: blur(3px) !important;
}

.v7-audit-drawer {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  height: 100% !important;
}

.v7-audit-drawer-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
  min-height: 78px !important;
  padding: 18px 22px !important;
  border-bottom: 1px solid var(--v7-line-strong) !important;
  background: linear-gradient(180deg, #ffffff, #f7faf8) !important;
}

.v7-audit-drawer-head h2 {
  margin: 3px 0 0 !important;
  font-size: 1.35rem !important;
  line-height: 1.15 !important;
}

.v7-audit-drawer-kicker {
  color: var(--v7-green) !important;
  font-size: 0.66rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}

.v7-audit-close {
  min-width: 42px !important;
  width: 42px !important;
  height: 42px !important;
  padding: 0 !important;
  border: 1px solid var(--v7-line-strong) !important;
  background: #ffffff !important;
  color: var(--v7-ink) !important;
  font-size: 1.25rem !important;
}

.v7-audit-drawer-body {
  overflow: auto !important;
  padding: 20px 22px 36px !important;
  background: linear-gradient(180deg, #ffffff, #f8fbf9) !important;
}

.v7-audit-section {
  margin-bottom: 20px !important;
  border: 1px solid var(--v7-line) !important;
  background: rgba(255, 255, 255, 0.96) !important;
}

.v7-audit-section h3 {
  margin: 0 !important;
  padding: 13px 15px !important;
  border-bottom: 1px solid var(--v7-line) !important;
  background: var(--v7-surface-soft) !important;
  font-size: 0.86rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.04em !important;
}

.v7-audit-info-grid {
  display: grid !important;
  grid-template-columns: 160px minmax(0, 1fr) !important;
}

.v7-audit-info-grid dt,
.v7-audit-info-grid dd {
  margin: 0 !important;
  padding: 11px 14px !important;
  border-bottom: 1px solid var(--v7-line) !important;
}

.v7-audit-info-grid dt {
  color: var(--v7-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.v7-audit-info-grid dd {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}

.v7-audit-info-grid dt:nth-last-of-type(1),
.v7-audit-info-grid dd:last-child {
  border-bottom: 0 !important;
}

.v7-audit-change-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

.v7-audit-change-table th,
.v7-audit-change-table td {
  padding: 11px 13px !important;
  border-right: 1px solid var(--v7-line) !important;
  border-bottom: 1px solid var(--v7-line) !important;
  vertical-align: top !important;
  text-align: left !important;
  overflow-wrap: anywhere !important;
}

.v7-audit-change-table th:last-child,
.v7-audit-change-table td:last-child {
  border-right: 0 !important;
}

.v7-audit-change-table th {
  background: var(--v7-surface-soft) !important;
  color: var(--v7-green) !important;
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.v7-audit-empty {
  padding: 16px !important;
  color: var(--v7-muted) !important;
}

.v7-technical-details {
  border: 1px solid var(--v7-line) !important;
  background: #ffffff !important;
}

.v7-technical-details summary {
  padding: 13px 15px !important;
  color: var(--v7-green) !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.v7-technical-toolbar {
  display: flex !important;
  justify-content: flex-end !important;
  padding: 10px 12px !important;
  border-top: 1px solid var(--v7-line) !important;
}

.v7-technical-json {
  max-height: 360px !important;
  margin: 0 !important;
  padding: 14px !important;
  border-top: 1px solid var(--v7-line) !important;
  background: #f4f7f5 !important;
  color: #173223 !important;
  overflow: auto !important;
  white-space: pre-wrap !important;
  overflow-wrap: anywhere !important;
  font: 12px/1.55 Consolas, "Courier New", monospace !important;
}

@media (max-width: 1440px) {
  .core-layout {
    grid-template-columns: 1fr !important;
  }

  .core-layout > .core-panel-wide {
    grid-column: auto !important;
  }
}

@media (max-width: 760px) {
  .core-layout > .panel:not(.core-panel-wide) .compact-row,
  .org-node-card {
    grid-template-columns: 1fr !important;
  }

  .core-layout > .panel:not(.core-panel-wide) .cell-actions,
  .org-node-actions {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }

  .v7-audit-info-grid {
    grid-template-columns: 1fr !important;
  }

  .v7-audit-info-grid dt {
    padding-bottom: 3px !important;
    border-bottom: 0 !important;
  }

  .v7-audit-info-grid dd {
    padding-top: 3px !important;
  }
}
