/* Opt-in components. Never target legacy button, input, .card or .secondary. */
.pm-button {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--pm-space-2);
  min-height: var(--pm-control-height); padding: 10px 18px; box-sizing: border-box;
  border: 1px solid transparent; border-radius: var(--pm-radius-control);
  background: var(--pm-color-primary); color: #fff; font: 600 16px/1.5 var(--pm-font-body);
  text-decoration: none; cursor: pointer;
}
.pm-button:hover { background: var(--pm-color-primary-hover); }
.pm-button--secondary { background: var(--pm-color-primary-soft); color: var(--pm-color-primary); border-color: var(--pm-color-border); }
.pm-button--secondary:hover { background: var(--pm-color-primary-soft); border-color: var(--pm-color-primary); }
.pm-button--danger { background: #fff0ed; color: var(--pm-color-danger); }
.pm-button--danger:hover { background: #ffe0da; }
.pm-button:disabled, .pm-button[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.pm-field {
  display: block; width: 100%; min-height: var(--pm-control-height); box-sizing: border-box;
  padding: 10px 14px; border: 1px solid var(--pm-color-border); border-radius: var(--pm-radius-control);
  background: #fff; color: var(--pm-color-heading); font: 400 16px/1.5 var(--pm-font-body);
}
.pm-field[aria-invalid="true"] { border-color: var(--pm-color-danger); }
.pm-button:focus-visible, .pm-field:focus-visible { outline: 3px solid var(--pm-color-accent); outline-offset: 2px; }
.pm-panel { padding: var(--pm-space-6); border: 1px solid var(--pm-color-border); border-radius: var(--pm-radius-card); background: #fff; }
.pm-field-error { color: var(--pm-color-danger); font: 400 14px/1.6 var(--pm-font-body); }

/* Shared 44px icon target for touch and keyboard use. */
.pm-button.pm-button--icon {width:var(--pm-control-height);min-width:var(--pm-control-height);padding:0;flex-shrink:0}
.pm-button--icon svg {display:block;pointer-events:none}

.account-handoff {width:min(560px,calc(100vw - 32px));max-height:90vh;overflow:auto;box-sizing:border-box}
.account-handoff textarea {resize:vertical;min-height:200px;line-height:1.7}
.account-handoff [data-status] {color:var(--pm-color-primary);font-size:14px}

.account-row-actions .account-icon:disabled {background:#f1f3f6;color:#9aa4b5;opacity:1;cursor:not-allowed;box-shadow:none}
