/* BirDesk Standard Skin component geometry.
 * One source of truth prevents legacy/module rules from shrinking shared controls.
 */
html[data-theme="standard"] {
  --ui-control-height: 38px;
  --ui-button-height: 38px;
  --ui-tab-height: 38px;
  --ui-table-head-height: 38px;
  --ui-table-row-height: 40px;
  --ui-table-foot-height: 38px;
  --ui-icon-button-size: 32px;
  --ui-status-height: 28px;
  --ui-control-padding-inline: 10px;
}

/* Form controls */
html[data-theme="standard"] #erpApp :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]):not([type="hidden"]),
  select,
  .fake-input,
  .searchable-trigger,
  .searchable-select-input,
  .mail-multi-trigger
) {
  height: var(--ui-control-height);
  min-height: var(--ui-control-height);
  padding-block: 0;
  padding-inline: var(--ui-control-padding-inline);
  line-height: 20px;
}

html[data-theme="standard"] #erpApp textarea {
  min-height: 88px;
  padding: 9px var(--ui-control-padding-inline);
  line-height: 20px;
}

html[data-theme="standard"] #erpApp :is(.module-filter-field, .settings-field, .operation-field-grid > label) {
  min-width: 0;
}

html[data-theme="standard"] #erpApp .module-filter-meta {
  height: var(--ui-control-height);
  min-height: var(--ui-control-height);
}

html[data-theme="standard"] #erpApp .module-filters {
  min-height: 54px;
  padding-block: 7px;
  align-items: flex-end;
}

/* Text actions and tabs */
html[data-theme="standard"] :is(#erpApp, body) :is(
  .btn,
  .module-filter-clear,
  .server-pagination button,
  .pagination button,
  .field-add-button,
  .operation-add-line,
  .account-create-button,
  .mail-compose-trigger,
  .mail-reader-back,
  .notification-panel-actions button,
  .notification-item footer button
) {
  height: var(--ui-button-height);
  min-height: var(--ui-button-height);
  padding-block: 0;
  line-height: 20px;
}

html[data-theme="standard"] #erpApp .field-with-action {
  grid-template-columns: minmax(0, 1fr) var(--ui-control-height);
}

html[data-theme="standard"] #erpApp .field-add-button {
  width: var(--ui-control-height);
  min-width: var(--ui-control-height);
  padding: 0;
}

html[data-theme="standard"] #erpApp .btn.add-record {
  height: var(--ui-button-height);
  min-height: var(--ui-button-height);
  line-height: 20px;
}

html[data-theme="standard"] #erpApp :is(
  .cashbox-tabs,
  .module-tabs,
  .settings-tabs,
  .customer-tabs,
  .developer-tools-nav
) > button {
  height: var(--ui-tab-height);
  min-height: var(--ui-tab-height);
  padding-block: 0;
  line-height: 20px;
}

html[data-theme="standard"] #erpApp :is(.modal .footer, .operation-footer) .btn {
  height: var(--ui-button-height);
  min-height: var(--ui-button-height);
}

/* Tables */
html[data-theme="standard"] #erpApp :is(.data-table, .table-fixed-head table) thead th,
html[data-theme="standard"] #erpApp .table-fixed-head th {
  height: var(--ui-table-head-height);
  min-height: var(--ui-table-head-height);
  padding-block: 7px;
  line-height: 20px;
}

html[data-theme="standard"] #erpApp :is(.data-table, .table-body-scroll table) tbody td,
html[data-theme="standard"] #erpApp .table-body-scroll td {
  height: var(--ui-table-row-height);
  min-height: var(--ui-table-row-height);
  padding-block: 3px;
  line-height: 20px;
}

html[data-theme="standard"] #erpApp :is(.data-table, .table-fixed-foot table) tfoot td,
html[data-theme="standard"] #erpApp .table-fixed-foot td {
  height: var(--ui-table-foot-height);
  min-height: var(--ui-table-foot-height);
  padding-block: 6px;
  line-height: 20px;
}

html[data-theme="standard"] #erpApp .mini-actions {
  min-height: var(--ui-icon-button-size);
  height: var(--ui-icon-button-size);
  gap: 4px;
}

html[data-theme="standard"] #erpApp :is(
  .icon-btn,
  button.table-action,
  .operation-edit-line,
  .operation-remove-line
) {
  flex: 0 0 var(--ui-icon-button-size);
  width: var(--ui-icon-button-size);
  min-width: var(--ui-icon-button-size);
  height: var(--ui-icon-button-size);
  min-height: var(--ui-icon-button-size);
  padding: 0;
  vertical-align: middle;
}

html[data-theme="standard"] #erpApp :is(
  .icon-btn,
  button.table-action,
  .operation-edit-line,
  .operation-remove-line
) svg {
  width: 16px;
  height: 16px;
}

html[data-theme="standard"] #erpApp :is(.badge, .status, .status-badge) {
  min-height: var(--ui-status-height);
  height: var(--ui-status-height);
  padding-block: 0;
  line-height: 18px;
}

/* Searchable choices should be as readable as their trigger without bloating menus. */
html[data-theme="standard"] #erpApp :is(.searchable-option, .searchable-options button, .mail-multi-option) {
  min-height: 36px;
  padding-block: 7px;
  line-height: 20px;
}

/* Compact topbar tools remain icon-only, but share the same ergonomic square. */
html[data-theme="standard"] :is(.topbar-global-search-toggle, .notification-toggle, .standard-sidebar-toggle) {
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
}

@media (max-width: 720px) {
  html[data-theme="standard"] {
    --ui-control-height: 40px;
    --ui-button-height: 40px;
    --ui-tab-height: 40px;
    --ui-icon-button-size: 36px;
  }

  html[data-theme="standard"] #erpApp .module-filters {
    min-height: 0;
  }

  html[data-theme="standard"] #erpApp .content.editor-mode .operation-modal-footer {
    position: relative;
    bottom: auto;
  }
}
