:root {
  --brand: #14334d;
  --ink: #172b3a;
  --muted: #586b7a;
  --line: #dce4eb;
  --success: #17634e;
  --pending: #8b641d;
  --error: #a93632;
  color-scheme: light;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;
  color: var(--ink);
  background: #f3f6f8;
  font-size: 14px;
}
body { background: #f3f6f8; color: var(--ink); }
h1, h2, h3, strong { color: var(--ink); }
h1 { font-size: 30px; font-weight: 650; line-height: 1.2; letter-spacing: -.03em; }
h2 { font-size: 20px; font-weight: 650; line-height: 1.3; letter-spacing: -.02em; }
p { font-size: 14px; line-height: 1.55; color: var(--muted); }
label { font-size: 13px; line-height: 1.4; color: #354c5d; }
input, select, textarea { font-size: 14px; line-height: 1.4; color: var(--ink); border-color: #c8d4df; }
button, .button { font-size: 14px; line-height: 1.3; font-weight: 650; background: var(--brand); border-radius: 8px; }
button.subtle, .button.subtle, button.secondary { background: #fff; color: var(--ink); border-color: #c8d4df; }
.text-button { background: transparent; color: var(--brand); font-size: 12px; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #6d9db8;
  outline-offset: 3px;
}
.eyebrow, th { font-size: 11px; line-height: 1.4; letter-spacing: .06em; color: #526d81; }
.card, .panel { background: #fff; border-color: var(--line); border-radius: 12px; box-shadow: 0 2px 10px #142f4504; }
header, .workspace-sidebar { background: #fff; border-color: var(--line); }
.mark, .logo { background: var(--brand); color: #fff; }
.mark strong, .logo strong { color: #fff; }
.brand small, .workspace-brand small { color: var(--muted); }
.company-name { font-size: 17px; }
#identity, #status, #updated { font-size: 12px; color: var(--muted); }
.connection-state { color: var(--success); font-size: 12px; }
.environment, .badge { background: #fff9eb; border-color: #e7d8af; color: #80621f; }
#workspace-nav button { color: #536b7d; font-size: 13px; }
#workspace-nav button[aria-current=page] { background: #edf3f8; color: var(--brand); }
.next-task { border-left-color: var(--brand); }
.next-task h2 { font-size: 22px; }
.quick-actions strong { color: var(--ink); }
.quick-actions span { font-size: 12px; }
.notice { background: #eff4f8; border-color: #d7e3ed; }
.notice strong { color: var(--brand); }
.warning { background: #fff9eb; border-color: #e7d8af; }
.warning strong { color: var(--pending); }
.error, [data-state=error] { color: var(--error); }
[data-state=success] { color: var(--success); }
[data-state=pending] { color: var(--pending); }
.trade-modes button { color: #405c70; background: #fff; border-color: #c8d4df; }
.trade-modes button[aria-pressed=true] { color: var(--brand); border-color: #5c829e; box-shadow: inset 0 0 0 1px #5c829e; background: #edf3f8; }
.trade-modes small { font-size: 12px; }
.trade-steps { font-size: 12px; }
.trade-steps [aria-current=step] { color: var(--brand); }
.trade-summary { background: #f1f5f8; border-color: #d9e3ec; }
.money-direction strong { color: var(--brand); font-variant-numeric: tabular-nums; }
.money-direction span, #summary-help, #trade-quote { font-size: 12px; color: var(--muted); }
.summary-rate { border-color: #d5e0e9; }
#trade-quote { color: #36576f; }
.grid .eyebrow { font-size: 11px; }
.count-group summary, .count-total { color: var(--brand); }
.count-head, .count-line strong, .count-line output { font-size: 12px; color: #586b7a; }
.sidebar-note, .sidebar-note small, input::placeholder { color: var(--muted); }
.required-marker { color: var(--error); font-weight: 700; }
.finance-tabs [aria-pressed=true] { background: #edf3f8; border-color: #7899b2; color: var(--brand); }
.finance-metrics .card { background: #f3f6f8; }
.finance-metrics [data-state=success] strong { color: var(--success); }
.finance-metrics [data-state=error] strong { color: var(--error); }
.bank-dialog {
  width: min(520px, calc(100% - 32px));
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid #d4dfe8;
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  box-shadow: 0 24px 80px #102f4933;
}
.bank-dialog::backdrop { background: #0c233968; backdrop-filter: blur(2px); }
.bank-dialog-header { padding: 25px 26px 12px; }
.bank-dialog-header h2 { margin: 8px 0 12px; font-size: 22px; }
.bank-dialog-header p { margin: 0; }
.bank-dialog-details { display: grid; grid-template-columns: minmax(90px, .75fr) minmax(0, 1.25fr); gap: 0; margin: 8px 26px 24px; }
.bank-dialog-details dt, .bank-dialog-details dd { padding: 11px 0; margin: 0; border-bottom: 1px solid #e5ecf1; font-size: 14px; }
.bank-dialog-details dt { color: var(--muted); }
.bank-dialog-details dd { text-align: right; font-weight: 650; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.bank-dialog-actions { display: flex; justify-content: flex-end; gap: 10px; padding: 17px 26px; background: #f5f8fa; border-top: 1px solid #e1e9ef; }
.bank-dialog[data-tone=warning] .bank-dialog-header { border-top: 4px solid #b38a3a; }
@media (max-width: 760px) {
  h1 { font-size: 27px; }
  .bank-dialog-header { padding: 22px 20px 12px; }
  .bank-dialog-details { margin: 7px 20px 22px; }
  .bank-dialog-actions { padding: 15px 20px; }
  .bank-dialog-actions button { flex: 1; }
  .trade-modes small, .count-line output { font-size: 12px; }
}
@media (prefers-reduced-motion: no-preference) {
  .bank-dialog[open] { animation: bank-dialog-in .13s ease-out; }
  @keyframes bank-dialog-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
}
