body[data-admin-ledger-provider-mt5-v2="true"] {
  overflow-x: clip;
  background: var(--ui-bg-page);
  color: var(--ui-text-primary);
  font-family: var(--ui-font-sans);
  letter-spacing: 0;
}

body[data-admin-ledger-provider-mt5-v2="true"] .workspace {
  min-width: 0;
  padding: var(--ui-space-lg);
  background: var(--ui-bg-page);
}

.alp-skip {
  position: fixed;
  z-index: 1000;
  top: max(8px, var(--ui-safe-top));
  left: max(8px, var(--ui-safe-left));
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: var(--ui-radius-control);
  color: var(--ui-text-on-brand);
  background: var(--ui-brand);
}

.alp-skip:focus { transform: translateY(0); }

.alp-context {
  display: grid;
  gap: var(--ui-space-sm);
  margin-bottom: var(--ui-space-lg);
  padding-block: var(--ui-space-md);
  border-block: 1px solid var(--ui-border);
}

.alp-context__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--ui-space-lg);
}

.alp-context__head :where(p, h2, span),
.alp-privacy { margin: 0; }

.alp-context__head p {
  color: var(--ui-brand);
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.alp-context__head h2 {
  margin-block: 4px;
  color: var(--ui-text-primary);
  font-size: 28px;
  line-height: var(--ui-leading-tight);
  letter-spacing: 0;
}

.alp-context__head span,
.alp-privacy,
.alp-mobile-notice span,
.alp-write-boundary span {
  color: var(--ui-text-secondary);
  font-size: 14px;
}

.alp-controls,
.alp-segment {
  display: flex;
  align-items: center;
  gap: 4px;
}

.alp-segment {
  padding: 3px;
  border: 1px solid var(--ui-border);
  background: var(--ui-bg-subtle);
}

.alp-segment button,
.alp-refresh {
  min-width: var(--ui-touch-target);
  min-height: var(--ui-touch-target);
  padding-inline: 12px;
  border: 0;
  border-radius: var(--ui-radius-control);
  color: var(--ui-text-secondary);
  background: transparent;
}

.alp-segment button.is-active,
.alp-segment button[aria-pressed="true"] {
  color: var(--ui-text-primary);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-panel);
}

.alp-refresh {
  color: var(--ui-text-on-brand);
  background: var(--ui-brand);
}

.alp-scope,
.alp-security,
.alp-contracts {
  display: grid;
  gap: var(--ui-space-sm);
}

