:root {
  --mesa-background: #111714;
  --mesa-surface: #1a221e;
  --mesa-text: #edf3ef;
  --mesa-muted: #aebbb4;
  --mesa-primary: #6fceb0;
  --mesa-accent: #83add4;
  --mesa-success: #46b980;
  --mesa-warning: #e0ad5d;
  --mesa-danger: #f47d63;
  --mesa-border: #39423d;
}

:root[data-theme-variant="dark-emerald"] {
  --mesa-background: #111714;
  --mesa-surface: #1a221e;
  --mesa-text: #edf3ef;
  --mesa-muted: #aebbb4;
  --mesa-primary: #6fceb0;
  --mesa-accent: #83add4;
  --mesa-success: #46b980;
  --mesa-warning: #e0ad5d;
  --mesa-danger: #f47d63;
  --mesa-border: #39423d;
}

:root[data-theme-variant="dark-graphite"] {
  --mesa-background: #111419;
  --mesa-surface: #181d24;
  --mesa-text: #e9edf2;
  --mesa-muted: #99a8b8;
  --mesa-primary: #d59657;
  --mesa-accent: #78add0;
  --mesa-success: #6bc798;
  --mesa-warning: #e2bb63;
  --mesa-danger: #e78787;
  --mesa-border: #35404d;
}

:root[data-theme-variant="dark-ocean"] {
  --mesa-background: #0b171d;
  --mesa-surface: #10232b;
  --mesa-text: #e3f0f3;
  --mesa-muted: #91afb8;
  --mesa-primary: #e3a05a;
  --mesa-accent: #69bad3;
  --mesa-success: #61c99a;
  --mesa-warning: #e5c36a;
  --mesa-danger: #ec8d8c;
  --mesa-border: #29414b;
}

:root[data-theme-variant="light-emerald"] {
  --mesa-background: #f1f3ee;
  --mesa-surface: #fffffc;
  --mesa-text: #18201d;
  --mesa-muted: #5d6863;
  --mesa-primary: #176b52;
  --mesa-accent: #365f86;
  --mesa-success: #176b52;
  --mesa-warning: #976000;
  --mesa-danger: #a13a3a;
  --mesa-border: #ccd2cc;
}

:root[data-theme-variant="light-graphite"] {
  --mesa-background: #f1f3f5;
  --mesa-surface: #ffffff;
  --mesa-text: #1d232b;
  --mesa-muted: #536171;
  --mesa-primary: #8a4f18;
  --mesa-accent: #276989;
  --mesa-success: #19734d;
  --mesa-warning: #8c5c00;
  --mesa-danger: #9a3737;
  --mesa-border: #bcc5ce;
}

:root[data-theme-variant="light-ocean"] {
  --mesa-background: #edf4f6;
  --mesa-surface: #ffffff;
  --mesa-text: #153139;
  --mesa-muted: #4e6770;
  --mesa-primary: #94501f;
  --mesa-accent: #176a86;
  --mesa-success: #18704b;
  --mesa-warning: #835a00;
  --mesa-danger: #963d3b;
  --mesa-border: #b8cbd1;
}

:root[data-theme-variant^="dark-"] {
  color-scheme: dark;
}

:root[data-theme-variant^="light-"] {
  color-scheme: light;
}

.mesa-unlocked {
  overflow: hidden;
  background: var(--mesa-background);
}

.mesa-unlocked .shell {
  width: 100%;
  max-width: none;
  padding: 0;
}

.mesa-unlocked .shell > .topbar,
.mesa-unlocked .shell > footer {
  display: none;
}

.mesa-unlocked .shell > main {
  min-height: 100vh;
}

.mesa-kab-shell.dashboard {
  padding: 0;
}

.kab-app-layout {
  display: grid;
  width: 100%;
  height: 100vh;
  grid-template-columns: 230px minmax(0, 1fr) 400px;
  overflow: hidden;
  color: var(--mesa-text);
  background: var(--mesa-background);
}

.kab-sidebar {
  position: sticky;
  z-index: 4;
  top: 0;
  display: flex;
  height: 100vh;
  flex-direction: column;
  border-right: 1px solid var(--mesa-border);
  padding: 18px 14px;
  background: var(--mesa-background);
}

.kab-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 2px 8px 20px;
  color: var(--mesa-text);
}

.kab-sidebar-mark {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
  color: var(--mesa-background);
  background: color-mix(in srgb, var(--mesa-primary) 86%, var(--mesa-text));
  font-family: Georgia, serif;
  font-size: 22px;
  font-style: italic;
}

.kab-sidebar-brand strong,
.kab-sidebar-brand span {
  display: block;
}

.kab-sidebar-brand strong {
  letter-spacing: .12em;
}

.kab-sidebar-brand div > span {
  margin-top: 2px;
  color: var(--mesa-muted);
  font-size: 10px;
}

.kab-sidebar-nav {
  display: grid;
  gap: 4px;
}

.kab-nav-item {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 9px 11px;
  color: var(--mesa-muted);
  background: transparent;
  cursor: pointer;
  font-size: 12px;
  font-weight: 650;
  text-align: left;
}

.kab-nav-item:hover,
.kab-nav-item:focus-visible {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-surface);
}

.kab-nav-item.is-active {
  border-color: color-mix(in srgb, var(--mesa-primary) 56%, var(--mesa-border));
  color: var(--mesa-primary);
  background: color-mix(in srgb, var(--mesa-primary) 3%, var(--mesa-surface));
}

.kab-nav-transition {
  margin-top: 12px;
  border-top-color: var(--mesa-border);
  color: var(--mesa-muted);
}

.kab-sidebar-links {
  display: grid;
  gap: 8px;
  margin-top: auto;
  padding: 14px 8px 4px;
  border-top: 1px solid var(--mesa-border);
}

.kab-sidebar-links a {
  color: var(--mesa-muted);
  font-size: 10.5px;
  text-decoration: none;
}

.kab-sidebar-links a:hover { color: var(--mesa-primary); }

.kab-mainarea {
  min-width: 0;
  height: 100vh;
  background: color-mix(in srgb, var(--mesa-background) 92%, var(--mesa-surface));
}

.kab-main-topbar {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--mesa-border);
  padding: 11px 18px;
  background: var(--mesa-surface);
}

.kab-main-topbar .eyebrow { margin-bottom: 3px; }

.kab-main-topbar h1 {
  margin: 0;
  color: var(--mesa-text);
  font-family: inherit;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.01em;
}

.kab-main-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.kab-main-actions .button,
.kab-main-actions .connection {
  min-height: 32px;
  padding: 5px 9px;
  color: var(--mesa-text);
  background: var(--mesa-surface);
  font-size: 10.5px;
}

.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.theme-toggle-icon {
  font-size: 14px;
  line-height: 1;
}

.kab-main-scroll {
  height: calc(100vh - 72px);
  overflow: auto;
  padding: 14px 16px 30px;
}

.kab-area {
  width: 100%;
}

.kab-legacy-area {
  display: grid;
  gap: 14px;
}

.kab-legacy-area[hidden] { display: none; }

.kab-legacy-heading {
  padding: 14px;
  border: 1px solid var(--mesa-border);
  border-left: 3px solid var(--mesa-warning);
  border-radius: 10px;
  background: var(--mesa-surface);
}

.kab-legacy-heading h2,
.kab-legacy-heading p { margin: 4px 0; }
.kab-legacy-heading p { color: var(--mesa-muted); font-size: 12px; }

.kab-tony-panel {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  width: 400px;
  height: 100vh;
  flex-direction: column;
  border-left: 1px solid var(--mesa-border);
  padding: 15px;
  background: var(--mesa-background);
  transition: width .2s ease;
}

.kab-app-layout:has(.kab-tony-panel.is-collapsed) {
  grid-template-columns: 230px minmax(0, 1fr) 68px;
}

.kab-tony-panel.is-collapsed {
  width: 68px;
  padding: 12px 8px;
}

.kab-tony-panel.is-collapsed .kab-tony-header > div,
.kab-tony-panel.is-collapsed .kab-tony-state,
.kab-tony-panel.is-collapsed .kab-tony-body,
.kab-tony-panel.is-collapsed .kab-tony-conversation,
.kab-tony-panel.is-collapsed #kabHome > .hero {
  min-height: 0;
  margin: 0 0 12px;
  padding: 0;
  color: var(--mesa-text);
  background: transparent;
}

#kabHome > .hero h1 {
  font-size: 30px;
}

#kabHome > .hero .cutover-signal {
  min-width: 180px;
  padding: 10px 12px;
  border-color: var(--mesa-border);
  background: var(--mesa-surface);
}

/*
 * Shared card language.
 *
 * The operational cards predate the modular shell and still use the legacy
 * light-theme tokens from app.css. Keep that stylesheet useful for the lock
 * screen, but translate its component tokens inside the Mesa and its dialogs.
 */
