:root {
  --v5-ink: #14231b;
  --v5-muted: #68776f;
  --v5-green: #146b43;
  --v5-green-strong: #0f7b47;
  --v5-green-soft: rgba(20, 107, 67, 0.065);
  --v5-danger: #b04449;
  --v5-danger-soft: rgba(176, 68, 73, 0.055);
  --v5-warning: #916c1e;
  --v5-line: rgba(26, 66, 45, 0.105);
  --v5-line-soft: rgba(26, 66, 45, 0.065);
  --v5-line-strong: rgba(26, 66, 45, 0.16);
  --v5-shadow: 0 7px 22px rgba(12, 44, 27, 0.045);
}

/* Full-width workspace without an outer frame. */
.workspace,
.content,
main,
main.content,
.page-content,
.route-content {
  width: 100% !important;
  max-width: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.content {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.content > *,
.workspace > main,
.workspace > .content {
  max-width: none !important;
}

/* Remove the misplaced corner artifacts from earlier layers. */
.panel::after,
.filters::after,
.tree-panel::after,
.login-panel::after,
.warehouse-filter-panel::after,
.warehouse-reference-block::after,
.org-node-card::after,
.budget-classification-block::after,
.notice::after,
.loading-state::after,
.empty-state::after,
.error-state::after {
  position: absolute !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  left: 0 !important;
  display: block !important;
  width: 68px !important;
  height: 1px !important;
  background: linear-gradient(90deg, var(--v5-green), rgba(20, 107, 67, 0)) !important;
  content: "" !important;
}

.v5-accent-right::after {
  right: 0 !important;
  left: auto !important;
  background: linear-gradient(90deg, rgba(20, 107, 67, 0), var(--v5-green)) !important;
}

.v5-accent-left::after {
  right: auto !important;
  left: 0 !important;
}

.panel-head::before,
.panel-title::before,
.warehouse-reference-title::before,
.panel-head h3::before,
.panel-title h3::before,
.warehouse-reference-title h4::before {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  content: none !important;
}

.panel-head::after,
.panel-title::after,
.warehouse-reference-title::after {
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: auto !important;
  height: 1px !important;
  background: linear-gradient(90deg, rgba(26, 66, 45, 0.025), rgba(26, 66, 45, 0.15), rgba(26, 66, 45, 0.025)) !important;
}

.panel,
.tree-panel,
.filters,
.warehouse-filter-panel,
.warehouse-reference-block,
.org-node-card,
.budget-classification-block,
.login-panel {
  border-color: var(--v5-line) !important;
  box-shadow: var(--v5-shadow) !important;
}

/* Balanced small-panel rows. */
.v5-balanced-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.v5-balanced-grid > * {
  min-width: 0 !important;
  height: 100% !important;
}

/* Stable action-button geometry. */
.button,
.icon-button,
button,
a.button {
  min-height: 40px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.button-label,
.button-label *,
.button span,
button span,
a.button span {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}

.v5-action-card {
  min-width: 94px !important;
}

.v5-action-view,
.v5-action-edit {
  min-width: 112px !important;
}

.v5-action-enable,
.v5-action-activate,
.v5-action-deactivate,
.v5-action-close,
.v5-action-reverse,
.v5-action-add-child {
  min-width: 132px !important;
}

.v5-action-new {
  min-width: 138px !important;
}

.v5-action-group,
.cell-actions,
.tree-actions,
.warehouse-document-row-actions,
.warehouse-reference-actions,
.v5-node-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

.v5-action-group > *,
.cell-actions > *,
.tree-actions > *,
.v5-node-actions > * {
  flex: 0 0 auto !important;
}

/* Organization tree: fixed action rail on every row. */
.org-node-card,
.v5-tree-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(410px, auto) !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
  padding: 14px 16px !important;
}

.org-node-card .v5-node-content,
.v5-tree-row .v5-node-content {
  min-width: 0 !important;
}

.org-node-card .v5-node-actions,
.v5-tree-row .v5-node-actions {
  min-width: 410px !important;
  justify-self: end !important;
}

.org-node-card .v5-node-actions .button,
.org-node-card .v5-node-actions button,
.v5-tree-row .v5-node-actions .button,
.v5-tree-row .v5-node-actions button {
  height: 40px !important;
}

/* Accounts: two symmetrical columns with a sufficiently wide action rail. */
.accounting-account-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 20px !important;
  row-gap: 0 !important;
}

.accounting-account-list .compact-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(330px, auto) !important;
  align-items: center !important;
  gap: 14px !important;
  min-width: 0 !important;
}