.alp-scope { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.alp-security { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.alp-contracts { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.alp-context[data-route="/account-change-report"] .alp-contract:not([data-contract-kind="wallet"]):not([data-contract-kind="ledger"]):not([data-contract-kind="command"]),
.alp-context[data-route="/transaction-management"] .alp-contract:not([data-contract-kind="wallet"]):not([data-contract-kind="ledger"]):not([data-contract-kind="command"]),
.alp-context[data-route="/storage-status"] .alp-contract:not([data-contract-kind="wallet"]):not([data-contract-kind="ledger"]):not([data-contract-kind="command"]),
.alp-context[data-route="/storage-read-models"] .alp-contract:not([data-contract-kind="wallet"]):not([data-contract-kind="ledger"]):not([data-contract-kind="command"]),
.alp-context[data-route="/mt5-manager"] .alp-contract:not([data-contract-kind="mt5"]):not([data-contract-kind="reconciliation"]):not([data-contract-kind="command"]),
.alp-context[data-route="/mt5-account-detail"] .alp-contract:not([data-contract-kind="mt5"]):not([data-contract-kind="reconciliation"]):not([data-contract-kind="command"]),
.alp-context[data-route="/mt5-reconciliation"] .alp-contract:not([data-contract-kind="mt5"]):not([data-contract-kind="reconciliation"]):not([data-contract-kind="command"]) {
  display: none;
}

.alp-scope > div,
.alp-security-chip,
.alp-contract {
  min-width: 0;
  padding: 8px;
}

.alp-scope > div {
  border-left: 3px solid var(--ui-brand);
  background: var(--ui-bg-subtle);
}

.alp-security-chip,
.alp-contract {
  border: 1px solid var(--ui-border);
  background: var(--ui-surface);
}

.alp-scope :where(span, strong),
.alp-security-chip :where(span, strong),
.alp-contract :where(span, strong) { display: block; }

.alp-scope span,
.alp-security-chip span,
.alp-contract span {
  color: var(--ui-text-secondary);
  font-size: 12px;
}

.alp-scope strong,
.alp-security-chip strong,
.alp-contract strong {
  margin-bottom: 4px;
  color: var(--ui-text-primary);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.alp-security-chip::before {
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--ui-success);
  content: "";
}

.alp-contract[data-contract-kind="wallet"] { border-left: 3px solid var(--ui-brand); }
.alp-contract[data-contract-kind="ledger"] { border-left: 3px solid var(--ui-info); }
.alp-contract[data-contract-kind="provider"] { border-left: 3px solid var(--ui-warning); }
.alp-contract[data-contract-kind="callback"] { border-left: 3px solid var(--ui-info); }
.alp-contract[data-contract-kind="reconciliation"] { border-left: 3px solid var(--ui-error); }
.alp-contract[data-contract-kind="mt5"] { border-left: 3px solid var(--ui-success); }
.alp-contract[data-contract-kind="command"] { border-left: 3px solid var(--ui-text-secondary); }

.alp-state,
.alp-mobile-notice,
.alp-write-boundary {
  display: flex;
  align-items: center;
  gap: var(--ui-space-sm);
  min-height: var(--ui-touch-target);
  padding: var(--ui-space-sm);
  border: 1px solid var(--ui-border);
  background: var(--ui-bg-subtle);
}

.alp-state > span {
  width: 88px;
  height: 12px;
  background: var(--ui-surface-disabled);
  animation: alp-pulse 1.2s ease-in-out infinite;
}

.alp-write-boundary {
  border-color: var(--ui-warning);
  background: var(--ui-warning-soft);
}

.alp-mobile-notice { display: none; }

body[data-admin-ledger-provider-mt5-v2="true"] :where(.panel, .stat) {
  border-color: var(--ui-border);
  border-radius: var(--ui-radius-panel);
  color: var(--ui-text-primary);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-panel);
}

body[data-admin-ledger-provider-mt5-v2="true"] .table-wrap {
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-control);
  background: var(--ui-surface);
}

body[data-admin-ledger-provider-mt5-v2="true"] table {
  width: 100%;
  border-collapse: collapse;
}

body[data-admin-ledger-provider-mt5-v2="true"] :where(th, td) {
  padding: 12px;
  border-bottom: 1px solid var(--ui-border);
  text-align: left;
  overflow-wrap: anywhere;
}

body[data-admin-ledger-provider-mt5-v2="true"] [data-financial-value="complete"] {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body[data-admin-ledger-provider-mt5-v2="true"] [data-operational-state] { font-weight: 700; }

body[data-admin-ledger-provider-mt5-v2="true"] :is([data-operational-state*="UNKNOWN"], [data-operational-state*="FAILED"], [data-operational-state*="UNBALANCED"], [data-operational-state*="MISMATCH"]) {
  color: var(--ui-error);
}

body[data-admin-ledger-provider-mt5-v2="true"] :is([data-operational-state*="PENDING"], [data-operational-state*="STALE"], [data-operational-state*="REVIEW"], [data-operational-state*="TIMEOUT"]) {
  color: var(--ui-warning);
}

body[data-admin-ledger-provider-mt5-v2="true"] [data-high-risk-action="true"] {
  min-height: var(--ui-touch-target);
  border: 1px solid var(--ui-error);
}

body[data-admin-ledger-provider-mt5-v2="true"] [data-live-write-disabled="true"] {
  cursor: not-allowed;
  opacity: .58;
}

body[data-admin-ledger-provider-mt5-v2="true"] :focus-visible {
  outline: 3px solid var(--ui-focus);
  outline-offset: 2px;
}

body[data-admin-ledger-provider-mt5-v2="true"] [data-network-state="offline"] .alp-context::after {
  padding: var(--ui-space-sm);
  color: var(--ui-error);
  background: var(--ui-error-soft);
  content: "OFFLINE";
}

@media (max-width: 900px) {
  body[data-admin-ledger-provider-mt5-v2="true"] #app { display: block; }

  body[data-admin-ledger-provider-mt5-v2="true"] .sidebar {
    position: sticky;
    z-index: 30;
    top: 0;
    display: grid;
    height: auto;
    padding: max(8px, var(--ui-safe-top)) max(12px, var(--ui-safe-right)) 8px max(12px, var(--ui-safe-left));
    overflow: hidden;
    background: var(--ui-bg-inverse);
  }

  body[data-admin-ledger-provider-mt5-v2="true"] .brand {
    gap: 8px;
    min-height: var(--ui-touch-target);
    padding: 0 4px 6px;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] .brand-mark {
    width: 36px;
    height: 36px;
    border-radius: var(--ui-radius-control);
  }

  body[data-admin-ledger-provider-mt5-v2="true"] .sidebar nav {
    display: flex;
    gap: 4px;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] .menu-group { display: contents; }
  body[data-admin-ledger-provider-mt5-v2="true"] .menu-group > button { display: none; }
  body[data-admin-ledger-provider-mt5-v2="true"] .menu-group > div { display: flex; gap: 4px; }

  body[data-admin-ledger-provider-mt5-v2="true"] .menu-item {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    padding: 8px 12px;
    white-space: nowrap;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] .workspace {
    padding: max(16px, var(--ui-safe-top)) max(16px, var(--ui-safe-right)) max(24px, var(--ui-safe-bottom)) max(16px, var(--ui-safe-left));
  }

  .alp-context__head,
  .alp-controls,
  .alp-write-boundary {
    align-items: stretch;
    flex-direction: column;
  }

  .alp-controls { width: 100%; }
  .alp-segment { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .alp-segment:nth-child(2) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .alp-scope,
  .alp-security { grid-template-columns: 1fr 1fr; }
  .alp-contracts { grid-template-columns: 1fr; }

  .alp-mobile-notice {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] .table-wrap {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] :is(table, tbody) { display: block; }

  body[data-admin-ledger-provider-mt5-v2="true"] thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
  }

  body[data-admin-ledger-provider-mt5-v2="true"] tbody tr[data-responsive-card="true"] {
    display: grid;
    gap: 0;
    margin-bottom: var(--ui-space-sm);
    padding: var(--ui-space-sm);
    border: 1px solid var(--ui-border);
    border-radius: var(--ui-radius-panel);
    background: var(--ui-surface);
  }

  body[data-admin-ledger-provider-mt5-v2="true"] tbody tr[data-responsive-card="true"] td {
    display: grid;
    grid-template-columns: minmax(104px, 38%) minmax(0, 1fr);
    min-height: var(--ui-touch-target);
    padding: 10px 4px;
    border-bottom: 1px solid var(--ui-border);
    white-space: normal;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] tbody tr[data-responsive-card="true"] td::before {
    padding-right: 8px;
    color: var(--ui-text-secondary);
    font-size: 12px;
    font-weight: 700;
    content: attr(data-label);
  }

  body[data-admin-ledger-provider-mt5-v2="true"] [data-financial-value="complete"] {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body[data-admin-ledger-provider-mt5-v2="true"] :where(button, a.action, .menu-item, input, select, textarea) {
    min-height: var(--ui-touch-target);
  }
}

@media (max-width: 520px) {
  .alp-scope,
  .alp-contracts { grid-template-columns: 1fr; }
  .alp-context__head h2 { font-size: 24px; }
}

@media (prefers-reduced-motion: reduce) {
  .alp-state > span { animation: none; }
}

@media (forced-colors: active) {
  .alp-security-chip::before { forced-color-adjust: none; background: CanvasText; }
}

@keyframes alp-pulse {
  50% { opacity: .45; }
}