.mesa-kab-shell,
.mesa-unlocked .decision-dialog {
  --ink: var(--mesa-text);
  --ink-soft: var(--mesa-muted);
  --paper: var(--mesa-background);
  --surface: var(--mesa-surface);
  --surface-deep: color-mix(in srgb, var(--mesa-background) 62%, var(--mesa-surface));
  --line: var(--mesa-border);
  --teal: var(--mesa-accent);
  --teal-deep: var(--mesa-success);
  --mint: color-mix(in srgb, var(--mesa-success) 14%, var(--mesa-surface));
  --amber: var(--mesa-warning);
  --amber-soft: color-mix(in srgb, var(--mesa-warning) 8%, var(--mesa-surface));
  --red: var(--mesa-danger);
  --red-soft: color-mix(in srgb, var(--mesa-danger) 14%, var(--mesa-surface));
  --blue: var(--mesa-accent);
  --blue-soft: color-mix(in srgb, var(--mesa-accent) 14%, var(--mesa-surface));
  --accent: var(--mesa-accent);
  --border: var(--mesa-border);
  --muted: var(--mesa-muted);
  --mesa-card-subtle: color-mix(
    in srgb,
    var(--mesa-background) 72%,
    var(--mesa-surface)
  );
  --mesa-card-raised: color-mix(
    in srgb,
    var(--mesa-surface) 94%,
    var(--mesa-text)
  );
}

/* Native dialogs live beside the shell in the DOM, so theme them explicitly. */
.mesa-unlocked .decision-dialog {
  border: 1px solid var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-surface);
  box-shadow: 0 28px 90px
    color-mix(in srgb, var(--mesa-background) 76%, transparent);
}

.mesa-unlocked .decision-dialog::backdrop {
  background: color-mix(in srgb, var(--mesa-background) 78%, transparent);
}

.mesa-unlocked .decision-dialog :is(h2, h3, legend, summary, strong) {
  color: var(--mesa-text);
}

.mesa-unlocked .decision-dialog :is(.dialog-summary, .form-help, label, small) {
  color: var(--mesa-muted);
}

.mesa-unlocked .decision-dialog
  :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  min-inline-size: 0;
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-unlocked .decision-dialog :is(input, textarea)::placeholder {
  color: var(--mesa-muted);
  opacity: .78;
}

.mesa-unlocked .decision-dialog :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--mesa-primary);
}

.mesa-unlocked .decision-dialog :is(.button, input, select, textarea):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--mesa-accent) 54%, transparent);
  outline-offset: 2px;
}

.mesa-unlocked .decision-dialog :is(.button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .52;
}

.mesa-unlocked .decision-dialog .button-primary {
  border-color: var(--mesa-primary);
  color: var(--mesa-background);
  background: color-mix(in srgb, var(--mesa-primary) 86%, var(--mesa-text));
  box-shadow: none;
}

.mesa-unlocked .decision-dialog .button-primary:hover {
  background: color-mix(in srgb, var(--mesa-primary) 76%, var(--mesa-text));
}

.mesa-unlocked .decision-dialog .button-quiet {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-unlocked .decision-dialog .button-reject {
  border-color: color-mix(in srgb, var(--mesa-danger) 54%, var(--mesa-border));
  color: var(--mesa-danger);
  background: color-mix(in srgb, var(--mesa-danger) 9%, var(--mesa-card-subtle));
}

.mesa-unlocked .decision-dialog :is(
  .safety-callout,
  .fiscal-policy-agent-summary
) {
  border-color: color-mix(in srgb, var(--mesa-success) 54%, var(--mesa-border));
  color: var(--mesa-success);
  background: color-mix(in srgb, var(--mesa-success) 10%, var(--mesa-card-subtle));
}

.mesa-unlocked .decision-dialog :is(
  .fiscal-policy-guided-card,
  .master-data-question-help-content section,
  .master-data-question,
  .fiscal-policy-advanced,
  .receipt-projection-order-option,
  .conciliation-sum
) {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-unlocked .decision-dialog :is(.attention-preview li, .review-meta span) {
  color: var(--mesa-text);
  background: var(--mesa-card-raised);
}

.mesa-unlocked .decision-dialog .needs-human-confirmation-control:not(
  .field-invalid-control
) {
  border-color: var(--mesa-warning);
  background: color-mix(in srgb, var(--mesa-warning) 8%, var(--mesa-card-subtle));
}

.mesa-unlocked .decision-dialog .field-invalid-control {
  border-color: var(--mesa-danger) !important;
  background: color-mix(in srgb, var(--mesa-danger) 8%, var(--mesa-card-subtle)) !important;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--mesa-danger) 20%, transparent);
}

.mesa-unlocked .decision-dialog .required-badge {
  color: var(--mesa-danger);
  background: color-mix(in srgb, var(--mesa-danger) 12%, var(--mesa-card-subtle));
}

.mesa-unlocked .decision-dialog .blocked-note {
  color: var(--mesa-muted) !important;
  background: color-mix(in srgb, var(--mesa-muted) 12%, var(--mesa-card-subtle));
}

.mesa-kab-shell .hero,
.mesa-kab-shell .metric-grid,
.mesa-kab-shell > .panel {
  color: var(--mesa-text);
  background: transparent;
}

.mesa-kab-shell .panel {
  container-name: mesa-card;
  container-type: inline-size;
  padding: clamp(14px, 1.5vw, 20px);
  border-color: var(--mesa-border);
  border-radius: 13px;
  color: var(--mesa-text);
  background: var(--mesa-surface);
  box-shadow: none;
}

.mesa-kab-shell .kab-area > .panel,
.mesa-kab-shell .kab-area > .agent-home {
  margin-block-end: 12px;
}

.mesa-kab-shell .panel-heading {
  align-items: flex-start;
  gap: 12px;
  margin-block-end: 10px;
}

.mesa-kab-shell .panel-heading > div {
  min-inline-size: 0;
}

.mesa-kab-shell .panel h2 {
  margin: 0;
  color: var(--mesa-text);
  font-family: inherit;
  font-size: clamp(19px, 1.7vw, 24px);
  font-weight: 720;
  letter-spacing: -.015em;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.mesa-kab-shell .eyebrow {
  margin-block-end: 4px;
  color: var(--mesa-accent);
  font-size: 10px;
  letter-spacing: .14em;
}

.mesa-kab-shell .hero-meta,
.mesa-kab-shell .review-intro {
  color: var(--mesa-muted);
}

.mesa-kab-shell .review-intro {
  max-inline-size: none;
  margin: 0 0 12px;
  font-size: 12px;
  line-height: 1.45;
}

.mesa-kab-shell :is(.panel-note, .connection) {
  max-inline-size: min(100%, 34rem);
  min-block-size: 30px;
  padding: 5px 9px;
  border-color: var(--mesa-border);
  color: var(--mesa-muted);
  background: var(--mesa-card-subtle);
  font-size: 10.5px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  text-align: end;
}

.mesa-kab-shell .empty-state {
  margin: 8px 0 0;
  padding: 14px;
  border: 1px dashed var(--mesa-border);
  border-radius: 10px;
  color: var(--mesa-muted);
  background: var(--mesa-card-subtle);
  font-size: 12px;
  line-height: 1.45;
}

.mesa-kab-shell :is(.decision-queue-notice, .native-list) > .empty-state,
.mesa-kab-shell .decision-queue-notice.empty-state {
  border: 0;
  background: transparent;
}

.mesa-kab-shell .button-primary {
  border-color: var(--mesa-primary);
  color: var(--mesa-background);
  background: color-mix(in srgb, var(--mesa-primary) 86%, var(--mesa-text));
  box-shadow: none;
}

.mesa-kab-shell .button-primary:hover {
  background: color-mix(in srgb, var(--mesa-primary) 76%, var(--mesa-text));
}

.mesa-kab-shell .button-quiet {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell :is(.button, input, select, textarea):disabled {
  cursor: not-allowed;
  opacity: .52;
}

.mesa-kab-shell :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  min-inline-size: 0;
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell :is(input, textarea)::placeholder {
  color: var(--mesa-muted);
  opacity: .78;
}

.mesa-kab-shell :is(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--mesa-primary);
}

.mesa-kab-shell :is(.button, input, select, textarea):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--mesa-accent) 54%, transparent);
  outline-offset: 2px;
}

.mesa-kab-shell .metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 7px;
  margin-block-end: 12px;
  background: transparent;
}

