/* Compact Administration tenant list (CR-20260812-012). */
.admin-tenants-table, .admin-tenants-table .table-wrap { max-width: 100%; min-width: 0; }
.admin-tenants-table table { width: 100%; min-width: 760px; }
.admin-tenants-table tbody tr { height: 60px; }
.admin-tenants-table .control-column { width: 64px; text-align: center; }
.tenant-control { position: relative; display: inline-grid; place-items: center; }
.tenant-control-button { width: 44px; height: 44px; border: 1px solid var(--su-line); border-radius: 10px; background: var(--su-surface); color: var(--su-ink); font-size: 24px; line-height: 1; }
.tenant-identifier { display: grid; min-width: 0; gap: 3px; overflow-wrap: anywhere; }
.tenant-identifier span { display: block; min-width: 0; }
.tenant-internal-code { color: var(--su-muted); font-size: 12px; }
.tenant-control-button:hover { background: var(--su-info-surface); }
.tenant-control-button:focus-visible { outline: 3px solid rgba(6, 74, 107, .28); outline-offset: 2px; }
.tenant-control-menu { position: absolute; z-index: 40; right: 0; top: 48px; width: 190px; padding: 6px; display: grid; gap: 2px; background: var(--su-surface); border: 1px solid var(--su-line); border-radius: 10px; box-shadow: 0 12px 30px rgba(13, 49, 88, .18); }
.tenant-control-menu a { display: flex; min-height: 44px; align-items: center; padding: 10px 12px; border-radius: 7px; color: var(--su-ink); text-decoration: none; text-align: left; }
.tenant-control-menu a:hover, .tenant-control-menu a:focus-visible { background: var(--su-info-surface); }

