/* SMARTCO balanced density overrides.
   Purpose: keep the UI compact after the global font-size reduction, while preventing
   sidebar menu items from looking attached or cramped. This file intentionally loads
   after previous density styles and uses rem-based sizing for proportional scaling. */

:root {
  --smartco-balanced-sidebar-gap: 0.5rem;
  --smartco-balanced-sidebar-item-y: 0.55rem;
  --smartco-balanced-sidebar-item-x: 0.72rem;
  --smartco-balanced-control-y: 0.46rem;
  --smartco-balanced-control-x: 0.72rem;
  --smartco-balanced-card-y: 0.9rem;
  --smartco-balanced-card-x: 1rem;
  --smartco-balanced-table-y: 0.55rem;
}

/* Sidebar: slightly open the spacing compared with the previous compact version. */
[class*="sidebar" i] [class*="group" i],
[class*="sidebar" i] [class*="section" i],
[class*="sidebar" i] [class*="module" i],
[class*="nav-menu" i] [class*="group" i],
[class*="nav-menu" i] [class*="section" i] {
  margin-bottom: var(--smartco-balanced-sidebar-gap) !important;
}

[class*="sidebar" i] a,
[class*="sidebar" i] button,
[class*="sidebar" i] .nav-link,
[class*="sidebar" i] .nav-item,
[class*="sidebar" i] [class*="nav-link" i],
[class*="sidebar" i] [class*="nav-item" i],
[class*="nav-menu" i] a,
[class*="nav-menu" i] button,
[class*="nav-menu" i] .nav-link,
[class*="nav-menu" i] .nav-item,
[class*="nav-menu" i] [class*="nav-link" i],
[class*="nav-menu" i] [class*="nav-item" i] {
  min-height: 2.4rem !important;
  padding-block: var(--smartco-balanced-sidebar-item-y) !important;
  padding-inline: var(--smartco-balanced-sidebar-item-x) !important;
  line-height: 1.35 !important;
}

[class*="sidebar" i] [class*="card" i],
[class*="sidebar" i] [class*="tile" i],
[class*="sidebar" i] [class*="panel" i],
[class*="nav-menu" i] [class*="card" i],
[class*="nav-menu" i] [class*="tile" i],
[class*="nav-menu" i] [class*="panel" i] {
  padding-block: 0.62rem !important;
  padding-inline: 0.74rem !important;
  margin-bottom: 0.55rem !important;
  border-radius: 0.78rem !important;
}

[class*="sidebar" i] [class*="badge" i],
[class*="sidebar" i] [class*="pill" i],
[class*="nav-menu" i] [class*="badge" i],
[class*="nav-menu" i] [class*="pill" i] {
  min-height: 1.55rem !important;
  min-width: 1.55rem !important;
  padding: 0.24rem 0.42rem !important;
  line-height: 1.2 !important;
}

/* Page panels, cards and boxes: rem-based balanced sizing proportional to font size. */
.card,
.panel,
.box,
.page-card,
.content-card,
.section-card,
.form-card,
.dashboard-card,
[class*="card" i],
[class*="panel" i],
[class*="box" i] {
  padding-block: var(--smartco-balanced-card-y) !important;
  padding-inline: var(--smartco-balanced-card-x) !important;
}

.card-header,
.panel-header,
.section-header,
[class*="card-header" i],
[class*="panel-header" i],
[class*="section-header" i] {
  padding-block: 0.62rem !important;
  padding-inline: 0.85rem !important;
  line-height: 1.35 !important;
}

/* Forms and controls: keep touch/click targets usable while matching the smaller font scale. */
input,
select,
textarea,
button,
.form-control,
.form-select,
.btn,
[class*="form-control" i],
[class*="form-select" i],
[class*="button" i] {
  min-height: 2.25rem !important;
  padding-block: var(--smartco-balanced-control-y) !important;
  padding-inline: var(--smartco-balanced-control-x) !important;
  line-height: 1.35 !important;
}

textarea,
textarea.form-control,
[class*="textarea" i] {
  min-height: 3.1rem !important;
}

/* Tables: compact but readable rows. */
table th,
table td,
.table th,
.table td,
[class*="table" i] th,
[class*="table" i] td {
  padding-block: var(--smartco-balanced-table-y) !important;
  padding-inline: 0.75rem !important;
  line-height: 1.35 !important;
}

/* Status/API banners and top panels: reduce vertical bulk without crushing text. */
[class*="banner" i],
[class*="status" i],
[class*="connection" i],
[class*="topbar" i],
[class*="toolbar" i],
[class*="action" i] {
  padding-block: 0.58rem !important;
  padding-inline: 0.9rem !important;
  line-height: 1.35 !important;
}

/* Preserve visual breathing room for page-level containers. */
main,
.main,
.content,
.page,
[class*="page" i],
[class*="content" i] {
  gap: clamp(0.65rem, 1vw, 1rem);
}