.mesa-kab-shell .metric-card {
  min-block-size: 72px;
  padding: 10px 11px;
  border-color: var(--mesa-border);
  border-radius: 10px;
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell .metric-card :is(p, span, small, strong) {
  margin: 0;
}

.mesa-kab-shell .metric-card :is(span, small, .metric-label) {
  color: var(--mesa-muted);
  font-size: 10.5px;
  line-height: 1.3;
}

.mesa-kab-shell .metric-card :is(strong, .metric-value) {
  display: block;
  margin-block-start: 6px;
  color: var(--mesa-text);
  font-family: inherit;
  font-size: 22px;
  font-weight: 780;
  line-height: 1;
}

.mesa-kab-shell .metric-primary {
  border-color: var(--mesa-primary);
  color: var(--mesa-background);
  background: color-mix(in srgb, var(--mesa-primary) 86%, var(--mesa-text));
}

.mesa-kab-shell .metric-card.metric-primary :is(span, small, strong) {
  color: var(--mesa-background);
}

.mesa-kab-shell .metric-alert {
  border-color: color-mix(in srgb, var(--mesa-danger) 54%, var(--mesa-border));
}

.mesa-kab-shell .metric-alert :is(strong, .metric-value) {
  color: var(--mesa-danger);
}

.mesa-kab-shell .filters {
  gap: 9px;
  margin-block-end: 12px;
  padding: 11px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell .filters label span {
  color: var(--mesa-muted);
}

.mesa-kab-shell .filters :is(input, select) {
  min-block-size: 38px;
  color: var(--mesa-text);
  background: var(--mesa-surface);
}

.mesa-kab-shell .table-wrap {
  max-block-size: min(52dvh, 36rem);
  overflow: auto;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card-subtle);
  scrollbar-gutter: stable;
}

.mesa-kab-shell .table-wrap table {
  min-inline-size: 680px;
}

.mesa-kab-shell .table-wrap th {
  position: sticky;
  z-index: 1;
  inset-block-start: 0;
  padding: 9px 11px;
  border-color: var(--mesa-border);
  color: var(--mesa-muted);
  background: var(--mesa-surface);
}

.mesa-kab-shell .table-wrap td {
  padding: 10px 11px;
  border-color: var(--mesa-border);
  color: var(--mesa-text);
}

.mesa-kab-shell .table-wrap tbody tr:hover {
  background: color-mix(in srgb, var(--mesa-accent) 8%, var(--mesa-surface));
}

.mesa-kab-shell .work-chip {
  padding: 9px 11px;
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell .work-chip span {
  color: var(--mesa-muted);
}

.mesa-kab-shell :is(.state-legacy, .mode-off) {
  color: var(--mesa-muted);
  background: color-mix(in srgb, var(--mesa-muted) 12%, var(--mesa-surface));
}

.mesa-kab-shell :is(.state-shadow, .mode-shadow) {
  color: var(--mesa-accent);
  background: color-mix(in srgb, var(--mesa-accent) 14%, var(--mesa-surface));
}

.mesa-kab-shell :is(
  .state-proxy-confirm,
  .state-native-confirm,
  .mode-confirm
) {
  color: var(--mesa-warning);
  background: color-mix(in srgb, var(--mesa-warning) 8%, var(--mesa-surface));
}

.mesa-kab-shell :is(.state-native-live, .state-retired, .mode-live) {
  color: var(--mesa-success);
  background: color-mix(in srgb, var(--mesa-success) 14%, var(--mesa-surface));
}

.mesa-kab-shell .decision-queue-badge.is-attention {
  color: var(--mesa-warning);
  background: color-mix(in srgb, var(--mesa-warning) 8%, var(--mesa-surface));
}

.mesa-kab-shell .gate-dot {
  background: color-mix(in srgb, var(--mesa-muted) 46%, var(--mesa-surface));
}

.mesa-kab-shell .gate-dot.ready {
  background: var(--mesa-success);
}

.mesa-kab-shell .master-data-panel > .panel-heading,
.mesa-kab-shell .fiscal-policy-panel > .panel-heading {
  margin-bottom: 14px;
}

.mesa-kab-shell .master-data-panel > .review-intro,
.mesa-kab-shell .fiscal-policy-panel > .review-intro {
  margin: 0 0 8px;
  font-size: 12px;
  line-height: 1.45;
}

.mesa-kab-shell .decision-queue-guidance,
.mesa-kab-shell .decision-queue-title,
.mesa-kab-shell .decision-queue-notice,
.mesa-kab-shell .decision-queue-zero,
.mesa-kab-shell .master-data-group-title {
  color: var(--mesa-muted);
}

.mesa-kab-shell .decision-queue-metrics.metric-grid {
  background: transparent;
}

.mesa-kab-shell .master-data-company-request {
  border-color: var(--mesa-border);
  color: var(--mesa-muted);
  background: color-mix(in srgb, var(--mesa-background) 72%, var(--mesa-surface));
}

.mesa-kab-shell .master-data-panel > .panel-heading .panel-note,
.mesa-kab-shell .fiscal-policy-panel > .panel-heading .panel-note {
  border-color: var(--mesa-border);
  color: var(--mesa-muted);
  background: color-mix(in srgb, var(--mesa-background) 72%, var(--mesa-surface));
}

.mesa-kab-shell .master-data-panel .fiscal-policy-filters .button,
.mesa-kab-shell .fiscal-policy-panel .fiscal-policy-filters .button,
.mesa-kab-shell .fiscal-policy-panel .fiscal-policy-toolbar .button {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-background) 72%, var(--mesa-surface));
}

.mesa-kab-shell .master-data-panel .fiscal-policy-filters .button:hover,
.mesa-kab-shell .master-data-panel .fiscal-policy-filters .button:focus-visible,
.mesa-kab-shell .fiscal-policy-panel .fiscal-policy-filters .button:hover,
.mesa-kab-shell .fiscal-policy-panel .fiscal-policy-filters .button:focus-visible,
.mesa-kab-shell .fiscal-policy-panel .fiscal-policy-toolbar .button:hover,
.mesa-kab-shell .fiscal-policy-panel .fiscal-policy-toolbar .button:focus-visible {
  border-color: var(--mesa-accent);
}

.mesa-kab-shell .review-inbox {
  display: grid;
  grid-template-columns: 1fr;
  max-block-size: clamp(18rem, 48dvh, 34rem);
  gap: 0;
  overflow: auto;
  border: 1px solid var(--mesa-border);
  border-radius: 11px;
  background: var(--mesa-card-subtle);
  scrollbar-gutter: stable;
}

/* Nas Áreas, duas decisões aproveitam a largura sem comprimir o card.
   O piso protege a leitura; 45% impede que o auto-fit abra uma terceira coluna. */
.mesa-kab-shell #e13ViewAreas .review-inbox {
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, max(28rem, 45%)), 1fr)
  );
}

/* O pane financeiro já limita a altura pela viewport; a fila usa todo o pane. */
.mesa-kab-shell .area-finance-reconciliation .review-inbox {
  min-block-size: 0;
  max-block-size: none;
}

.mesa-kab-shell .review-inbox:empty {
  display: none;
}

.mesa-kab-shell .review-card {
  min-block-size: 0;
  padding: 12px;
  border: 0;
  border-inline-start: 3px solid var(--mesa-success);
  border-block-end: 1px solid var(--mesa-border);
  border-radius: 0;
  color: var(--mesa-text);
  background: transparent;
}

.mesa-kab-shell .review-card:last-child {
  border-block-end: 0;
}

.mesa-kab-shell .review-card.blocked {
  border-inline-start-color: var(--mesa-muted);
  background: color-mix(in srgb, var(--mesa-muted) 7%, var(--mesa-card-subtle));
}

.mesa-kab-shell .review-card-head,
.mesa-kab-shell .review-actions {
  flex-wrap: wrap;
}

.mesa-kab-shell .review-card h3 {
  color: var(--mesa-text);
  font-family: inherit;
  font-size: 16px;
  font-weight: 720;
}

.mesa-kab-shell .review-card > p,
.mesa-kab-shell .review-meta {
  color: var(--mesa-muted);
}

.mesa-kab-shell .review-meta span,
.mesa-kab-shell .attention-preview li {
  color: var(--mesa-text);
  background: var(--mesa-card-raised);
}

.mesa-kab-shell .button-reject {
  border-color: color-mix(in srgb, var(--mesa-danger) 54%, var(--mesa-border));
  color: var(--mesa-danger);
  background: color-mix(in srgb, var(--mesa-danger) 9%, var(--mesa-card-subtle));
}

.mesa-kab-shell .button-authorize {
  border-color: var(--mesa-accent);
  color: var(--mesa-background);
  background: var(--mesa-accent);
}

.mesa-kab-shell .blocked-note {
  color: var(--mesa-muted) !important;
  background: color-mix(in srgb, var(--mesa-muted) 12%, var(--mesa-surface));
}

.mesa-kab-shell :is(.native-list, .operational-list) {
  max-block-size: clamp(18rem, 48dvh, 34rem);
  margin-block-start: 8px;
  overflow: auto;
  border: 1px solid var(--mesa-border);
  border-radius: 11px;
  background: var(--mesa-card-subtle);
  scrollbar-gutter: stable;
}

.mesa-kab-shell :is(.native-list, .operational-list):empty {
  display: none;
}

.mesa-kab-shell .native-list {
  gap: 0;
}

.mesa-kab-shell .native-row,
.mesa-kab-shell :is(.pcp-folha, .pcp-item, .quality-row, .producao-row) {
  margin: 0;
  padding: 10px 11px;
  border: 0;
  border-block-end: 1px solid var(--mesa-border);
  border-radius: 0;
  color: var(--mesa-text);
  background: transparent;
}

.mesa-kab-shell :is(.native-row, .pcp-folha, .pcp-item, .quality-row, .producao-row):last-child {
  border-block-end: 0;
}

.mesa-kab-shell :is(.native-row, .pcp-folha, .pcp-item, .quality-row, .producao-row):hover {
  background: color-mix(in srgb, var(--mesa-accent) 7%, var(--mesa-surface));
}

.mesa-kab-shell :is(.native-row, .native-item, .pcp-folha, .pcp-item, .quality-row, .producao-row) small {
  color: var(--mesa-muted);
  opacity: 1;
}

.mesa-kab-shell .native-items {
  border-color: var(--mesa-border);
}

.mesa-kab-shell .native-item > .native-action-hint {
  border-color: var(--mesa-success);
  color: var(--mesa-success);
  background: color-mix(in srgb, var(--mesa-success) 10%, var(--mesa-card-subtle));
}

.mesa-kab-shell .native-item > .native-alert {
  border-color: var(--mesa-warning);
  color: var(--mesa-warning);
  background: color-mix(in srgb, var(--mesa-warning) 10%, var(--mesa-card-subtle));
}

