/* Definition-screen visual contract, matching the compact integrator reference.
   Explicit opt-in only; no field visibility, layout order or behavior changes. */
.app-page.definition-visual {
  font-family: var(--ui-font);
  font-size: 12px;
  color: var(--ink);
  background: var(--erp-surface);
  border: 1px solid var(--erp-border);
  border-radius: 16px;
  padding: 16px;
  min-width: 0;
}
.definition-visual :is(p,label,small,table,input,select,textarea,button,.field-help) {
  font-family: var(--ui-font) !important;
  font-size: 12px !important;
}
.definition-visual :is(h1,h2) { font-family: var(--ui-font); font-size:18px !important; line-height:1.35; }
.definition-visual :is(h3,legend) { font-family:var(--ui-font); font-size:14px !important; }
.definition-visual .eyebrow { font-size:11px !important; }
.definition-visual :is(.master-data-hero,.branch-list-heading) { margin-bottom:12px; padding:4px 0 10px; background:transparent; box-shadow:none; }
.definition-visual :is(.erp-panel,.standard-workspace-shell,.reference-definition-form) {
  border:1px solid var(--erp-border); border-radius:8px; background:var(--erp-surface); box-shadow:none;
}
.definition-visual .button:not(dialog *) { min-height:28px !important; height:auto !important; padding:5px 10px !important; border-radius:8px !important; line-height:1.4; }
.definition-visual :is(input:not([type=checkbox]):not([type=radio]),select):not(dialog *) {
  box-sizing:border-box; min-height:28px !important; height:28px !important; padding:3px 8px !important;
  border:1px solid var(--erp-border); border-radius:var(--erp-radius-sm); color:var(--ink); background:var(--erp-surface);
}
.definition-visual input[readonly] { background:var(--erp-surface-muted); }
.definition-visual table { border-collapse:collapse; }
.definition-visual table :is(th,td):not(dialog *) {
  font-size:12px !important; padding:5px 8px !important; height:auto !important;
  border-bottom:1px solid var(--erp-border); border-right:0 !important; line-height:1.5;
}
.definition-visual:not(.corporate-definition-page) table th {
  background:var(--erp-surface-muted) !important; color:var(--text-muted,var(--muted));
  font-weight:600; text-transform:none; letter-spacing:normal;
}
.definition-visual table th button { font:inherit; font-weight:600; }
.definition-visual :is(.branch-list-toolbar,.terminal-toolbar,.ig-toolbar,.branch-list-footer,.terminal-paging,.ig-pager) {
  padding:8px 10px !important; gap:10px; font-size:12px; background:var(--erp-surface);
}
.definition-visual :is(.branch-list-footer,.terminal-paging,.ig-pager) { flex-wrap:wrap; }
.definition-visual .terminal-series-code { font-family:var(--ui-font); }
@media(max-width:700px) { .app-page.definition-visual { padding:10px; border-radius:10px; } }

