.payment-methods [hidden],.payment-methods[hidden]{display:none!important}.payment-methods{color:var(--color-text);padding:var(--spacing-md) 0;width:100%}.payment-methods-debug{background:#eef6ff;border:1px solid #b9d7f5;border-radius:var(--border-radius);font-family:monospace;font-size:12px;line-height:1.45;margin:0 0 var(--spacing-md);padding:12px;white-space:pre-wrap;word-break:break-word}.payment-methods-config-error{background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--border-radius);color:var(--color-error-dark);padding:var(--spacing-md)}.payment-methods-config-error strong{display:block;font-size:var(--font-size-base);margin-bottom:.25rem}.payment-methods-config-error p{font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.payment-methods-header{align-items:center;border-bottom:1px solid var(--color-bg-lighter);display:flex;gap:var(--spacing-md);justify-content:space-between;margin-bottom:var(--spacing-md);padding:0 0 var(--spacing-md)}.payment-methods-header-text{display:flex;flex-direction:column;gap:.25rem}.payment-methods-title{color:var(--color-text);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0}.payment-methods-subtitle{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.pm-status{border:1px solid transparent;border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin:0 0 var(--spacing-md);padding:.75rem 1rem}.pm-status[data-pm-tone=success]{background:var(--color-success-light);border-color:var(--color-success-border);color:var(--color-success-dark)}.pm-status[data-pm-tone=error]{background:var(--color-error-light);border-color:var(--color-error-border);color:var(--color-error-dark)}.pm-status[data-pm-tone=warning]{background:var(--color-warning-light);border-color:var(--color-warning-border);color:var(--color-warning-dark)}.pm-btn{align-items:center;border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);gap:.4rem;justify-content:center;line-height:1.2;min-height:40px;padding:.55rem 1.1rem;text-decoration:none;transition:background-color var(--transition-fast) ease,transform var(--transition-fast) ease,border-color var(--transition-fast) ease}.pm-btn:focus{box-shadow:var(--box-shadow-focus);outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}.pm-btn:active{transform:translateY(1px)}.pm-btn[aria-disabled=true],.pm-btn[disabled]{cursor:not-allowed;opacity:.55;transform:none}.pm-btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pm-btn-primary:hover:not([disabled]){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.pm-btn-secondary{background-color:var(--color-bg-white);border-color:var(--color-border);color:var(--color-text)}.pm-btn-secondary:hover:not([disabled]){background-color:var(--color-bg-light)}.pm-btn-danger{background-color:var(--color-bg-white);border-color:var(--color-error-border);color:var(--color-error)}.pm-btn-danger:hover:not([disabled]){background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error-dark)}.pm-btn-sm{font-size:var(--font-size-xs);min-height:32px;padding:.4rem .75rem}.pm-btn svg{flex-shrink:0;height:14px;width:14px}.pm-link-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.pm-link-btn:hover{color:var(--color-primary-dark)}.pm-spinner{animation:pm-spin .7s linear infinite;border:2px solid;border-radius:50%;border-right:2px solid transparent;display:inline-block;height:14px;width:14px}.pm-spinner-lg{border-width:3px;color:var(--color-primary);height:28px;width:28px}@keyframes pm-spin{to{transform:rotate(1turn)}}.pm-empty,.pm-load-error,.pm-loading{align-items:center;background:var(--color-bg-white);border:1px dashed var(--color-border);border-radius:var(--border-radius);color:var(--color-text-light);display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.pm-loading p{margin:0}.pm-empty-icon{align-items:center;background:var(--color-primary-light);border-radius:50%;color:var(--color-primary-dark);display:flex;height:64px;justify-content:center;width:64px}.pm-empty-icon svg{height:32px;width:32px}.pm-empty h3{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.pm-empty p{font-size:var(--font-size-sm);margin:0;max-width:420px}.pm-load-error p{margin:0}.pm-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.pm-card{align-items:center;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--box-shadow-card);display:grid;gap:var(--spacing-md);grid-template-columns:auto minmax(0,1fr) auto;padding:var(--spacing-md)}.pm-card--default{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary),var(--box-shadow-card)}.pm-card--expired{background:var(--color-bg-light);opacity:.85}.pm-card-brand-icon{align-items:center;background:var(--color-bg-light);border-radius:4px;display:flex;flex-shrink:0;height:32px;justify-content:center;overflow:hidden;width:48px}.pm-card-brand-icon svg{height:100%;width:100%}.pm-card-body{display:flex;flex-direction:column;gap:.25rem;min-width:0}.pm-card-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.pm-card-title{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);margin:0;word-break:break-word}.pm-card-expiry{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.pm-card-billing{color:var(--color-text-lighter);font-size:var(--font-size-xs);margin:0}.pm-card-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.pm-badge{border:1px solid transparent;border-radius:var(--border-radius-lg);display:inline-block;font-size:.7rem;font-weight:var(--font-weight-semibold);letter-spacing:.5px;line-height:1.4;padding:.2rem .6rem;text-transform:uppercase;white-space:nowrap}.pm-badge-default{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary-dark)}.pm-badge-warning{background-color:var(--color-warning-light);border-color:var(--color-warning-border);color:var(--color-warning-dark)}.pm-badge-danger{background-color:var(--color-error-light);border-color:var(--color-error-border);color:var(--color-error-dark)}.pm-add-panel{background:var(--color-bg-white);border:1px solid var(--color-primary);border-radius:var(--border-radius);box-shadow:var(--box-shadow-card);margin:0 0 var(--spacing-md);padding:var(--spacing-md)}.pm-add-panel-header{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between;margin-bottom:var(--spacing-md)}.pm-add-panel-header h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.pm-add-panel-close{align-items:center;background:none;border:none;border-radius:var(--border-radius-sm);color:var(--color-text-light);cursor:pointer;display:flex;justify-content:center;padding:6px}.pm-add-panel-close:hover{background:var(--color-bg-light);color:var(--color-text)}.pm-add-panel-close svg{height:18px;width:18px}.pm-add-form{gap:var(--spacing-sm)}.pm-add-form,.pm-field{display:flex;flex-direction:column}.pm-field{gap:.4rem}.pm-field-label{color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.pm-field-input{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font-size:var(--font-size-base);padding:.6rem .75rem;transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease;width:100%}.pm-field-input:focus{border-color:var(--color-primary);box-shadow:var(--box-shadow-focus);outline:none}.pm-card-element{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius-sm);min-height:44px;padding:.7rem .75rem;transition:border-color var(--transition-fast) ease,box-shadow var(--transition-fast) ease}.pm-card-element.pm-card-element--focus{border-color:var(--color-primary);box-shadow:var(--box-shadow-focus)}.pm-card-element.pm-card-element--invalid{border-color:var(--color-error)}.pm-field-checkbox{align-items:center;flex-direction:row}.pm-checkbox-label{align-items:center;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);gap:.5rem}.pm-checkbox-label input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:16px;width:16px}.pm-form-error{background:var(--color-error-light);border:1px solid var(--color-error-border);border-radius:var(--border-radius-sm);color:var(--color-error-dark);font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:.5rem .75rem}.pm-form-actions{align-items:center;display:flex;gap:.5rem;justify-content:flex-end;margin-top:.25rem}#pm-submit-btn .pm-spinner{margin-left:.25rem}.pm-subs-footer{background:var(--color-bg-gray);border:1px solid var(--color-bg-lighter);border-radius:var(--border-radius);margin-top:var(--spacing-lg);padding:var(--spacing-md)}.pm-subs-footer h3{color:var(--color-text);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);letter-spacing:.5px;margin:0 0 var(--spacing-sm);text-transform:uppercase}.pm-subs-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.pm-subs-item{align-items:center;background:var(--color-bg-white);border:1px solid var(--color-border-light);border-radius:var(--border-radius-sm);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);justify-content:space-between;padding:.6rem .75rem}.pm-subs-item-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}.pm-subs-item-name{color:var(--color-text);font-weight:var(--font-weight-semibold);word-break:break-word}.pm-subs-item-pm{color:var(--color-text-light);font-size:var(--font-size-xs)}.pm-subs-item-pm.pm-subs-item-pm--missing{color:var(--color-error-dark);font-weight:var(--font-weight-semibold)}.pm-login{background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:var(--box-shadow-card);flex-direction:column;gap:var(--spacing-xs);margin:var(--spacing-md) auto;max-width:480px;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.pm-login,.pm-login-icon{align-items:center;display:flex}.pm-login-icon{background:var(--color-primary-light);border-radius:50%;color:var(--color-primary-dark);height:64px;justify-content:center;margin-bottom:var(--spacing-xs);width:64px}.pm-login-icon svg{height:30px;width:30px}.pm-login-title{color:var(--color-text);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.pm-login-text{color:var(--color-text-light);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0}.pm-login-cta{align-items:center;background-color:var(--color-primary);border:1px solid var(--color-primary);border-radius:var(--border-radius-sm);color:#fff;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);justify-content:center;margin-top:var(--spacing-sm);min-height:44px;padding:.625rem 1.5rem;text-decoration:none;transition:background-color var(--transition-fast) ease}.pm-login-cta:focus,.pm-login-cta:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff;text-decoration:none}.pm-login-cta:focus{box-shadow:var(--box-shadow-focus);outline:var(--focus-outline-width) solid var(--focus-outline-color);outline-offset:var(--focus-outline-offset)}@media (max-width:720px){.payment-methods-header{align-items:stretch;flex-direction:column;gap:var(--spacing-sm)}.payment-methods-header .pm-btn{width:100%}.pm-card{grid-template-areas:"icon body" "actions actions";grid-template-columns:auto minmax(0,1fr);row-gap:var(--spacing-sm)}.pm-card-brand-icon{grid-area:icon}.pm-card-body{grid-area:body}.pm-card-actions{grid-area:actions;justify-content:flex-end}.pm-subs-item{align-items:stretch;flex-direction:column;gap:.4rem}}