.mesa-kab-shell .native-write-callout {
  margin-block-end: 10px;
  padding: 9px 11px;
  border-color: var(--mesa-danger);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-danger) 10%, var(--mesa-surface));
  font-size: 12px;
}

.mesa-kab-shell .receiving-conciliation-boundary {
  border-color: var(--mesa-accent);
  background: color-mix(in srgb, var(--mesa-accent) 10%, var(--mesa-surface));
}

.mesa-kab-shell .producao-row.retained {
  border-inline-start: 3px solid var(--mesa-danger);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-danger) 9%, var(--mesa-card-subtle));
}

.mesa-kab-shell :is(.quality-row, .producao-row) em {
  color: var(--mesa-warning);
}

.mesa-kab-shell .inventory-section {
  margin: 1rem 0 1.5rem;
}

.mesa-kab-shell .inventory-action:empty {
  display: none;
}

.mesa-kab-shell .inventory-action-form {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
  gap: .65rem;
  align-items: end;
  width: 100%;
  margin-top: .75rem;
}

.mesa-kab-shell .inventory-action-form .production-action-status {
  grid-column: 1 / -1;
}

.mesa-kab-shell .finance-evidence-fields {
  display: contents;
}

.mesa-kab-shell .finance-boundary {
  border-inline-start: 3px solid var(--mesa-warning);
}

.mesa-kab-shell .finance-row > .finance-action {
  flex-basis: 100%;
}

.mesa-kab-shell .cost-action,
.mesa-kab-shell .cost-close-details {
  flex-basis: 100%;
  width: 100%;
}

.mesa-kab-shell .cost-action > details,
.mesa-kab-shell .cost-close-details {
  padding: .7rem;
  border: 1px solid var(--mesa-border);
  border-radius: .7rem;
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell .cost-action summary,
.mesa-kab-shell .cost-close-details summary {
  cursor: pointer;
  font-weight: 700;
}

.mesa-kab-shell .cost-base-fields,
.mesa-kab-shell .cost-repeat-section,
.mesa-kab-shell .cost-balance-grid {
  grid-column: 1 / -1;
}

.mesa-kab-shell .cost-balance-grid,
.mesa-kab-shell .cost-repeat-section,
.mesa-kab-shell .cost-allocation-rows,
.mesa-kab-shell .cost-adjustment-rows {
  display: grid;
  gap: .7rem;
}

.mesa-kab-shell .cost-balance-row,
.mesa-kab-shell .cost-repeat-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));
  gap: .55rem;
  align-items: end;
  margin: 0;
  padding: .7rem;
  border: 1px solid var(--mesa-border);
  border-radius: .65rem;
}

.mesa-kab-shell .cost-balance-row legend {
  padding-inline: .35rem;
  color: var(--mesa-text);
  font-weight: 700;
}

.mesa-kab-shell .cost-repeat-section {
  padding: .8rem;
  border-inline-start: 3px solid var(--mesa-accent);
  background: color-mix(in srgb, var(--mesa-accent) 5%, transparent);
}

.mesa-kab-shell .receipt-projection-exceptions {
  margin-block-start: 16px;
  padding-block-start: 14px;
  border-color: var(--mesa-border);
}

.mesa-kab-shell .receipt-projection-heading h3,
.mesa-kab-shell .fiscal-nfe-subheading h3,
.mesa-kab-shell :is(.pcp-subtitle, .quality-subtitle, .producao-subtitle) {
  color: var(--mesa-text);
  font-family: inherit;
}

.mesa-kab-shell :is(
  .fiscal-nfe-intent-composer,
  .fiscal-nfe-intent-ledger,
  .fiscal-nfe-master-inbox
) {
  margin-block: 10px;
  padding: 11px;
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-subtle);
}

.mesa-kab-shell .fiscal-nfe-intent-item {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-surface);
}

.mesa-kab-shell .fiscal-entry-decision,
.mesa-kab-shell .fiscal-entry-effect-grid span {
  border-color: var(--mesa-border);
  color: var(--mesa-text);
  background: var(--mesa-card-raised);
}

.mesa-kab-shell .fiscal-entry-blocker {
  border-color: var(--mesa-danger);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-danger) 10%, var(--mesa-surface));
}

.mesa-kab-shell .fiscal-nfe-effect-summary {
  border-color: var(--mesa-accent);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-accent) 9%, var(--mesa-surface));
}

.mesa-kab-shell :is(.waves, .readiness, .modular-runtime) {
  max-block-size: min(52dvh, 38rem);
  overflow: auto;
  scrollbar-gutter: stable;
}

.mesa-kab-shell .modular-runtime {
  padding-inline-end: 3px;
}

.agent-home {
  container-name: mesa-card;
  container-type: inline-size;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--mesa-border);
  border-radius: 15px;
  color: var(--mesa-text);
  background: var(--mesa-surface);
}

.agent-home-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.agent-home-heading h2,
.agent-supervisor-wrap h3 {
  margin: 0;
  color: var(--mesa-text);
}

.agent-home-intro {
  max-width: 760px;
  margin: 8px 0 12px;
  color: var(--mesa-muted);
  font-size: 12px;
  line-height: 1.45;
}

.human-mission-center {
  display: grid;
  min-height: 430px;
  height: clamp(430px, calc(100dvh - 230px), 650px);
  grid-template-columns: minmax(270px, 34%) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--mesa-border);
  border-radius: 13px;
  background: color-mix(in srgb, var(--mesa-background) 68%, var(--mesa-surface));
}

/*
 * A Home tem somente o resumo e a fila humana. Faça esse conjunto ocupar a
 * altura útil da coluna central; a rolagem longa pertence à lista e ao detalhe,
 * não à casca da página. As demais áreas continuam usando o fluxo normal da
 * `.kab-main-scroll` para seus vários painéis.
 */
.kab-home[data-active-area="home"] {
  display: flex;
  min-height: 0;
  height: 100%;
  flex-direction: column;
}

.kab-home[data-active-area="home"] > .agent-home {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  margin-block-end: 0;
}

.kab-home[data-active-area="home"] > .agent-home .human-mission-center {
  min-height: 430px;
  height: auto;
  flex: 1;
}

.human-mission-list-panel {
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  border-right: 1px solid var(--mesa-border);
  background: var(--mesa-surface);
}

.human-mission-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 13px;
  border-bottom: 1px solid var(--mesa-border);
}

.human-mission-list-head h3 {
  margin: 0;
  color: var(--mesa-text);
  font-size: 14px;
}

.human-mission-count {
  display: grid;
  min-width: 34px;
  min-height: 34px;
  place-items: center;
  border-radius: 999px;
  color: var(--mesa-surface);
  background: var(--mesa-primary);
  font-size: 16px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.human-mission-list {
  min-height: 0;
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 6px;
  scrollbar-gutter: stable;
}

.human-mission-row {
  display: grid;
  width: 100%;
  gap: 5px;
  border: 1px solid transparent;
  border-radius: 9px;
  padding: 10px;
  color: var(--mesa-text);
  background: transparent;
  cursor: pointer;
  font: inherit;
  text-align: left;
}

.human-mission-row + .human-mission-row {
  margin-top: 4px;
}

.human-mission-row:hover,
.human-mission-row:focus-visible {
  border-color: var(--mesa-border);
  outline: none;
  background: color-mix(in srgb, var(--mesa-primary) 7%, var(--mesa-surface));
}

.human-mission-row.is-selected {
  border-color: color-mix(in srgb, var(--mesa-primary) 72%, var(--mesa-border));
  box-shadow: inset 3px 0 0 var(--mesa-primary);
  background: color-mix(in srgb, var(--mesa-primary) 10%, var(--mesa-surface));
}

.human-mission-row-head {
  display: flex;
  min-width: 0;
  align-items: start;
  justify-content: space-between;
  gap: 7px;
}

.human-mission-row-head strong {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 12.5px;
  line-height: 1.35;
}

.human-mission-row-entity {
  overflow: hidden;
  color: var(--mesa-muted);
  font-size: 11.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.human-mission-row small {
  color: var(--mesa-muted);
  font-size: 11px;
}

.human-mission-empty,
.human-mission-placeholder,
.human-mission-tony-empty {
  display: grid;
  min-height: 130px;
  place-content: center;
  gap: 5px;
  margin: 0;
  padding: 18px;
  color: var(--mesa-muted);
  font-size: 12px;
  text-align: center;
}

.human-mission-empty[hidden] { display: none; }

.human-mission-detail {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 16px;
  color: var(--mesa-text);
  scrollbar-gutter: stable;
}

.human-mission-detail-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--mesa-border);
}

.human-mission-detail-head h3 {
  max-width: 680px;
  margin: 0;
  color: var(--mesa-text);
  font-size: clamp(17px, 2.1cqi, 23px);
  line-height: 1.2;
}

.human-mission-entity {
  margin: 5px 0 0;
  color: var(--mesa-muted);
  font-size: 11.5px;
}

.human-mission-agent-order {
  margin: 13px 0;
  padding: 12px;
  border-left: 3px solid var(--mesa-primary);
  border-radius: 7px;
  background: color-mix(in srgb, var(--mesa-primary) 8%, var(--mesa-surface));
}

.human-mission-agent-order strong,
.human-mission-agent-order p {
  margin: 0;
}