/* Shared shell, not just shared text sizes. Mirrors the integrator's ig-head / ig-toolbar. */
.definition-visual .definition-head { display:flex; align-items:center; gap:10px; padding:4px 0 10px; margin:0 0 18px; border-bottom:1px solid var(--erp-border); }
.definition-visual .definition-head-copy { min-width:0; flex:1; }
.definition-visual .definition-head :is(h1,h2) { margin:3px 0; font-weight:700; }
.definition-visual .definition-head :is(p,nav) { margin:4px 0; color:var(--ink); }
.definition-visual .definition-head :is(.eyebrow,.warehouse-breadcrumb,.company-list-breadcrumb) { font-size:11px !important; text-transform:uppercase; letter-spacing:.12em; font-weight:800; }
.definition-visual .definition-icon { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:10px; background:linear-gradient(135deg,#63bdbd,#1b3155); color:white; }
.definition-icon svg { width:22px; height:22px; }
.definition-visual .definition-head.cash-master-heading.banking-page-heading {
  margin:0; padding:30px 32px; border:0; border-radius:0; color:#fff;
  background:linear-gradient(125deg,#052f55 0%,#063b66 64%,#087778 100%);
  align-items:center; gap:28px;
}
.definition-visual .definition-head.cash-master-heading.banking-page-heading .definition-icon { display:none; }
.definition-visual .definition-head.cash-master-heading.banking-page-heading :is(h1,h2) {
  color:#fff; font-size:clamp(27px,3vw,39px) !important; line-height:1.06; margin:5px 0 8px;
}
.definition-visual .definition-head.cash-master-heading.banking-page-heading :is(p,nav) { color:#c9e4ec; font-size:16px !important; }
.definition-visual .definition-head.cash-master-heading.banking-page-heading .eyebrow { color:#42e2da; }
.app-page.definition-visual.corporate-definition-page { padding:0; overflow:hidden; }
.definition-visual .definition-head.cash-master-heading.banking-page-heading :is(.eyebrow,.warehouse-breadcrumb) { font-size:11px !important; }
.definition-visual.corporate-definition-page .definition-list-card,
.definition-visual.corporate-definition-page #terminalDefinitionsWorkspace {
  border:0; border-radius:0; margin:0; box-shadow:none;
}
.definition-visual.corporate-definition-page .definition-list-head { display:none; }
.definition-visual .definition-corporate-summary { min-width:260px; grid-template-columns:repeat(2,minmax(110px,1fr)); }
.definition-visual .definition-corporate-summary span { min-height:82px; }
.definition-visual .definition-corporate-summary small { display:block; margin-top:4px; }
.definition-visual.corporate-definition-page .cash-hero-actions { align-items:center; }
.definition-visual.corporate-definition-page :is(.branch-list-toolbar,.terminal-toolbar,.warehouse-master-toolbar) {
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:14px 16px;
  border-top:1px solid var(--erp-border); border-bottom:1px solid var(--erp-border);
  background:var(--erp-surface);
}
.definition-visual.corporate-definition-page :is(.branch-list-toolbar,.terminal-toolbar,.warehouse-master-toolbar) .button,
.definition-visual.corporate-definition-page :is(.branch-list-toolbar,.terminal-toolbar,.warehouse-master-toolbar) button {
  min-height:34px; height:34px; border-radius:7px; font-weight:800;
}
.definition-visual.corporate-definition-page :is(.branch-list-grid,.terminal-grid-viewport,.table-wrap) {
  padding:10px 12px; overflow:auto; background:var(--erp-surface);
}
.definition-visual.corporate-definition-page :is(table.branch-list-table,.terminal-grid,.warehouse-master-table,.standard-table) {
  border-collapse:separate; border-spacing:5px 5px; background:var(--erp-surface);
}
.definition-visual.corporate-definition-page :is(table.branch-list-table,.terminal-grid,.warehouse-master-table,.standard-table) th {
  height:40px; padding:8px 12px; border:0; border-radius:8px;
  background:var(--grid-appearance-header-bg,var(--document-header-bg,#2d2b83)); color:var(--grid-appearance-header-fg,var(--document-header-fg,#fff)); font-weight:800; text-transform:uppercase;
  letter-spacing:.04em; white-space:nowrap;
}
.definition-visual.corporate-definition-page :is(table.branch-list-table,.terminal-grid,.warehouse-master-table,.standard-table) td {
  min-height:42px; height:42px; padding:8px 12px; border:1px solid #dce4e8;
  border-radius:8px; background:color-mix(in srgb,var(--erp-surface) 96%,#eaf5f7);
}
.definition-visual.corporate-definition-page :is(table.branch-list-table,.terminal-grid,.warehouse-master-table,.standard-table) .branch-column-filters td,
.definition-visual.corporate-definition-page :is(table.branch-list-table,.terminal-grid,.warehouse-master-table,.standard-table) tr:has(input) td {
  border:0; background:transparent;
}
.definition-visual.corporate-definition-page :is(.branch-list-footer,.terminal-paging,.warehouse-master-footer) {
  padding:12px 16px; border-top:1px solid var(--erp-border); background:var(--erp-surface);
}
.definition-visual .definition-list-card,
.definition-visual #terminalDefinitionsWorkspace { border:1px solid var(--erp-border); border-radius:8px; background:var(--erp-surface); overflow:hidden; margin:0 0 14px; padding:0; }
.definition-visual .definition-list-card > :is(.standard-workspace-shell,.erp-panel) { margin:0; border:0; border-radius:0; box-shadow:none; }
.definition-visual .definition-list-head,
.definition-visual .company-period-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; background:var(--erp-surface); border:0; }
.definition-visual .definition-list-head :is(h3,p) { margin:4px 0; color:var(--ink); }
.definition-visual .definition-list-head h3 { font-size:14px !important; font-weight:700; }
.definition-visual .definition-new,
.definition-visual :is(.warehouse-button,.erp-button) { background:var(--erp-surface); color:var(--ink); border:1px solid var(--erp-border); border-radius:8px; min-height:28px; padding:5px 10px; font:inherit; font-weight:700; box-shadow:none; }
.definition-visual :is(.branch-list-toolbar,.warehouse-master-toolbar,.company-definition-toolbar,.terminal-toolbar) { padding:8px 10px; margin:0; border:0; border-top:1px solid var(--erp-border); border-radius:0; background:var(--erp-surface); }
.definition-visual :is(.terminal-grid-viewport,.terminal-paging) { border-left:0; border-right:0; }
.definition-visual .terminal-paging { border-bottom:0; }
.definition-visual :is(.standard-grid-footer,.warehouse-master-footer,.branch-list-footer,.terminal-paging) { padding:8px 10px; background:var(--erp-surface); border-top:1px solid var(--erp-border); font-weight:400; }
.definition-visual .user-authorization .ua-workspace { height:auto; min-height:0; grid-template-rows:auto; }
.definition-visual .user-authorization .ua-users > .ua-scroll { flex:initial; max-height:65vh; }
.definition-visual .definition-user-actions { display:flex; align-items:center; gap:8px; }
.definition-visual .user-authorization .ua-panel { border-radius:8px; }
.definition-visual table th :is(button,span) { color:inherit; }
.definition-visual .company-list-search input { border:0; box-shadow:none; }
@media(max-width:700px) { .definition-visual .definition-list-head { flex-wrap:wrap; } .definition-visual .definition-head { flex-wrap:wrap; } }

/* These pages use the card-list contract; compact definition dialogs stay intact. */
.definition-visual.corporate-definition-page :is(.branch-list-table,.terminal-grid,.warehouse-master-table) :is(th,td):not(dialog *) {
  padding:8px 12px !important; height:40px !important;
}
.definition-visual.corporate-definition-page :is(.branch-list-toolbar,.terminal-toolbar,.warehouse-master-toolbar) {
  padding:12px 16px !important;
}
.definition-visual.corporate-definition-page :is(.branch-list-toolbar,.terminal-toolbar,.warehouse-master-toolbar,.cash-hero-actions) .button:not(dialog *) {
  min-height:34px !important; padding:7px 12px !important;
}
.definition-visual.corporate-definition-page .definition-head > .cash-hero-actions { flex-wrap:wrap; }
.definition-visual.corporate-definition-page .definition-head .definition-new { background:#fff; color:#18345d; }
.definition-visual.corporate-definition-page .branch-column-title .button { border:0; background:transparent; padding:0 !important; }
#terminal-definitions.corporate-definition-page { padding:0; }
#terminal-definitions.corporate-definition-page .terminal-toolbar { margin:0; border-radius:0; border-left:0; border-right:0; }
#terminal-definitions.corporate-definition-page .terminal-grid { border-collapse:separate; border-spacing:5px; }
.definition-visual.corporate-definition-page :is(.branch-list-table,.terminal-grid,.warehouse-master-table) td:not(dialog *) { border:1px solid var(--erp-border,#dce4e8) !important; }
.definition-visual.corporate-definition-page :is(.branch-column-filters,.terminal-column-filters,#warehouseMasterFilterRow) td { border:0 !important; background:transparent; }
#terminal-definitions.corporate-definition-page .terminal-grid th { border:0; }
@media(max-width:1100px) {
  .definition-visual .definition-head.cash-master-heading.banking-page-heading { flex-wrap:wrap; gap:20px; }
  .definition-visual.corporate-definition-page .cash-hero-actions { width:100%; justify-content:space-between; }
}
@media(max-width:700px) {
  .app-page.definition-visual.corporate-definition-page { padding:0; }
  .definition-visual .definition-head.cash-master-heading.banking-page-heading { padding:20px; }
  .definition-visual .definition-corporate-summary { min-width:0; width:100%; }
}