.accounting-account-list .cell-actions {
  display: grid !important;
  grid-template-columns: 112px 94px 124px !important;
  align-items: center !important;
  justify-content: end !important;
  gap: 7px !important;
  min-width: 330px !important;
}

.accounting-account-list .cell-actions > * {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
}

/* User and other action columns remain proportional. */
table.has-actions th:last-child,
table.has-actions td:last-child {
  width: 268px !important;
  min-width: 268px !important;
}

table.has-actions .cell-actions,
table td:last-child .v5-action-group {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(112px, 1fr)) !important;
  align-items: center !important;
  justify-content: stretch !important;
  gap: 8px !important;
}

table.has-actions .cell-actions > *,
table td:last-child .v5-action-group > * {
  width: 100% !important;
  min-width: 0 !important;
  justify-content: center !important;
}

/* Statuses are labels, not buttons: left and lower half-border only. */
.status-badge,
.role-tag,
.tag,
.warehouse-tracking-chip,
.v5-status-chip {
  position: relative !important;
  display: inline-flex !important;
  min-height: 27px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 3px 11px 4px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(20, 107, 67, 0.22) !important;
  border-left: 2px solid var(--v5-green) !important;
  background: linear-gradient(90deg, rgba(20, 107, 67, 0.065), rgba(20, 107, 67, 0.008)) !important;
  color: var(--v5-green) !important;
  box-shadow: none !important;
  font-size: 0.66rem !important;
  font-weight: 820 !important;
  line-height: 1 !important;
  letter-spacing: 0.035em !important;
  white-space: nowrap !important;
}

.status-badge.inactive,
.status-badge.cancelled,
.status-badge.closed,
.status-badge.blocked,
.accounting-status-reversed,
.budget-status-closed,
.v5-status-danger {
  border-bottom-color: rgba(176, 68, 73, 0.22) !important;
  border-left-color: var(--v5-danger) !important;
  background: linear-gradient(90deg, rgba(176, 68, 73, 0.06), rgba(176, 68, 73, 0.006)) !important;
  color: var(--v5-danger) !important;
}

.accounting-status-draft,
.status-badge.warning,
.v5-status-warning {
  border-bottom-color: rgba(145, 108, 30, 0.22) !important;
  border-left-color: var(--v5-warning) !important;
  background: linear-gradient(90deg, rgba(145, 108, 30, 0.06), rgba(145, 108, 30, 0.006)) !important;
  color: var(--v5-warning) !important;
}

/* Tables: visible but restrained vertical separators. */
table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

table th,
table td {
  border-right: 1px solid var(--v5-line-soft) !important;
  box-shadow: none !important;
}

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

table thead th {
  border-right-color: var(--v5-line-strong) !important;
  border-bottom-color: var(--v5-line-strong) !important;
}

table tbody tr:last-child td {
  border-bottom-color: var(--v5-line-soft) !important;
}

/* Profile and two-column feature sections. */
.v5-side-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.65fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

.v5-side-layout > * {
  min-width: 0 !important;
  height: 100% !important;
}

/* Prevent previous accent fragments from cutting through titles. */
.panel-head,
.panel-title,
.warehouse-reference-title {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.panel-head h3,
.panel-title h3,
.warehouse-reference-title h4 {
  position: relative !important;
  z-index: 2 !important;
  padding: 0 !important;
  background: transparent !important;
}

@media (max-width: 1380px) {
  .org-node-card,
  .v5-tree-row {
    grid-template-columns: minmax(0, 1fr) minmax(360px, auto) !important;
  }

  .org-node-card .v5-node-actions,
  .v5-tree-row .v5-node-actions {
    min-width: 360px !important;
  }

  .accounting-account-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1080px) {
  .v5-balanced-grid,
  .v5-side-layout {
    grid-template-columns: 1fr !important;
  }

  .org-node-card,
  .v5-tree-row {
    grid-template-columns: 1fr !important;
  }

  .org-node-card .v5-node-actions,
  .v5-tree-row .v5-node-actions {
    min-width: 0 !important;
    justify-self: stretch !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 720px) {
  .content {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  .accounting-account-list .compact-row {
    grid-template-columns: 1fr !important;
  }

  .accounting-account-list .cell-actions {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  table.has-actions th:last-child,
  table.has-actions td:last-child {
    width: 190px !important;
    min-width: 190px !important;
  }

  table.has-actions .cell-actions,
  table td:last-child .v5-action-group {
    grid-template-columns: 1fr !important;
  }
}