.human-mission-agent-order p {
  margin-top: 4px;
  color: var(--mesa-muted);
  font-size: 11.5px;
  line-height: 1.45;
}

.human-mission-detail-section {
  margin-top: 14px;
}

.human-mission-detail-section h4 {
  margin: 0 0 7px;
  color: var(--mesa-text);
  font-size: 12px;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.human-mission-detail-section > p,
.human-mission-detail-section > small {
  display: block;
  margin: 3px 0;
  color: var(--mesa-muted);
  font-size: 11px;
  line-height: 1.45;
}

.human-mission-spec {
  display: grid;
  gap: 5px;
  margin-top: 7px;
  padding: 10px;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
  background: var(--mesa-surface);
}

.human-mission-spec > strong { font-size: 12.5px; }
.human-mission-spec > span,
.human-mission-spec > small { color: var(--mesa-muted); font-size: 11.5px; }

.human-mission-supplier-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.human-mission-supplier {
  border: 1px solid var(--mesa-border);
  border-radius: 999px;
  padding: 4px 7px;
  color: var(--mesa-muted);
  background: var(--mesa-background);
  font-size: 11px;
}

.human-mission-supplier.is-selected {
  border-color: color-mix(in srgb, var(--mesa-success) 68%, var(--mesa-border));
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-success) 11%, var(--mesa-surface));
}

.human-mission-supplier.is-empty {
  border-color: var(--mesa-warning);
  color: var(--mesa-warning);
}

.human-mission-impact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.human-mission-fact {
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  background: var(--mesa-surface);
}

.human-mission-fact > span,
.human-mission-fact > strong {
  display: block;
}

.human-mission-fact > span {
  color: var(--mesa-muted);
  font-size: 10.5px;
  font-weight: 700;
  text-transform: uppercase;
}

.human-mission-fact > strong {
  margin-top: 4px;
  overflow-wrap: anywhere;
  color: var(--mesa-text);
  font-size: 11.5px;
  line-height: 1.4;
}

.human-mission-fact.is-approve { border-top: 2px solid var(--mesa-success); }
.human-mission-fact.is-reject { border-top: 2px solid var(--mesa-danger); }
.human-mission-fact.is-wait { border-top: 2px solid var(--mesa-warning); }

.human-mission-actions {
  position: sticky;
  bottom: -16px;
  display: flex;
  justify-content: flex-end;
  gap: 7px;
  margin: 16px -16px -16px;
  border-top: 1px solid var(--mesa-border);
  padding: 10px 16px;
  background: color-mix(in srgb, var(--mesa-surface) 94%, transparent);
  backdrop-filter: blur(10px);
}

.human-mission-actions .button { width: auto; }

.human-mission-status {
  margin: 9px 0 0;
  padding: 8px 10px;
  border-left: 2px solid var(--mesa-success);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-success) 10%, var(--mesa-surface));
  font-size: 11.5px;
}

.human-mission-tony-section {
  padding: 10px 0;
  border-bottom: 1px solid var(--mesa-border);
}

.human-mission-tony-section h3,
.human-mission-tony-section p { margin: 4px 0; }
.human-mission-tony-section h3 { color: var(--mesa-text); font-size: 13px; }
.human-mission-tony-section p { color: var(--mesa-muted); font-size: 11.5px; line-height: 1.45; }

.human-mission-tony-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.human-mission-tony-decision {
  display: grid;
  gap: 3px;
  margin-top: 6px;
  padding: 8px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  background: var(--mesa-surface);
}

.human-mission-tony-decision strong { color: var(--mesa-text); font-size: 11.5px; }
.human-mission-tony-decision span,
.human-mission-tony-decision small { color: var(--mesa-muted); font-size: 10.5px; line-height: 1.4; }

.human-mission-dialog {
  color: var(--mesa-text);
  background: var(--mesa-surface);
}

.human-mission-correction-fields {
  display: grid;
  max-height: min(45dvh, 430px);
  gap: 9px;
  overflow-y: auto;
  margin: 12px 0;
  scrollbar-gutter: stable;
}

.human-mission-correction-fields[hidden] { display: none; }

.human-mission-correction-spec {
  display: grid;
  gap: 6px;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
  padding: 10px;
}

.human-mission-correction-spec legend {
  color: var(--mesa-text);
  font-weight: 750;
}

.human-mission-correction-spec p {
  margin: 0;
  color: var(--mesa-muted);
  font-size: 11px;
}

.human-mission-supplier-option {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--mesa-text);
  font-size: 12px;
}

.human-mission-dialog form[aria-busy="true"] {
  cursor: progress;
}

.human-mission-supplier-option input { accent-color: var(--mesa-primary); }

.human-mission-dialog :is(textarea, select) {
  width: 100%;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  padding: 8px;
  color: var(--mesa-text);
  background: var(--mesa-background);
  font: inherit;
}

.agent-queues {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.agent-queue {
  min-height: 130px;
  padding: 11px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--mesa-background) 65%, var(--mesa-surface));
}

.agent-queue-decidir { border-top: 3px solid var(--mesa-warning); }
.agent-queue-excecoes { border-top: 3px solid var(--mesa-danger); }
.agent-queue-acompanhar { border-top: 3px solid var(--mesa-accent); }
.agent-queue-hoje { border-top: 3px solid var(--mesa-success); }

.agent-queue-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.agent-queue h3 {
  margin: 0;
  color: var(--mesa-text);
  font-size: 13px;
}

.agent-queue-count {
  color: var(--mesa-primary);
  font-size: 23px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.agent-queue-help,
.agent-queue-empty {
  margin: 5px 0;
  color: var(--mesa-muted);
  font-size: 10.5px;
  line-height: 1.35;
}

.agent-queue-list {
  display: grid;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}

.agent-queue-list li {
  display: grid;
  gap: 2px;
  color: var(--mesa-muted);
  font-size: 10px;
}

.agent-queue-list strong { color: var(--mesa-text); }

.agent-supervisor-wrap {
  margin-top: 12px;
  padding-top: 11px;
  border-top: 1px solid var(--mesa-border);
}

.agent-supervisor-wrap h3 {
  font-size: 12px;
}

.agent-supervisor {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.agent-supervisor-row {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
  color: var(--mesa-muted);
  font-size: 10.5px;
}

.agent-supervisor-row strong { color: var(--mesa-text); }
.agent-blocked { color: var(--mesa-danger); font-weight: 700; }
.agent-clear { color: var(--mesa-success); }

.kab-mesa-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  margin: 12px 0;
  padding: 10px 12px;
  border: 1px solid var(--mesa-border);
  border-radius: 12px;
  background: color-mix(in srgb, var(--mesa-surface) 92%, transparent);
}

.kab-mesa-search {
  display: grid;
  min-width: min(100%, 380px);
  gap: 4px;
  color: var(--mesa-muted);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.kab-mesa-search input {
  min-height: 34px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  padding: 7px 10px;
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-background) 80%, var(--mesa-surface));
  font: inherit;
  text-transform: none;
}

.kab-mesa-search input:focus {
  border-color: var(--mesa-primary);
  outline: 2px solid color-mix(in srgb, var(--mesa-primary) 24%, transparent);
}

.kab-mesa-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 9px;
}

.kab-mesa-count,
.kab-mesa-notice {
  color: var(--mesa-muted);
  font-size: 11px;
}

.kab-mesa-boundary {
  margin: 10px 0;
  padding: 8px 10px;
  border-left: 2px solid var(--mesa-accent);
  color: var(--mesa-muted);
  background: color-mix(in srgb, var(--mesa-accent) 8%, transparent);
  font-size: 11px;
  line-height: 1.4;
}

.kab-mesa-notice {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-left: 2px solid var(--mesa-warning);
  background: color-mix(in srgb, var(--mesa-warning) 9%, transparent);
}

.modular-runtime {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
  gap: 14px;
  align-items: start;
}

.modular-runtime-card {
  min-width: 0;
}

.modular-runtime-card:has(.modular-card[data-size="wide"]),
.modular-runtime-card:has(.modular-card[data-size="large"]) {
  grid-column: span 2;
}

.modular-runtime-card.is-dragging {
  opacity: .38;
}

.modular-card {
  display: flex;
  min-height: 132px;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--mesa-border);
  border-radius: 15px;
  color: var(--mesa-text);
  background: var(--mesa-surface);
  box-shadow: none;
}

.modular-card[data-size="large"] {
  min-height: 320px;
}

.modular-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px 8px;
  border-bottom: 1px solid var(--mesa-border);
}

.modular-card-title {
  display: flex;
  min-width: 0;
  flex: 1;
  align-items: center;
  gap: 8px;
}

.modular-card-header h2 {
  overflow: hidden;
  margin: 0;
  color: var(--mesa-text);
  font-size: 13px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modular-card-tools {
  display: flex;
  margin-left: auto;
  gap: 2px;
}

.modular-card-tool {
  border: 0;
  padding: 2px 5px;
  color: var(--mesa-muted);
  background: transparent;
  cursor: pointer;
  font-size: 10px;
}

.modular-card-tool:hover,
.modular-card-tool:focus-visible {
  color: var(--mesa-primary);
}

.modular-provenance {
  max-width: 47%;
  overflow: hidden;
  color: var(--mesa-muted);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.modular-controls,
.modular-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 9px 14px;
}

.modular-control {
  display: grid;
  gap: 4px;
  color: var(--mesa-muted);
  font-size: 10px;
  font-weight: 650;
}

.modular-control-label {
  color: var(--mesa-muted);
  font-size: 10px;
  font-weight: 650;
}

.modular-control select,
.modular-control input,
.modular-source-field input,
.modular-source-field select,
.modular-action,
.modular-row-action-form input,
.modular-row-action-form select {
  min-height: 32px;
  border: 1px solid var(--mesa-border);
  border-radius: 7px;
  padding: 4px 7px;
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-background) 72%, var(--mesa-surface));
  font: inherit;
}