@media (max-width: 760px) {
  .admin-tenants-table .table-wrap { overflow: visible; border: 0; background: transparent; }
  .admin-tenants-table table, .admin-tenants-table tbody, .admin-tenants-table tr, .admin-tenants-table td { display: block; width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
  .admin-tenants-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .admin-tenants-table tr { position: relative; margin-bottom: 10px; padding: 12px 64px 12px 12px; border: 1px solid var(--su-line); border-radius: 12px; background: var(--su-surface); }
  .admin-tenants-table td { border: 0; padding: 3px 0; }
  .admin-tenants-table td::before { content: attr(data-label) ": "; color: var(--su-muted); font-size: 12px; }
  .admin-tenants-table td:first-child::before { display: none; }
  .admin-tenants-table .control-column { position: absolute; right: 10px; top: 8px; width: 44px; padding: 0; }
  .admin-tenants-table .control-column::before { display: none; }
  .tenant-control-menu { width: min(190px, calc(100vw - 32px)); }
}

.sitfis-dialog { width: min(90vw, 1600px); max-width: 90vw; height: 90vh; max-height: 90vh; padding: 0; overflow: hidden; grid-template-rows: auto minmax(0, 1fr); box-sizing: border-box; }
.sitfis-dialog[open] { display: grid; }
.sitfis-dialog-header { min-height: 64px; padding: 8px 64px 8px 20px; display: flex; align-items: center; gap: 10px; border-bottom: 1px solid var(--su-line); position: relative; }
.sitfis-dialog-header h2, .sitfis-dialog-header p { margin: 0; }
.sitfis-dialog .dialog-close-x { position: absolute; right: 12px; top: 6px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 27px; color: var(--su-ink); }
.sitfis-dialog-body { min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; }
.sitfis-toolbar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 10px; padding: 10px 20px; border-bottom: 1px solid var(--su-line); }
.sitfis-toolbar.hidden { display: none; }
.sitfis-company { flex: 1 1 240px; min-width: 180px; color: var(--ink); font-size: 14px; overflow-wrap: anywhere; }
.sitfis-toolbar > .primary { flex: 0 0 auto; min-height: 44px; }
.sitfis-toolbar .sitfis-state { min-width: 0; }
.sitfis-toolbar #sitfis-state-text { min-width: 0; overflow-wrap: anywhere; }
.sitfis-report-field { display: grid; flex: 0 1 320px; grid-template-columns: auto minmax(180px, 1fr); align-items: center; gap: 8px; width: min(320px, 100%); min-width: 0; max-width: 320px; margin: 0; color: var(--muted); font-size: 12px; font-weight: 600; }
.sitfis-report-field select { width: 100%; min-width: 0; min-height: 44px; }
.sitfis-header-action { min-height: 44px; white-space: nowrap; }
.sitfis-history[hidden] { display: none; }
.sitfis-viewer-panel { display: grid; grid-template-rows: minmax(0, 1fr); min-width: 0; min-height: 0; padding: 14px; overflow: hidden; background: #f4f7fa; }
.sitfis-viewer { display: block; width: 100%; height: 100%; min-width: 0; min-height: 420px; border: 0; border-radius: 8px; background: #fff; }
.sitfis-viewer-empty-message { place-self: center; max-width: 620px; margin: 0; text-align: center; line-height: 1.5; }
.sitfis-viewer-empty-message.error { color: #7f3d3d; }
.sitfis-state { box-sizing: border-box; display: flex; align-items: center; min-height: 56px; padding: 10px 14px; border: 1px solid transparent; border-radius: 9px; font-size: 16px; }
.sitfis-state.neutral { background: #f3f5f7; }
.sitfis-state.info { background: #e7f2fb; color: #174c78; }
.sitfis-state.success { border-color: #a8d8c4; background: #e6f5ec; color: #17643b; }
.sitfis-state.warning { background: #fff2cc; color: #755400; }
.sitfis-state.error { border-color: var(--su-danger-border); background: var(--su-danger-surface); color: var(--su-danger); }
.sitfis-registration-suggestion { box-sizing: border-box; position: relative; display: flex; align-items: center; min-width: 0; min-height: 56px; padding: 10px 14px; border: 1px solid #e6c978; border-radius: 9px; background: #fff8e6; font-size: 16px; outline: none; }
.sitfis-registration-suggestion.hidden { display: none; }
.sitfis-registration-suggestion.match { border-color: #a8d8c4; background: #e6f5ec; color: #17643b; }
.sitfis-registration-suggestion.different { display: grid; grid-template-columns: minmax(150px, .7fr) minmax(0, 1.3fr); align-items: center; gap: 10px; padding: 5px 8px; background: #fff0cf; }
.sitfis-registration-trigger { display: grid; min-width: 0; gap: 2px; }
.sitfis-registration-trigger span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sitfis-registration-trigger span { color: var(--su-muted); font-size: inherit; }
.sitfis-registration-suggestion.match .sitfis-registration-trigger span { color: inherit; }
.sitfis-registration-popover { position: absolute; z-index: 8; top: 100%; right: 0; display: none; grid-template-columns: minmax(190px, 1fr) auto; align-items: center; gap: 10px; width: min(430px, 80vw); padding: 12px; border: 1px solid var(--su-border); border-radius: 10px; background: #fff; box-shadow: var(--shadow); }
.sitfis-registration-suggestion.different .sitfis-registration-popover { position: static; display: grid; width: auto; padding: 0; border: 0; background: transparent; box-shadow: none; }
.sitfis-registration-popover label { min-width: 0; margin: 0; }
.sitfis-registration-popover select { box-sizing: border-box; width: 100%; height: 44px; min-height: 44px; margin: 0; }
.sitfis-registration-suggestion.match .sitfis-registration-popover { display: none; }
.sitfis-registration-fields { display: grid; gap: 6px; max-height: 150px; overflow: auto; }
.sitfis-registration-field { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.4fr); align-items: center; gap: 10px; }
.sitfis-registration-field .switch-field { min-height: 34px; padding: 5px 8px; }
.sitfis-registration-values { min-width: 0; color: var(--su-muted); font-size: 12px; overflow-wrap: anywhere; }
.sitfis-history { display: grid; gap: 6px; overflow: auto; min-height: 0; align-content: start; }
.sitfis-history-item { min-height: 44px; padding: 9px 12px; text-align: left; border: 1px solid var(--su-line); border-radius: 9px; background: var(--su-surface); }
.sitfis-certificate-management { display: grid; gap: 14px; min-width: 0; padding: 16px 20px; border-bottom: 1px solid var(--su-line); overflow: auto; }
.sitfis-certificate-management.hidden, .sitfis-viewer-panel.hidden { display: none; }
.sitfis-certificate-management { max-height: min(390px, 46vh); align-content: start; }
.sitfis-dialog[data-kind="certificate"] .sitfis-certificate-management { max-height: min(300px, 32vh); }
.sitfis-dialog[data-kind="certificate"] .sitfis-viewer { min-height: 240px; }
.sitfis-certificate-management-header { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 10px 20px; }
.sitfis-certificate-management :is(h3, h4, p) { margin: 0; }
.sitfis-certificate-management-header > div { display: grid; gap: 4px; min-width: 0; }
.sitfis-certificate-management-header p { color: var(--su-muted); line-height: 1.4; }
.sitfis-certificate-management :is(button, a) { min-height: 44px; }
.sitfis-certificate-latest, .sitfis-certificate-documents { display: grid; gap: 8px; padding: 12px; border: 1px solid var(--su-line); border-radius: 10px; background: var(--su-surface); }
.sitfis-certificate-latest-status { font-weight: 700; }
.sitfis-certificate-latest dl { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 12px; margin: 0; overflow-wrap: anywhere; }
.sitfis-certificate-latest dt { color: var(--su-muted); }
.sitfis-certificate-latest dd { margin: 0; font-weight: 600; }
.sitfis-certificate-relation { color: #805b11; }
.sitfis-certificate-documents-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 8px; }
.sitfis-certificate-document { display: grid; gap: 4px; width: 100%; padding: 9px 12px; border: 1px solid var(--su-line); border-radius: 8px; background: var(--su-surface); color: var(--su-ink); text-align: left; }
.sitfis-certificate-document span { color: var(--su-muted); font-size: 12px; line-height: 1.35; }
.sitfis-certificate-document.is-selected { border-color: var(--su-action); background: var(--su-info-surface); }
.sitfis-certificate-document:focus-visible { outline: 3px solid var(--su-action); outline-offset: 2px; }
.sitfis-certificate-selected { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.sitfis-certificate-selected span { flex: 1 1 200px; font-weight: 700; }
.module-entry-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1px solid var(--su-border); border-radius: 12px; background: var(--su-info-surface); }
.module-entry-row > div { display: grid; gap: 3px; }
.module-entry-row span { color: var(--su-muted); }
.sitfis-batch-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.sitfis-batch-heading h2, .sitfis-batch-heading p { margin: 0; }
.sitfis-batch-heading > div { display: grid; gap: 4px; }
.sitfis-filter-grid { grid-template-columns: minmax(240px, 1.7fr) minmax(170px, .85fr) minmax(190px, 1fr) auto; }
.sitfis-companies-wrap { width: 100%; max-width: 100%; min-width: 0; }
.sitfis-batch-page .sitfis-companies-wrap { overflow: visible; }
.sitfis-companies-table { width: 100%; max-width: 100%; min-width: 0; table-layout: fixed; }
.sitfis-companies-table th, .sitfis-companies-table td { box-sizing: border-box; min-width: 0; }
.sitfis-companies-table td { padding-top: 8px; padding-bottom: 8px; vertical-align: middle; }
.sitfis-companies-table th:last-child { text-align: center; }
.sitfis-companies-table td:last-child { text-align: left; }
.sitfis-company-cell { min-width: 0; }
.sitfis-company-cell > strong, .sitfis-company-cell > span { display: block; }
.sitfis-company-cell > span { margin-top: 3px; color: var(--su-muted); }
.sitfis-state.compact { display: inline-flex; align-items: center; min-height: 32px; padding: 6px 10px; white-space: nowrap; }
.sitfis-companies-table .sitfis-result-action { width: min(118px, 100%); min-width: 0; }
.sitfis-result-action { min-width: 118px; }
.sitfis-result-action.sitfis-result-attention { border-color: #d9b34c; background: #ffe7a8; color: #6e4d00; }
.sitfis-result-action.sitfis-result-ready { border-color: #84cbaa; background: #e6f5ec; color: #17643b; }
.sitfis-result-action.sitfis-result-divergent { border-color: #e6c978; background: #fff8e6; color: #755400; }
.sitfis-result-action.sitfis-result-critical { border-color: #e58b8b; background: #fee2e2; color: #991b1b; }
.sitfis-result-action.sitfis-result-critical-divergent { border-color: #c94b4b; background: #fecaca; color: #7f1d1d; }
.sitfis-process-dialog { width: min(560px, calc(100vw - 32px)); padding: 0; border: 1px solid var(--su-border); border-radius: 14px; overflow: hidden; }
.sitfis-process-dialog[open] { display: grid; }
.sitfis-process-dialog .dialog-close-x { position: absolute; right: 12px; top: 6px; width: 44px; height: 44px; border: 0; background: transparent; font-size: 27px; color: var(--su-ink); }
.sitfis-process-body { display: grid; gap: 12px; padding: 20px; }
.sitfis-process-body p, .sitfis-process-body strong { margin: 0; }
.sitfis-process-progress { height: 10px; overflow: hidden; border-radius: 999px; background: var(--su-info-surface); }
.sitfis-process-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--su-action); transition: width .2s ease; }
@media (max-width: 820px) {
  .sitfis-dialog[data-kind="certificate"] .sitfis-certificate-management { max-height: none; padding: 12px; }
  .sitfis-certificate-management-header > button { width: 100%; }
  .sitfis-certificate-selected > :is(a, button) { width: 100%; text-align: center; }
  .sitfis-dialog[open] { width: 94vw; height: 90svh; max-height: 90svh; overflow-y: auto; overflow-x: hidden; display: block; }
  .sitfis-dialog-header { position: sticky; top: 0; z-index: 2; background: #fff; }
  .sitfis-dialog-body { height: auto; display: block; overflow: visible; }
  .sitfis-toolbar { align-items: stretch; flex-direction: column; }
  .sitfis-registration-suggestion.different { grid-template-columns: 1fr; }
  .sitfis-company,
  .sitfis-toolbar .sitfis-state { flex: 0 0 auto; min-width: 0; }
  .sitfis-report-field { grid-template-columns: 1fr; }
  .sitfis-report-field select { width: 100%; }
  .sitfis-viewer-panel { border-top: 1px solid var(--su-line); min-height: 56svh; }
  .sitfis-viewer { height: 56svh; min-height: 56svh; }
  .module-entry-row, .sitfis-batch-heading { align-items: stretch; flex-direction: column; }
  .sitfis-filter-grid { grid-template-columns: 1fr; }
  .sitfis-companies-wrap { overflow: visible; border: 0; background: transparent; }
  .sitfis-companies-table, .sitfis-companies-table tbody, .sitfis-companies-table tr, .sitfis-companies-table td { display: block; width: 100%; min-width: 0; }
  .sitfis-companies-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sitfis-companies-table tr { margin-bottom: 10px; padding: 12px; border: 1px solid var(--su-border); border-radius: 12px; background: #fff; }
  .sitfis-companies-table td { padding: 5px 0; border: 0; text-align: left; }
  .sitfis-companies-table td::before { content: attr(data-label) ": "; color: var(--su-muted); font-size: 12px; font-weight: 600; }
  .sitfis-companies-table td:first-child, .sitfis-companies-table td:last-child { width: 100%; text-align: left; }
  .sitfis-companies-table td:first-child::before { margin-right: 8px; }
  .sitfis-company-cell > strong, .sitfis-company-cell > span { display: block; }
}

@media (max-width: 520px) {
  .sitfis-toolbar { grid-template-columns: minmax(0, 1fr); }
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

.visually-hidden {
  position: absolute !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  border: 0 !important;
  margin: -1px !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
}

body {
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

html:has(.login-screen) { scrollbar-gutter: auto; }

html.scroll-locked,
body.scroll-locked {
  overflow: hidden;
}

body.scroll-locked {
  position: fixed;
  width: 100%;
}

a:not(.primary):not(.secondary):focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #075985;
  outline-offset: 2px;
}

.public-main.login-screen {
  display: block;
  width: 100%;
  min-height: 100svh;
  padding: 0;
  background: var(--su-surface);
}

.login-shell {
  display: grid;
  grid-template-columns: minmax(400px, 44%) minmax(0, 56%);
  overflow: hidden;
  width: 100%;
  min-height: 100svh;
  border: 0;
  border-radius: 0;
  background: var(--su-surface);
  box-shadow: none;
}

.login-form-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  justify-items: center;
  min-width: 0;
  min-height: 100svh;
  padding: clamp(24px, 4vw, 56px);
  background: var(--su-surface);
}

.login-card {
  width: min(420px, 100%);
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

.login-brand-symbol {
  display: block;
  width: 72px;
  height: 72px;
  margin: 0 0 20px;
}

.login-card h1 {
  margin: 8px 0 20px;
  color: var(--su-text);
  font-size: clamp(26px, 3vw, 34px);
}

.login-card input,
.login-card button { min-height: 44px; }
.login-card .primary { background: var(--su-action); border-color: var(--su-action); }
.login-card .primary:hover { background: var(--su-action-hover); }

.login-version {
  align-self: end;
  margin: 20px 0 0;
  color: var(--su-muted);
  font-size: 12px;
}

.login-flow-panel {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(rgba(18, 59, 104, .07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(18, 59, 104, .07) 1px, transparent 1px),
    linear-gradient(145deg, #dff3fb, #eff8fc 48%, #d6eaf6);
  background-size: 44px 44px, 44px 44px, auto;
}

.login-flow-panel > img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(40%, 256px);
  height: auto;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 18px 34px rgba(18, 59, 104, .18));
}

.login-flow-line,
.login-flow-node { position: absolute; display: block; }

.login-flow-line {
  height: 2px;
  border-radius: 999px;
  background: rgba(18, 59, 104, .24);
  transform-origin: left center;
}

.login-flow-line-a { top: 31%; left: 10%; width: 36%; transform: rotate(12deg); }
.login-flow-line-b { right: 7%; bottom: 28%; width: 42%; transform: rotate(-15deg); }

.login-flow-node {
  width: 14px;
  height: 14px;
  border: 4px solid var(--su-surface);
  border-radius: 50%;
  background: var(--su-flow-node);
  box-shadow: 0 0 0 1px rgba(18, 59, 104, .12);
}

.login-flow-node-a { top: 29%; left: 9%; }
.login-flow-node-b { right: 12%; bottom: 24%; }
.login-flow-node-c { top: 17%; right: 18%; }

@media (max-width: 1023px) {
  .login-shell { grid-template-columns: minmax(360px, 52%) minmax(0, 48%); }
  .login-flow-panel > img { width: min(52%, 220px); }
  .login-flow-node-c { display: none; }
}

@media (max-width: 767px) {
  .public-main.login-screen {
    padding: 0;
  }

  .login-shell {
    grid-template-columns: minmax(0, 1fr);
    min-height: 100svh;
    border-radius: 0;
  }

  .login-form-panel {
    min-height: 100svh;
    padding: 24px 20px 16px;
  }

  .login-flow-panel { display: none; }
  .login-version { margin-top: 24px; }
}

.web-app-shell {
  min-height: 100dvh;
}

.web-sidebar {
  overflow-x: hidden;
  overflow-y: hidden;
  overscroll-behavior: contain;
}

.web-sidebar .nav-link {
  display: block;
  text-decoration: none;
}

.sidebar-tenant-context {
  display: none;
}

.sidebar-close-control {
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  flex: 0 0 44px;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 10px;
  margin-left: auto;
  padding: 0;
  background: transparent;
  color: #fff;
  font-size: 25px;
  line-height: 1;
}

.sidebar-close-control:hover,
.sidebar-close-control:focus-visible {
  border-color: rgba(255, 255, 255, .65);
  background: rgba(255, 255, 255, .12);
}

.sidebar-close-control:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}

body:has(dialog[open]) .sidebar-close-control {
  visibility: hidden;
}

.sidebar-footer-navigation {
  margin-top: auto;
  display: grid;
  gap: 8px;
  min-width: 0;
}

.sidebar-navigation-divider {
  height: 1px;
  margin: 4px 2px;
  background: rgba(216, 232, 247, .48);
  box-shadow: 0 1px 0 rgba(4, 25, 47, .42);
}

.web-sidebar .sidebar-note {
  margin-top: 2px;
}

.sidebar-information {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 2px 0;
  white-space: nowrap;
}

.sidebar-information a {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  color: #d8e8f7;
  text-underline-offset: 3px;
}

.sidebar-information a:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

.web-workspace {
  overflow: visible;
}

.web-workspace > main {
  max-width: none;
}

.web-topbar {
  min-height: 72px;
  height: auto;
}

.topbar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  min-height: 44px;
}

.web-topbar #logout-action,
.menu-open-control {
  min-width: 44px;
  min-height: 44px;
}

.primary,
.secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.tenant-context {
  min-width: 0;
}

.tenant-context strong,
.sidebar-tenant-context strong {
  overflow-wrap: anywhere;
}

.environment {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.session-identity {
  display: grid;
  min-width: 0;
  max-width: 260px;
  text-align: right;
  line-height: 1.25;
}

.session-identity strong,
.session-identity span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.session-identity span { color: var(--muted); font-size: 12px; }

.action-inline-feedback {
  align-self: center;
  max-width: 360px;
  color: var(--muted);
  font-size: 12px;
}
.action-inline-feedback.error { color: var(--danger); }

.environment-test {
  border: 1px solid #b7d4eb;
  background: #edf6fd;
  color: #164d78;
}

.environment-production {
  border: 1px solid #79aa91;
  background: var(--su-success-surface);
  color: var(--su-success);
}

.menu-open-control {
  display: none;
}

body.sidebar-collapsed .web-sidebar {
  transform: translateX(-100%);
}

body.sidebar-collapsed .web-workspace {
  grid-column: 1 / -1;
}

body.sidebar-collapsed .web-app-shell {
  grid-template-columns: 1fr;
}

body.sidebar-collapsed .menu-open-control {
  display: inline-flex;
}

.public-main {
  max-width: none;
  margin: 0;
}

.form-page {
  max-width: 760px;
}

.mit-settings-form,
.mit-settings-form > *,
.mit-settings-form label,
.mit-settings-form input,
.mit-settings-form select,
.mit-settings-form .form-actions,
.mit-settings-form .form-actions > * {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.mit-settings-form {
  width: 100%;
  overflow-wrap: anywhere;
}

.mit-settings-form .form-actions > * {
  min-height: 44px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.mit-settings-form input,
.mit-settings-form select {
  min-height: 44px;
}

.settings-local-navigation {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 8px;
  max-width: 1180px;
  width: 100%;
  min-width: 0;
  margin: 0 0 20px;
}

@media (max-width: 600px) {
  .settings-local-navigation {
    align-items: stretch;
    flex-direction: column;
  }

  .settings-local-navigation a,
  .settings-local-navigation button {
    width: 100%;
  }

  .mit-settings-form {
    padding: 14px 10px;
  }
}

.settings-local-navigation a,
.settings-local-navigation button {
  box-sizing: border-box;
  display: inline-flex;
  flex: 0 1 auto;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 14px;
  border: 1px solid var(--su-border);
  border-radius: 9px;
  overflow-wrap: anywhere;
  text-align: center;
  text-decoration: none;
  background: #fff;
  color: var(--su-link);
  font: inherit;
  cursor: pointer;
}

.settings-local-navigation a:hover,
.settings-local-navigation button:hover {
  border-color: var(--su-action);
  background: var(--su-info-surface);
}

.settings-local-navigation a[aria-current="page"],
.settings-local-navigation button[aria-selected="true"] {
  background: var(--su-info-surface);
}

.settings-local-navigation a:focus-visible,
.settings-local-navigation button:focus-visible {
  outline: 3px solid #075985;
  outline-offset: 2px;
}

.settings-admin-actions { align-self: end; }
.client-operation-switches { display: grid; gap: 10px; align-self: start; }
.company-status-inactive { color: var(--su-danger); background: var(--su-danger-surface); }
.settings-module-action { justify-self: start; }
.module-configuration-state { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--su-border); border-radius: 10px; background: var(--su-info-surface); }
.settings-tab-panel { display: grid; gap: 16px; min-width: 0; }
.settings-tab-panel.hidden { display: none; }
.settings-page-heading,
.settings-primary-navigation,
.settings-form { width: min(1180px, 100%); max-width: 1180px; }
.settings-form { padding: clamp(18px, 3vw, 28px); }
.settings-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; min-width: 0; }
.settings-section-heading > div { min-width: 0; }
.settings-section-heading :is(h2, h3, p),
.settings-feature-card :is(h3, p),
.settings-subsection :is(h3, p) { margin-top: 0; }
.settings-section-heading p,
.settings-feature-card p,
.settings-subsection p { color: var(--su-muted); }
.settings-purpose-badge { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 32px; padding: 6px 10px; border-radius: 999px; background: var(--su-info-surface); color: var(--su-action); font-weight: 700; }
.settings-purpose-badge-mock { border: 1px dashed var(--su-border); background: #fff8e1; color: #7c4a03; }
.settings-purpose-note { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px 14px; padding: 14px; border-left: 4px solid var(--su-action); border-radius: 8px; background: var(--su-info-surface); }
.settings-purpose-note span { color: var(--su-muted); }
.settings-integration-grid,
.settings-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; }
.settings-feature-card,
.settings-subsection,
.settings-template-preview { box-sizing: border-box; display: grid; align-content: start; gap: 12px; min-width: 0; margin: 0; padding: 18px; border: 1px solid var(--su-border); border-radius: 12px; background: #fff; }
.settings-feature-card > :last-child,
.settings-subsection > :last-child { margin-bottom: 0; }
.settings-feature-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; min-width: 0; }
.settings-feature-heading > div { min-width: 0; }
.settings-feature-heading span:first-child { color: var(--su-muted); font-size: .82rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.settings-feature-heading h3 { margin: 3px 0 0; }
.mock-label { color: #7c4a03; font-size: .75rem; letter-spacing: .03em; }
.settings-mock-surface { border-style: dashed; background: #fbfcfe; }
.settings-mock-fieldset { border-style: dashed; background: #fbfcfe; }
.settings-mock-fieldset legend { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 0 4px 8px; font-weight: 800; }
.settings-mock-fieldset legend strong { color: #7c4a03; font-size: .75rem; letter-spacing: .03em; }
.settings-mock-fieldset :is(input, select, textarea) { background: #f1f5f9; color: #475569; opacity: 1; }
.settings-template-preview { grid-column: 1 / -1; }
.settings-channel-connection { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; align-items: end; padding: 12px; border-radius: 10px; background: var(--su-info-surface); }
.settings-message-blocks { display: grid; gap: 12px; min-width: 0; }
.settings-message-block { display: grid; gap: 10px; min-width: 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--su-border); border-radius: 0; background: transparent; }
.settings-message-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; }
.settings-message-heading h3 { margin: 0; }
.settings-message-heading .switch-field { min-height: 36px; padding: 3px 0; }
.settings-email-composer { overflow: hidden; border: 1px solid var(--su-border); border-radius: 10px; background: #fff; }
.settings-compact-toolbar { display: flex; align-items: center; gap: 5px; min-width: 0; padding: 7px; border-bottom: 1px solid var(--su-border); background: var(--su-info-surface); }
.settings-compact-toolbar button,
.settings-compact-toolbar label { box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 34px; margin: 0; padding: 5px 8px; border: 1px solid var(--su-border); border-radius: 7px; background: var(--su-info-surface); color: var(--su-text); font-size: .82rem; cursor: pointer; }
.settings-compact-toolbar button:hover,
.settings-compact-toolbar label:hover { border-color: var(--su-action); }
.settings-compact-toolbar input[type="color"] { width: 24px; min-height: 24px !important; padding: 0; border: 0; }
.settings-merge-field-control { margin-left: auto !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.settings-merge-field-control select { width: min(205px, 100%); min-height: 44px !important; padding-block: 5px; font-size: .82rem; }
.settings-template-tools { display: flex; justify-content: flex-end; min-width: 0; }
.settings-template-tools .settings-merge-field-control { width: min(205px, 100%); }
.settings-template-tools .settings-merge-field-control select { width: 100%; }
.settings-file-icon input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.settings-rich-editor-compact { min-height: 120px; max-height: 220px; padding: 12px; border: 0; border-radius: 0; }
.settings-compact-preview { border-top: 1px solid var(--su-border); }
.settings-compact-preview summary {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  color: var(--su-action);
  font-weight: 700;
  cursor: pointer;
}
.settings-email-preview-compact { min-height: 96px; max-height: 220px; margin: 0; padding: 12px; border: 0; border-top: 1px solid var(--su-border); border-radius: 0; }
.settings-empty-state { margin: 0; padding: 14px; border-radius: 10px; background: #eef3f7; color: var(--su-muted); }
.settings-template-metadata { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(220px, 1fr); gap: 12px; align-items: end; }
.settings-template-subject { grid-column: 1 / -1; }
.settings-template-enabled { min-height: 48px; }
.settings-rich-toolbar { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 8px; border: 1px solid var(--su-border); border-radius: 10px; background: var(--su-info-surface); }
.settings-rich-toolbar button { min-width: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--su-border); border-radius: 8px; background: #fff; color: var(--su-text); }
.settings-rich-toolbar button:hover { border-color: var(--su-action); }
.settings-color-control,
.settings-link-control,
.settings-image-control { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 4px 10px; border: 1px solid var(--su-border); border-radius: 8px; background: #fff; }
.settings-link-control input { width: min(220px, 42vw); min-height: 34px !important; padding: 4px 7px; }
.settings-color-control input { width: 38px; min-height: 34px !important; padding: 2px; }
.settings-image-control input { width: min(230px, 100%); min-height: 34px !important; padding: 3px; }
.settings-editor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; min-width: 0; }
.settings-editor-grid > div { display: grid; align-content: start; gap: 7px; min-width: 0; }
.settings-editor-label { font-weight: 700; }
.settings-rich-editor,
.settings-email-preview { box-sizing: border-box; min-height: 280px; max-height: 440px; overflow: auto; padding: 16px; border: 1px solid var(--su-border); border-radius: 10px; background: #fff; overflow-wrap: anywhere; }
.settings-rich-editor:focus { outline: 3px solid #075985; outline-offset: 2px; }
.settings-rich-editor img,
.settings-email-preview img { display: block; max-width: 100%; max-height: 260px; margin: 10px auto; object-fit: contain; }
.settings-email-preview-subject { display: block; padding-bottom: 12px; border-bottom: 1px solid var(--su-border); font-size: 1.05rem; }
.settings-email-preview-body { padding-top: 4px; }
.settings-rich-editor.settings-rich-editor-compact { min-height: 120px; max-height: 220px; padding: 12px; }
.settings-email-preview.settings-email-preview-compact { min-height: 96px; max-height: 220px; margin-top: 8px; padding: 12px; }
.settings-email-composer .settings-rich-editor.settings-rich-editor-compact {
  border: 0;
  border-radius: 0;
}
.settings-email-composer .settings-rich-editor.settings-rich-editor-compact:focus {
  outline: 3px solid #075985;
  outline-offset: -3px;
}
.settings-email-composer .settings-email-preview.settings-email-preview-compact {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--su-border);
  border-radius: 0;
}
.settings-template-list { display: grid; gap: 0; border: 1px solid var(--su-border); border-radius: 10px; overflow: hidden; }
.settings-template-list > div { display: grid; grid-template-columns: minmax(180px, 1.4fr) minmax(140px, 1fr) auto; align-items: center; gap: 12px; min-height: 48px; padding: 10px 12px; border-bottom: 1px solid var(--su-border); }
.settings-template-list > div:last-child { border-bottom: 0; }
.settings-template-list span { color: var(--su-muted); }
.settings-template-list em { color: #7c4a03; font-style: normal; font-weight: 700; }
.settings-form-actions { align-items: center; justify-content: flex-end; }
.settings-form-actions span,
.mit-settings-form .form-actions span { color: var(--su-muted); font-size: .88rem; }
.settings-subsection { background: #fbfcfe; }
.settings-channel-connection-basic { grid-template-columns: minmax(180px, .8fr) minmax(230px, 1.2fr) minmax(230px, 1.2fr); }
[data-email-provider-field][hidden],
[data-email-secret-field][hidden] { display: none !important; }
.settings-advanced-configuration,
.settings-simple-section {
  min-width: 0;
  margin: 0;
  padding-top: 12px;
  border: 0;
  border-top: 1px solid var(--su-border);
}
.settings-advanced-configuration > summary {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--su-action);
  font-weight: 800;
  cursor: pointer;
}
.settings-advanced-configuration > .field-help { margin: 0 0 12px; }
.settings-advanced-grid,
.settings-simple-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
}
.settings-simple-fields-certificate { grid-template-columns: minmax(260px, 1.2fr) minmax(220px, 1fr); }
.settings-simple-section > h3 { margin: 0 0 12px; }
.mit-settings-form { gap: 18px; }
.mit-settings-form :is(.settings-subsection, .settings-simple-section) { width: 100%; }
.mit-responsible-grid { margin-top: 4px; }
.compact-heading { align-items: center; }
.settings-module-explanation { grid-column: 1 / -1; }
.settings-module-card {
  border-left-width: 1px;
  background: #eef3f7;
}
.settings-module-card.is-operational { background: #edf8f0; }
.settings-module-step { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; padding: 9px 11px; border: 1px solid var(--su-border); border-radius: 8px; background: var(--su-info-surface); }
.settings-module-step span { color: var(--su-muted); font-size: .84rem; font-weight: 700; }
.settings-module-step strong { text-align: right; }
.module-visible { color: #166534; }
.module-hidden { color: #64748b; }
.settings-admin-list { box-sizing: border-box; width: min(1180px, 100%); padding: 0; }
.entity-record-link { color: var(--su-link); font-weight: 800; text-decoration: none; }
.entity-record-link:hover { text-decoration: underline; }
.entity-record-link:focus-visible { outline: 3px solid #075985; outline-offset: 3px; border-radius: 3px; }
.module-toggle-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.module-toggle-card { display: flex; min-height: 72px; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--su-border); border-radius: 12px; background: #fff; }
.module-toggle-card input { width: 22px; height: 22px; flex: 0 0 auto; }
.module-toggle-card span { display: grid; gap: 4px; min-width: 0; }
.module-toggle-card small { color: var(--su-muted); font-weight: 400; }
.module-status-card { justify-content: space-between; }
.module-status-card .status-badge { display: inline-flex; place-self: center end; }
.responsible-people-list { display: grid; gap: 10px; }
.responsible-person-row { display: grid; grid-template-columns: 1.2fr 1fr 1.4fr 1fr auto; gap: 10px; align-items: end; padding: 12px; border: 1px solid var(--su-border); border-radius: 10px; }
.responsible-person-row button { min-height: 44px; }
.admin-tenant-filter-grid {
  grid-template-columns: minmax(260px, 2fr) minmax(150px, 1fr) minmax(170px, 1fr) auto;
}

.compact-list-filter-grid {
  grid-template-columns: minmax(260px, 1.5fr) minmax(150px, .7fr) auto;
}

.canonical-filter-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

.canonical-filter-actions > :is(button, details) {
  flex: 0 0 44px;
  width: 44px;
}

/* CR009 recheck: the rendered hit area, not only the visual glyph, is canonical. */
.admin-tenant-filter-grid :is(input, select),
.sitfis-filter-grid :is(input, select),
.sitfis-filter-grid .filter-icon-button {
  box-sizing: border-box;
  min-height: 48px;
}

#settings-form :is(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  button,
  a.secondary
),
#settings-form .checkbox-label,
.settings-admin-actions > *,
.entity-form :is(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  button,
  a.primary,
  a.secondary
),
.entity-form .checkbox-label,
.page-heading-actions > :is(a, button),
.sitfis-batch-page :is(button:not(.company-cnpj-copy-button), a.primary, a.secondary),
.table-pagination :is(button, select),
#admin-tenants-previous,
#admin-tenants-next,
#admin-tenants-page-size {
  box-sizing: border-box;
  min-height: 44px;
}

.table-pagination button,
.filter-actions :is(button, a),
#admin-tenants-previous,
#admin-tenants-next {
  min-width: 44px;
  min-height: 44px;
}

@media (max-width: 760px) {
  .module-toggle-grid, .admin-tenant-filter-grid, .settings-integration-grid, .settings-module-grid { grid-template-columns: 1fr; }
  .responsible-person-row { grid-template-columns: 1fr; }
  .settings-admin-actions { width: 100%; }
  .settings-admin-actions > * { flex: 1 1 180px; }
  .settings-section-heading { flex-direction: column; }
  .settings-purpose-note { grid-template-columns: 1fr; }
  .settings-template-list > div { grid-template-columns: 1fr; gap: 3px; padding-block: 12px; }
  .settings-template-metadata, .settings-editor-grid,
  .settings-channel-connection-basic, .settings-advanced-grid,
  .settings-simple-fields, .settings-simple-fields-certificate { grid-template-columns: 1fr; }
  .settings-template-subject { grid-column: auto; }
  .settings-form-actions { align-items: stretch; }
  .settings-form-actions > * { width: 100%; }
}

@media (max-width: 220px) {
  .web-sidebar .brand {
    min-width: 0;
    gap: 7px;
  }

  .web-sidebar .brand > strong {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .admin-tenants-table tr {
    padding-right: 58px;
  }

  .admin-tenant-filter-grid,
  .sitfis-filter-grid,
  .settings-tab-panel,
  #settings-form,
  .table-pagination {
    min-width: 0;
    max-width: 100%;
  }
}

.quick-create-page {
  width: min(960px, 100%);
  margin: 0 auto;
}

.quick-create-card {
  display: grid;
  gap: 20px;
  margin-top: 0;
  padding: 24px;
}

.quick-create-card h2 { margin: 0; }
.sitfis-create-heading, .sitfis-company-intake { width: min(980px, 100%); margin-inline: auto; }
.sitfis-create-entry { display: grid; gap: 12px; padding: clamp(18px, 2.4vw, 24px); }
.sitfis-create-step { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 12px 14px; border-radius: 10px; background: var(--su-info-surface); }
.sitfis-create-step span { font-weight: 800; color: var(--su-action); }
.sitfis-create-step small { color: var(--su-muted); }
.sitfis-create-lookup { display: grid; grid-template-columns: minmax(260px, 1fr) auto; align-items: end; gap: 14px; }
.sitfis-create-lookup > label { display: grid; min-width: 0; gap: 6px; font-weight: 700; }
.sitfis-create-lookup :is(input, a, button) { min-height: 48px; }
.sitfis-create-lookup .form-actions { margin: 0; }
.sitfis-create-entry > .field-help { margin: 0; line-height: 1.45; }
.sitfis-create-progress { display: flex; align-items: center; gap: 14px; padding: 18px; border: 1px solid var(--su-border); border-radius: 12px; background: var(--su-info-surface); }
.sitfis-create-progress p { margin: 4px 0 0; color: var(--su-muted); }
.sitfis-create-progress.hidden { display: none; }
.loading-indicator { width: 28px; height: 28px; flex: 0 0 auto; border: 3px solid #b7d6e6; border-top-color: var(--su-action); border-radius: 50%; animation: sitfis-spin .8s linear infinite; }
@keyframes sitfis-spin { to { transform: rotate(360deg); } }
@media (max-width: 700px) {
  .sitfis-create-entry { padding: 16px; }
  .sitfis-create-lookup { grid-template-columns: 1fr; }
  .sitfis-create-lookup .form-actions { justify-content: stretch; }
  .sitfis-create-lookup .form-actions > * { flex: 1 1 auto; }
}
.page-support-text { margin: 8px 0 0; color: var(--muted); }
.quick-create-entry-actions { margin-top: 4px; justify-content: flex-start; }

.quick-create-card form {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.quick-create-card label { font-weight: 700; }

.quick-create-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.quick-create-input-row > * { min-height: 44px; }
.quick-create-input-row input { text-transform: uppercase; }
.quick-create-page :is(.primary, .secondary, button, input) { min-height: 44px; }

.field-help,
.source-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

.quick-create-inline-status {
  min-height: 20px;
  margin: 2px 0 0;
  font-size: 13px;
  font-weight: 700;
}

.quick-create-inline-status.info { color: var(--brand); }
.quick-create-inline-status.success { color: var(--success); }
.quick-create-inline-status.warning { color: #8a5200; }
.quick-create-inline-status.error { color: var(--danger); }

.quick-create-preview-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.quick-create-preview-heading h2 { overflow-wrap: anywhere; }
.quick-create-preview-heading .pill { flex: 0 0 auto; }

.quick-create-source-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}

.quick-create-failure {
  display: grid;
  gap: 8px;
}

.quick-create-failure .form-actions { margin-top: 4px; }

.quick-create-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}

.quick-create-details > div {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
}

.quick-create-details > div:nth-child(odd) { border-right: 1px solid var(--line); }
.quick-create-details > div:nth-last-child(-n + 2) { border-bottom: 0; }
.quick-create-details dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.quick-create-details dd { margin: 0; overflow-wrap: anywhere; }
.quick-create-details .quick-create-address { grid-column: 1 / -1; border-right: 0; }

.quick-create-ack {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin-top: 14px;
  border: 1px solid #e1b968;
  border-radius: 10px;
  padding: 12px 14px;
  background: #fff8e8;
  line-height: 1.45;
}

.quick-create-ack input { margin-top: 2px; }
.operation-guidance.warning { border-left-color: #b36b00; background: #fff8e8; color: #6f4300; }

.quick-create-success {
  display: grid;
  justify-items: center;
  gap: 12px;
  padding: 20px;
  text-align: center;
}

.quick-create-success.duplicate .quick-create-success-icon {
  background: var(--su-info-surface);
  color: var(--su-info-ink);
}

.quick-create-result-title:focus-visible {
  border-radius: 6px;
  outline: 3px solid var(--su-flow-node);
  outline-offset: 4px;
}

.quick-create-result-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  max-width: 760px;
  margin: 4px 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  text-align: left;
}

.quick-create-result-summary > div {
  min-width: 0;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}

.quick-create-result-summary > div:nth-child(odd) { border-right: 1px solid var(--line); }
.quick-create-result-summary .quick-create-address { grid-column: 1 / -1; border: 0; }
.quick-create-result-summary dt { color: var(--muted); font-size: 12px; font-weight: 700; }
.quick-create-result-summary dd { margin: 3px 0 0; overflow-wrap: anywhere; }

.quick-create-success-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e2f5eb;
  color: var(--success);
  font-size: 24px;
  font-weight: 900;
}

.batch-create-page {
  max-width: none;
  width: 100%;
}

.form-page label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
}

.form-heading {
  align-items: center;
  margin-bottom: 10px;
}

.form-heading + .entity-form { margin-top: 0; }

.compact-page-flow > .page-heading { margin-bottom: 10px; }
.compact-page-flow > .panel { margin-top: 0; }
.compact-page-flow > .page-heading > :first-child { flex: 0 0 280px; }
.compact-page-flow .page-heading-actions { gap: 6px; }
.compact-page-flow .competence-context-field { width: 150px; min-width: 140px; }

.page-context-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid #bfd5e8;
  border-radius: 999px;
  padding: 7px 12px;
  background: #edf5fc;
  color: var(--brand);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.entity-form {
  max-width: 1240px;
  margin-top: 18px;
  padding: 0;
  overflow: hidden;
  gap: 0;
}

.compact-entity-form {
  max-width: 980px;
}

.entity-form > .form-section {
  padding: 24px 26px;
}

.entity-form > .form-section + .form-section {
  border-top: 1px solid var(--line);
}

.form-section-heading {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  margin-bottom: 18px;
}

.form-section-heading-with-action {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
}

.compact-action {
  min-height: 38px;
  padding: 8px 13px;
}

.client-contacts-list {
  display: grid;
  gap: 12px;
}

.client-contact-card {
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 14px;
  background: #f9fbfd;
}

.form-grid.client-contact-fields {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.4fr) minmax(0, .9fr) minmax(0, 1.5fr) minmax(0, .9fr) 44px;
  gap: 12px;
  align-items: end;
}

.client-contact-remove {
  width: 44px;
  height: 44px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--danger);
  border-color: var(--danger);
  background: #fff;
  justify-self: end;
}

.client-contact-remove:hover,
.client-contact-remove:focus-visible {
  background: var(--su-danger-surface);
}

@media (max-width: 1200px) {
  .form-grid.client-contact-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .form-grid.client-contact-fields { grid-template-columns: minmax(0, 1fr); }
}

.compact-empty-state {
  margin: 0;
  padding: 14px;
  min-height: auto;
}

.form-section-heading h2,
.form-section-heading p {
  margin: 0;
}

.form-section-heading p {
  margin-top: 4px;
  color: var(--muted);
  font-size: 13px;
}

.section-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: var(--su-info-surface);
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 16px;
}

.form-grid label {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 600;
}

.batch-composition-tools {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) auto minmax(260px, 2fr) auto;
  gap: 12px;
  align-items: end;
}

.batch-composition-tools label,
.mit-optional-section {
  display: grid;
  gap: 6px;
}

.mit-optional-section {
  margin-top: 12px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}

.compact-heading {
  margin-bottom: 0;
}

.field-span-1 { grid-column: span 1; }
.field-span-2 { grid-column: span 2; }
.field-span-3 { grid-column: span 3; }
.field-span-4 { grid-column: span 4; }
.field-span-5 { grid-column: span 5; }
.field-span-6 { grid-column: span 6; }
.field-span-7 { grid-column: span 7; }
.field-span-8 { grid-column: span 8; }
.field-span-9 { grid-column: span 9; }

.entity-form > .form-actions {
  border-top: 1px solid var(--line);
  padding: 18px 26px;
  background: #f8fafc;
}

.entity-form > .message {
  margin: 0 26px 22px;
}

.permission-option {
  margin: 0 26px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px 14px;
  background: #f8fafc;
}

.permission-note {
  margin: -6px 26px 16px;
}

.selection-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(180px, 260px) minmax(220px, 320px) auto;
  gap: 14px;
  align-items: end;
  border: 1px solid #bfd5e8;
  border-radius: 12px;
  margin: 12px 0 0;
  padding: 13px 15px;
  background: #edf5fc;
}

.selection-toolbar > div,
.selection-toolbar label {
  display: grid;
  gap: 4px;
}

.selection-toolbar span,
.selection-toolbar label {
  color: var(--muted);
  font-size: 12px;
}

.selection-toolbar-summary { align-content: start; }

.selection-toolbar-controls {
  display: grid;
  grid-template-columns: repeat(2, 148px);
  gap: 8px;
  margin-top: 4px;
}

.selection-toolbar-controls > button {
  box-sizing: border-box;
  width: 148px;
  min-width: 148px;
  height: 44px;
  min-height: 44px;
  padding: 8px 12px;
}

.companies-table .assignment-only {
  width: 46px;
  text-align: center;
}

.companies-table .company-cnpj { white-space: nowrap; }

.companies-table-wrap {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  box-sizing: border-box;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}

.companies-table-wrap:focus-visible {
  outline: 3px solid #075985;
  outline-offset: 2px;
}

.companies-table-scroll-hint { display: none; }

.form-actions,
.page-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

.page-heading {
  gap: 20px;
}

.page-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin-left: auto;
}

.page-heading-actions > * { margin-left: 0; }

.page-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  max-width: 100%;
}

.page-title-row h1 {
  min-width: 0;
  margin-bottom: 0;
}

.context-help-button,
.context-help-symbol {
  display: inline-grid;
  place-items: center;
  border: 1px solid #8eb7d8;
  border-radius: 50%;
  background: var(--su-info-surface);
  color: var(--brand);
  font-weight: 900;
}

.context-help-button {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  padding: 0;
}

@media (max-width: 260px) {
  .page-title-row {
    width: 100%;
  }

  .page-title-row h1 {
    flex: 1 1 0;
    overflow-wrap: anywhere;
  }
}

.context-help-symbol {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
}

.context-help-button:hover,
.context-help-button:focus-visible {
  background: var(--brand);
  color: #fff;
}

.context-help-dialog {
  width: min(760px, 80vw);
  max-width: 80vw;
  max-height: 80vh;
  overflow: hidden;
}

.validation-dialog {
  width: min(620px, calc(100% - 30px));
  max-height: 80vh;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
  padding: 0;
  box-shadow: 0 30px 80px rgba(10, 35, 62, .28);
}

.validation-dialog::backdrop { background: rgba(9, 29, 49, .62); }
.validation-content { padding: 26px; }
.validation-content ul { margin: 16px 0; padding-left: 22px; }
.validation-symbol {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #feeceb;
  color: var(--danger);
  font-weight: 900;
}

input.field-invalid,
select.field-invalid,
textarea.field-invalid {
  border-color: var(--danger) !important;
  box-shadow: 0 0 0 3px rgba(180, 35, 24, .14) !important;
  background: #fff8f7;
}

.context-help-content {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  max-height: 80vh;
  padding: 20px 20px 0;
  overflow: hidden;
}

.context-help-content > .dialog-heading {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 42px;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.context-help-content > .dialog-heading h2 { margin: 0; }

.context-help-content .context-help-close-x {
  position: static;
  width: 44px;
  height: 44px;
  justify-self: end;
}

.context-help-scroll-body {
  min-height: 0;
  padding: 0 6px 20px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.context-help-content p,
.context-help-content li {
  line-height: 1.55;
}

.context-help-content ul {
  margin: 16px 0 0;
  padding-left: 22px;
}

.filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

/* Canonical filter shell overrides the older per-screen grid contracts. */
.canonical-command-bar.standard-filter-bar {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
}
.canonical-command-bar.standard-filter-bar > label { grid-column: span 2; }
.canonical-command-bar.standard-filter-bar > label:first-child { grid-column: span 4; }
.canonical-command-bar.standard-filter-bar > .standard-filter-actions {
  grid-column: -4 / -1;
  display: grid;
  grid-template-columns: repeat(3, 44px);
  justify-content: end;
  align-items: end;
}
.standard-filter-actions > * { width: 44px; min-width: 44px; }
.table-company-selection { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 8px; }
.canonical-company-worklist th.canonical-company-heading { width: 32%; text-align: left; }
.canonical-company-worklist th.canonical-sm-heading,
.canonical-company-worklist td.canonical-sm-cell { width: 72px; text-align: center; }
.canonical-company-worklist th.canonical-control-heading,
.canonical-company-worklist td.canonical-control-cell { width: 270px; text-align: left; }
.canonical-company-cell .company-record-link { width: fit-content; max-width: 100%; }

@media (max-width: 1200px) {
  .canonical-command-bar.standard-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .canonical-command-bar.standard-filter-bar > label,
  .canonical-command-bar.standard-filter-bar > label:first-child { grid-column: span 1; }
  .canonical-command-bar.standard-filter-bar > .standard-filter-actions { grid-column: 2; }
}

@media (max-width: 760px) {
  .canonical-command-bar.standard-filter-bar { grid-template-columns: minmax(0, 1fr); }
  .canonical-command-bar.standard-filter-bar > label,
  .canonical-command-bar.standard-filter-bar > label:first-child,
  .canonical-command-bar.standard-filter-bar > .standard-filter-actions { grid-column: 1; }
  .canonical-command-bar.standard-filter-bar > .standard-filter-actions { width: 100%; grid-template-columns: repeat(3, minmax(44px, 1fr)); }
  .standard-filter-actions > * { width: 100%; }
}

.filter-icon-button {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  font-size: 18px;
  line-height: 1;
}
.filter-icon-button .su-icon { width: 22px; height: 22px; }

.table-tools label { min-width: 0; }

.competence-filter-grid {
  grid-template-columns: minmax(220px, 1.5fr) minmax(150px, .75fr) auto;
}
.competence-filter-grid.has-control {
  grid-template-columns: minmax(220px, 1.5fr) minmax(150px, .75fr) minmax(170px, .85fr) auto;
}
.canonical-command-bar.standard-filter-bar.competence-filter-grid {
  grid-template-columns: minmax(190px, 1.45fr) repeat(4, minmax(0, 1fr)) auto;
}
.canonical-command-bar.standard-filter-bar.competence-filter-grid.has-control {
  grid-template-columns: minmax(190px, 1.45fr) repeat(5, minmax(0, 1fr)) auto;
}
.canonical-command-bar.standard-filter-bar.competence-filter-grid > label,
.canonical-command-bar.standard-filter-bar.competence-filter-grid > label:first-child,
.canonical-command-bar.standard-filter-bar.competence-filter-grid > .standard-filter-actions {
  grid-column: auto;
}
.competence-filter-grid > .filter-actions { align-self: end; }
.competence-filter-grid > .filter-actions > .compact-export-menu { align-self: center; }

@media (max-width: 1350px) {
  .canonical-command-bar.standard-filter-bar.competence-filter-grid,
  .canonical-command-bar.standard-filter-bar.competence-filter-grid.has-control {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .canonical-command-bar.standard-filter-bar.competence-filter-grid > .standard-filter-actions {
    grid-column: 2;
  }
}

@media (max-width: 760px) {
  .canonical-command-bar.standard-filter-bar.competence-filter-grid,
  .canonical-command-bar.standard-filter-bar.competence-filter-grid.has-control {
    grid-template-columns: minmax(0, 1fr);
  }
  .canonical-command-bar.standard-filter-bar.competence-filter-grid > .standard-filter-actions {
    grid-column: 1;
    width: 100%;
  }
}

.batch-filter-grid {
  grid-template-columns: minmax(240px, 1.5fr) minmax(150px, .7fr) minmax(170px, .8fr) auto;
}

.document-filter-grid {
  grid-template-columns: minmax(260px, 1.6fr) minmax(190px, 1fr) minmax(140px, .65fr) minmax(140px, .65fr) auto;
}

.company-filter-grid {
  grid-template-columns: minmax(220px, 1.2fr) minmax(105px, .5fr) minmax(120px, .58fr) minmax(120px, .58fr) minmax(145px, .68fr) 44px 44px 44px;
}

/* Keep the command bar visually separate from the table it controls. */
.company-filter-grid.canonical-command-bar { margin-bottom: 12px; }

.admin-users-command-bar {
  grid-template-columns: minmax(300px, 1fr) minmax(180px, auto) auto;
}

.admin-users-command-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  justify-self: end;
  gap: 8px;
  min-width: max-content;
}

.admin-users-command-actions > :is(button, details) {
  flex: 0 0 44px;
  width: 44px;
}

.settings-admin-list .canonical-list-frame {
  overflow: hidden;
}

.workflow-marker-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 18px;
  color: var(--muted);
  font-size: 11px;
}

.workflow-marker-legend.control-disabled span:first-child { display: none; }
.fiscal-control-disabled .workflow-marker-legend span:first-child { display: none; }
.workflow-marker-no-darf {
  border-color: #9bcbe8;
  background: #e7f4fc;
  color: #0b5c86;
}

.workflow-marker-group {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 5px;
  min-width: 0;
}

.workflow-control-markers {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  justify-content: start;
}

.workflow-marker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 8px;
  background: #fff;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.workflow-control-marker { cursor: pointer; white-space: nowrap; }
.workflow-control-marker input { width: 14px; height: 14px; margin: 0 4px 0 0; }
.workflow-control-marker .workflow-marker-icon { white-space: nowrap; }
.workflow-marker-done { border-color: #8fc4aa; background: #e8f6ee; color: var(--success); }
.workflow-marker-error { border-color: #dda6a6; background: #fff0ef; color: var(--danger); }
.workflow-marker-pending { background: #fff; color: var(--muted); }

.table-heading-with-check {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.table-heading-with-check input { width: 18px; height: 18px; margin: 0; }

#dctf-history-filter {
  grid-template-columns: minmax(220px, 1fr) minmax(150px, 220px) auto;
}

.manual-completion-toolbar {
  display: block;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f7f9fc;
}

.manual-completion-toolbar > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
}

.manual-completion-toolbar label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}

.manual-control-rows {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.manual-control-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto;
  align-items: end;
  gap: 12px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.manual-completion-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.monthly-stage-checks {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  margin-top: 8px;
}

.stage-check {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

button.stage-check { cursor: pointer; }
.stage-check-done { border-color: #8fc4aa; background: #e8f6ee; color: #17623f; }
.stage-check-pending { background: #fff; color: var(--muted); }

.batch-title-editor {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto;
  align-items: end;
  gap: 10px;
}

.batch-title-editor label { display: grid; gap: 6px; font-weight: 800; }

.selection-column {
  width: 44px;
  min-width: 44px;
  text-align: center;
}

.selection-column input {
  width: auto;
}

.inline-error {
  color: var(--danger);
}

.compact-cards {
  grid-template-columns: minmax(220px, 360px);
  margin: 0;
}

.history-service-kpis {
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  margin: 0;
}

.history-service-kpis article {
  min-height: 104px;
}

[data-testid="dctfweb-history-page"],
[data-testid="dctfweb-history-page"] > *,
[data-testid="dctfweb-history-page"] .history-service-kpis,
[data-testid="dctfweb-history-page"] .canonical-list-frame,
[data-testid="dctfweb-history-page"] .table-wrap {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.dctf-history-table-wrap { overflow-x: auto; }
.dctf-history-table-wrap table { min-width: 780px; }

.batches-table-wrap { overflow-x: auto; }
.batches-table { min-width: 1040px; }
.batches-table th:nth-child(3),
.batches-table td:nth-child(3) { text-align: center; }
.batches-table tbody tr { height: auto; }
.batches-table tbody td {
  height: auto;
  vertical-align: middle;
  border-bottom: 1px solid var(--line);
}
.batches-table tbody tr:last-child td { border-bottom: 0; }
.batch-situation-cell { vertical-align: middle; }
.batch-situation-cell > * + * { margin-top: 6px; }
.batch-situation-cell > span:last-child { display: block; line-height: 1.35; }
.batch-situation-cell .status-badge { justify-self: start; }
.batch-table-actions {
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
}
.batch-table-actions > * { min-height: 44px; }
.no-movement-check {
  display: inline-grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #e7f4fc;
  color: #0b5c86;
  font-weight: 800;
}
.dctf-history-table-wrap:focus-visible,
.batches-table-wrap:focus-visible,
.technical-access-panel > summary:focus-visible {
  outline: 3px solid #075985;
  outline-offset: 2px;
}

.technical-access-panel {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.technical-access-panel > summary {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}

.administration-cards {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}

.table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  overscroll-behavior-inline: contain;
}

.answer {
  overflow-x: auto;
  overflow-y: visible;
}

.wrap-answer {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  overflow-x: visible;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 16px;
  margin: 0;
}

.detail-grid div {
  display: grid;
  gap: 5px;
}

.detail-grid dt {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.detail-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.inline-editor {
  margin-top: 8px;
}

.compact-form {
  min-width: min(360px, 72vw);
  padding-top: 10px;
}

.compact-form textarea {
  min-height: 88px;
}

.operation-guidance {
  display: grid;
  gap: 5px;
  border-left: 4px solid var(--brand2);
  border-radius: 8px;
  padding: 12px 14px;
  background: #edf5fc;
  color: #173f68;
}

.operation-guidance span {
  color: #365d82;
  line-height: 1.45;
}

.batch-stage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.batch-stage-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface-soft);
}

.batch-stage-card > span:not(.eyebrow),
.batch-optional-stage span,
.batch-company-cnpj {
  color: var(--muted);
  font-size: .9rem;
}

.batch-stage-card button { margin-top: auto; }

.batch-optional-stage {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border: 1px dashed var(--line);
  border-radius: 14px;
}

.batch-optional-stage div {
  display: flex;
  align-items: baseline;
  min-width: 0;
  gap: 8px;
}

.batch-optional-stage div span { line-height: 1.4; }
.batch-company-cnpj { display: block; }
.batch-operation-table {
  min-width: 980px;
}

.batch-operation-table-wrap {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.batch-operation-table th:nth-child(1) { width: 22%; }
.batch-operation-table th:nth-child(2),
.batch-operation-table th:nth-child(3),
.batch-operation-table th:nth-child(4) { width: 10%; }
.batch-operation-table th:nth-child(5) { width: 21%; }
.batch-operation-table th:nth-child(6) { width: 13%; }
.batch-operation-table th:nth-child(7) { width: 14%; }

.batch-step-cell {
  white-space: nowrap;
}

.batch-step-cell > span + span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: .8rem;
}

.batch-profile-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.2;
}

.batch-profile-badge.profile-no-movement {
  border-color: #8ed7bd;
  background: #e6f7f0;
  color: #116b4f;
}

.batch-profile-badge.profile-simple {
  border-color: #9bc9eb;
  background: #e9f4fc;
  color: #14557e;
}

.batch-profile-badge.profile-review {
  border-color: #efca74;
  background: #fff4d6;
  color: #7a5200;
}

.batch-profile-badge.profile-default {
  border-color: var(--line);
  background: var(--surface-soft);
  color: var(--muted);
}

#batch-step-actions [hidden],
#batch-mit-stage button[hidden],
#batch-step-result[hidden] { display: none !important; }

.batch-execution-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.batch-execution-bar strong {
  margin-right: auto;
}

.batch-preview-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.batch-preview-kpi {
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}

.batch-preview-kpi strong { font-size: 1.35rem; }
.batch-preview-kpi span { color: var(--muted); font-size: .8rem; }
.batch-preview-items { margin: 0; padding-left: 20px; }

.batch-selection-filters {
  display: grid;
  grid-template-columns: minmax(140px, .45fr) minmax(220px, 1.4fr) minmax(165px, .7fr) minmax(150px, .6fr) auto;
  gap: 12px;
  align-items: end;
}

.batch-selection-filters > label {
  min-width: 0;
}

.batch-create-form {
  width: 100%;
  padding: 0;
  gap: 18px;
}

.batch-create-meta {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(310px, .8fr) auto;
  gap: 18px;
  align-items: end;
}

.batch-create-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}

.batch-create-actions > * { min-height: 44px; }

.batch-selection-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 44px;
}

.batch-selection-summary .field-help {
  margin: 0;
}

.batch-selection-summary strong {
  color: var(--brand);
  font-size: 13px;
}

.batch-selected-only { margin: 0 0 0 auto !important; white-space: nowrap; }
.batch-review-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.batch-review-heading h2 { margin: 0; }

.batch-filter-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  margin: 0;
  padding-inline: 12px;
  white-space: nowrap;
}

.batch-cnpj-paste-dialog {
  width: min(560px, calc(100% - 30px));
  max-height: 74vh;
  padding: 0;
  border: 2px solid #7ab7d8;
  background: #f7fbfe;
}

.batch-cnpj-paste-content {
  display: grid;
  gap: 12px;
  max-height: 74vh;
  padding: 18px;
  overflow-y: auto;
}

.batch-cnpj-paste-content .dialog-heading {
  justify-content: flex-start;
  padding: 10px 12px;
  border-radius: 10px;
  background: #e1f1fa;
}

.batch-cnpj-paste-content textarea {
  min-height: 96px;
  max-height: 180px;
  overflow-y: auto;
  resize: vertical;
}

.batch-create-review h2 {
  margin-bottom: 10px;
}

.batch-selection-table-wrap {
  overflow-x: auto;
  overflow-y: visible;
  border: 0;
  border-radius: 0;
  background: var(--surface);
}

.batch-selection-table {
  min-width: 940px;
  table-layout: fixed;
}

.batch-selection-table th {
  position: sticky;
  top: 0;
  z-index: 1;
}

.batch-selection-table th,
.batch-selection-table td {
  padding: 9px 12px;
  vertical-align: middle;
}

.batch-selection-table th:nth-child(1) { width: 29%; }
.batch-selection-table th:nth-child(2) { width: 6%; }
.batch-selection-table th:nth-child(3) { width: 27%; }
.batch-selection-table th:nth-child(4) { width: 6%; }
.batch-selection-table th:nth-child(5) { width: 32%; }

.batch-selection-check {
  text-align: center;
}

.batch-selection-check input[type="checkbox"] {
  width: 18px;
  height: 18px;
  margin: 0;
}

.batch-selection-identity {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

.batch-selection-identity-copy { display: grid; gap: 2px; min-width: 0; }

.batch-selection-identity strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}

.batch-selection-identity span {
  color: var(--muted);
  font-size: 12px;
}

.batch-selection-profile {
  color: var(--ink);
}

.batch-selection-empty td {
  padding: 24px;
  color: var(--muted);
  text-align: center;
}

.batch-selection-unavailable {
  background: #f8fafc;
}

.batch-unavailable-reason { display: block; margin-top: 5px; color: var(--danger); font-size: 10px; }

.operation-history {
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.operation-history summary {
  color: var(--brand);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
}

.operation-history-items {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}

.operation-history-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
}

.competence-candidates-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
}

.competence-candidates-wrap {
  overflow: visible;
}

.competence-candidates-table :is(th.candidate-actions-heading, td.candidate-actions) {
  text-align: center;
}

.competence-candidates-table th.candidate-company-heading {
  width: 28%;
}

.competence-candidates-table th.candidate-sm-heading {
  width: 6%;
}

.competence-candidates-table th.candidate-control-heading {
  width: 24%;
}

.competence-candidates-table th.candidate-mit-heading {
  width: 7%;
}

.competence-candidates-table th.candidate-status-heading {
  width: 19%;
}

.competence-candidates-table th.candidate-actions-heading {
  width: 16%;
}

.competence-candidates-table td {
  padding-top: 8px;
  padding-bottom: 8px;
  vertical-align: middle;
}

.fiscal-control-disabled .competence-candidates-table .candidate-control-heading,
.fiscal-control-disabled .competence-candidates-table .candidate-control,
.batch-create-review.fiscal-control-disabled .batch-selection-table th:nth-child(3),
.batch-create-review.fiscal-control-disabled .batch-selection-control {
  display: none;
}

.fiscal-control-disabled .competence-candidates-table .candidate-company-heading { width: 38%; }
.fiscal-control-disabled .competence-candidates-table .candidate-sm-heading { width: 8%; }
.fiscal-control-disabled .competence-candidates-table .candidate-mit-heading { width: 8%; }
.fiscal-control-disabled .competence-candidates-table .candidate-status-heading { width: 25%; }
.fiscal-control-disabled .competence-candidates-table .candidate-actions-heading { width: 21%; }
.batch-create-review.fiscal-control-disabled .batch-selection-table th:nth-child(1) { width: 42%; }
.batch-create-review.fiscal-control-disabled .batch-selection-table th:nth-child(2),
.batch-create-review.fiscal-control-disabled .batch-selection-table th:nth-child(4) { width: 8%; }
.batch-create-review.fiscal-control-disabled .batch-selection-table th:nth-child(5) { width: 42%; }

.workflow-panel {
  display: grid;
  min-width: 340px;
  gap: 12px;
}

.individual-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 7px;
  min-width: 0;
}

.compact-action {
  flex: 1 1 0;
  min-width: 104px;
  min-height: 38px;
  padding: 8px 10px;
  font-size: 12px;
  white-space: nowrap;
}

.candidate-company {
  display: grid;
  gap: 4px;
}

.candidate-company-identity { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: 8px; min-height: 52px; }
.candidate-company-copy { display: grid; align-content: center; gap: 3px; min-width: 0; min-height: 44px; }
.candidate-company-copy > span { white-space: nowrap; }

.candidate-company-link {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  min-height: 44px;
  padding: 5px 7px;
  margin: -5px -7px;
}

.candidate-company-link strong {
  overflow: hidden;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.candidate-company-link span {
  color: var(--muted);
  font-weight: 400;
  white-space: nowrap;
}

.candidate-company span {
  color: var(--muted);
}

.company-record-link {
  color: inherit;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
  transition: color 120ms ease, background-color 120ms ease;
}

.company-record-link-cnpj { font-weight: 500; }
.company-record-link-name { font-weight: 600; }

.company-record-link:visited { color: inherit; }
.company-record-link:hover { color: var(--action-primary); background: rgba(6, 74, 107, .07); }
.company-record-link:focus-visible { outline: 3px solid rgba(6, 74, 107, .25); outline-offset: 3px; }
.company-record-link:active { color: var(--action-primary-hover); }

.table-company-selection.without-selection { grid-template-columns: minmax(0, 1fr); }
.company-record-identity {
  display: grid;
  align-content: center;
  gap: 1px;
  min-width: 0;
  min-height: 44px;
}
.company-record-primary,
.company-record-secondary {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 6px;
}
.company-record-name-link {
  min-width: 0;
  overflow: hidden;
  color: var(--su-link);
  font-size: 16px;
  font-weight: 600;
  line-height: 21px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-record-secondary { font-size: 14px; line-height: 20px; }
.company-record-competence {
  flex: 0 0 auto;
  color: #9b2c2c;
  font-size: inherit;
  white-space: nowrap;
}
.company-record-cnpj-link {
  flex: 0 0 auto;
  color: var(--su-text);
  font-weight: 400;
  white-space: nowrap;
}
.company-record-trade-name {
  min-width: 0;
  overflow: hidden;
  color: var(--su-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}
.canonical-list-frame td.table-state-message {
  text-align: center;
  padding: 20px 16px;
  color: var(--su-muted);
  white-space: normal;
}

.company-cnpj-copy-button {
  display: inline-grid;
  position: relative;
  flex: 0 0 20px;
  place-items: center;
  width: 20px;
  min-width: 20px;
  height: 20px;
  min-height: 20px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--su-muted);
}
.company-cnpj-copy-button::after {
  position: absolute;
  inset: -12px;
  content: "";
}
.company-cnpj-copy-button:hover,
.company-cnpj-copy-button:focus-visible { background: transparent; color: var(--su-text); }
.company-cnpj-copy-button.is-copied { background: transparent; color: #12643c; }
.company-cnpj-copy-button:disabled { cursor: not-allowed; opacity: .45; }
.company-cnpj-copy-button .su-icon { width: 18px; height: 18px; }
.company-record-identity-modal :is(.company-record-name-link, .company-record-secondary) { font-size: 16px; line-height: 21px; }
.company-record-identity-modal .company-record-name-link { color: var(--su-link); font-weight: 800; }
.company-record-identity-modal .company-record-primary { gap: 12px; }
.company-record-identity-modal .company-record-secondary { gap: 5px; }

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea { font-weight: 400; }

label,
.field-label { font-weight: 600; }

input:disabled,
select:disabled,
textarea:disabled { color: #667382; background: #eef2f6; opacity: 1; }

input[readonly],
textarea[readonly] { color: #34495e; background: #f7f9fb; }

.manage-company-action {
  min-height: 44px;
  flex: 0 1 112px;
  min-width: 96px;
}

.individual-read-only {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 0;
  font-weight: 700;
}

.individual-operation-dialog {
  width: min(720px, calc(100% - 30px));
  max-height: 80vh;
}

.individual-operation-dialog-wide {
  width: 90vw;
  max-width: 90vw;
  height: 90vh;
  max-height: 90vh;
  padding: 0;
  overflow: hidden;
}

.individual-operation-dialog-wide > .dialog-close-x {
  z-index: 3;
}

.individual-operation-content {
  display: grid;
  gap: 10px;
  padding: 14px 16px 16px;
  box-sizing: border-box;
}

.individual-operation-dialog-wide .individual-operation-content {
  grid-template-rows: auto minmax(0, 1fr);
  height: 100%;
  overflow: hidden;
}

.operation-dialog-layout {
  display: grid;
  grid-template-columns: minmax(0, 45%) minmax(0, 55%);
  gap: 14px;
  min-height: 0;
}

.operation-dialog-main {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
  min-height: 0;
  padding: 0 6px 12px 0;
  overflow: hidden;
}

.individual-manage-stages {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  position: sticky;
  top: 0;
  z-index: 2;
  padding-bottom: 4px;
  background: var(--surface);
}
.fiscal-control-disabled .individual-manage-stages {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.individual-manage-stages button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  margin: 0;
}

.individual-manage-stages button span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #e6eef7;
  color: var(--brand);
  font-size: 11px;
  font-weight: 900;
}

.individual-manage-stages button.active {
  border-color: var(--action-primary);
  background: var(--action-primary);
  color: #fff;
}

.individual-manage-stages button.active span,
.individual-manage-stages button.manage-stage-complete span {
  background: #dff2e8;
  color: #16673f;
}

.individual-manage-panel {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 0;
  overflow: hidden;
}

.individual-manage-panel.hidden {
  display: none;
}

.individual-manage-panel > h3 {
  margin: 0;
}

.individual-manage-readonly {
  margin: 0;
  border-radius: 9px;
  padding: 9px 12px;
  background: #edf5fc;
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
}

.operation-pdf-preview {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: 10px;
  min-width: 0;
  min-height: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
  background: #f6f9fc;
}

.operation-pdf-preview h3,
.operation-pdf-preview p {
  margin: 0;
}

.document-preview-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.document-preview-heading label { margin: 0; }
.document-preview-heading select { width: min(260px, 34vw); }

.operation-pdf-preview iframe {
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  border-radius: 8px;
  background: #fff;
}

.individual-operation-content .dialog-heading {
  justify-content: flex-start;
  flex-wrap: nowrap;
  padding-right: 48px;
  min-height: 42px;
  overflow: visible;
  position: relative;
  z-index: 2;
}

.individual-manage-identity {
  display: block;
  min-width: 0;
  flex: 1 1 0;
  padding-left: 2px;
  overflow: hidden;
}
.individual-manage-identity > .company-record-identity { width: 100%; }

.individual-manage-company,
.individual-manage-cnpj,
.individual-manage-context {
  font-weight: 800;
}

.individual-manage-company {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--ink);
}

.individual-manage-cnpj {
  flex: 0 0 auto;
  white-space: nowrap;
  color: var(--brand);
}

.individual-manage-context {
  flex: 0 0 auto;
  white-space: nowrap;
  color: var(--danger);
}

.dialog-close-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  margin-left: auto;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-size: 25px;
  line-height: 1;
}

.dashboard-competence-field {
  display: grid;
  width: min(220px, 100%);
  min-width: 0;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-competence-field select { min-height: 44px; }

.dashboard-heading {
  align-items: center;
}

.dashboard-heading h1,
.dashboard-module-card h2,
.dashboard-status {
  margin: 0;
}

.dashboard-overview {
  min-width: 0;
}

.dashboard-overview:focus-visible {
  outline: 3px solid var(--su-flow-node);
  outline-offset: 4px;
}

.dashboard-status {
  min-height: 1.4em;
  color: var(--muted);
}

.dashboard-module-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.dashboard-module-card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--su-border);
  border-radius: 18px;
  background: var(--su-surface);
  box-shadow: 0 12px 26px rgba(18, 59, 104, .08);
}

.dashboard-module-card.is-unavailable {
  background: #f2f5f8;
  box-shadow: none;
}

.dashboard-module-card > h2 { margin-bottom: 14px; }

.dashboard-module-title-value,
.dashboard-kpis > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.dashboard-module-title-value strong,
.dashboard-kpis strong {
  min-width: 0;
  color: var(--su-text);
  font-size: clamp(24px, 3vw, 34px);
  overflow-wrap: anywhere;
}

.dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-kpis > div {
  min-width: 0;
  padding: 12px;
  border-radius: 12px;
  background: var(--su-canvas);
}

.dashboard-kpis span,
.dashboard-module-label,
.dashboard-module-note {
  color: var(--su-muted);
}

.dashboard-module-label { margin: 6px 0 0; }
.dashboard-module-note { margin: 12px 0 0; }
.dashboard-overview > #dashboard-retry { min-height: 44px; margin-top: 16px; }

.dctf-page-heading {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px 28px;
}

.dctf-heading-identity {
  display: grid;
  grid-template-columns: max-content 196px;
  align-items: flex-start;
  gap: 24px;
  min-width: 0;
}

.compact-page-flow > .dctf-page-heading > .dctf-heading-identity {
  flex: 0 0 auto;
}

.dctf-heading-identity > .page-title-row {
  width: max-content;
  padding-top: 8px;
}

.dctf-primary-actions {
  flex: 1 0 auto;
  flex-wrap: nowrap;
  justify-content: flex-end;
  gap: 8px;
  width: max-content;
  min-width: max-content;
  max-width: 100%;
}

.dctf-primary-actions > :is(a, label) { flex: 0 0 auto; }

.dctf-competence-funnel {
  display: grid;
  justify-items: center;
  width: 246px;
  min-width: 246px;
  gap: 0;
  filter:
    drop-shadow(1px 0 0 var(--su-border))
    drop-shadow(-1px 0 0 var(--su-border))
    drop-shadow(0 1px 0 var(--su-border))
    drop-shadow(0 -1px 0 var(--su-border));
}

.dctf-funnel-stage {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 26px;
  padding: 3px 8px;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--funnel-inset)) 100%, var(--funnel-inset) 100%);
  color: var(--su-text);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.dctf-funnel-metric {
  display: grid;
  grid-template-columns: minmax(0, 86px) minmax(0, 20px);
  align-items: baseline;
  width: 110px;
  gap: 4px;
}
.dctf-funnel-metric > span { text-align: right; }
.dctf-funnel-metric > strong {
  min-width: 3ch;
  text-align: left;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.dctf-funnel-total .dctf-funnel-metric {
  grid-template-columns: auto minmax(2ch, auto);
  width: auto;
  gap: 3px;
}
.dctf-funnel-separator { color: var(--su-muted); }
.dctf-funnel-stage small { color: var(--su-muted); font-size: 10px; font-weight: 700; }
.dctf-funnel-total { --funnel-inset: 19px; width: 246px; background: #fff; font-weight: 400; }
.dctf-funnel-queried { --funnel-inset: 16px; width: 208px; background: #dceffc; }
.dctf-funnel-transmitted { --funnel-inset: 14px; width: 176px; background: #cfe4f7; }
.dctf-funnel-completed { --funnel-inset: 12px; width: 148px; background: #dff3e5; }

.document-results-frame { margin-top: 14px; }

.page-size-field {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.page-size-field select {
  width: auto;
  min-width: 72px;
  padding: 8px;
}

.pagination-summary {
  min-width: 0;
}

.pagination-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.batch-list-summary {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.batch-card-metadata {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}

.batch-card-progress,
.batch-card-updated {
  white-space: nowrap;
}

.individual-operation-content .dialog-heading p,
.individual-operation-content > p {
  margin: 0;
}

.individual-operation-icon {
  display: grid;
  flex: 0 0 42px;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--su-info-surface);
  color: var(--brand);
  font-size: 20px;
  font-weight: 900;
}

.individual-operation-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 14px;
}

.individual-operation-fields .field-wide {
  grid-column: 1 / -1;
}

.operation-summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px 12px;
  border: 0;
  border-radius: 9px;
  padding: 10px 12px;
}

.operation-summary span {
  color: inherit;
  line-height: 1.3;
}

.operation-status-warning { background: var(--su-warning-surface); color: var(--su-warning); }
.operation-status-info { background: var(--info-surface); color: var(--info-ink); }
.operation-status-success { background: #dff2e8; color: #16673f; }

[data-manage-panel="query"] .fiscal-credit-summary,
[data-manage-panel="darf"] .fiscal-credit-summary {
  max-height: clamp(150px, 32vh, 310px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 3px;
}

.operation-primary-action-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.operation-primary-action-row .operation-dialog-result {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
}

.operation-primary-action-row .dialog-actions {
  flex: 0 0 auto;
  margin: 0;
}

[data-manage-panel="transmit"] .operation-primary-action-row,
[data-manage-panel="query"] .operation-primary-action-row,
[data-manage-panel="darf"] .operation-primary-action-row { margin-top: 0; }

.individual-prior-control {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.individual-prior-control-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 44px;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 8px 9px;
  background: #f7fafe;
  font-weight: 800;
  white-space: nowrap;
}

.individual-prior-control-toggle span { white-space: nowrap; }

.individual-prior-control-toggle.completed { border-color: #86c3a5; background: #e9f7f0; color: #16673f; }
.individual-prior-control-toggle input { margin: 0; }
.manage-document-actions {
  display: flex;
  flex: 0 1 auto;
  align-items: center;
  gap: 8px;
  margin-left: 0;
  min-width: 0;
}
.manage-contact-field {
  display: block;
  flex: 0 1 320px;
  width: min(320px, 100%);
  min-width: 180px;
  max-width: 320px;
  margin: 0;
}
.manage-contact-field select { width: 100%; min-width: 0; min-height: 44px; }
.manage-document-actions .filter-icon-button {
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  border-color: var(--su-border);
  background: #fff;
  color: var(--su-action);
}
.manage-document-actions .filter-icon-button .su-icon { width: 22px; height: 22px; margin: 0; }
.manage-document-actions[hidden],
.manage-document-actions .filter-icon-button[hidden] { display: none !important; }
.manage-document-actions .filter-icon-button:hover { background: var(--su-info-surface); }
.manage-document-actions .filter-icon-button.is-sent,
.manage-document-actions .filter-icon-button.is-sent:hover {
  border-color: #72bd92;
  background: #e5f6ec;
  color: #12643c;
  opacity: 1;
}
.manage-document-actions .filter-icon-button:disabled {
  cursor: not-allowed;
  opacity: .62;
}
.manage-document-actions .filter-icon-button.is-sending { cursor: progress; }
.delivery-attachments { position: relative; flex: 0 0 auto; }
.delivery-attachments > summary { list-style: none; cursor: pointer; border: 1px solid var(--su-border); border-radius: 10px; padding: 0; }
.delivery-attachments > summary::-webkit-details-marker { display: none; }
.delivery-attachments-panel { position: absolute; right: 0; top: calc(100% + 8px); z-index: 20; width: min(360px, 75vw); padding: 14px; border: 1px solid var(--su-border); border-radius: 10px; background: #fff; box-shadow: 0 6px 20px #1233; color: var(--su-ink); }
.delivery-attachments-panel p { margin: 0 0 10px; font-size: .85rem; }
.delivery-attachments-panel input { width: 100%; }
.delivery-attachments-panel ul { margin: 10px 0 0; padding: 0; list-style: none; max-height: 180px; overflow-y: auto; }
.delivery-attachments-panel li { display: flex; align-items: center; gap: 8px; margin-top: 6px; }
.delivery-attachments-panel li span { flex: 1; min-width: 0; overflow-wrap: anywhere; font-size: .85rem; }
.delivery-attachments-panel li button { min-height: 32px; padding: 4px 8px; }
@media (min-width: 761px) and (max-width: 1100px) {
  .individual-operation-content .delivery-attachments-panel { left: 0; right: auto; }
}
.manage-document-field {
  display: grid;
  flex: 0 1 clamp(13rem, 16vw, 19rem);
  width: clamp(13rem, 16vw, 19rem);
  min-width: 13rem;
  max-width: 19rem;
  gap: 5px;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
}
.manage-document-field select { width: 100%; min-height: 44px; }
.competence-context-field {
  display: grid;
  width: 160px;
  min-width: 145px;
  gap: 4px;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  color: var(--muted);
}

.competence-context-field select { min-height: 44px; }

.manual-control-summary {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.fiscal-credit-summary {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.fiscal-credit-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.fiscal-credit-table {
  width: 100%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: 12px;
}

.fiscal-credit-table th:first-child { width: 62%; }
.fiscal-credit-table th:nth-child(2) { width: 20%; }
.fiscal-credit-table th:last-child { width: 18%; }

.fiscal-credit-table th,
.fiscal-credit-table td {
  border-bottom: 1px solid var(--line);
  padding: 7px 8px;
  text-align: left;
  vertical-align: top;
}

.fiscal-credit-table th {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}

.fiscal-credit-table td:first-child {
  display: grid;
  gap: 2px;
}

.fiscal-credit-table td:last-child,
.fiscal-credit-table th:last-child {
  text-align: right;
  white-space: nowrap;
}

.fiscal-credit-note {
  margin: 0;
}

.dialog-close-x {
  position: absolute;
  z-index: 2;
  top: 14px;
  right: 14px;
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  color: #365d82;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
}

dialog > :first-child:not(.dialog-close-x),
dialog > form:first-child {
  position: relative;
}

dialog .dialog-heading {
  min-height: 44px;
  padding-right: 56px;
}

.validation-content { padding-right: 82px; }

.context-help-sections { display: grid; gap: 12px; }
.context-help-sections section { border-top: 1px solid var(--line); padding-top: 10px; }
.context-help-sections h3 { margin: 0 0 4px; font-size: 14px; }
.context-help-sections ul { margin: 0; }

.dialog-close-x:hover,
.dialog-close-x:focus-visible {
  background: var(--su-info-surface);
  color: var(--brand);
}

.operation-document-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.darf-history-field {
  display: grid;
  gap: 7px;
  margin: 0;
  font-weight: 800;
}

.darf-history-field select {
  width: 100%;
  font-weight: 600;
}

.darf-composition {
  display: grid;
  gap: 10px;
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
}

.darf-composition legend {
  padding: 0 6px;
  font-weight: 800;
}

.darf-mode-choices {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0 18px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}

.darf-mode-choice {
  display: inline-grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: 0;
  padding: 2px 0;
  font-weight: 700;
}

.darf-mode-choice strong {
  white-space: nowrap;
}

.darf-selection {
  display: grid;
  gap: 6px;
}

.darf-selection-title {
  margin: 0;
  font-size: .9rem;
  font-weight: 800;
}

.darf-tax-choices {
  display: grid;
  grid-auto-rows: max-content;
  align-content: start;
  max-height: clamp(130px, 25vh, 280px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.darf-origin-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: clamp(100px, 17vh, 180px);
  overflow-y: auto;
  overscroll-behavior: contain;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.darf-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-height: 40px;
  gap: 7px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid var(--line);
  padding: 7px 4px;
}

.darf-origin-choices .darf-choice:nth-last-child(-n + 2) { border-bottom: 0; }

.darf-choice input {
  margin: 0;
}

.darf-choice strong {
  white-space: nowrap;
}

.darf-choice span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.darf-tax-row {
  display: grid;
  grid-template-columns: 28px minmax(0, 1.35fr) minmax(110px, .8fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 48px;
  margin: 0;
  border-bottom: 1px solid var(--line);
  padding: 7px 4px;
}

.darf-tax-row:last-child { border-bottom: 0; }
.darf-tax-row input { margin: 0; }
.darf-tax-heading {
  min-height: 30px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}
.darf-tax-name { min-width: 0; }
.darf-tax-name strong,
.darf-tax-name span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.darf-tax-name span,
.darf-tax-kind { color: var(--muted); font-size: 12px; }
.darf-tax-kind { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.darf-tax-amount { white-space: nowrap; text-align: right; }
.darf-tax-row:has(input[type="checkbox"]:disabled) { opacity: .55; }

[data-manage-panel="darf"] .operation-primary-action-row {
  margin-top: 16px;
  align-items: flex-end;
}
[data-manage-panel="darf"] .dialog-actions {
  align-items: flex-end;
  margin-left: auto;
}
#individual-darf-payment-control {
  width: 164px;
  min-width: 0;
  margin: 0;
  gap: 6px;
}
#individual-darf-run { min-height: 46px; }

.darf-sicalc-dates {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.darf-sicalc-dates label { display: grid; gap: 4px; font-size: 12px; font-weight: 800; }
.darf-sicalc-dates input { min-width: 0; }

.darf-composition-help {
  margin: 2px 0 0;
  font-size: 12px;
  line-height: 1.35;
}

.darf-choice:has(input:disabled) {
  opacity: .55;
}

@media (max-width: 620px) {
  .darf-origin-choices, .darf-sicalc-dates { grid-template-columns: 1fr; }
  .darf-origin-choices .darf-choice { border-bottom: 1px solid var(--line); }
  .darf-origin-choices .darf-choice:last-child { border-bottom: 0; }
  .darf-tax-row { grid-template-columns: 24px minmax(0, 1fr) auto; }
  .darf-tax-row > :nth-child(3) { display: none; }
}

.operation-dialog-result {
  min-height: 24px;
  color: #17623d;
  font-weight: 700;
}
.operation-summary-advisory { display: block; color: var(--su-muted); font-size: .86rem; font-weight: 600; }

.operation-result-error {
  color: var(--danger);
}

.operation-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.operation-stage,
.round-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 11px;
}

.operation-stage {
  background: var(--su-info-surface);
  color: var(--su-brand);
}

.round-badge {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--muted);
  font-weight: 700;
}

.fiscal-workflow {
  display: grid;
  gap: 8px;
}

.fiscal-step {
  display: grid;
  grid-template-columns: 28px minmax(130px, 1fr) auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 9px 10px;
  background: #fff;
}

.fiscal-step-number {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #edf1f5;
  color: #526173;
  font-size: 12px;
  font-weight: 900;
}

.fiscal-step-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.fiscal-step-copy strong {
  color: var(--ink);
  font-size: 12px;
}

.fiscal-step-copy span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}

.fiscal-step-current {
  border-color: #8fb8db;
  background: #f4f9fd;
}

.fiscal-step-current .fiscal-step-number {
  background: var(--brand);
  color: #fff;
}

.fiscal-step-complete {
  border-color: #9fcbb5;
  background: #f2faf6;
}

.fiscal-step-complete .fiscal-step-number {
  background: #19734a;
  color: #fff;
}

.fiscal-step-locked {
  border-style: dashed;
  background: #f7f9fb;
}

.fiscal-step-attention {
  border-color: #e0bb55;
  background: #fff9e8;
}

.fiscal-step-attention .fiscal-step-number {
  background: var(--su-warning-surface);
  color: var(--su-warning);
}

.workflow-warning {
  border: 1px solid var(--su-warning-border);
  border-radius: 9px;
  padding: 10px 12px;
  background: var(--su-warning-surface);
  color: var(--su-warning);
  line-height: 1.4;
}

.token-scope-groups,
.token-scope-options {
  display: grid;
  gap: 12px;
}

.token-scope-group {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 14px;
}

.token-scope-group legend {
  padding: 0 6px;
  font-weight: 800;
}

.token-scope-option {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  cursor: pointer;
}

.token-scope-option input { margin-top: 3px; }
.token-scope-option span { display: grid; gap: 3px; }
.token-scope-option small,
.field-help { color: var(--muted); line-height: 1.4; }
.token-scope-option code {
  width: fit-content;
  border-radius: 5px;
  padding: 2px 5px;
  background: #edf1f5;
  color: #365d82;
  font-size: 11px;
}

.batch-shortcut {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
  color: var(--muted);
  font-size: 11px;
}

.read-only-callout {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: start;
  gap: 10px;
  border: 1px solid #9bbddc;
  border-radius: 10px;
  padding: 12px;
  background: #edf5fc;
  color: var(--su-brand);
}

.read-only-icon {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #d7eafb;
  font-size: 16px;
}

.read-only-copy {
  display: grid;
  gap: 4px;
}

.read-only-copy span {
  color: #365d82;
  font-size: 11px;
  line-height: 1.4;
}

body.read-only [data-write] {
  opacity: .58;
  cursor: not-allowed;
}

body.read-only [data-write] :is(button, input, select, textarea, a[href]),
body.read-only [data-write]:is(button, input, select, textarea, a[href]) {
  cursor: not-allowed;
}

body.read-only [data-write][aria-disabled="true"] {
  filter: saturate(.55);
}

.access-role-guide {
  display: grid;
  gap: 12px;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid var(--su-border);
  border-radius: 12px;
  background: var(--su-info-surface);
}

.access-role-guide > header :is(h2, p) {
  margin: 0;
}

.access-role-guide > header p {
  margin-top: 4px;
  color: var(--su-muted);
}

.access-role-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.access-role-grid > div {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--su-border);
  border-radius: 9px;
  background: var(--su-surface);
}

.access-role-grid dt {
  color: var(--su-text);
  font-weight: 800;
}

.access-role-grid dd {
  margin: 4px 0 0;
  color: var(--su-muted);
  line-height: 1.45;
}

@media (max-width: 760px) {
  .access-role-grid { grid-template-columns: minmax(0, 1fr); }
}

.table-wrap td select {
  min-width: 150px;
  margin-right: 8px;
}

.confirmation-dialog {
  border: 0;
  border-radius: 16px;
  width: min(520px, calc(100% - 30px));
  padding: 0;
  box-shadow: 0 30px 80px rgba(10, 35, 62, .28);
}

.confirmation-dialog::backdrop {
  background: rgba(9, 29, 49, .62);
}

.confirmation-content {
  padding: 24px;
}

.confirmation-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 44px;
  align-items: center;
  gap: 12px;
}

.confirmation-heading h2 { margin: 0; }

.confirmation-content .confirmation-close-x {
  position: static;
  width: 44px;
  height: 44px;
  justify-self: end;
}

.confirmation-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  margin-bottom: 0;
  background: var(--su-info-surface);
  color: var(--brand);
  font-size: 22px;
  font-weight: 900;
}

.confirmation-question {
  margin: 12px 0 6px;
  font-weight: 800;
}

.simulation-notice {
  border-left: 4px solid var(--brand2);
  border-radius: 8px;
  margin: 16px 0;
  padding: 10px 12px;
  background: #e8f1fa;
  color: #173f68;
  font-size: 14px;
  line-height: 1.45;
}

.message.visible {
  display: flex;
  align-items: flex-start;
  gap: 9px;
}

.message.success {
  border: 1px solid var(--su-success-border);
  background: var(--su-success-surface);
  color: var(--su-success);
}

.message.info {
  border: 1px solid var(--su-info-border);
  background: var(--su-info-surface);
  color: var(--su-info-ink);
}

.message.warning {
  border: 1px solid var(--su-warning-border);
  background: var(--su-warning-surface);
  color: var(--su-warning);
}

.message.error {
  border: 1px solid var(--su-danger-border);
  background: var(--su-danger-surface);
  color: var(--danger);
}

.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.status-icon {
  font-weight: 900;
}

.status-active,
.status-success {
  background: var(--su-success-surface);
  color: var(--su-success);
}

.status-info {
  background: var(--su-info-surface);
  color: var(--su-info-ink);
}

.status-warning {
  background: var(--su-warning-surface);
  color: var(--su-warning);
}

.status-error,
.status-revoked {
  background: var(--su-danger-surface);
  color: var(--su-danger);
}

.status-neutral {
  background: #edf1f5;
  color: #445264;
}

.operational-state {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  width: fit-content;
  font-size: 24px !important;
}

.operational-state::before {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  font-size: 16px;
}

.operational-ready {
  color: var(--su-success);
}

.operational-ready::before { background: var(--su-brand-green); content: ""; }

.operational-unavailable {
  color: var(--su-danger);
}

.operational-unavailable::before { background: var(--su-danger); content: ""; }

.preflight-summary {
  display: grid;
  gap: 8px;
  border-radius: 10px;
  padding: 12px 14px;
  line-height: 1.45;
}

.preflight-summary ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 20px;
}

.preflight-blocked {
  border: 1px solid var(--su-danger-border);
  background: #fff5f5;
  color: #76242b;
}

.preflight-ready {
  border: 1px solid var(--su-success-border);
  background: #eef8f3;
  color: var(--su-success);
}

.integrity-code {
  display: inline-block;
  max-width: 24ch;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}

.individual-query-action-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

button[data-reopen-operation] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  width: 100%;
  border-color: var(--su-danger);
  background: var(--surface);
  color: var(--su-danger);
}

button[data-reopen-operation]:not(:disabled):hover {
  background: var(--su-danger-surface);
}

button[data-reopen-operation]:focus-visible {
  outline: 2px solid var(--su-danger);
  outline-offset: 2px;
}

button[data-reopen-operation][hidden] {
  display: none !important;
}

.danger-action {
  border-color: #c98a8a;
  background: #fff8f8;
  color: var(--su-danger);
}

.danger-action:hover {
  border-color: #a93636;
  background: var(--su-danger-surface);
}

.attention-action {
  border-color: #d4aa39;
  background: #fff8df;
  color: var(--su-warning);
}

.attention-action:hover {
  border-color: #b58a1c;
  background: var(--su-warning-surface);
}

button:disabled,
select:disabled,
input:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.table-pagination button:disabled {
  border-style: dashed;
  background: #edf1f5;
  color: #657386;
}

input[type="file"] {
  padding: 6px;
  background: #fff;
}

input[type="file"]::file-selector-button {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-right: 10px;
  padding: 8px 11px;
  background: var(--su-info-surface);
  color: var(--brand);
  font-weight: 700;
  cursor: pointer;
}

input[type="file"]:focus-visible {
  outline: 3px solid rgba(36, 100, 159, .22);
  outline-offset: 2px;
}

@media (max-width: 1024px) {
  .web-app-shell {
    grid-template-columns: 1fr;
  }

  .web-workspace {
    grid-column: 1;
  }

  .web-sidebar {
    width: min(310px, 86vw);
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform .2s ease;
  }

  .manual-control-row { grid-template-columns: 1fr 1fr; }
  .manual-control-row button { grid-column: 1 / -1; }

  body.menu-overlay-open .web-sidebar {
    transform: translateX(0);
  }

  body.menu-overlay-open::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 15;
    background: rgba(9, 29, 49, .48);
  }

  .menu-open-control {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
  }

  .web-topbar #logout-action { min-width: 44px; min-height: 44px; }

  .sidebar-tenant-context {
    display: grid;
    gap: 4px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 10px;
    margin: -16px 0 14px;
    padding: 11px 12px;
    color: #fff;
  }

  .sidebar-tenant-context span {
    color: #b9d0e5;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .web-topbar,
  main {
    padding-left: 18px;
    padding-right: 18px;
  }

  .web-topbar {
    gap: 10px;
  }

  .web-topbar .tenant-context {
    display: grid;
    flex: 1 1 auto;
    margin-right: 0;
  }

  .web-topbar .topbar-link {
    display: none;
  }
}

@media (max-width: 760px) {
  .web-topbar .environment { display: none; }
  .session-identity { max-width: 150px; font-size: 12px; }
  .session-identity span { font-size: 10px; }
  .batch-composition-tools {
    grid-template-columns: 1fr;
  }

  .competence-filter-grid,
  .batch-filter-grid,
  .document-filter-grid,
  .company-filter-grid,
  .batch-selection-filters,
  .batch-create-meta,
  #dctf-history-filter,
  .batch-title-editor {
    grid-template-columns: 1fr;
  }

  .filter-icon-button { width: 100%; }

  .batch-stage-grid,
  .batch-preview-kpis {
    grid-template-columns: 1fr;
  }

  .batch-optional-stage {
    align-items: stretch;
    flex-direction: column;
  }

  .batch-execution-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .batch-execution-bar strong {
    margin-right: 0;
  }

  .batch-create-form {
    padding: 0;
  }

  .batch-selection-table-wrap {
    overflow-x: hidden;
  }

  .batch-selection-table {
    min-width: 0;
  }

  .batch-selection-table thead {
    display: none;
  }

  .batch-selection-table,
  .batch-selection-table tbody,
  .batch-selection-table tr,
  .batch-selection-table td {
    display: block;
    width: 100%;
  }

  .batch-selection-table tr {
    position: relative;
    padding: 12px;
    border-bottom: 1px solid var(--line);
  }

  .batch-selection-table td {
    padding: 3px 0;
    border: 0;
  }

  .batch-selection-table td::before {
    display: inline-block;
    min-width: 112px;
    color: var(--muted);
    content: attr(data-label);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .batch-selection-table .batch-selection-check::before,
  .batch-selection-table .batch-selection-identity::before {
    display: none;
  }

  .batch-selection-identity {
    margin-bottom: 5px;
  }

  .workflow-marker-group { flex-wrap: wrap; }
  .workflow-control-markers {
    grid-template-columns: repeat(2, max-content);
  }
  .batch-review-heading { align-items: flex-start; flex-direction: column; }
  .batch-selected-only { margin-left: 0 !important; }

  .batch-selection-empty {
    padding: 0 !important;
  }
}

@media (max-width: 980px) {
  .dashboard-module-grid { grid-template-columns: 1fr; }
}

@media (max-width: 1200px) {
  .individual-operation-content .dialog-heading { flex-wrap: wrap; }
  .individual-manage-identity { flex: 1 1 100%; }
  .manage-document-actions { margin-left: 0; }

  .sitfis-dialog-header { flex-wrap: wrap; }
  .sitfis-company { flex-basis: 100%; }
}

@media (max-width: 820px) {
  .session-identity { max-width: 160px; }
  .individual-operation-dialog-wide {
    width: 94vw;
    max-width: 94vw;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .individual-operation-dialog-wide > .dialog-close-x {
    position: sticky;
    top: 0;
    float: right;
    z-index: 8;
    margin-bottom: -44px;
    background: var(--surface);
  }

  .individual-operation-dialog-wide .individual-operation-content {
    display: block;
    height: auto;
    min-height: 100%;
    overflow: visible;
  }

  .individual-operation-dialog-wide .individual-operation-content > .dialog-heading {
    position: sticky;
    top: 0;
    z-index: 5;
    margin-bottom: 16px;
    padding-top: 4px;
    background: var(--surface);
  }

  .manage-document-field {
    flex-basis: 100%;
    width: 100%;
    max-width: none;
    margin-left: 0;
  }

  .manage-document-actions {
    order: 2;
    flex: 1 1 100%;
    flex-wrap: wrap;
    margin-left: 0;
  }

  .manage-contact-field {
    flex: 1 1 220px;
    width: auto;
  }

  .manage-document-field { order: 3; }

  .operation-dialog-layout {
    display: block;
    overflow: visible;
  }

  .operation-dialog-main {
    padding-right: 0;
    overflow: visible;
  }

  .individual-manage-panel {
    display: grid;
    overflow: visible;
  }

  .individual-prior-control {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .operation-primary-action-row {
    align-items: stretch;
    flex-direction: column;
  }

  .operation-primary-action-row .dialog-actions {
    justify-content: flex-end;
  }

  .operation-pdf-preview iframe {
    height: 320px;
    min-height: 320px;
  }

  .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .form-grid > [class*="field-span-"] {
    grid-column: span 1;
  }

  .form-grid .field-span-6,
  .form-grid .field-span-7,
  .form-grid .field-span-8,
  .form-grid .field-span-9 {
    grid-column: 1 / -1;
  }

  .selection-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .selection-toolbar-controls {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .selection-toolbar-controls > button {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .batch-operation-table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .batch-operation-table,
  .batch-operation-table tbody,
  .batch-operation-table tr,
  .batch-operation-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .batch-operation-table thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .batch-operation-table tbody {
    display: grid;
    gap: 12px;
  }

  .batch-operation-table tr {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
  }

  .batch-operation-table td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--line);
    padding: 10px 12px;
    overflow-wrap: anywhere;
  }

  .batch-operation-table td:last-child { border-bottom: 0; }

  .batch-operation-table td::before {
    grid-column: 1;
    grid-row: 1 / span 3;
    color: var(--muted);
    content: attr(data-label);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .batch-operation-table td > * { grid-column: 2; }
  .batch-operation-table td > button,
  .batch-operation-table td > a { min-height: 44px; }

  .batch-optional-stage div {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .dashboard-heading { gap: 16px; }
  .dashboard-competence-field { width: 100%; }
  .dashboard-kpis { grid-template-columns: 1fr; }
  .environment-name,
  .environment-name + span {
    display: none;
  }

  .competence-candidates-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .competence-candidates-table,
  .competence-candidates-table tbody,
  .competence-candidates-table tr {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .competence-candidates-table thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .competence-candidates-table tbody {
    display: grid;
    gap: 14px;
  }

  .competence-candidates-table tr {
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #fff;
  }

  .competence-candidates-table td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    width: 100%;
    border-bottom: 1px solid var(--line);
    padding: 11px 12px;
    overflow-wrap: anywhere;
  }

  .competence-candidates-table td::before {
    color: var(--muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }

  .competence-candidates-table td:nth-child(1)::before {
    content: "Empresa";
  }

  .competence-candidates-table td:nth-child(2)::before {
    content: "Controle";
  }

  .competence-candidates-table td:nth-child(3)::before {
    content: "Situação";
  }

  .competence-candidates-table td.candidate-actions {
    display: block;
    border-bottom: 0;
    padding: 14px 12px;
  }

  .competence-candidates-table td.candidate-actions::before {
    display: block;
    margin-bottom: 10px;
    content: "Ações";
  }

  .individual-actions {
    display: flex;
    min-width: 0;
  }

  .manage-company-action {
    flex: 1 1 auto;
  }

  .individual-manage-stages {
    position: static;
    grid-template-columns: 1fr;
  }

  .individual-prior-control-row {
    grid-template-columns: 1fr;
  }

  .darf-origin-choices {
    grid-template-columns: 1fr;
  }

  .individual-operation-fields {
    grid-template-columns: 1fr;
  }

  .individual-operation-fields .field-wide {
    grid-column: auto;
  }

  .workflow-panel {
    width: 100%;
    min-width: 0;
  }

  .fiscal-step {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .fiscal-step > button,
  .fiscal-step > a {
    grid-column: 1 / -1;
    width: 100%;
  }

  .batch-shortcut {
    align-items: stretch;
    flex-direction: column;
  }

  .batch-shortcut .secondary {
    width: 100%;
  }
}

.legal-document {
  gap: 0;
  align-items: stretch;
  max-width: 980px;
}

.legal-document > section {
  padding: 22px 0;
  border-bottom: 1px solid var(--line);
}

.legal-document > section:first-child {
  padding-top: 0;
}

.legal-document h2 {
  margin-bottom: 10px;
  color: var(--brand);
}

.legal-document p,
.legal-document li {
  line-height: 1.65;
}

.legal-document ul {
  margin: 10px 0 0;
  padding-left: 22px;
}

.legal-summary {
  padding: 18px !important;
  border: 1px solid #bfd5e8 !important;
  border-radius: 12px;
  background: #edf5fb;
}

.legal-references a {
  overflow-wrap: anywhere;
}

.legal-disclaimer {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid #b42318;
  border-left-width: 6px;
  border-radius: 10px;
  background: #fff1f0;
  color: #8f1d14;
}

@media (max-width: 520px) {
  .quick-create-card { padding: 18px 14px; }
  .quick-create-input-row { grid-template-columns: 1fr; }
  .quick-create-details { grid-template-columns: 1fr; }
  .quick-create-details > div,
  .quick-create-details > div:nth-child(odd),
  .quick-create-details > div:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .quick-create-details > div:last-child { border-bottom: 0; }
  .quick-create-result-summary { grid-template-columns: 1fr; }
  .quick-create-result-summary > div,
  .quick-create-result-summary > div:nth-child(odd) {
    grid-column: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .quick-create-result-summary > div:last-child { border-bottom: 0; }

  .manual-completion-toolbar {
    grid-template-columns: 1fr;
  }

  .manual-completion-toolbar > strong,
  .manual-completion-toolbar .muted {
    grid-column: auto;
  }

  .web-topbar {
    padding-left: 10px;
    padding-right: 10px;
  }

  .web-topbar .tenant-context .eyebrow {
    font-size: 9px;
    letter-spacing: .06em;
  }

  .web-topbar .tenant-context strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .web-topbar .environment {
    padding: 5px 7px;
    font-size: 9px;
  }

  .web-topbar #logout-action {
    min-width: 44px;
    min-height: 44px;
    padding: 8px 9px;
  }

  .page-actions,
  .form-actions,
  .page-heading-actions,
  .filter-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-actions > *,
  .form-actions > *,
  .page-heading-actions > *,
  .filter-actions > * {
    width: 100%;
  }

  .compact-page-flow .page-heading-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }

  .compact-page-flow > .page-heading > :first-child {
    flex: 0 0 auto;
    width: 100%;
  }

  .compact-page-flow .page-heading-actions > * {
    min-width: 0;
    min-height: 44px;
    white-space: normal;
  }

  .confirmation-dialog .dialog-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .confirmation-dialog .dialog-actions button {
    width: 100%;
  }

  .detail-grid {
    grid-template-columns: 1fr;
  }

  .form-heading {
    align-items: flex-start;
  }

  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-grid > [class*="field-span-"] {
    grid-column: 1;
  }

  .entity-form > .form-section {
    padding: 20px 16px;
  }

  .entity-form > .form-actions {
    padding: 16px;
  }

  .permission-option {
    margin-left: 16px;
    margin-right: 16px;
  }

  .table-pagination {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    gap: 10px;
  }

  .pagination-summary {
    grid-column: 1 / -1;
    text-align: center;
    white-space: normal;
  }

  .pagination-controls {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    width: 100%;
    gap: 8px;
  }

  .pagination-controls button {
    min-height: 44px;
  }

  .pagination-controls .page-size-field {
    justify-content: center;
    min-width: 0;
    white-space: nowrap;
  }

  .pagination-controls .page-size-field select {
    min-width: 58px;
  }

  .batch-card-metadata {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .batch-meta-separator {
    display: none;
  }

  .batch-card-progress,
  .batch-card-updated {
    white-space: normal;
  }

  [data-manage-panel="darf"] .fiscal-credit-summary {
    overflow-x: hidden;
  }

  [data-manage-panel="darf"] .fiscal-credit-table,
  [data-manage-panel="darf"] .fiscal-credit-table tbody,
  [data-manage-panel="darf"] .fiscal-credit-table tr,
  [data-manage-panel="darf"] .fiscal-credit-table td {
    display: block;
    width: 100%;
    min-width: 0;
  }

  [data-manage-panel="darf"] .fiscal-credit-table thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  [data-manage-panel="darf"] .fiscal-credit-table tbody {
    display: grid;
    gap: 8px;
  }

  [data-manage-panel="darf"] .fiscal-credit-table tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
  }

  [data-manage-panel="darf"] .fiscal-credit-table td {
    border: 0;
    padding: 8px 10px;
  }

  [data-manage-panel="darf"] .fiscal-credit-table td:first-child {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr);
    gap: 3px;
    border-bottom: 1px solid var(--line);
  }

  [data-manage-panel="darf"] .fiscal-credit-table td:nth-child(2),
  [data-manage-panel="darf"] .fiscal-credit-table td:last-child {
    display: grid;
    gap: 3px;
  }

  [data-manage-panel="darf"] .fiscal-credit-table td:last-child {
    justify-items: end;
    text-align: right;
  }

  [data-manage-panel="darf"] .fiscal-credit-table td::before {
    color: var(--muted);
    content: attr(data-label);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
}

@media (max-width: 390px) {
  .confirmation-dialog .dialog-actions button {
    min-height: 44px;
  }
}

.report-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
}

.report-actions button {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.report-actions.compact {
  margin: 4px 0 12px;
}

/* Shared compact list controls; first production instance: Empresas (CR013). */
.compact-export-row {
  display: flex;
  justify-content: flex-end;
  min-height: 44px;
  margin: 0 0 8px;
}

.compact-export-menu {
  position: relative;
  z-index: 8;
  align-self: end;
}

.compact-export-menu > summary {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  padding: 8px 13px;
  border: 1px solid var(--su-border);
  border-radius: 10px;
  background: #fff;
  color: var(--su-text);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.compact-export-menu > .compact-export-trigger {
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 6px;
  font-size: 23px;
}

.compact-export-menu > summary::-webkit-details-marker { display: none; }
.compact-export-menu > summary:hover { border-color: var(--su-action); }
.compact-export-menu > summary:focus-visible { outline: 3px solid #075985; outline-offset: 2px; }
.compact-export-menu[open] > summary { border-color: var(--su-action); background: var(--su-info-surface); }

.compact-export-options {
  box-sizing: border-box;
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  display: grid;
  width: min(170px, calc(100vw - 32px));
  min-width: min(170px, calc(100vw - 32px));
  max-width: calc(100vw - 32px);
  padding: 6px;
  border: 1px solid var(--su-border);
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(15, 43, 70, .18);
}

.compact-export-options button {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 8px 11px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--su-text);
  text-align: left;
}

.compact-export-options button:hover,
.compact-export-options button:focus-visible { background: var(--su-info-surface); }

.modular-table-frame {
  min-width: 0;
  border: 1px solid var(--su-border);
  border-radius: 12px;
  overflow: visible;
  background: #fff;
}

.modular-table-frame .companies-table-wrap {
  border: 0;
  border-radius: 12px 12px 0 0;
}

.table-heading-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.table-sort-button {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  min-width: 44px;
  min-height: 44px;
  padding: 2px 3px;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  white-space: nowrap;
}

.table-sort-button:hover,
.table-sort-button.active { color: var(--su-action); }
.table-sort-button:focus-visible { outline: 3px solid #075985; outline-offset: 2px; border-radius: 5px; }
.table-sort-indicator { color: var(--su-muted); font-size: 14px; line-height: 1; }
.table-sort-button.active .table-sort-indicator { color: var(--su-action); }

.compact-pagination {
  display: inline-flex;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  gap: 4px;
}

.compact-pagination button {
  box-sizing: border-box;
  display: inline-grid;
  place-items: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid var(--su-border);
  border-radius: 9px;
  background: #fff;
  color: var(--su-action);
  font-size: 24px;
  line-height: 1;
}

.compact-pagination button:disabled { color: #94a3b8; background: #f8fafc; cursor: not-allowed; }
.compact-pagination button:not(:disabled):hover { border-color: var(--su-action); background: var(--su-info-surface); }
.compact-pagination button:focus-visible { outline: 3px solid #075985; outline-offset: 2px; }

.table-heading-pagination > .compact-pagination button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  border: 0;
  border-radius: 6px;
  background: transparent;
}
.table-heading-pagination > .compact-pagination button:disabled { background: transparent; }
.table-heading-pagination > .compact-pagination button:not(:disabled):hover { background: var(--su-info-surface); }

.table-pagination-footer {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  padding: 7px 10px;
  border-top: 1px solid var(--su-border);
  border-radius: 0 0 12px 12px;
  background: #fbfcfe;
}

.compact-page-size {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 7px;
  color: var(--su-muted);
  font-size: 12px;
  font-weight: 700;
}

.compact-page-size select {
  width: auto;
  min-width: 68px;
  min-height: 44px;
  padding-block: 6px;
}

.compact-page-jump {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--su-muted);
  font-weight: 800;
}

.compact-page-jump input {
  flex: 0 0 58px;
  width: 58px;
  min-height: 44px;
  padding: 6px;
  text-align: center;
}

.table-pagination-footer > .compact-pagination { justify-self: end; min-width: 250px; }
.batch-create-page .table-pagination-footer > .compact-pagination,
.batch-create-page .compact-page-jump { white-space: nowrap; }
.table-pagination-footer > .compact-pagination .compact-page-jump { margin: 0 3px; }
.table-pagination-footer > .compact-pagination > button {
  width: 54px;
  min-width: 54px;
  border-color: var(--su-action);
  background: var(--su-action);
  color: #fff;
}
.table-pagination-footer > .compact-pagination > button:disabled {
  border-color: #cbd5e1;
  background: #dce5ec;
  color: #728399;
}
.table-pagination-footer > .compact-pagination > button:not(:disabled):hover {
  border-color: #0b4166;
  background: #0b4166;
}

.canonical-list-workspace {
  display: grid;
  gap: 12px;
  min-width: 0;
}
.canonical-command-bar { margin: 0; }
.canonical-command-bar > .compact-export-menu {
  align-self: end;
  justify-self: end;
  width: 44px;
}
.canonical-list-frame > .table-wrap {
  border: 0;
  border-radius: 12px 12px 0 0;
}
/* Round only the header paint; row menus and focus controls remain unclipped. */
.canonical-list-frame > .table-wrap > table > thead {
  clip-path: inset(0 round 11px 11px 0 0);
}
.canonical-list-frame table th:last-child,
.canonical-list-frame table td:last-child { text-align: center; }
.canonical-list-frame table th:last-child .table-sort-button { justify-content: center; }
.canonical-list-frame table th { font-size: 12px; }
.canonical-list-frame table td { font-size: 14px; line-height: 1.35; }

.error-status-page { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: clamp(24px, 5vw, 64px); min-height: min(520px, 65vh); padding: clamp(28px, 6vw, 76px); border-radius: 18px; background: linear-gradient(135deg, #f7fbfe, #e7f2fb); }
.error-status-code { color: #8fc6e4; font-size: clamp(78px, 14vw, 190px); font-weight: 900; line-height: .8; letter-spacing: -.08em; }
.error-status-page h1 { margin-bottom: 12px; }
.error-request-id { margin: 18px 0; color: var(--su-muted); font-size: 12px; }
.error-status-page .primary { display: inline-flex; margin-top: 4px; text-decoration: none; }

@media (max-width: 520px) {
  .table-pagination-footer { grid-template-columns: auto minmax(210px, 1fr); gap: 6px; }
  .compact-page-size > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .compact-page-size select { min-width: 62px; }
  .compact-pagination { gap: 2px; }
  .compact-pagination button { width: 44px; min-width: 44px; }
  .canonical-filter-actions {
    align-items: flex-end;
    flex-direction: row;
    justify-content: flex-end;
    width: auto;
  }
  .canonical-filter-actions > :is(button, details) {
    flex: 0 0 44px;
    width: 44px;
  }
}

@media (max-width: 240px) {
  .table-pagination-footer {
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
  }
  .table-pagination-footer > .compact-page-size { justify-self: start; }
  .table-pagination-footer > .compact-pagination {
    justify-self: stretch;
    justify-content: space-between;
    min-width: 0;
  }
  .table-pagination-footer > .compact-pagination > button {
    width: 44px;
    min-width: 44px;
  }
  .table-pagination-footer .compact-page-jump {
    min-width: 0;
    gap: 2px;
    margin: 0;
  }
  .table-pagination-footer .compact-page-jump input { width: 44px; }
}

/* CR024 consolidated reflow: page chrome must not create a second viewport. */
.web-app-shell,
.web-workspace,
.web-main,
.compact-page-flow,
.canonical-list-workspace,
.canonical-command-bar,
.canonical-list-frame,
.settings-form,
.settings-tab-panel { min-width: 0; max-width: 100%; }

.settings-adapter-state {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: #eef3f8;
  color: var(--su-muted);
}
.settings-adapter-state.implementing { background: var(--su-info-surface); color: var(--su-info-ink); }
.settings-adapter-state.ready { background: #e1f4e9; color: #17613a; }
.settings-adapter-state.unavailable { background: #e9eef4; color: #52677d; }
.settings-adapter-state .status-badge { flex: 0 0 auto; }
.settings-adapter-copy { display: grid; gap: 2px; min-width: 0; }
.settings-adapter-copy small { color: inherit; overflow-wrap: anywhere; }

.sitfis-filter-grid .filter-actions {
  display: grid;
  grid-template-columns: repeat(3, 44px);
  align-items: end;
  justify-content: end;
  gap: 8px;
  min-width: 148px;
}
.sitfis-filter-grid .filter-actions > * { width: 44px; min-width: 44px; }

/* The three fiscal worklists keep a moderate search field and one indivisible
   action group at the visual end of the filter bar. */
.canonical-command-bar.standard-filter-bar.sitfis-filter-grid,
.mit-local-shell[data-has-control="false"] .canonical-command-bar.standard-filter-bar.mit-company-filter-grid {
  grid-template-columns: minmax(190px, 1.45fr) repeat(4, minmax(0, 1fr)) auto;
}
.sitfis-batch-page[data-has-control="true"] .canonical-command-bar.standard-filter-bar.sitfis-filter-grid,
.mit-local-shell[data-has-control="true"] .canonical-command-bar.standard-filter-bar.mit-company-filter-grid {
  grid-template-columns: minmax(190px, 1.45fr) repeat(6, minmax(0, 1fr)) auto;
}
.canonical-command-bar.standard-filter-bar:is(
  .competence-filter-grid,
  .sitfis-filter-grid,
  .mit-company-filter-grid
) > label,
.canonical-command-bar.standard-filter-bar:is(
  .competence-filter-grid,
  .sitfis-filter-grid,
  .mit-company-filter-grid
) > label:first-child,
.canonical-command-bar.standard-filter-bar:is(
  .competence-filter-grid,
  .sitfis-filter-grid,
  .mit-company-filter-grid
) > .standard-filter-actions {
  grid-column: auto;
}
.canonical-command-bar.standard-filter-bar:is(
  .competence-filter-grid,
  .sitfis-filter-grid,
  .mit-company-filter-grid
) > .standard-filter-actions {
  justify-self: end;
  min-width: 148px;
}

/* The leading Empresa / SM / Controle axes use the same proportions in all
   three fiscal worklists. Wrappers remain measurable instead of clipping. */
.sitfis-batch-page[data-has-control="true"] .sitfis-companies-table th.sitfis-company-heading { width: 28%; }
.sitfis-batch-page[data-has-control="true"] .sitfis-companies-table th.sitfis-sm-heading { width: 6%; }
.sitfis-batch-page[data-has-control="true"] .sitfis-companies-table th.sitfis-control-heading { width: 24%; }
.sitfis-batch-page[data-has-control="true"] .sitfis-companies-table th:nth-child(4) { width: 15%; }
.sitfis-batch-page[data-has-control="true"] .sitfis-companies-table th:nth-child(5) { width: 13%; }
.sitfis-batch-page[data-has-control="true"] .sitfis-companies-table th:nth-child(6) { width: 14%; }
.sitfis-batch-page[data-has-control="false"] .sitfis-companies-table th.sitfis-company-heading { width: auto; }
.sitfis-batch-page[data-has-control="false"] .sitfis-companies-table th.sitfis-sm-heading { width: min(80px, 8%); }
.sitfis-batch-page[data-has-control="false"] .sitfis-companies-table th:nth-child(3) { width: min(250px, 25%); }
.sitfis-batch-page[data-has-control="false"] .sitfis-companies-table th:nth-child(4) { width: min(130px, 13%); }
.sitfis-batch-page[data-has-control="false"] .sitfis-companies-table th:nth-child(5) { width: min(220px, 22%); }
.sitfis-batch-page .canonical-list-frame .sitfis-companies-table td:last-child {
  padding-left: 8px;
  text-align: left;
}

@media (min-width: 821px) and (max-width: 920px) {
  .sitfis-companies-wrap { overflow: visible; border: 0; background: transparent; }
  .sitfis-companies-table,
  .sitfis-companies-table tbody,
  .sitfis-companies-table tr,
  .sitfis-companies-table td { display: block; width: 100%; min-width: 0; }
  .sitfis-companies-table thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .sitfis-companies-table tr {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid var(--su-border);
    border-radius: 12px;
    background: #fff;
  }
  .sitfis-companies-table td {
    padding: 5px 0;
    border: 0;
    text-align: left;
    overflow-wrap: anywhere;
  }
  .sitfis-companies-table td::before {
    content: attr(data-label) ": ";
    color: var(--su-muted);
    font-size: 12px;
    font-weight: 600;
  }
  .sitfis-companies-table td:first-child,
  .sitfis-companies-table td:last-child { width: 100%; text-align: left; }
  .sitfis-companies-table td:first-child::before { margin-right: 8px; }
}

@media (max-width: 920px) {
  .competence-candidates-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }
  .competence-candidates-table,
  .competence-candidates-table tbody,
  .competence-candidates-table tr {
    display: block;
    width: 100%;
    min-width: 0;
  }
  .competence-candidates-table thead {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .competence-candidates-table tbody { display: grid; gap: 12px; }
  .competence-candidates-table tr {
    overflow: hidden;
    border: 1px solid var(--su-border);
    border-radius: 12px;
    background: #fff;
  }
  .competence-candidates-table td {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    width: 100%;
    padding: 11px 12px;
    border-bottom: 1px solid var(--su-border);
    overflow-wrap: anywhere;
  }
  .competence-candidates-table td::before {
    content: attr(data-label);
    color: var(--su-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .competence-candidates-table td.candidate-actions {
    display: grid;
    border-bottom: 0;
    padding: 12px;
  }
  .competence-candidates-table td.candidate-actions::before {
    display: block;
    margin: 0;
    content: attr(data-label);
  }
}

@media (min-width: 761px) and (max-width: 1350px) {
  .canonical-command-bar.standard-filter-bar.competence-filter-grid,
  .canonical-command-bar.standard-filter-bar.competence-filter-grid.has-control,
  .canonical-command-bar.standard-filter-bar:is(
    .sitfis-filter-grid,
    .mit-company-filter-grid
  ),
  .sitfis-batch-page[data-has-control="true"] .canonical-command-bar.standard-filter-bar.sitfis-filter-grid,
  .mit-local-shell[data-has-control="true"] .canonical-command-bar.standard-filter-bar.mit-company-filter-grid,
  .mit-local-shell[data-has-control="false"] .canonical-command-bar.standard-filter-bar.mit-company-filter-grid {
    grid-template-columns: minmax(220px, 280px) repeat(2, minmax(0, 1fr));
  }
  .canonical-command-bar.standard-filter-bar:is(
    .competence-filter-grid,
    .sitfis-filter-grid,
    .mit-company-filter-grid
  ) > .standard-filter-actions {
    grid-column: 3;
  }
  .canonical-command-bar.standard-filter-bar.competence-filter-grid:not(.has-control) > .standard-filter-actions,
  .sitfis-batch-page[data-has-control="false"] .sitfis-filter-grid > .standard-filter-actions {
    grid-row: 2;
  }
  .canonical-command-bar.standard-filter-bar.competence-filter-grid.has-control > .standard-filter-actions,
  .sitfis-batch-page[data-has-control="true"] .sitfis-filter-grid > .standard-filter-actions,
  .mit-local-shell .mit-company-filter-grid > .standard-filter-actions {
    grid-row: 3;
  }
}

@media (max-width: 760px) {
  .canonical-command-bar > label { min-width: 0; }
  .sitfis-filter-grid .filter-actions {
    width: 100%;
    justify-content: end;
    grid-template-columns: repeat(3, minmax(44px, 1fr));
  }
  .sitfis-filter-grid .filter-actions > * { width: 100%; }
  .canonical-command-bar.standard-filter-bar:is(
    .sitfis-filter-grid,
    .mit-company-filter-grid
  ),
  .sitfis-batch-page[data-has-control="true"] .canonical-command-bar.standard-filter-bar.sitfis-filter-grid,
  .mit-local-shell[data-has-control="true"] .canonical-command-bar.standard-filter-bar.mit-company-filter-grid,
  .mit-local-shell[data-has-control="false"] .canonical-command-bar.standard-filter-bar.mit-company-filter-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .canonical-command-bar.standard-filter-bar:is(
    .sitfis-filter-grid,
    .mit-company-filter-grid
  ) > .standard-filter-actions {
    grid-column: 1;
    width: 100%;
  }
  .page-heading-actions { flex-wrap: wrap; }
  .page-heading-actions > * { flex: 1 1 180px; }
}

@media (max-width: 520px) {
  .settings-adapter-state { align-items: flex-start; flex-direction: column; }
}

.report-workspace-page {
  display: block;
  width: 100%;
  max-width: none;
  min-height: 0;
}

.report-page-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  min-width: 0;
}

.report-page-heading > div {
  min-width: 0;
}

.report-page-heading h1 {
  margin-bottom: 3px;
  font-size: clamp(24px, 2.4vw, 32px);
}

.report-context-summary {
  max-width: none;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.report-readonly-badge {
  flex: 0 0 auto;
}

.report-result-canvas {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  align-content: start;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 240px;
  overflow: hidden;
}

.report-result-canvas.with-compact-summary {
  grid-template-rows: auto minmax(0, 1fr);
}

.report-result-canvas.text-only {
  grid-template-rows: auto;
  min-height: 0;
  overflow: visible;
}

.report-result-canvas.viewport-height-fallback {
  overflow: visible;
}

.report-result-canvas > * {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.report-loading-state,
.report-empty-view {
  color: var(--muted);
}

.report-summary-result,
.report-image-result,
.report-data-result {
  display: grid;
  align-items: stretch;
  justify-content: stretch;
  gap: 12px;
  overflow: hidden;
}

.report-image-result {
  grid-template-rows: auto minmax(0, 1fr);
  min-height: 0;
  height: 100%;
  place-items: stretch;
  padding: 12px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f4f7fa;
}

.report-summary-result.compact {
  display: block;
  padding-block: 10px;
}

.report-summary-result.compact p {
  display: -webkit-box;
  overflow: hidden;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.report-summary-result h2,
.report-summary-result p {
  margin: 0;
}

.report-summary-result p {
  max-width: 110ch;
  white-space: pre-wrap;
}

.report-data-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.report-data-result {
  grid-template-rows: auto auto minmax(0, 1fr);
  min-height: 0;
  height: 100%;
}

.report-data-title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.report-data-title h1 {
  min-width: 0;
  margin: 0;
  font-size: clamp(20px, 2vw, 26px);
  overflow-wrap: anywhere;
}

.report-data-count {
  flex: 0 0 auto;
  color: var(--muted);
  font-size: 12px;
  white-space: nowrap;
}

.report-data-controls {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(150px, 220px) 44px;
  align-items: center;
  gap: 8px;
  min-width: 0;
  width: 100%;
}

.report-data-search,
.report-view-select {
  box-sizing: border-box;
  height: 44px;
  min-height: 44px;
  margin-block: 0;
}

.report-data-search {
  width: 100%;
}

.report-view-select {
  width: 100%;
  min-width: 0;
}

.report-data-controls > .report-data-actions {
  width: 44px;
  align-self: center;
}

.report-data-visual {
  min-width: 0;
  min-height: 0;
  height: 100%;
  overflow: hidden;
}

.report-data-table-frame {
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  width: 100%;
  height: 100%;
  min-height: 0;
}

.report-data-table {
  width: 100%;
  height: 100%;
  max-height: none;
  overflow: auto;
  overscroll-behavior: contain;
  border-radius: 9px;
  scrollbar-gutter: stable;
}

.report-data-table table {
  min-width: 680px;
}

.report-data-table-frame .report-empty-view {
  height: 96px;
  text-align: center;
  vertical-align: middle;
}

.report-data-table thead {
  position: sticky;
  z-index: 1;
  top: 0;
}

.report-prompt-dock {
  position: fixed;
  z-index: 6;
  right: 38px;
  bottom: 6px;
  left: 286px;
  display: grid;
  align-items: stretch;
  justify-content: stretch;
  gap: 4px;
  margin: 0;
  padding: 8px 10px;
  border-color: #aebdca;
  box-shadow: 0 -8px 24px rgba(9, 29, 49, .10);
}

.report-prompt-dock label {
  margin: 0;
  font-size: 12px;
}

.report-prompt-dock small {
  color: var(--muted);
  font-size: 11px;
}

.report-prompt-alert {
  margin: 0;
  color: var(--danger);
  font-size: 12px;
}

.report-prompt-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 10px;
}

.report-prompt-row textarea {
  min-height: 48px;
  max-height: 96px;
  resize: vertical;
}

.report-prompt-row button {
  min-width: 96px;
  min-height: 44px;
}

body.sidebar-collapsed .report-prompt-dock {
  left: 38px;
}

body.report-workspace-active footer {
  display: none;
}

@media (max-width: 1024px) {
  .report-prompt-dock {
    right: 18px;
    left: 18px;
  }
}

@media (max-width: 900px) {
  .report-data-controls {
    grid-template-columns: minmax(0, 1fr) minmax(140px, 180px) 44px;
  }
}

.report-generated-image {
  display: block;
  align-self: center;
  justify-self: center;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  border-radius: 10px;
}

.report-exact-chart {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}

.report-exact-chart figcaption {
  font-weight: 800;
}

.report-chart-row {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) minmax(80px, 4fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.report-chart-row strong {
  overflow-wrap: anywhere;
}

.report-chart-bar {
  display: block;
  min-height: 14px;
  border-radius: 999px;
  background: var(--su-action);
}

.report-logo-preview {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.report-logo-preview img {
  max-width: 220px;
  max-height: 100px;
  object-fit: contain;
}

@media (max-width: 760px) {
  .report-page-heading,
  .report-data-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .report-readonly-badge {
    align-self: flex-start;
  }

  .report-data-heading,
  .report-prompt-row {
    align-items: stretch;
  }

  .report-pagination {
    flex: 1 1 100%;
    justify-content: flex-start;
  }

  .report-page-size {
    flex: 1 1 168px;
  }

  .report-data-search,
  .report-view-select,
  .report-prompt-row button {
    width: 100%;
  }

  .report-data-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .report-data-search,
  .report-view-select {
    grid-column: 1 / -1;
  }

  .report-chart-row {
    grid-template-columns: minmax(72px, 1fr) minmax(60px, 2fr) auto;
  }

  .report-prompt-dock {
    right: 8px;
    bottom: 4px;
    left: 8px;
  }

  .report-workspace-page {
    min-height: 0;
  }
}

@media (max-width: 320px) {
  .report-data-controls {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (min-width: 900px) {
  .login-card {
    width: min(480px, 100%);
    padding: 0;
  }
}

/* Read-only integrations proposal (SYSUNIVERSAL-20260817-003). */
.integration-page-heading,
.integration-section-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.integration-page-heading > div,
.integration-section-heading > div {
  min-width: 0;
}

.integration-page-heading h1,
.integration-section-heading h2,
.integration-provider-card h3 {
  margin-bottom: 0;
}

.prototype-badge,
.prototype-state {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  max-width: 100%;
  padding: 8px 13px;
  border: 1px solid var(--su-warning);
  border-radius: 999px;
  background: #fff7df;
  color: #704900;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  overflow-wrap: anywhere;
  text-align: center;
  text-transform: uppercase;
}

.prototype-state {
  border-color: var(--su-border);
  background: var(--su-info-surface);
  color: var(--su-info-ink);
  letter-spacing: 0;
  text-transform: none;
}

.prototype-state-off {
  background: #f3f5f7;
  color: var(--su-muted);
}

.prototype-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid var(--su-warning);
  border-radius: 8px;
  background: #fff9e9;
  color: var(--su-text);
}

.integration-section-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.integration-section-navigation a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px 14px;
  border: 1px solid var(--su-border);
  border-radius: 9px;
  background: var(--su-surface);
  color: var(--su-link);
  text-decoration: none;
}

.integration-section-navigation a:hover,
.integration-section-navigation a:focus-visible {
  background: var(--su-info-surface);
}

.integration-section-navigation a:not(.primary):not(.secondary):focus-visible {
  outline: 3px solid var(--su-action);
  outline-offset: 2px;
}

.integration-section {
  max-width: 1440px;
  margin-bottom: 18px;
  scroll-margin-top: 20px;
}

.integration-provider-grid,
.integration-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr));
  gap: 14px;
}

.integration-provider-card,
.integration-status-grid article,
.integration-queue-flow article {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--su-border);
  border-radius: 12px;
  background: var(--su-surface);
  overflow-wrap: anywhere;
}

.integration-status-grid article,
.integration-queue-flow article {
  display: grid;
  align-content: start;
  gap: 6px;
}

.integration-provider-card > span,
.integration-status-grid article > span,
.integration-queue-flow article > span {
  color: var(--su-muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.integration-provider-card p {
  color: var(--su-muted);
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: 12px;
}

.integration-config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.integration-config-grid fieldset {
  display: grid;
  min-width: 0;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--su-border);
  border-radius: 12px;
  opacity: 1;
}

.integration-config-grid legend {
  padding: 0 7px;
  color: var(--su-text);
  font-weight: 800;
}

.integration-config-grid label {
  display: grid;
  min-width: 0;
  gap: 5px;
  color: var(--su-text);
  font-weight: 650;
}

.integration-config-grid input,
.integration-config-grid textarea {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 44px;
  color: #465b70;
  -webkit-text-fill-color: #465b70;
  background: #f3f6f8;
  opacity: 1;
}

.integration-queue-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr) 44px minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
}

.integration-flow-arrow {
  display: grid;
  place-items: center;
  min-width: 44px;
  min-height: 44px;
  color: var(--su-action);
  font-size: 28px;
}

.integration-contract-list,
.integration-agent-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.integration-contract-list > div,
.integration-agent-details > div {
  min-width: 0;
  padding: 12px 14px;
  border-radius: 9px;
  background: var(--su-info-surface);
  overflow-wrap: anywhere;
}

.integration-contract-list dt,
.integration-agent-details dt {
  color: var(--su-text);
  font-weight: 800;
}

.integration-contract-list dd,
.integration-agent-details dd {
  margin: 4px 0 0;
  color: var(--su-muted);
}

.integration-empty-state {
  padding: 24px;
  border: 1px dashed var(--su-border);
  border-radius: 12px;
  background: #f8fafc;
  text-align: center;
}

@media (max-width: 900px) {
  .integration-config-grid,
  .integration-contract-list,
  .integration-agent-details {
    grid-template-columns: minmax(0, 1fr);
  }

  .integration-queue-flow {
    grid-template-columns: minmax(0, 1fr);
  }

  .integration-flow-arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 600px) {
  .integration-page-heading,
  .integration-section-heading,
  .prototype-notice {
    align-items: stretch;
    flex-direction: column;
  }

  .prototype-badge,
  .prototype-state {
    width: 100%;
    box-sizing: border-box;
  }

  .integration-section-navigation {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 390px) {
  .integration-section-navigation {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* CR012: canonical operational controls and settings navigation. */
html { scroll-padding-top: 96px; }
.settings-navigation-button, .settings-tab-panel { scroll-margin-top: 96px; }
.settings-primary-navigation {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  max-width: none;
  position: sticky;
  top: 80px;
  z-index: 9;
  padding: 6px 0;
  background: var(--su-bg);
}
.settings-primary-navigation > * { min-height: 48px; }
.settings-overview-list, .settings-overview-grid { display: grid; gap: 4px; width: 100%; }
.settings-overview-row, .settings-overview-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  padding: 10px 14px;
  border: 0;
  border-radius: 8px;
  background: #eef3f7;
}
.settings-overview-row.is-ready, .settings-overview-item.is-ready { background: #edf8f0; }
.settings-overview-row :is(h3, p), .settings-overview-item :is(h3, p) { margin: 0; }
.settings-overview-summary {
  color: var(--su-muted);
  font-weight: 700;
}
.switch-field {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 44px;
  margin: 0;
}
.switch-field input[role="switch"] {
  appearance: none;
  position: relative;
  flex: 0 0 40px;
  width: 40px;
  height: 24px;
  min-height: 24px !important;
  margin: 0;
  border: 1px solid #64748b;
  border-radius: 999px;
  background: #cbd5e1;
  cursor: pointer;
  transition: background .16s ease;
}
.switch-field input[role="switch"]::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 3px rgb(15 23 42 / 35%);
  transition: transform .16s ease;
}
.switch-field input[role="switch"]:checked { background: var(--su-action); }
.switch-field input[role="switch"]:checked::before { transform: translateX(16px); }
.switch-field input[role="switch"]:focus-visible { outline: 3px solid #075985; outline-offset: 3px; }
.competence-inline { display: grid !important; grid-template-columns: auto minmax(108px, 1fr); align-items: center; gap: 8px; min-width: 215px; min-height: 44px; }
.competence-inline > span { white-space: nowrap; }
.competence-inline select { width: 100%; min-width: 108px; min-height: 44px; }
.compact-page-flow .competence-context-field.competence-inline {
  width: auto;
  min-width: 215px;
}
.selection-checkbox-target {
  display: inline-grid !important;
  place-items: center;
  width: 44px;
  min-width: 44px !important;
  height: 44px;
  min-height: 44px;
  margin: 0;
  cursor: pointer;
}
.selection-checkbox-target input { width: 20px; height: 20px; min-height: 20px !important; margin: 0; }
.pagination-range { align-self: center; white-space: nowrap; color: var(--su-muted); }
.pagination-actions { display: flex; align-items: end; gap: 8px; }
.table-tools :is(input, select, button) { min-height: 48px; }
.canonical-command-bar .filter-icon-button { width: 44px; min-height: 44px; }
.report-actions button { min-height: 44px; }

@media (max-width: 1500px) {
  .settings-primary-navigation { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .settings-module-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1280px) {
  .dctf-page-heading { display: grid; }
  .dctf-primary-actions {
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 900px) {
  .sitfis-batch-page > .page-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 10px;
  }
  .sitfis-batch-page > .page-heading > :first-child {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
  }
  .sitfis-batch-page .page-heading-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    margin-left: 0;
  }
  .sitfis-batch-page .page-heading-actions > * {
    min-width: 0;
    width: 100%;
    white-space: normal;
  }
  .settings-primary-navigation { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .competence-filter-grid,
  .competence-filter-grid.has-control,
  .sitfis-filter-grid,
  .batch-filter-grid,
  .company-filter-grid,
  .document-filter-grid,
  .admin-users-command-bar,
  .compact-list-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-users-command-actions { grid-column: 2; }
  .admin-tenant-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .canonical-filter-actions { grid-column: 2; }
  .history-service-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .company-filter-grid .filter-icon-button,
  .document-filter-grid .filter-icon-button { width: 44px; }
  .dctf-primary-actions { flex-wrap: wrap; }
}

@media (min-width: 761px) and (max-width: 1200px) {
  .canonical-command-bar.document-filter-grid {
    grid-template-columns: minmax(220px, 280px) repeat(2, minmax(0, 1fr));
  }
  .canonical-command-bar.document-filter-grid > .filter-actions {
    grid-column: 3;
  }
}

@media (max-width: 760px) {
  .competence-filter-grid,
  .competence-filter-grid.has-control,
  .sitfis-filter-grid,
  .batch-filter-grid,
  .company-filter-grid,
  .document-filter-grid,
  .admin-users-command-bar,
  .compact-list-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .admin-users-command-actions { grid-column: 1; }
  .canonical-filter-actions { grid-column: 1; }
  .canonical-command-bar.document-filter-grid > .filter-actions {
    display: grid;
    grid-column: 1;
    grid-template-columns: repeat(3, 44px);
    justify-content: end;
    align-items: end;
    width: 100%;
  }
  .canonical-command-bar.document-filter-grid > .filter-actions > * {
    width: 44px;
    min-width: 44px;
  }
  .admin-tenant-filter-grid,
  #dctf-history-filter { grid-template-columns: minmax(0, 1fr); }
  .history-service-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  [data-testid="dctfweb-history-page"] .filter-actions {
    justify-content: flex-start;
  }
  .dctf-heading-identity {
    align-items: stretch;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
  }
  .dctf-heading-identity > .page-title-row {
    width: 100%;
    padding-top: 0;
  }
  .dctf-competence-funnel { width: 100%; min-width: 0; }
  .dctf-funnel-total { --funnel-inset: 7.75%; width: 100%; }
  .dctf-funnel-queried { --funnel-inset: 7.6923076923%; width: 84.5%; }
  .dctf-funnel-transmitted { --funnel-inset: 8.041958042%; width: 71.5%; }
  .dctf-funnel-completed { width: 60%; }
}
@media (max-width: 520px) {
  .compact-export-options {
    right: -16px;
    width: 150px;
    min-width: 150px;
    max-width: 150px;
  }
  .settings-local-navigation.settings-primary-navigation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    flex-direction: initial;
  }
  .settings-primary-navigation > * { width: 100%; }
  .settings-overview-row, .settings-overview-item { align-items: flex-start; flex-direction: column; }
  .pagination-actions { width: 100%; }
  .pagination-actions button { flex: 1 1 0; }
  .company-filter-grid { grid-template-columns: minmax(0, 1fr); }
  .companies-table-scroll-hint {
    display: block;
    margin: 0 0 6px;
    color: var(--su-muted);
    font-size: 12px;
  }
  .companies-table-wrap {
    box-shadow: inset -12px 0 10px -12px rgba(13, 49, 88, .55);
    scrollbar-gutter: stable;
  }
  .history-service-kpis { grid-template-columns: minmax(0, 1fr); }
}

/* CR017 P0: extreme-width containment for status, configuration and dialogs. */
.error-status-page,
.error-status-page > *,
.batch-cnpj-paste-content,
.batch-cnpj-paste-content > *,
[data-settings-panel="email"],
[data-settings-panel="email"] > *,
[data-settings-panel="email"] .settings-message-block,
[data-settings-panel="email"] .settings-message-block > * {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.error-status-page :is(h1, p, code) { overflow-wrap: anywhere; }
.error-status-page .primary { min-height: 44px; }

.batch-cnpj-paste-dialog,
.batch-cnpj-paste-content textarea {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
.batch-cnpj-paste-content textarea { width: 100%; }
.batch-cnpj-paste-content .dialog-actions button { min-height: 44px; }

#sitfis-registration-apply {
  box-sizing: border-box;
  min-height: 44px;
}

[data-settings-panel="email"] .settings-channel-connection {
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr));
}
[data-settings-panel="email"] .settings-compact-toolbar {
  flex-wrap: wrap;
  max-width: 100%;
}
[data-settings-panel="email"] .settings-compact-toolbar > :is(button, label) {
  min-width: 44px;
  min-height: 44px;
}
[data-settings-panel="email"] :is(input, select, .settings-rich-editor, .settings-email-preview) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 820px) {
  .sitfis-dialog[open] {
    display: block;
    width: min(94vw, calc(100vw - 8px));
    height: min(94svh, calc(100svh - 8px));
    max-height: calc(100svh - 8px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .sitfis-dialog-header {
    position: relative;
    top: auto;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    padding-right: 64px;
  }
  .sitfis-dialog-header > :is(.sitfis-company, .manage-document-actions, .sitfis-report-field, .sitfis-header-action) {
    box-sizing: border-box;
    flex: 0 1 auto;
    width: 100%;
    max-width: none;
  }
  .sitfis-dialog-header .manage-contact-field {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
  }
  .sitfis-dialog-body {
    display: block;
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .sitfis-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: end;
    gap: 8px;
    padding: 10px;
  }
  .sitfis-company,
  .sitfis-toolbar .sitfis-state,
  .sitfis-report-field { min-width: 0; }
  .sitfis-toolbar > :is(.primary, .secondary) {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 44px;
  }
  .sitfis-registration-suggestion button { min-height: 44px; }
  .sitfis-registration-popover {
    position: absolute;
    width: min(430px, calc(100vw - 20px));
    margin-top: 0;
  }
  .sitfis-viewer-panel {
    min-height: 0;
    padding: 10px;
    overflow: visible;
  }
  .sitfis-viewer { height: max(56svh, 320px); min-height: 320px; }
}

@media (max-width: 520px) {
  .error-status-page {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 16px;
    min-height: 0;
    padding: 20px;
  }
  .error-status-code { font-size: clamp(60px, 28vw, 90px); }
  .error-status-page .primary { justify-content: center; }

  .batch-cnpj-paste-dialog {
    width: calc(100vw - 8px);
    max-height: calc(100svh - 8px);
  }
  .batch-cnpj-paste-content {
    max-height: calc(100svh - 8px);
    padding: 12px;
    overflow-x: hidden;
    overflow-y: auto;
  }
  .batch-cnpj-paste-content .dialog-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin-top: 4px;
  }
  .batch-cnpj-paste-content .dialog-actions button { width: 100%; }

  [data-settings-panel="email"] .settings-message-heading {
    align-items: stretch;
    flex-direction: column;
    gap: 8px;
  }
  [data-settings-panel="email"] .settings-message-heading .switch-field {
    width: 100%;
    min-height: 44px;
  }
}

@media (max-width: 240px) {
  .error-status-page { gap: 10px; padding: 12px; }
  .error-status-page .primary { width: 100%; }

  .batch-cnpj-paste-content { gap: 8px; padding: 8px; }
  .batch-cnpj-paste-content .dialog-heading {
    padding: 8px 48px 8px 8px;
  }
  .batch-cnpj-paste-content .individual-operation-icon { display: none; }
  .batch-cnpj-paste-content textarea { resize: none; }

  .settings-form { padding: 10px; }
  [data-settings-panel="email"] .settings-channel-connection,
  [data-settings-panel="email"] .settings-message-block,
  [data-settings-panel="email"] .settings-compact-toolbar { padding: 8px; }
  [data-settings-panel="email"] .settings-compact-toolbar { gap: 4px; }

  .sitfis-dialog[open] {
    width: calc(100vw - 4px);
    height: calc(100svh - 4px);
    max-height: calc(100svh - 4px);
  }
  .sitfis-dialog-header { min-height: 48px; padding: 2px 48px 2px 6px; }
  .sitfis-dialog .dialog-close-x { top: 2px; right: 2px; }
  .sitfis-toolbar { gap: 6px; padding: 6px; }
  .sitfis-company {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .sitfis-toolbar .sitfis-state { padding: 6px; font-size: 14px; }
  .sitfis-report-field > span { display: none; }
  .sitfis-registration-suggestion {
    gap: 6px;
    padding: 6px;
    font-size: 14px;
  }
  .sitfis-registration-suggestion.different {
    display: block;
    min-height: 44px;
  }
  .sitfis-registration-suggestion.different .sitfis-registration-popover {
    position: absolute;
    right: 0;
    display: none;
    grid-template-columns: minmax(0, 1fr);
    width: min(180px, calc(100vw - 12px));
    padding: 6px;
    border: 1px solid var(--su-border);
    background: #fff;
    box-shadow: var(--shadow);
  }
  .sitfis-registration-suggestion.different:is(:focus, :focus-within) .sitfis-registration-popover {
    display: grid;
  }
  .sitfis-registration-suggestion button {
    min-height: 44px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .sitfis-viewer-panel { padding: 4px; }
}
.client-lookup-action {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  justify-content: flex-end;
}

.client-form-intake:not(.client-form-revealed) [data-client-details],
.client-form-intake:not(.client-form-revealed) .form-section:not(:first-child),
.client-form-intake:not(.client-form-revealed) > .form-actions {
  display: none;
}

.billing-simulation-items { display: grid; gap: 8px; }
.billing-simulation-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 190px) auto; gap: 8px; align-items: end; }
.billing-simulation-recurring-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.billing-simulation-recurring-heading h3 { margin: 0; }
.billing-simulation-total { display: flex; justify-content: flex-end; align-items: baseline; gap: 12px; margin: 0; }
.billing-simulation-isolated { margin-top: 20px; border: 2px dashed var(--su-border); background: var(--su-info-surface); }
.billing-simulation-result { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 16px; }
.company-flag-check { display: inline-flex; align-items: center; justify-content: center; color: var(--su-success, #137333); }
.canonical-pagination, .table-heading-pagination { white-space: nowrap; }
@media (max-width: 680px) { .billing-simulation-row { grid-template-columns: 1fr; } }

/* Pagination jump is a single accessible phrase: input / total. */
.table-pagination-footer .compact-pagination .compact-page-jump {
  display: inline-flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 94px;
  gap: 6px;
  white-space: nowrap;
}
.table-pagination-footer .compact-pagination .compact-page-jump input {
  flex: 0 0 58px;
}
@media (max-width: 390px) {
  .table-pagination-footer .compact-pagination .compact-page-jump {
    min-width: 78px;
    gap: 3px;
  }
  .table-pagination-footer .compact-pagination .compact-page-jump input {
    flex-basis: 44px;
    width: 44px;
  }
}
.sync-presence { --sync-color: #008b5a; display: inline-flex; align-items: center; gap: 12px; }
.sync-presence .session-identity { min-width: 0; }
.sync-presence .session-identity .sync-presence-label { color: var(--sync-color); font-size: .8rem; }
.sync-presence-download { color: var(--sync-color); width: 44px; height: 44px; min-width: 44px; min-height: 44px; border: 1px solid transparent; border-radius: 10px; background: transparent; }
.sync-presence[data-state="loading"], .sync-presence[data-state="unavailable"], .sync-presence[data-state="offline"] { --sync-color: #647382; }
.sync-presence[data-state="not_installed"], .sync-presence[data-state="online_outdated"], .sync-presence[data-state="offline_outdated"] { --sync-color: #b75b00; }
.sync-presence[data-state="not_installed"] .sync-presence-download,
.sync-presence[data-state="online_outdated"] .sync-presence-download,
.sync-presence[data-state="offline_outdated"] .sync-presence-download { border-color: var(--sync-color); animation: sync-border-attention 1.8s ease-in-out infinite; }
.web-sidebar .sidebar-close-control { border: 0; background: transparent; box-shadow: none; }
.web-app-shell :is(.filter-icon-button, .compact-export-trigger, .icon-button, .sidebar-close-control) .su-icon-slot { display: inline-flex; align-items: center; justify-content: center; line-height: 0; }
.web-app-shell :is(.filter-icon-button, .compact-export-trigger, .icon-button, .sidebar-close-control) .su-icon { display: block; margin: 0; }
body.menu-overlay-open #menu-open { display: none; }
@media (min-width: 1025px) {
  body:not(.sidebar-collapsed) #menu-open { display: none; }
}
@keyframes sync-border-attention { 0%, 100% { border-color: var(--sync-color); } 50% { border-color: transparent; } }
@media (prefers-reduced-motion: reduce) {
  .sync-presence, .sync-presence .sync-presence-download { animation: none !important; }
}
