/* Shared visual rhythm for business pages. The portal does not load this file. */
@layer de-system {
  body.de-ui:not(.v2-portal) {
    --de-ink:#17233b;
    --de-muted:#52627b;
    --de-primary:#285ce6;
    --de-primary-hover:#214dbf;
    --de-soft:#edf3ff;
    --de-canvas:#f7f9fd;
    --de-line:#dbe3ef;
    --de-control-line:#b8c7dc;
  }
  body.de-ui:not(.v2-portal) :is(.panel-head,.section-head,.card-head) { margin-bottom:16px !important; }
  body.de-ui:not(.v2-portal) :is(.panel-head,.section-head,.card-head) > div > p { max-width:70ch; line-height:1.55 !important; }
  body.de-ui:not(.v2-portal) :is(.table-wrap,.table-scroll,.table-container) { scrollbar-color:#a4b7d3 #f2f5fa; }
  body.de-ui:not(.v2-portal) :is(input,select,textarea):focus-visible { outline:2px solid #285ce6 !important; outline-offset:2px !important; }
  body.de-settings-home .settings-pane-two { align-items:start !important; }
  body.de-settings-home #account-permission-card { width:100%; height:auto !important; min-height:0 !important; align-self:stretch !important; }
  body.de-settings-home :is(#account-permission-card,#settings-permission-panel) .panel-head p { display:block !important; margin:5px 0 0; font-size:13px; }
  body.de-settings-home #settings-permission-panel form { display:flex !important; flex-direction:column; gap:0 !important; grid-template-columns:none !important; }
  body.de-settings-home #settings-permission-panel form > .subsection-card { display:grid; grid-template-columns:minmax(220px,32%) minmax(0,1fr); gap:16px; min-height:0; padding:13px 4px !important; border:0 !important; border-bottom:1px solid #e3eaf4 !important; border-radius:0 !important; background:transparent !important; }
  body.de-settings-home #settings-permission-panel form > .subsection-card h4 { min-height:0; margin:0 !important; }
  body.de-settings-home #settings-permission-panel form > .table-wrap { width:100%; }
  @media(max-width:900px) { body.de-settings-home #settings-permission-panel form > .subsection-card { grid-template-columns:1fr; } }

  /* Business workspaces share a restrained control rhythm, not the portal styling. */
  body.de-ui:not(.v2-portal) :is(.panel,.card-panel) :is(input,select,textarea) { min-width:0; }
  body.de-ui:not(.v2-portal) :is(.table-wrap,.table-scroll,.table-container) { max-width:100%; }
  body.de-ui:not(.v2-portal) :is(.table-wrap,.table-scroll,.table-container) th { white-space:nowrap; }

  .repairs-summary { gap:0 !important; margin:0 0 14px !important; border:1px solid #dbe3ef; border-radius:12px; background:#fff; overflow:hidden; }
  .repairs-summary .repairs-card { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; min-height:64px; padding:12px 16px !important; border:0 !important; border-right:1px solid #e3e9f2 !important; border-radius:0 !important; box-shadow:none !important; }
  .repairs-summary .repairs-card:last-child { border-right:0 !important; }
  .repairs-summary .repairs-card strong { margin:0 !important; color:#52627b; font-size:13px; font-weight:600; }
  .repairs-summary .repairs-card span { color:#17233b; font-size:23px; font-variant-numeric:tabular-nums; }
  .repairs-summary .repairs-card:nth-child(2) span { color:#285ce6; }
  .repairs-topbar { display:grid !important; grid-template-columns:minmax(220px,320px) minmax(0,1fr) auto; align-items:end; gap:12px; }
  .repairs-topbar .form-item { min-width:0 !important; }
  .repairs-topbar .wide-search { width:100%; min-width:0 !important; }
  .repairs-filters { gap:6px !important; }
  .repairs-filters a { min-height:36px; padding:0 12px; border-radius:9px; }
  .repairs-scroll-hint { display:none; color:#52627b; font-size:13px; }
  .repairs-empty { display:flex; align-items:center; justify-content:center; min-height:110px; padding:24px; color:#52627b; text-align:center; }

  @media(min-width:1101px) {
    body.de-settings-home .settings-pane-two { grid-template-columns:minmax(220px,280px) minmax(0,1fr) !important; }
    body.de-settings-home .settings-home-grid { grid-template-columns:minmax(0,1fr) !important; }
  }
  @media(max-width:1100px) {
    .repairs-topbar { grid-template-columns:minmax(0,1fr) auto; }
    .repairs-topbar .form-item:nth-child(2) { grid-column:1/-1; grid-row:2; }
    .repairs-topbar .form-item:last-child { grid-column:2; grid-row:1; }
  }
  @media(max-width:900px) {
    .repairs-summary { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .repairs-summary .repairs-card { border-bottom:1px solid #e3e9f2 !important; }
    .repairs-summary .repairs-card:last-child { grid-column:1/-1; border-bottom:0 !important; }
  }
  @media(max-width:620px) {
    .repairs-topbar { grid-template-columns:1fr; }
    .repairs-topbar .form-item:nth-child(2),.repairs-topbar .form-item:last-child { grid-column:1; grid-row:auto; }
    .repairs-summary .repairs-card { min-height:56px; padding:10px 12px !important; }
    .repairs-scroll-hint { display:block; margin:0 0 8px; }
    body.page-users .users-page .users-list-panel .table-wrap table { width:100% !important; min-width:0 !important; table-layout:fixed !important; }
    body.page-users .users-page .users-list-panel .table-wrap table :is(th,td):nth-child(n+4) { display:none !important; }
    body.page-users .users-page .users-list-panel .table-wrap table :is(th,td):nth-child(1) { width:42px !important; }
    body.page-users .users-page .users-list-panel .table-wrap table :is(th,td):nth-child(3) { width:124px !important; overflow-wrap:anywhere !important; }
    body.page-users .users-page .users-list-panel .table-wrap table :is(th,td):nth-child(2) { overflow-wrap:anywhere !important; white-space:normal !important; }
  }

  .meter-summary { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:10px !important; margin:0 0 16px !important; }
  .meter-record-filters,.meter-inventory-filters { display:grid !important; grid-template-columns:180px 180px minmax(220px,1fr) auto auto; align-items:center; gap:8px; }
  .meter-inventory-filters { grid-template-columns:180px minmax(220px,1fr) auto auto; }
  .meter-record-filters > :is(input,select),.meter-inventory-filters > :is(input,select) { min-width:0 !important; width:100% !important; }
  .governance-summary { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:10px !important; margin:0 0 16px !important; }
  .approval-status-tabs { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .approval-status-tabs .btn { min-width:0; text-align:center; }
  @media(max-width:700px) {
    .meter-record-filters,.meter-inventory-filters { grid-template-columns:1fr !important; }
    .meter-summary { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .meter-summary > :last-child { grid-column:1/-1; }
    .meter-summary .panel { min-width:0; margin:0 !important; padding:12px !important; border-radius:12px !important; }
    .meter-summary .panel .muted { font-size:13px !important; line-height:1.35; }
    .meter-summary .panel div:last-child { margin-top:4px !important; font-size:23px !important; }
    .governance-summary { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
    .governance-summary .stat-card { min-width:0; padding:12px !important; border-radius:12px !important; }
    .governance-summary .stat-label { font-size:13px !important; line-height:1.35; }
    .governance-summary .stat-value { font-size:23px !important; line-height:1.15; }
    .approval-status-tabs { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  }
}