.modular-action {
  padding: 5px 11px;
  border-color: var(--mesa-primary);
  color: var(--mesa-text);
  background: color-mix(in srgb, var(--mesa-primary) 17%, var(--mesa-surface));
  cursor: pointer;
  font-size: 11px;
  font-weight: 650;
}

.modular-action:hover,
.modular-action:focus-visible {
  color: var(--mesa-background);
  background: var(--mesa-primary);
}

.modular-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.modular-table th,
.modular-table td {
  padding: 7px 14px;
  border-top: 1px solid var(--mesa-border);
  color: var(--mesa-text);
  text-align: left;
}

.modular-table th {
  position: sticky;
  top: 0;
  color: var(--mesa-muted);
  background: var(--mesa-surface);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.modular-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.modular-row-action-form,
.modular-source-action {
  display: grid;
  gap: 8px;
}

.modular-source-action {
  margin: 0 14px 14px;
  padding: 11px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--mesa-background) 72%, var(--mesa-surface));
}

.modular-source-action-title {
  margin: 0;
  color: var(--mesa-text);
  font-size: 12px;
}

.modular-source-action-context {
  margin: 0;
  color: var(--mesa-primary);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.modular-source-field {
  display: grid;
  gap: 4px;
  color: var(--mesa-muted);
  font-size: 11px;
}

.modular-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
  padding: 12px 14px;
}

.modular-metric {
  padding: 10px;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
}

.modular-metric-label,
.modular-metric-value {
  display: block;
}

.modular-metric-label {
  color: var(--mesa-muted);
  font-size: 10px;
}

.modular-metric-value {
  margin-top: 4px;
  color: var(--mesa-text);
  font-size: 23px;
}

.modular-list,
.modular-timeline {
  margin: 0;
  padding: 12px 28px 16px;
}

.modular-timeline time {
  display: inline-block;
  min-width: 150px;
  color: var(--mesa-muted);
}

.modular-error {
  margin: 0;
  padding: 14px;
  color: var(--mesa-danger);
  font-size: 12px;
  font-weight: 650;
}

.modular-card .cell-status[data-status*="erro"],
.modular-card .cell-status[data-status*="bloque"],
.modular-card .cell-status[data-status*="recus"] {
  color: var(--mesa-danger);
  font-weight: 800;
}

.modular-card .cell-status[data-status*="aguard"],
.modular-card .cell-status[data-status*="atenc"] {
  color: var(--mesa-warning);
  font-weight: 800;
}

.modular-card .cell-status[data-status*="liberad"],
.modular-card .cell-status[data-status*="conclu"] {
  color: var(--mesa-success);
  font-weight: 800;
}

