.account-wrap {
  max-width: 940px;
  margin: 40px auto;
  padding: 0 24px;
}
.account-wrap > p {
  margin: 16px 0 24px;
  line-height: 1.8;
}
.account-status {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:2500;
  display:flex;
  align-items:flex-start;
  gap:16px;
  max-width:min(460px,calc(100vw - 32px));
  padding:16px 18px;
  border:1px solid #bdd4c5;
  border-radius:10px;
  background:#edf5ef;
  box-shadow:0 8px 30px #1c191725;
  font-size: 12px;
  line-height:1.7;
  color:#285d44;
}
.account-status .icon-button { flex-shrink:0; color:inherit; width:24px; height:24px; }
.account-status:empty {
  display: none;
}
.account-status.error {
  color: #a13e39;
  background:#fff3f0;
  border-color:#e7bbb4;
}
.account-email {
  font: 11px var(--mono);
  overflow-wrap: anywhere;
}
.app-sidebar .sidebar-groups { display:grid; align-content:start; gap:6px; }
.app-sidebar .nav-section { min-width:0; }
.app-sidebar .nav-section > summary,
.app-sidebar .nav-section-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:44px;
  width:100%;
  padding:11px 12px;
  border:1px solid transparent;
  border-radius:6px;
  color:var(--ink);
  font:500 12px var(--sans);
  cursor:pointer;
  list-style:none;
}
.app-sidebar .nav-section > summary::-webkit-details-marker { display:none; }
.app-sidebar .nav-section > summary::after { content:'›'; font-size:18px; line-height:1; color:var(--muted); }
.app-sidebar .nav-section[open] > summary::after { transform:rotate(90deg); }
.app-sidebar .nav-section > summary:hover { background:#f1eee9; }
.app-sidebar .nav-section.has-current-page > summary { color:var(--pink); }
.app-sidebar .nav-section > summary:focus-visible,
.app-sidebar .nav-item:focus-visible { outline:2px solid var(--pink); outline-offset:2px; }
.app-sidebar .nav-children { display:grid; gap:3px; padding:3px 0 6px 10px; margin-left:12px; border-left:1px solid #e4dfd8; }
.app-sidebar .nav-children .nav-item { width:100%; min-height:40px; font-size:12px; }
.app-sidebar .nav-section-link.active { color:var(--pink); }
.app-sidebar [hidden] { display:none!important; }
@media(max-width:820px) {
  .app-sidebar .sidebar-groups { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:4px 8px; }
  .app-sidebar .nav-section > summary,
  .app-sidebar .nav-section-link { min-height:44px; }
  .app-sidebar .nav-children { margin-left:6px; padding-left:6px; }
}
@media(max-width:560px) {
  .app-sidebar .sidebar-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.workspace-header { gap:24px; }
#workspace-context.header-context { display:flex; align-items:center; gap:16px; flex:1; min-width:0; max-width:580px; margin-left:8px; padding-left:24px; border-left:1px solid var(--line,#ded8d0); }
.header-context .control-field { flex:1; min-width:0; margin:0; }
.header-context .field-label { margin:0 0 4px; font-size:10px; color:var(--muted); }
.header-context .choice-trigger { min-height:36px; padding:7px 10px; font-size:12px; gap:12px; }
.header-context .choice-trigger > span:first-child { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.header-context .choice-trigger:disabled { cursor:default; color:var(--muted); background:var(--paper,#f7f5f2); }
@media(max-width:820px) {
  .workspace-header { flex-wrap:wrap; gap:12px; }
  #workspace-context.header-context { order:3; flex-basis:100%; max-width:none; margin:0; padding:12px 0 0; border-left:0; border-top:1px solid var(--line,#ded8d0); gap:12px; }
  .header-context .choice-trigger { min-height:40px; }
}
.inbox-card {
  margin: 24px 0;
}
.inbox-card p {
  margin: 12px 0;
}
.account-columns {
  display: grid;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr);
  gap: 24px;
}
.account-loading {
  padding: 35px;
  color: var(--muted);
  font-size: 13px;
}
.page-loading { display:flex; align-items:center; gap:12px; padding:40px 4px; color:var(--muted); font-size:13px; }
.page-spinner { width:16px; height:16px; border-radius:50%; border:2px solid #e9dfe6; border-top-color:var(--pink,#923b74); animation:page-spin .8s linear infinite; }
@keyframes page-spin { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .page-spinner { animation-duration:2.4s; } }
.key-network-switch { display:flex; gap:8px; margin:0 0 24px; flex-wrap:wrap; }
.key-network-switch .auth-button { min-width:128px; }
.account-activity {
  margin-top: 24px;
}
.session-agent {
  display: block;
  max-width: 360px;
  overflow-wrap: anywhere;
}
.account-subtitle {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.8;
  margin-top: 7px;
}
.routing-fields, .routing-provider-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin: 24px 0;
}
.routing-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.routing-form .field-help { margin: 12px 0 20px; }
.routing-allowlist { display: grid; gap: 14px; margin: 24px 0; }
.routing-badges { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0; }
.routing-result:not(:empty) { margin-top: 24px; }
.routing-details details { border-top: 1px solid var(--line, #ddd7d0); padding: 16px 0; }
.routing-details summary { cursor: pointer; font-size: 13px; font-weight: 500; }
.routing-details summary:focus-visible { outline: 2px solid var(--plum, #883b70); outline-offset: 4px; }
.routing-details ul { padding: 12px 0 0 20px; font-size: 12px; line-height: 1.9; }
.routing-form input:not([type=checkbox]) { font-variant-numeric: tabular-nums; }
@media (max-width: 720px) {
  .routing-fields, .routing-provider-grid { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 900px) {
  .account-columns {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .account-status {
    padding: 16px;
    bottom:max(16px,env(safe-area-inset-bottom));
    right:16px;
  }
}

/* Keep public addresses and unsigned calldata within the Route panel on mobile. */
#test-transfer-detail .field-help,
#test-transfer-detail td {
  overflow-wrap: anywhere;
}
#test-transfer-detail pre {
  max-width: 100%;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  background: #faf8f5;
  border: 1px solid #e4dfd8;
  border-radius: 6px;
  padding: 16px;
  font: 11px/1.7 var(--mono);
}
#test-transfer-detail details {
  margin: 16px 0;
}
#test-transfer-detail summary {
  cursor: pointer;
}
#test-transfer-detail .auth-button {
  margin: 6px 8px 6px 0;
}

.key-scopes { border: 0; padding: 0; margin: 24px 0; display: grid; gap: 12px; }
.key-scopes legend { margin-bottom: 12px; }
#key-screen details { border-top: 1px solid var(--line, #ddd7d0); padding: 16px 0; margin: 12px 0; }
#key-screen summary { cursor: pointer; color: var(--ink); font-size: 13px; font-weight: 500; }
#key-screen summary:focus-visible { outline: 2px solid var(--plum, #883b70); outline-offset: 4px; }
#key-screen details p { font-size: 12px; line-height: 1.7; margin: 12px 0 18px; color: var(--muted); }
#key-screen [data-key-allow] { list-style: none; padding: 0; margin: 12px 0; display: grid; gap: 8px; }
#key-screen [data-key-allow] li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 12px; background: #f5f2ed; border: 1px solid var(--line, #ddd7d0); border-radius: 6px; font-size: 12px; overflow-wrap: anywhere; }
#key-screen [data-key-allow] .auth-button { flex-shrink: 0; min-height: 30px; padding: 5px 9px; font-size: 11px; }
#key-screen .choice-trigger > span:first-child { min-width: 0; overflow-wrap: anywhere; }
[data-key-form] { max-width: 640px; }
[data-issued-key] .auth-button { margin-top: 16px; margin-right: 8px; }
#key-screen .panel + .panel { margin-top: 24px; }
.key-toolbar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 24px; }
.key-toolbar .key-network-switch { margin:0; }
.key-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line,#ded8d0); padding-top:16px; margin-top:12px; }
.key-pagination p { font-size:12px; color:var(--muted); }
.key-pagination > div { display:flex; gap:8px; }
#key-screen .data-table details { margin:0; padding:0; border:0; }
#key-screen .data-table details details { margin-top:12px; }
#key-screen .data-table details ul { padding-left:16px; font:11px/1.8 var(--mono); }
.key-create-dialog { max-width:760px; overflow:hidden; }
.key-create-dialog[open] { display:flex; flex-direction:column; }
.key-create-dialog .dialog-heading { flex-shrink:0; background:#fff; }
.key-create-dialog .dialog-heading .eyebrow { margin-bottom:8px; font-size:10px; }
.key-create-dialog .dialog-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; }
.key-create-dialog [hidden] { display:none!important; }
.key-create-dialog p { font-size:12px; line-height:1.7; margin:12px 0; }
.key-create-dialog h2:focus { outline:none; }
.key-dialog-feedback { flex-shrink:0; padding:14px 24px; background:#edf5ef; color:#285d44; border-bottom:1px solid #bdd4c5; font-size:12px; line-height:1.7; }
.key-dialog-feedback:empty { padding:0; border:0; }
.key-dialog-feedback.error { background:#fff3f0; color:#a13e39; border-color:#e7bbb4; }
.key-flow-steps { display:flex; gap:20px; list-style:none; padding:0 0 20px; margin:0; color:var(--muted); font-size:12px; }
.key-flow-steps [aria-current] { color:var(--pink,#923b74); font-weight:600; }
.key-form-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; position:sticky; bottom:-24px; padding:18px 0; margin:24px 0 -24px; background:#fff; border-top:1px solid var(--line,#ded8d0); z-index:1; }
.key-create-dialog [data-key-form] { max-width:none; }
.key-create-dialog [data-issued-key] .auth-button { margin:0; }
.key-create-dialog [data-issued-key] > .auth-button { margin-top:16px; }
.key-create-dialog [data-issued-key] h3 { font-size:24px; margin:16px 0; }
.key-success-mark { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:#edf5ef; color:#285d44; font-size:24px; }
@media(max-width:560px) {
  .key-toolbar { align-items:stretch; flex-direction:column; }
  .key-toolbar .key-network-switch > button { flex:1; min-width:0; }
  .key-flow-steps { gap:12px; font-size:11px; }
  .key-dialog-feedback { padding:12px 20px; }
  .key-form-actions { bottom:-20px; margin-bottom:-20px; }
  .key-pagination { align-items:flex-start; flex-direction:column; }
}

/* Payment instructions use the same responsive treatment as test transfers. */
#payment-draft-detail .field-help, #payment-draft-detail td { overflow-wrap: anywhere; }
#payment-draft-detail pre { max-width: 100%; overflow-x: auto; white-space: pre-wrap; overflow-wrap: anywhere; }

.operations-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.metric-number { font:36px var(--mono); margin:16px 0; }
.operations-search { display:flex; gap:16px; align-items:flex-end; margin:24px 0; }
.operations-search .control-field { flex:1; }
.operations-projects { border:1px solid var(--border,#ded7ce); margin:20px 0; padding:16px; }
.operations-projects .check-control { margin:12px 0; }
.operations-json { max-height:60vh; overflow:auto; font:12px/1.7 var(--mono); white-space:pre-wrap; overflow-wrap:anywhere; }
.record-id { font:11px var(--mono); overflow-wrap:anywhere; }
#operations-screen .panel { margin-bottom:24px; }
#operations-screen .data-table .auth-button { margin:4px; }
.health-progress { margin:0 0 20px; color:var(--muted); font-size:12px; line-height:1.6; }
#operations-screen .health-error { color:#a13e39; max-width:300px; white-space:normal; }
#pending-invitations:empty { display:none; }
@media(max-width:700px) { .operations-metrics { grid-template-columns:1fr; } .operations-search { align-items:stretch; flex-direction:column; } }

.key-verification { padding:20px; margin:0 0 24px; border:1px solid var(--line,#ded8d0); border-left:3px solid var(--pink,#923b74); border-radius:8px; }
.key-verification[hidden] { display:none; }
.key-verification p { margin:12px 0; line-height:1.6; }
.policy-summary { margin:24px 0 0; padding:20px; background:var(--paper,#f7f5f2); border:1px solid var(--line,#ded8d0); border-radius:8px; }
.policy-summary p { margin-top:12px; line-height:1.6; }
.policy-provider { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px 0; border-bottom:1px solid var(--line,#ded8d0); }
.policy-provider:last-of-type { border-bottom:0; }
.policy-provider .field-help { margin:8px 0; }
.provider-setup-intro { margin-bottom:24px; font-size:13px; color:var(--muted); }
.provider-account-card { border-top:3px solid var(--pink,#923b74); }
.provider-account-card .panel-heading { gap:16px; }
.provider-account-card .eyebrow { font-size:9px; margin-bottom:8px; }
.provider-account-summary { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:28px; }
.provider-account-summary > div > p, .provider-public-card .panel-body > p { font-size:12px; line-height:1.7; color:var(--muted); }
.provider-primary-actions { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.provider-auth { display:flex; align-items:flex-start; gap:14px; margin:20px 0 0; padding:16px; border:1px solid #e4d4e0; border-radius:8px; background:#faf5f9; }
.provider-auth > span { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; border-radius:50%; background:#f0e4ec; color:var(--pink,#923b74); }
.provider-auth strong { display:block; font-size:13px; margin:0 0 4px; }
.provider-auth p { font-size:12px; line-height:1.6; color:var(--muted); margin:0; }
.provider-auth.saved { border-color:#d3e3d7; background:#f4f8f5; }
.provider-auth.saved > span { background:#e2efe6; color:#285d44; }
.provider-section-heading { margin:32px 0 0; }
.provider-section-heading h2 { font-size:20px; margin-bottom:8px; }
.provider-section-heading p { font-size:12px; color:var(--muted); line-height:1.7; }
.provider-public-card .panel-heading { gap:12px; }
.provider-public-card .panel-heading h2 { font-size:16px; }
.provider-access-note { font-size:11px!important; font-weight:500; color:var(--pink,#923b74)!important; margin:10px 0!important; }
.provider-check { font-size:12px; line-height:1.6; margin:16px 0 0; color:var(--muted); }
.provider-public-card .provider-check.good, .provider-check.good { color:#285d44; }
.provider-public-card .provider-check.bad, .provider-check.bad { color:#a13e39; }
.provider-check span { display:block; color:var(--muted); font-size:11px; margin-top:4px; }
.provider-coverage, .provider-key-settings { margin-top:20px; padding-top:16px; border-top:1px solid var(--line,#ded8d0); }
.provider-coverage summary, .provider-key-settings summary, .policy-provider-key summary { font-size:12px; font-weight:500; color:var(--ink); cursor:pointer; }
.provider-coverage summary:focus-visible, .provider-key-settings summary:focus-visible, .policy-provider-key summary:focus-visible { outline:2px solid var(--pink,#923b74); outline-offset:4px; }
.provider-coverage p, .provider-key-settings p { margin:12px 0; color:var(--muted); font-size:12px; line-height:1.7; }
.provider-coverage a { font-size:12px; }
.provider-credential-dialog .dialog-body > p { font-size:13px; line-height:1.7; margin-bottom:20px; }
.policy-provider-key { min-width:220px; width:45%; }
.policy-provider-key .control-field { margin-top:16px; }
@media(max-width:720px) {
  .provider-account-summary { grid-template-columns:1fr; gap:20px; }
  .provider-primary-actions { flex-direction:row; flex-wrap:wrap; }
  .provider-primary-actions .auth-button { flex:1; }
  .policy-provider-key { width:100%; min-width:0; }
}
.route-recommendation { border:1px solid #b9d3c1; border-left:4px solid var(--green,#285d44); background:var(--green-bg,#edf5ef); border-radius:8px; padding:28px; margin:24px 0; }
.route-recommendation h2 { margin:10px 0 20px; }
.route-recommendation p { line-height:1.7; margin:12px 0; }
.route-recommendation.unavailable { background:var(--paper,#f7f5f2); border-color:var(--line,#ded8d0); border-left-color:var(--pink,#923b74); }
.route-recommendation ul { padding-left:20px; line-height:1.8; }
.topup-detail { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 16px; padding:16px 0; border-bottom:1px solid var(--line,#ded8d0); }
.topup-detail>span { grid-column:1/-1; color:var(--muted); font-size:14px; }
.topup-detail>code { align-self:center; overflow-wrap:anywhere; white-space:normal; }
@media(max-width:520px) { .topup-detail { grid-template-columns:1fr; } .topup-detail>button { justify-self:start; } }
.recommendation-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.recommendation-metrics span { display:block; font-size:12px; color:var(--muted); }
.payment-filters { display:flex; flex-wrap:wrap; gap:6px; padding:6px; border:1px solid var(--line,#ded8d0); border-radius:10px; background:var(--paper,#f7f5f2); }
.payment-filters a { color:var(--muted); text-decoration:none; padding:10px 14px; border-radius:6px; font-size:13px; font-weight:500; }
.payment-filters a:hover { background:#fff; color:var(--ink); }
.payment-filters a[aria-current] { background:var(--pink,#923b74); color:#fff; }
.payment-filters a:focus-visible { outline:2px solid var(--pink,#923b74); outline-offset:3px; }
.payment-view-description { margin:16px 0 22px; }
.payment-list-tools { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:20px; }
.payment-list-tools .operations-search { flex:1; min-width:260px; margin:0; }
.payment-list-tools .inline-actions { margin:0 0 4px; }
.payment-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:12px; }
.payment-activity { margin:20px 0; }
.payment-activity summary { cursor:pointer; font-weight:500; margin-bottom:16px; }
#payment-draft-detail:not(:empty) { margin-top:32px; padding-top:24px; border-top:1px solid var(--line,#ded8d0); scroll-margin-top:24px; }
#payment-draft-detail > button { margin-bottom:16px; }
#payment-drafts-list td small { overflow-wrap:anywhere; }
@media(max-width:520px) { .payment-list-tools .operations-search { min-width:0; flex-basis:100%; } .payment-filters a { padding:9px 11px; } }
.recommendation-metrics strong { display:block; margin-top:8px; font-size:19px; overflow-wrap:anywhere; }
.recommendation-metrics small { display:block; margin-top:4px; font-size:12px; color:var(--muted); }
@media(max-width:720px) { .recommendation-metrics { grid-template-columns:1fr; gap:0; } .policy-provider { align-items:flex-start; flex-direction:column; } .route-recommendation { padding:20px; } }

/* Provider rules reuse Route's colours, density and controls inside Policies. */
.provider-rules-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin:8px 0 16px}
.provider-rules-heading h3{margin:0 0 6px}.provider-rules-heading>.auth-button{flex-shrink:0}
.provider-rule-card{container-type:inline-size;border:1px solid var(--line);border-radius:8px;margin:12px 0;background:var(--white)}
.provider-rule-card.is-open{border-color:#d9c3d2;box-shadow:0 1px 0 #f3e7ef}
.provider-rule-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}
.provider-rule-headline{min-width:0}.provider-rule-headline h4{margin:0;font-size:14px;font-weight:500;overflow-wrap:anywhere}
.rule-sentence{margin:4px 0 0;font-size:13px;line-height:1.55;color:var(--ink)}
.provider-rule-actions{display:flex;gap:8px;flex-shrink:0}.provider-rule-actions .auth-button{min-height:34px;font-size:11px;padding:6px 12px}
.provider-rule-body{padding:4px 20px 20px;border-top:1px solid #efe9e2}.provider-rule-body>.control-field{max-width:420px;margin:16px 0}
.provider-rule-flow{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,.9fr) 20px minmax(0,1fr);gap:12px;align-items:stretch}
.provider-rule-node{padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:8px;min-width:0;display:flex;flex-direction:column}
.provider-rule-node h5{margin:0;font-size:13px;font-weight:600}.rule-node-help{margin:2px 0 12px;font-size:11px;color:var(--muted)}
.provider-rule-provider{border-color:#d9c3d2;background:#fbf7fa}
.provider-rule-node .choice-trigger{min-width:0;width:100%}
.provider-rule-arrow{align-self:center;justify-self:center;color:var(--pink);font-size:18px}
.rule-any{margin:0 0 12px;padding:10px 12px;border:1px dashed #cfc8bf;border-radius:6px;font-size:12px;color:var(--muted);background:#fff}
.rule-token-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.rule-token{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 6px 8px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:12px}
.rule-token-symbol{font-weight:600;font-size:12px}.rule-token-scope{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rule-token.is-unknown{border-color:#ead6c1;background:#fcf6f0}.rule-token.is-unknown .rule-token-scope{white-space:normal;overflow-wrap:anywhere}
.rule-token-actions{display:flex;align-items:center;gap:2px}
.rule-link{border:0;background:none;color:var(--pink);font:500 11px var(--sans);padding:6px;border-radius:4px;cursor:pointer}.rule-link:hover{background:#f5eaf2}
.rule-icon{border:0;background:none;color:var(--muted);width:28px;height:28px;border-radius:4px;font-size:16px;line-height:1;cursor:pointer}.rule-icon:hover{background:#f1eee9;color:var(--ink)}
.rule-add-token{margin-top:auto;align-self:flex-start;border:1px dashed #cdb3c4;background:#fff;color:var(--pink);font:500 12px var(--sans);padding:8px 12px;border-radius:6px;cursor:pointer}.rule-add-token:hover{background:#fbf5f9;border-style:solid}
.rule-link:focus-visible,.rule-icon:focus-visible{outline:2px solid var(--pink);outline-offset:2px}.rule-add-token:focus-visible,.rule-picker-token:focus-visible{outline:none;box-shadow:0 0 0 3px #f5eaf2;border-color:var(--pink)}
.rule-mode{border:0;padding:0;margin:14px 0 0;min-width:0}.rule-mode legend{margin-bottom:6px;font-size:11px}
.rule-segmented{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #cfc8bf;border-radius:6px;background:#fff;overflow:hidden}
.rule-segmented label{position:relative;cursor:pointer}.rule-segmented label+label{border-left:1px solid #e4dfd8}
.rule-segmented input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.rule-segmented span{display:block;padding:8px 4px;text-align:center;font-size:11px;line-height:1.3;color:var(--muted)}
.rule-segmented input:checked+span{background:#f7edf4;color:var(--pink);font-weight:600}
.rule-segmented input:focus-visible+span{box-shadow:inset 0 0 0 2px var(--pink)}
.rule-direction{margin:12px 0 0;font-size:11px;color:var(--muted)}
.rule-problem{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 20px 12px;padding:10px 12px;border:1px solid #ead6c1;background:#fcf6f0;color:#80552b;border-radius:6px;font-size:12px;line-height:1.5}
.rule-problem .auth-button{min-height:30px;font-size:11px;padding:4px 10px;flex-shrink:0}
.rule-empty{padding:18px;border:1px dashed #d8d1c8;border-radius:8px;font-size:12px;color:var(--muted);background:#fcfbf9}
.provider-rules-summary{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.provider-rules-summary h4{margin:0 0 10px;font-size:13px}
.provider-rules-summary ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.provider-rules-summary li{display:grid;gap:2px;padding:10px 12px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--pink);border-radius:6px;font-size:12px;line-height:1.5}
.rule-picker{max-width:520px}.rule-picker [type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.rule-picker .dialog-body{padding-top:16px}
.rule-picker-list{list-style:none;margin:12px 0 0;padding:0;max-height:min(420px,55dvh);overflow:auto;display:grid;gap:4px}
.rule-picker-token{width:100%;display:grid;grid-template-columns:80px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;padding:10px 12px;border:1px solid transparent;border-radius:6px;background:none;font:12px var(--sans);color:var(--ink);cursor:pointer}
.rule-picker-token:hover{background:#f7f4f0;border-color:#ebe5dd}
.rule-picker-networks{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-picker-count{font-size:11px;color:var(--pink);white-space:nowrap}
.rule-picker-empty{padding:18px;text-align:center;font-size:12px;color:var(--muted)}
.rule-picker-back{margin:-6px 0 8px -6px}
.rule-picker-all{padding:10px 12px;margin:12px 0 6px;background:#faf7f9;border:1px solid #eadde6;border-radius:6px}
.rule-picker-networks-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;max-height:min(360px,50dvh);overflow:auto;padding:0 12px}
.check-control input:indeterminate{background:var(--pink);border-color:var(--pink)}.check-control input:indeterminate::before{content:'';width:8px;height:1.5px;background:currentColor}
.policy-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 24px;margin:16px 0 0}.policy-facts dt{font-size:11px;color:var(--muted)}.policy-facts dd{margin:3px 0 0;font-size:14px;overflow-wrap:anywhere}
.policy-provider-options{gap:0}.policy-provider-option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid #f0ece6;max-width:520px}.policy-provider-option:last-of-type{border-bottom:0}
@container(max-width:760px){.provider-rule-flow{grid-template-columns:minmax(0,1fr)}.provider-rule-arrow{transform:rotate(90deg)}}
@media(max-width:720px){.provider-rules-heading,.provider-rule-top{flex-wrap:wrap}.provider-rule-actions{width:100%}.policy-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.rule-picker-networks-list{grid-template-columns:1fr}.rule-picker-token{grid-template-columns:64px minmax(0,1fr) auto}.rule-token-scope{white-space:normal}}

.payment-back{display:inline-flex;align-items:center;gap:6px;margin:0 0 16px;padding:6px 10px 6px 6px;border:0;border-radius:6px;background:none;color:var(--pink,#923b74);font:500 13px var(--sans);cursor:pointer}.payment-back:hover{background:#f5eaf2}.payment-back:focus-visible{outline:2px solid var(--pink,#923b74);outline-offset:2px}

/* Shared dashboard basics: stat cards, status badges and table numbers. */
.operations-metrics { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin-bottom:20px; }
.operations-metrics .panel-heading { border-bottom:0; padding:16px 18px 0; min-height:0; }
.operations-metrics .panel-heading h2 { font-size:12px; font-weight:500; color:var(--muted); }
.operations-metrics .panel-body { padding:6px 18px 18px; }
.panel-body>.metric-number { font:600 28px/1.25 var(--sans); letter-spacing:-.02em; margin:0; color:var(--ink); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.status-badge { font:500 11px/1.4 var(--sans); letter-spacing:0; padding:2px 9px; border-radius:999px; white-space:nowrap; }
.data-table td .status-badge+small { margin-top:6px; }
.operations-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; }
.operations-split>.panel { margin:0; }
.num { font-variant-numeric:tabular-nums; }
.mono-id { font-family:var(--mono); font-size:10px; }
@media(max-width:900px) { .operations-split { grid-template-columns:1fr; } }
.operations-footnote { margin:16px 2px 0; max-width:760px; line-height:1.6; }
/* Keep search buttons level with their input rather than the help text beneath it. */
.operations-search { align-items:flex-start; }
.operations-search>.auth-button { margin-top:23px; min-height:40px; }
.payment-list-tools { align-items:flex-start; }
.payment-list-tools .inline-actions { margin:23px 0 0; }
@media(max-width:700px) { .operations-search>.auth-button { margin-top:0; } }

/* Narrow screens: the page list sits behind a toggle that names the current page. */
.nav-toggle { display:none; }
@media(max-width:820px) {
  .app-sidebar { padding:8px 16px; }
  .nav-toggle { display:flex; align-items:center; gap:10px; width:100%; min-height:44px; padding:8px 4px; border:0; background:none; font:500 14px var(--sans); color:var(--ink); cursor:pointer; text-align:left; }
  .nav-toggle:focus-visible { outline:2px solid var(--pink,#923b74); outline-offset:2px; border-radius:6px; }
  .nav-toggle-icon, .nav-toggle-icon::before, .nav-toggle-icon::after { display:block; width:16px; height:1.5px; background:currentColor; border-radius:1px; position:relative; }
  .nav-toggle-icon::before, .nav-toggle-icon::after { content:''; position:absolute; left:0; }
  .nav-toggle-icon::before { top:-5px; } .nav-toggle-icon::after { top:5px; }
  .nav-toggle-current { margin-left:auto; color:var(--pink,#923b74); font-weight:500; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .nav-toggle-current:not(:empty)::before { content:''; }
  .app-sidebar:not(.is-open) .sidebar-groups { display:none; }
  .app-sidebar.is-open .sidebar-groups { padding:6px 0 10px; }
}
#operations-screen .operations-metrics>.panel, #operations-screen .operations-split>.panel { margin:0; }
#operations-screen .operations-metrics, #operations-screen .operations-split { margin-bottom:24px; }
@media(max-width:820px) { .app-sidebar.is-open .sidebar-groups { grid-template-columns:1fr; } }
@media(max-width:700px) { .operations-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; } .panel-body>.metric-number { font-size:22px; } }

/* Payment detail: summary first, then progress, evidence and execution records. */
.payment-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; }
.payment-hero-amounts { color:var(--ink); display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:0; font-size:22px; letter-spacing:-.01em; }
.payment-hero-amounts strong { font-weight:600; font-variant-numeric:tabular-nums; }
.payment-hero-amounts>span { color:var(--muted); }
.payment-hero-route { margin:6px 0 0; font-size:13px; color:var(--muted); }
.payment-reference { margin:10px 0 0; } .payment-reference code { font-size:11px; }
.payment-progress { list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin:20px 0; padding:0; }
.payment-progress li { display:flex; align-items:center; gap:8px; padding-top:10px; border-top:3px solid #e9e4dd; font-size:12px; color:var(--muted); }
.payment-progress li>span { display:grid; place-items:center; flex-shrink:0; width:20px; height:20px; border-radius:50%; border:1px solid #d8d1c8; background:#fff; font-size:10px; }
.payment-progress li.done { border-top-color:#8fb89f; color:var(--ink); } .payment-progress li.done>span { background:#edf5ef; border-color:#b9d6c3; color:#285d44; }
.payment-progress li.current { border-top-color:var(--pink,#923b74); color:var(--ink); font-weight:500; } .payment-progress li.current>span { border-color:var(--pink,#923b74); color:var(--pink,#923b74); }
.payment-execution>summary { font-weight:500; }
@media(max-width:700px) { .payment-progress { grid-template-columns:1fr; gap:0; } .payment-progress li { border-top:0; border-left:3px solid #e9e4dd; padding:6px 0 6px 10px; } .payment-progress li.done { border-left-color:#8fb89f; } .payment-progress li.current { border-left-color:var(--pink,#923b74); } .payment-hero-amounts { font-size:18px; } }
.panel-heading h2[tabindex="-1"]:focus:not(:focus-visible), .dashboard-content h1[tabindex="-1"]:focus:not(:focus-visible) { outline:none; }

/* Providers: status summary, then card grids. */
.provider-summary { display:flex; flex-wrap:wrap; align-items:center; gap:10px 24px; padding:14px 18px; margin-bottom:24px; background:#fff; border:1px solid var(--line,#ded8d0); border-radius:8px; font-size:13px; }
.provider-summary strong { font-size:16px; font-variant-numeric:tabular-nums; }
.provider-summary .good { color:#285d44; } .provider-summary .bad { color:#a13e39; }
.provider-summary-note { margin-left:auto; color:var(--muted); font-size:12px; }
.provider-section-heading { margin:8px 0 12px; } .provider-section-heading h2 { font-size:16px; margin:0 0 4px; } .provider-section-heading p { margin:0; font-size:12px; color:var(--muted); }
.provider-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(360px,1fr)); gap:16px; align-items:start; margin-bottom:32px; }
.provider-card-grid>.panel { margin:0!important; }
.provider-card-grid .provider-account-summary { display:grid; gap:14px; }
.provider-card-grid .provider-primary-actions, .provider-card-grid .inline-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.provider-card-grid .provider-primary-actions .auth-button, .provider-card-grid .inline-actions .auth-button { min-height:34px; font-size:12px; }
.provider-card-grid .provider-check { font-size:12px; }
@media(max-width:560px) { .provider-card-grid { grid-template-columns:1fr; } .provider-summary-note { margin-left:0; } }
.provider-card-grid .provider-account-summary { display:flex; flex-direction:column; align-items:stretch; }
.provider-card-grid .provider-primary-actions { flex-direction:row; width:auto; }
.provider-card-grid .provider-access-note { display:none; }
.provider-card-grid .provider-auth { max-width:none; }
.provider-card-grid .panel-heading h2 { font-size:15px; font-weight:500; letter-spacing:0; }
/* Billing */
.panel-body>.metric-caption { margin:4px 0 0; font-size:12px; color:var(--muted); }
.credit-delta { font-variant-numeric:tabular-nums; font-weight:500; } .credit-delta.up { color:#285d44; } .credit-delta.down { color:var(--ink); }
/* Section actions sit in the panel header. */
.panel-heading>.auth-button { min-height:32px; padding:6px 12px; font-size:12px; flex-shrink:0; }
.key-history { margin-top:16px; } .key-history>summary { font-size:13px; font-weight:500; cursor:pointer; padding:6px 0; }
.routing-unquoted { margin:12px 0 4px; } .routing-unquoted>summary { font-size:13px; font-weight:500; cursor:pointer; } .routing-unquoted ul { margin:10px 0 0; padding-left:18px; display:grid; gap:8px; font-size:12px; } .routing-unquoted small { display:block; color:var(--muted); }
.routing-search-notes li { overflow-wrap:anywhere; }
.session-agent { display:block; margin-top:4px; max-width:460px; font-size:10px; color:var(--muted); overflow-wrap:anywhere; } .session-device { font-weight:500; }

/* Overview: payments needing action */
#operations-screen .attention-panel { margin-bottom:24px; } #operations-screen .attention-panel>.panel { margin:0; border-color:#ead6c1; }
.attention-list { list-style:none; margin:0; padding:0; display:grid; }
.attention-list li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; align-items:center; padding:12px 0; border-bottom:1px solid #f0ece6; }
.attention-list li:last-child { border-bottom:0; }
.attention-list a { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; color:var(--ink); text-decoration:none; } .attention-list a:hover strong { color:var(--pink); text-decoration:underline; }
.attention-list a span { font-size:12px; color:var(--muted); } .attention-list small { grid-column:1/-1; font-size:11px; color:var(--muted); }
.attention-note { margin:12px 0 0; font-size:12px; } .attention-note a { color:var(--pink); font-weight:500; }

/* Policy form sections */
.policy-form-section { padding:20px 0; border-top:1px solid var(--line,#ded8d0); }
.policy-form-section:first-of-type { border-top:0; padding-top:4px; }
.policy-form-section>h4 { margin:0 0 4px; font-size:14px; font-weight:600; }
.policy-form-section>.field-help { margin:0 0 14px; }
.policy-form-section .key-scopes { margin:0; }
.policy-form-section .key-scopes legend { font-size:14px; font-weight:600; color:var(--ink); }
