/* SWAP OS 42.92.0 — responsive UI polish shell 12.
 * Visual-only refinements for existing screens; no new modules or workflow hooks.
 */
:root {
  --swap-ui-focus: rgba(36, 95, 232, .28);
  --swap-ui-tap: 44px;
}
.swap-os-body,
.swap-os-login-body {
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}
.swap-os-body :where(a, button, input, select, textarea, [tabindex]):focus-visible,
.swap-os-login-body :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--swap-ui-focus);
  outline-offset: 2px;
}
.swap-os-body :where(button, .btn, input[type="button"], input[type="submit"], input[type="reset"]),
.swap-os-login-body :where(button, .btn, input[type="button"], input[type="submit"], input[type="reset"]) {
  touch-action: manipulation;
}
.swap-os-body :where(.panel, .swap-os-card, .swap-card, .card, .execution-section, .project-command-card) {
  overflow-wrap: anywhere;
}
.swap-os-body :where(.table-wrap, .domain-table, .finance-table, .decision-portfolio-table) {
  scrollbar-width: thin;
  scrollbar-color: #c4cede transparent;
}
.swap-os-body :where(.table-wrap, .domain-table, .finance-table, .decision-portfolio-table) table {
  border-collapse: separate;
  border-spacing: 0;
}
.swap-os-body :where(.table-wrap, .domain-table, .finance-table, .decision-portfolio-table) th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f7f9fc;
}
.swap-os-body :where(.muted, .description, .helper-text, .field-help, .empty-state) {
  text-wrap: pretty;
}
@media (max-width: 760px) {
  .swap-os-body { padding-bottom: env(safe-area-inset-bottom, 0); }
  .swap-os-body :where(button, .btn, input[type="button"], input[type="submit"], input[type="reset"]) {
    min-height: var(--swap-ui-tap);
  }
  .swap-os-body :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    min-height: var(--swap-ui-tap);
    font-size: 16px;
  }
  .swap-os-body :where(.panel, .swap-os-card, .swap-card, .card) {
    max-width: 100%;
  }
  .swap-os-body :where(.panel-head, .panel-header, .project-toolbar, .execution-item-actions) {
    min-width: 0;
  }
  .swap-os-body :where(.table-wrap, .domain-table, .finance-table, .decision-portfolio-table) {
    max-width: calc(100vw - 28px);
  }
  .swap-os-login-body { min-height: 100svh; padding: 16px 12px calc(16px + env(safe-area-inset-bottom, 0)); }
  .swap-os-login-body :where(.swap-login-card, .swap-onboarding-card) {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
}
@media (max-width: 380px) {
  .swap-os-body :where(.project-kpi-strip, .project-metrics) { gap: 7px; }
  .swap-os-body :where(.project-kpi-strip > div) { padding: 11px; }
  .swap-os-body :where(.project-kpi-strip strong) { font-size: 20px; }
  .swap-os-body :where(.calendar-command-strip) { gap: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  .swap-os-body :where(*), .swap-os-login-body :where(*) {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