@media (max-width: 760px) {
  .kab-mesa-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .modular-runtime-card:has(.modular-card[data-size="wide"]),
  .modular-runtime-card:has(.modular-card[data-size="large"]) {
    grid-column: auto;
  }

  .modular-card-header {
    flex-direction: column;
  }

  .agent-home-heading { flex-direction: column; }
  .agent-queues { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .modular-provenance {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .agent-queues { grid-template-columns: 1fr; }
}

@media (max-width: 1240px) {
  .kab-app-layout {
    grid-template-columns: 190px minmax(0, 1fr) 310px;
  }

  .kab-tony-panel { width: 310px; }

  .kab-app-layout:has(.kab-tony-panel.is-collapsed) {
    grid-template-columns: 190px minmax(0, 1fr) 58px;
  }

  .kab-tony-panel.is-collapsed { width: 58px; }
}

@media (max-width: 900px) {
  .mesa-unlocked { overflow: auto; }

  .kab-app-layout,
  .kab-app-layout:has(.kab-tony-panel.is-collapsed) {
    height: auto;
    min-height: 100vh;
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .kab-sidebar { width: 76px; padding: 12px 7px; }
  .kab-sidebar-brand div,
  .kab-sidebar-links { display: none; }
  .kab-sidebar-mark { margin: 0 auto 12px; }
  .kab-nav-item { overflow: hidden; padding: 9px 5px; font-size: 9px; text-align: center; }
  .kab-mainarea { height: auto; min-height: 100vh; }
  .kab-main-scroll { height: auto; overflow: visible; }
  .kab-main-topbar { align-items: flex-start; flex-direction: column; }
  .kab-main-actions { justify-content: flex-start; }

  .kab-tony-panel,
  .kab-tony-panel.is-collapsed {
    position: fixed;
    z-index: 20;
    right: 0;
    bottom: 0;
    top: auto;
    width: min(390px, calc(100vw - 76px));
    height: min(72vh, 620px);
    box-shadow: -12px -8px 40px rgb(0 0 0 / 35%);
  }

  .kab-tony-panel.is-collapsed {
    width: 58px;
    height: 52px;
  }

  .kab-tony-panel:not(.is-collapsed) {
    overflow-y: auto;
    scrollbar-gutter: stable;
  }
}

@media (min-width: 561px) and (max-width: 900px) {
  .kab-tony-panel.is-collapsed {
    right: auto;
    left: 9px;
    bottom: 10px;
    border: 1px solid var(--mesa-border);
    border-radius: 9px;
  }
}

@media (max-width: 560px) {
  .kab-app-layout,
  .kab-app-layout:has(.kab-tony-panel.is-collapsed) {
    display: block;
    position: relative;
  }

  .kab-sidebar {
    position: sticky;
    width: 100%;
    height: auto;
    flex-direction: row;
    align-items: center;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--mesa-border);
    padding-inline-end: 72px;
  }

  .kab-sidebar-brand { padding: 0 6px 0 0; }
  .kab-sidebar-mark { width: 30px; height: 30px; margin: 0; }
  .kab-sidebar-nav { display: flex; min-width: max-content; }
  .kab-nav-item { width: auto; white-space: nowrap; }
  .kab-nav-transition { margin-top: 0; }
  .kab-main-scroll { padding: 10px; }
  .kab-tony-panel,
  .kab-tony-panel.is-collapsed { width: min(360px, 94vw); }
  .kab-tony-panel.is-collapsed {
    position: absolute;
    top: 8px;
    right: 8px;
    bottom: auto;
    width: 58px;
    border: 1px solid var(--mesa-border);
    border-radius: 9px;
  }

  .master-data-panel .decision-queue-viewport,
  .fiscal-policy-panel .decision-queue-viewport {
    inline-size: 100%;
  }
}

@media (max-width: 760px) {
  .mesa-kab-shell .master-data-panel > .panel-heading,
  .mesa-kab-shell .fiscal-policy-panel > .panel-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 8px;
  }

  .mesa-kab-shell .master-data-panel > .panel-heading h2,
  .mesa-kab-shell .fiscal-policy-panel > .panel-heading h2 {
    font-size: 22px;
  }

  .mesa-kab-shell .master-data-panel .fiscal-policy-filters,
  .mesa-kab-shell .fiscal-policy-panel .fiscal-policy-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 8px;
  }

  .mesa-kab-shell .master-data-panel .fiscal-policy-filters > label:first-child,
  .mesa-kab-shell .fiscal-policy-panel .fiscal-policy-filters > label:first-child {
    grid-column: 1 / -1;
  }

  .mesa-kab-shell .fiscal-policy-panel .fiscal-policy-filters .panel-note {
    grid-column: auto;
    align-self: center;
  }

  .mesa-kab-shell .fiscal-policy-toolbar {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    margin: 7px 0;
  }

  .mesa-kab-shell .decision-queue-summary-bar {
    flex-flow: row nowrap;
    align-items: center;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .mesa-kab-shell .decision-queue-summary-bar::-webkit-scrollbar { display: none; }

  .mesa-kab-shell .decision-queue-metrics.metric-grid {
    flex: 0 0 auto;
    flex-wrap: nowrap;
  }

  .mesa-kab-shell .decision-queue-filter-summary {
    flex: 0 0 auto;
  }

}

@container mesa-card (max-width: 860px) {
  .human-mission-center {
    grid-template-columns: minmax(240px, 38%) minmax(0, 1fr);
  }

  .human-mission-impact-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .mesa-kab-shell .panel-heading,
  .mesa-kab-shell :is(.fiscal-nfe-subheading, .fiscal-nfe-intent-items-heading) {
    flex-wrap: wrap;
  }

  .mesa-kab-shell .filters,
  .mesa-kab-shell .fiscal-policy-filters,
  .mesa-kab-shell .fiscal-sped-closeout-filter {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mesa-kab-shell .filters .search-field,
  .mesa-kab-shell .fiscal-policy-filters > label:first-child {
    grid-column: 1 / -1;
  }

  .mesa-kab-shell .master-data-cnpj-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mesa-kab-shell .master-data-cnpj-form .button {
    grid-column: 1 / -1;
  }

  .mesa-kab-shell .fiscal-nfe-intent-item {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mesa-kab-shell .fiscal-nfe-intent-item .fiscal-nfe-reference-key {
    grid-column: 1 / -1;
  }

  .mesa-kab-shell .modular-runtime {
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  }

  .mesa-kab-shell .agent-queues {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container mesa-card (max-width: 620px) {
  .human-mission-center {
    height: min(760px, calc(100dvh - 150px));
    min-height: 560px;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: minmax(180px, 34%) minmax(0, 1fr);
  }

  .human-mission-list-panel {
    border-right: 0;
    border-bottom: 1px solid var(--mesa-border);
  }

  .human-mission-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .human-mission-actions .button { width: 100%; }

  .mesa-kab-shell .panel-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .mesa-kab-shell .panel-note {
    align-self: flex-start;
    text-align: start;
  }

  .mesa-kab-shell :is(
    .filters,
    .fiscal-policy-filters,
    .fiscal-sped-closeout-filter,
    .master-data-cnpj-form,
    .fiscal-entry-master-fields,
    .fiscal-nfe-intent-header,
    .fiscal-nfe-intent-item
  ) {
    grid-template-columns: minmax(0, 1fr);
  }

  .mesa-kab-shell .filters .search-field,
  .mesa-kab-shell .fiscal-policy-filters > label:first-child,
  .mesa-kab-shell .master-data-cnpj-form .button,
  .mesa-kab-shell .fiscal-nfe-intent-item .fiscal-nfe-reference-key {
    grid-column: auto;
  }

  .mesa-kab-shell .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mesa-kab-shell .native-item {
    grid-template-columns: minmax(0, 1fr);
  }

  .mesa-kab-shell .native-item > small {
    grid-column: auto;
  }

  .mesa-kab-shell .native-row-head,
  .mesa-kab-shell :is(.fiscal-nfe-subheading, .fiscal-nfe-intent-items-heading) {
    align-items: flex-start;
    flex-direction: column;
  }

  .mesa-kab-shell .receipt-projection-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .mesa-kab-shell .receipt-projection-row .receipt-projection-action {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
  }

  .mesa-kab-shell .fiscal-policy-toolbar,
  .mesa-kab-shell .review-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .mesa-kab-shell .kab-mesa-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .mesa-kab-shell .kab-mesa-search {
    min-inline-size: 0;
  }

  .mesa-kab-shell .kab-mesa-toolbar-actions {
    flex-wrap: wrap;
  }

  .mesa-kab-shell .modular-runtime {
    grid-template-columns: minmax(0, 1fr);
  }

  .mesa-kab-shell .modular-runtime-card:has(.modular-card[data-size="wide"]),
  .mesa-kab-shell .modular-runtime-card:has(.modular-card[data-size="large"]) {
    grid-column: auto;
  }
}

@container mesa-card (max-width: 430px) {
  .mesa-kab-shell .metric-grid,
  .mesa-kab-shell .agent-queues {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Telemetria read-only da atenção humana, fora da Home operacional. */
.human-attention-area[hidden] { display: none; }

.human-attention-panel {
  min-height: calc(100dvh - 128px);
  color: var(--mesa-text);
  background: var(--mesa-surface);
}

.human-attention-heading,
.human-attention-heading-actions,
.human-attention-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.human-attention-heading-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.human-attention-heading-actions label {
  color: var(--mesa-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.human-attention-heading-actions select {
  min-height: 34px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  padding: 5px 9px;
  color: var(--mesa-text);
  background: var(--mesa-card);
  font: inherit;
  font-size: 11px;
}

.human-attention-heading-actions select:focus-visible {
  outline: 2px solid var(--mesa-accent);
  outline-offset: 2px;
}

.human-attention-state {
  margin: 14px 0;
  padding: 10px 12px;
  border-left: 3px solid var(--mesa-accent);
  border-radius: 7px;
  color: var(--mesa-muted);
  background: var(--mesa-card-subtle);
  font-size: 11px;
  line-height: 1.5;
}

.human-attention-state[data-state="loading"] { border-left-color: var(--mesa-warning); }
.human-attention-state[data-state="error"] { border-left-color: var(--mesa-danger); }
.human-attention-state[data-state="ready"] { border-left-color: var(--mesa-success); }

#humanAttentionContent[hidden],
#humanAttentionEmpty[hidden],
#commitmentEscalationContent[hidden],
#decisionEffectIntegrityContent[hidden],
#humanMissionSurfaceContent[hidden] { display: none; }

.human-attention-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.human-attention-metric {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card);
}

.human-attention-metric h3 {
  margin: 0 0 9px;
  color: var(--mesa-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.human-attention-metric > strong {
  display: block;
  margin-bottom: 11px;
  color: var(--mesa-primary);
  font-size: clamp(21px, 2.4vw, 30px);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.human-attention-metric dl {
  display: grid;
  gap: 5px;
  margin: 0;
}

.human-attention-metric dl > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding-top: 5px;
  border-top: 1px solid var(--mesa-border);
}

.human-attention-metric dt,
.human-attention-metric dd {
  margin: 0;
  font-size: 10.5px;
}

.human-attention-metric dt { color: var(--mesa-muted); }
.human-attention-metric dd {
  color: var(--mesa-text);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}

.human-attention-section-heading { margin-bottom: 10px; }
.human-attention-section-heading h3 { margin: 0; font-size: 14px; }
.human-attention-section-heading span { color: var(--mesa-muted); font-size: 10px; }

.human-attention-escalations,
.human-attention-integrity,
.human-attention-surface-quality {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--mesa-border);
}

.human-attention-escalations .human-attention-state,
.human-attention-integrity .human-attention-state,
.human-attention-surface-quality .human-attention-state { margin-bottom: 10px; }

.human-attention-escalation-content,
.human-attention-surface-content {
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  align-items: stretch;
  gap: 10px;
}

.human-attention-surface-basis {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 13px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  color: var(--mesa-muted);
  background: var(--mesa-card-subtle);
  font-size: 10.5px;
  line-height: 1.55;
}

@media (max-width: 1180px) {
  .human-attention-metrics-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
}

@media (max-width: 700px) {
  .human-attention-heading { align-items: flex-start; flex-direction: column; }
  .human-attention-heading-actions { justify-content: flex-start; }
  .human-attention-metrics-grid { grid-template-columns: minmax(0, 1fr); }
  .human-attention-section-heading { align-items: flex-start; flex-direction: column; }
  .human-attention-escalation-content,
  .human-attention-surface-content { grid-template-columns: minmax(0, 1fr); }
}

/* Card técnico nativo: Selina preenche; o humano confere e confirma. */
.product-master-area[hidden] { display: none; }

.product-master-panel {
  min-height: calc(100dvh - 128px);
  overflow: visible;
}

.product-master-selector {
  display: grid;
  gap: 8px;
  margin: 16px 0;
}

.product-master-selector > label {
  color: var(--mesa-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.product-master-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 8px;
}

.product-master-selector > input,
.product-master-field input,
.product-master-field select,
.product-master-field textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  color: var(--mesa-text);
  background: var(--mesa-card);
  font: inherit;
}

.product-master-selector > input {
  max-width: 620px;
  padding: 9px 11px;
}

.product-master-card-list-item { min-width: 0; }

.product-master-card-choice {
  display: grid;
  width: 100%;
  min-height: 112px;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  color: var(--mesa-text);
  background: var(--mesa-card);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
}

.product-master-card-choice:hover:not(:disabled) {
  border-color: var(--mesa-accent);
  transform: translateY(-1px);
}

.product-master-card-choice:focus-visible {
  outline: 2px solid var(--mesa-accent);
  outline-offset: 2px;
}

.product-master-card-choice.is-active {
  border-color: var(--mesa-accent);
  box-shadow: 0 0 0 1px var(--mesa-accent);
}

.product-master-card-choice:disabled {
  opacity: .65;
  cursor: wait;
}

.product-master-card-choice-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.product-master-card-choice-heading strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.product-master-card-status {
  flex: 0 0 auto;
  padding: 3px 6px;
  border: 1px solid var(--mesa-warning);
  border-radius: 999px;
  color: var(--mesa-warning);
  font-size: 9px;
  font-weight: 800;
}

.product-master-card-status[data-state="confirmed"] {
  border-color: var(--mesa-success);
  color: var(--mesa-success);
}

.product-master-card-status[data-state="needs_attention"] {
  border-color: var(--mesa-danger);
  color: var(--mesa-danger);
}

.product-master-card-description {
  overflow-wrap: anywhere;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.product-master-card-meta,
.product-master-card-list-state {
  margin: 0;
  color: var(--mesa-muted);
  font-size: 10px;
  line-height: 1.4;
}

.product-master-card-list-state {
  grid-column: 1 / -1;
  padding: 12px;
  border: 1px dashed var(--mesa-border);
  border-radius: 9px;
}

.product-master-state {
  margin: 12px 0;
  padding: 10px 12px;
  border-left: 3px solid var(--mesa-accent);
  border-radius: 7px;
  color: var(--mesa-muted);
  background: var(--mesa-card-subtle);
  font-size: 11px;
  line-height: 1.5;
}

.product-master-state[data-state="error"] { border-left-color: var(--mesa-danger); }
.product-master-state[data-state="accepted"] { border-left-color: var(--mesa-success); }

.product-master-content {
  display: grid;
  gap: 18px;
  margin-top: 16px;
}

.product-master-content[hidden] { display: none; }

.product-master-content > section {
  padding: 14px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card-subtle);
}

.product-master-content h4,
.product-master-characteristic-heading h5 { margin: 0 0 12px; }

.product-master-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.product-master-heading h3,
.product-master-heading p { margin: 0; }

.product-master-pill {
  padding: 5px 8px;
  border: 1px solid var(--mesa-warning);
  border-radius: 999px;
  color: var(--mesa-warning);
  font-size: 10px;
  font-weight: 700;
}

.product-master-pill[data-state="confirmed"] {
  border-color: var(--mesa-success);
  color: var(--mesa-success);
}

.product-master-progress {
  display: grid;
  gap: 10px;
}

.product-master-progress-status {
  justify-self: start;
  margin: 0;
  padding: 4px 8px;
  border: 1px solid var(--mesa-warning);
  border-radius: 999px;
  color: var(--mesa-warning);
  font-size: 10px;
  font-weight: 800;
}

.product-master-progress-status[data-state="confirmed"] {
  border-color: var(--mesa-success);
  color: var(--mesa-success);
}

.product-master-progress-status[data-state="drifted"] {
  border-color: var(--mesa-danger);
  color: var(--mesa-danger);
}

.product-master-progress-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
  margin: 0;
}

.product-master-progress-metric {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  background: var(--mesa-card);
}

.product-master-progress-metric dt {
  color: var(--mesa-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.product-master-progress-metric dd {
  margin: 0;
  color: var(--mesa-text);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
}

.product-master-artifacts,
.product-master-form,
.product-master-characteristics { display: grid; gap: 10px; }

.product-master-artifact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  background: var(--mesa-card);
}

.product-master-artifact > div { display: grid; gap: 2px; }
.product-master-artifact small { color: var(--mesa-muted); }

.product-master-pdf {
  width: 100%;
  min-height: 68dvh;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  background: white;
}

.product-master-grid,
.product-master-characteristic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-master-field {
  display: grid;
  align-content: start;
  gap: 5px;
  color: var(--mesa-muted);
  font-size: 10px;
  font-weight: 700;
}

.product-master-field input,
.product-master-field select,
.product-master-field textarea {
  padding: 8px 9px;
  color: var(--mesa-text);
  font-weight: 500;
  resize: vertical;
}

.product-master-field input[readonly] {
  color: var(--mesa-muted);
  background: color-mix(in srgb, var(--mesa-card-subtle) 80%, transparent);
}

.product-master-characteristic-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 8px;
}

.product-master-characteristic-heading h5 { margin: 0; }

.product-master-characteristic {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
  background: var(--mesa-card);
}

.product-master-characteristic legend {
  padding: 0 5px;
  color: var(--mesa-text);
  font-size: 11px;
  font-weight: 800;
}

.product-master-characteristic > button { justify-self: end; }

.product-master-gaps {
  margin: 0 0 10px;
  padding: 9px 11px;
  border-left: 3px solid var(--mesa-warning);
  color: var(--mesa-warning);
  background: color-mix(in srgb, var(--mesa-warning) 7%, var(--mesa-card));
  font-size: 11px;
}

.product-master-submit-status,
.product-master-note {
  margin: 0;
  color: var(--mesa-muted);
  font-size: 10.5px;
  line-height: 1.5;
}

@media (max-width: 700px) {
  .product-master-grid,
  .product-master-characteristic-grid,
  .product-master-card-list { grid-template-columns: minmax(0, 1fr); }
  .product-master-heading,
  .product-master-artifact,
  .product-master-characteristic-heading { align-items: stretch; flex-direction: column; }
}

/* Dossiê RFQ público: seleção opaca, leitura comercial/técnica e Tony sem efeito. */
.rfq-dossier-area[hidden],
.rfq-dossier-detail[hidden] { display: none; }

.rfq-dossier-panel {
  min-height: calc(100dvh - 128px);
  overflow: visible;
}

.rfq-dossier-layout {
  display: grid;
  grid-template-columns: minmax(230px, 320px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  margin-top: 16px;
}

.rfq-dossier-selector,
.rfq-dossier-detail {
  display: grid;
  gap: 12px;
}

.rfq-dossier-selector {
  position: sticky;
  top: 12px;
  padding: 12px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card-subtle);
}

.rfq-dossier-selector > label {
  color: var(--mesa-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.rfq-dossier-selector > input {
  width: 100%;
  box-sizing: border-box;
  padding: 9px 11px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  color: var(--mesa-text);
  background: var(--mesa-card);
  font: inherit;
}

.rfq-dossier-state {
  margin: 0;
  padding: 9px 10px;
  border-left: 3px solid var(--mesa-accent);
  border-radius: 7px;
  color: var(--mesa-muted);
  background: var(--mesa-card);
  font-size: 10.5px;
  line-height: 1.45;
}

.rfq-dossier-state[data-state="error"] { border-left-color: var(--mesa-danger); }
.rfq-dossier-state[data-state="ready"] { border-left-color: var(--mesa-success); }

.rfq-dossier-list { display: grid; gap: 8px; }

.rfq-dossier-choice {
  display: grid;
  width: 100%;
  gap: 5px;
  padding: 10px;
  border: 1px solid var(--mesa-border);
  border-radius: 9px;
  color: var(--mesa-text);
  background: var(--mesa-card);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.rfq-dossier-choice:hover:not(:disabled),
.rfq-dossier-choice.is-active {
  border-color: var(--mesa-accent);
  box-shadow: 0 0 0 1px var(--mesa-accent);
}

.rfq-dossier-choice:focus-visible {
  outline: 2px solid var(--mesa-accent);
  outline-offset: 2px;
}

.rfq-dossier-choice:disabled { cursor: wait; opacity: .65; }
.rfq-dossier-choice strong { overflow-wrap: anywhere; font-size: 12px; }
.rfq-dossier-choice span,
.rfq-dossier-choice small { color: var(--mesa-muted); font-size: 10px; }

.rfq-dossier-detail-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card);
}

.rfq-dossier-detail-heading h3,
.rfq-dossier-detail-heading p { margin: 0; }

.rfq-dossier-pill {
  padding: 5px 8px;
  border: 1px solid var(--mesa-accent);
  border-radius: 999px;
  color: var(--mesa-accent);
  font-size: 10px;
  font-weight: 700;
}

.rfq-dossier-detail > section {
  padding: 14px;
  border: 1px solid var(--mesa-border);
  border-radius: 10px;
  background: var(--mesa-card-subtle);
}

.rfq-dossier-detail h4 { margin: 0 0 12px; }

.rfq-tony-reading {
  border-left: 4px solid var(--mesa-accent) !important;
  background: color-mix(in srgb, var(--mesa-accent) 7%, var(--mesa-card)) !important;
}

.rfq-tony-reading p { margin: 5px 0 0; line-height: 1.5; }

.rfq-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 8px;
  margin: 0;
}

.rfq-summary-grid > div {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid var(--mesa-border);
  border-radius: 8px;
  background: var(--mesa-card);
}

.rfq-summary-grid dt {
  color: var(--mesa-muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.rfq-summary-grid dd {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 11px;
  font-weight: 700;
}

.rfq-characteristics-wrap { margin-top: 12px; overflow-x: auto; }

.rfq-characteristics {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}

.rfq-characteristics th,
.rfq-characteristics td {
  padding: 8px;
  border-bottom: 1px solid var(--mesa-border);
  text-align: left;
  vertical-align: top;
}

.rfq-characteristics th { color: var(--mesa-muted); }

.rfq-pending-checks { display: grid; gap: 8px; }

.rfq-pending-check {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-left: 3px solid var(--mesa-warning);
  border-radius: 7px;
  background: var(--mesa-card);
}

.rfq-pending-check[data-severity="blocking"] { border-left-color: var(--mesa-danger); }
.rfq-pending-check strong { font-size: 11px; }
.rfq-pending-check p,
.rfq-pending-check small { margin: 0; color: var(--mesa-muted); font-size: 10px; }

.rfq-dossier-boundary {
  margin: 0;
  color: var(--mesa-muted);
  font-size: 10px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .rfq-dossier-layout { grid-template-columns: minmax(0, 1fr); }
  .rfq-dossier-selector { position: static; }
}

@media (max-width: 700px) {
  .rfq-dossier-detail-heading { align-items: stretch; flex-direction: column; }
}

/* Conciliação legível: o pane que preenche dá respiro ao card — linhas com
   altura de leitura, não de auditoria comprimida. A regra base do tema
   (.mesa-kab-shell .review-card) permanece intacta. */
.mesa-kab-shell .area-finance-reconciliation .review-card {
  padding: 18px 20px;
  row-gap: 10px;
}

.mesa-kab-shell .area-finance-reconciliation .review-card h3 {
  font-size: 17px;
  line-height: 1.35;
}

.mesa-kab-shell .area-finance-reconciliation .review-card > p,
.mesa-kab-shell .area-finance-reconciliation .review-meta span {
  font-size: 13.5px;
  line-height: 1.55;
}

.mesa-kab-shell .area-finance-reconciliation .attention-preview li {
  padding: 10px 12px;
  font-size: 13.5px;
  line-height: 1.5;
}

.mesa-kab-shell .area-finance-reconciliation .review-meta {
  gap: 8px 14px;
}
