/* MABCConnect: estilos consolidados del registro de compras. */
#purchasesModal {
    --ph-primary: #5944c6;
    --ph-primary-soft: #f0edfb;
    --ph-text: #172033;
    --ph-muted: #64748b;
    --ph-border: #dfe6f0;
    --ph-soft: #f7f9fc;
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1001;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15,23,42,.48);
    box-sizing: border-box;
    color: var(--ph-text);
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.4;
}
#purchasesModal.active { display: flex; }
#purchasesModal *, #purchasesModal *::before, #purchasesModal *::after { box-sizing: border-box; }
#purchasesModal :where(h3,h4,p,span,div,section,a,button,input,summary,small,strong,textarea) { font-family: inherit; }
#purchasesModal button, #purchasesModal input, #purchasesModal summary { font: inherit; }
#purchasesModal .purchases-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 1100px;
    max-height: 90vh;
    max-height: 90dvh;
    min-height: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--ph-border);
    border-radius: 20px;
    background: #f5f6fa;
    box-shadow: 0 24px 80px rgba(15,23,42,.22);
}
#purchasesModal .purchases-header { position: relative; flex: none; padding: 18px 64px 16px 22px; border-bottom: 1px solid var(--ph-border); background: linear-gradient(120deg,#f4f1fd,#fdfdff 75%); }
#purchasesModal .purchases-header h3 { display: flex; align-items: center; gap: 12px; margin: 0; color: var(--ph-text); font-size: 22px; font-weight: 750; letter-spacing: -.4px; line-height: 1.25; }
#purchasesModal .purchases-header h3 i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--ph-primary-soft); color: var(--ph-primary); font-size: 18px; }
#purchasesModal .purchase-history-overview { display: flex; flex-wrap: wrap; gap: 7px; margin: 10px 0 0; color: var(--ph-muted); font-size: 12px; }
#purchasesModal .purchase-history-indicator { display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; border: 1px solid #e5e1f2; border-radius: 8px; background: rgba(255,255,255,.8); }
#purchasesModal .purchase-history-indicator > i { color: var(--ph-primary); font-size: 12px; }
#purchasesModal .purchase-history-indicator strong { color: #383154; font-weight: 750; }
#purchasesModal .close-purchases { position: absolute; top: 23px; right: 24px; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--ph-border); border-radius: 12px; background: #fff; color: #708098; cursor: pointer; }
#purchasesModal .close-purchases:hover { background: var(--ph-soft); }
#purchasesModal .purchase-history-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; padding: 12px 22px; flex: none; position: relative; z-index: 2; }
#purchasesModal .purchases-search { position: relative; flex: 1 1 240px; min-width: 0; padding: 0; margin: 0; }
#purchasesModal .purchases-search > i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #94a3b8; pointer-events: none; }
#purchasesModal .purchases-search-input { display: block; width: 100%; height: 42px; padding: 9px 12px 9px 38px; border: 1px solid var(--ph-border); border-radius: 13px; background: #fff; color: var(--ph-text); outline: none; font-size: 14px; }
#purchasesModal .purchases-search-input::placeholder { color: #8390a3; }
#purchasesModal .purchase-history-toolbar, #purchasesModal .purchase-history-filters { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 0; margin: 0; }
#purchasesModal .purchase-history-filter, #purchasesModal .purchase-history-more > summary { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 6px 11px; border: 1px solid var(--ph-border); border-radius: 999px; background: #fff; color: #506078; font-weight: 600; font-size: 13px; white-space: nowrap; cursor: pointer; }
#purchasesModal .purchase-history-filter:hover, #purchasesModal .purchase-history-more > summary:hover { background: var(--ph-soft); }
#purchasesModal .purchase-history-filter.is-active, #purchasesModal .purchase-history-more > summary.is-active { border-color: var(--ph-primary); background: var(--ph-primary); color: #fff; }
#purchasesModal .purchase-history-filter-count { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; background: #f0f3f8; border-radius: 999px; font-size: 12px; color: #526078; }
#purchasesModal .is-active .purchase-history-filter-count { background: rgba(255,255,255,.22); color: inherit; }
#purchasesModal .purchase-history-more { position: relative; }
#purchasesModal .purchase-history-more > summary { list-style: none; }
#purchasesModal .purchase-history-more > summary::-webkit-details-marker { display: none; }
#purchasesModal .purchase-history-more > summary i { font-size: 10px; }
#purchasesModal .purchase-history-filter-menu { position: absolute; top: calc(100% + 8px); right: 0; width: 220px; display: flex; flex-direction: column; gap: 4px; padding: 8px; border: 1px solid var(--ph-border); border-radius: 13px; background: #fff; box-shadow: 0 12px 30px rgba(15,23,42,.14); }
#purchasesModal .purchase-history-filter-menu .purchase-history-filter { justify-content: space-between; border-color: transparent; border-radius: 8px; }
#purchasesModal .purchase-history-visible-count { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#purchasesModal .purchases-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 0 18px 20px 22px; }
#purchasesModal .purchases-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 14px; }
#purchasesModal .purchase-card.purchase-history-card { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 14px; gap: 0; border: 1px solid var(--ph-border); border-radius: 16px; background: #fff; color: var(--ph-text); box-shadow: 0 2px 6px rgba(37,29,73,.035); }
#purchasesModal .purchase-card.purchase-history-card:hover { border-color: #cfc6e8; }
#purchasesModal .purchase-history-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 0; padding: 0; border: 0; color: var(--ph-text); font-size: 16px; font-weight: 700; line-height: 1.35; order: 0; }
#purchasesModal .purchase-history-title { display: flex; align-items: center; gap: 10px; min-width: 0; overflow-wrap: anywhere; }
#purchasesModal .purchase-history-title > span { min-width: 0; }
#purchasesModal .purchase-history-title > .purchase-history-avatar { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid #e4def7; border-radius: 11px; background: linear-gradient(145deg,#f5f2ff,#eae5f8); color: var(--ph-primary); font-size: 12px; font-weight: 800; letter-spacing: .5px; }
#purchasesModal .purchase-history-title > i { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 10px; background: var(--ph-primary-soft); color: var(--ph-primary); font-size: 16px; }
#purchasesModal .purchase-history-heading-actions { display: flex; flex: 0 0 auto; align-items: center; max-width: 43%; }
#purchasesModal .subscription-badge { display: inline-flex; align-items: center; padding: 5px 10px; min-height: 29px; border: 0; border-radius: 999px; font-size: 12px; line-height: 1.25; font-weight: 700; text-align: center; }
#purchasesModal .subscription-badge-green, #purchasesModal .subscription-badge-renovado { background: #ecfdf5; color: #047857; }
#purchasesModal .subscription-badge-orange { background: #fff7ed; color: #b45309; }
#purchasesModal .subscription-badge-red { background: #fef2f2; color: #c81e1e; }
#purchasesModal [data-order-status="pending"] .mabc-manual-purchase-status { background: #fff7ed; color: #b45309; }
#purchasesModal [data-order-status="refunded"] .mabc-manual-purchase-status { background: #f1f3f7; color: #526078; }
#purchasesModal .purchase-history-summary { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin: 10px 0; padding: 0; order: 1; }
#purchasesModal .purchase-history-summary > span { display: inline-flex; align-items: center; gap: 5px; min-width: 0; padding: 3px 6px; border-radius: 5px; background: #f5f6fa; color: var(--ph-muted); font-size: 11.5px; line-height: 1.45; overflow-wrap: anywhere; }
#purchasesModal .purchase-history-summary i { color: #94a3b8; font-size: 12px; }
#purchasesModal .purchase-info { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 2px 12px; min-width: 0; border: 1px solid #edf1f7; border-radius: 12px; background: var(--ph-soft); order: 2; }
#purchasesModal .purchase-info-item { display: grid; grid-template-columns: 94px minmax(0,1fr); align-items: center; gap: 10px; min-width: 0; min-height: 44px; padding: 5px 0; margin: 0; border: 0; border-bottom: 1px dashed #dfe6f0; background: none; border-radius: 0; }
#purchasesModal .purchase-info-item:last-child { border-bottom: 0; }
#purchasesModal .purchase-info-item .label { display: block; margin: 0; color: #62708a; font-size: 12px; font-weight: 700; letter-spacing: .01em; text-transform: uppercase; }
#purchasesModal .purchase-info-item .label i { display: none; }
#purchasesModal .purchase-info-item .value { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; min-width: 0; margin: 0; color: var(--ph-text); font-size: 14px; font-weight: 500; overflow-wrap: anywhere; word-break: normal; }
#purchasesModal .copy-account-btn, #purchasesModal .mabc-purchase-copy.mabc-copy-icon { display: inline-grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; min-width: 32px; padding: 0; margin: 0; border: 1px solid var(--ph-border); border-radius: 9px; background: #fff; color: #708098; font-size: 13px; cursor: pointer; }
#purchasesModal .copy-account-btn i, #purchasesModal .mabc-copy-icon i { margin: 0; color: inherit; font-size: 13px; }
#purchasesModal .copy-account-btn:hover, #purchasesModal .mabc-copy-icon:hover { color: var(--ph-primary); border-color: #c4b5fd; }
#purchasesModal .mabc-note-text { display: block; min-width: 0; max-height: 96px; margin: 0; overflow-y: auto; overflow-x: hidden; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; line-height: 1.45; font-weight: 400; overscroll-behavior: contain; scrollbar-width: thin; }
#purchasesModal .mabc-note-text a { color: #4f46e5; text-decoration: underline; text-underline-offset: 2px; }
#purchasesModal .purchase-history-delivery-meta { margin: 5px 0 0; color: var(--ph-muted); font-size: 11px; order: 3; }
#purchasesModal .mabc-purchase-actions { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; margin-top: 10px; order: 5; }
#purchasesModal .mabc-purchase-actions > * { flex: 1 1 0; min-width: 0; }
#purchasesModal .mabc-purchase-actions > .mabc-purchase-copy { flex-grow: 1.15; }
#purchasesModal .mabc-purchase-actions > .mabc-whatsapp-share-btn { flex: 0 0 36px; min-width: 36px; margin: 0; }
#purchasesModal .mabc-purchase-copy, #purchasesModal .mabc-purchase-report { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 7px 10px; border: 1px solid var(--ph-border); border-radius: 10px; background: #fff; color: #475569; font: inherit; font-size: 14px; font-weight: 600; white-space: nowrap; text-decoration: none; cursor: pointer; }
#purchasesModal .mabc-purchase-actions > .mabc-purchase-copy { background: var(--ph-primary-soft); border-color: #e0daf4; color: #5140ae; }
#purchasesModal .mabc-purchase-report { color: #b63242; }
#purchasesModal button:disabled { opacity: .6; cursor: not-allowed; }
#purchasesModal .mabc-purchase-copy:hover, #purchasesModal .mabc-purchase-report:hover { background: var(--ph-soft); }
#purchasesModal .purchase-badge-container, #purchasesModal .mabc-purchase-share-only { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 8px 0 0; padding: 0; order: 7; }
/* El estado y el vencimiento ya se muestran arriba; se conserva el enlace de compartir. */
#purchasesModal .purchase-badge-container > .badge-label, #purchasesModal .purchase-badge-container > .subscription-badge { display: none; }
#purchasesModal .purchase-badge-container:not(:has(.mabc-whatsapp-share-btn)) { display: none; }
#purchasesModal .mabc-whatsapp-share-btn { display: inline-grid; place-items: center; width: 36px; height: 38px; padding: 0; border: 1px solid #cce8db; border-radius: 10px; background: #f1faf5; color: #128256; text-decoration: none; }
#purchasesModal .mabc-whatsapp-share-btn i { display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; margin: 0; font-size: 21px; line-height: 1; }
#purchasesModal .mabc-whatsapp-share-btn:hover { color: #09633e; border-color: #96cdb2; background: #e5f5ed; }
#purchasesModal .mabc-renewal-footer { display: flex; align-items: center; gap: 8px; width: 100%; order: 6; }
#purchasesModal .purchase-card .mabc-renewal-footer-ready > .mabc-renewal-open { flex: 1 1 auto; width: auto; }
#purchasesModal .purchase-card .mabc-renewal-footer-ready { margin-top: 10px; padding: 6px; border: 1px solid var(--ph-border); border-radius: 11px; box-shadow: none; }
#purchasesModal .purchase-card .mabc-renewal-footer-expired { display: flex; align-items: center; justify-content: center; order: 4; margin-top: 10px; padding: 9px 11px; border: 0; border-radius: 10px; background: #fef2f2; box-shadow: none; color: #c81e1e; text-align: center; }
#purchasesModal .purchase-card .mabc-renewal-state-expired { display: flex; align-items: center; justify-content: center; width: 100%; min-width: 0; min-height: 0; gap: 6px; padding: 0; border: 0; background: none; color: inherit; font-size: 12px; }
#purchasesModal .purchase-card .mabc-renewal-state-icon { display: inline-flex; flex: 0 0 auto; width: auto; height: auto; background: none; color: inherit; font-size: 12px; }
#purchasesModal .purchase-card .mabc-renewal-state-text { min-width: 0; color: inherit; font-size: 12px; font-weight: 400; overflow-wrap: anywhere; }
#purchasesModal .mabc-copy-fallback { order: 9; width: 100%; min-width: 0; margin-top: 8px; white-space: pre-wrap; }
#purchasesModal .purchase-history-card[hidden], #purchasesModal #noResults[hidden] { display: none !important; }
#purchasesModal .no-purchases { grid-column: 1/-1; padding: 32px 16px; text-align: center; color: var(--ph-muted); }
#purchasesModal .no-purchases i { display: block; margin-bottom: 10px; font-size: 26px; color: #a5b4c8; }
#purchasesModal :is(button,a,input,summary,textarea,[tabindex]):focus-visible { outline: 2px solid var(--ph-primary); outline-offset: 3px; }
@media (max-width: 800px) {
    #purchasesModal { padding: 10px; }
    #purchasesModal .purchases-content { max-height: 96vh; max-height: 96dvh; border-radius: 16px; }
    #purchasesModal .purchases-grid { grid-template-columns: minmax(0,1fr); }
    #purchasesModal .purchases-header { padding: 15px 16px 12px; }
    #purchasesModal .purchases-header h3 { padding-right: 40px; font-size: 21px; }
    #purchasesModal .close-purchases { top: 18px; right: 16px; }
    #purchasesModal .purchase-history-controls { padding: 10px 16px; }
    #purchasesModal .purchases-body { padding: 0 12px 16px 16px; }
}
@media (max-width: 560px) {
    #purchasesModal { padding: 6px; }
    #purchasesModal .purchases-content { max-height: calc(100vh - 12px); max-height: calc(100dvh - 12px); }
    #purchasesModal .purchases-search { flex-basis: 100%; }
    #purchasesModal .purchase-history-toolbar, #purchasesModal .purchase-history-filters { width: 100%; }
    #purchasesModal .purchase-history-more { margin-left: auto; }
    #purchasesModal .purchases-header h3 { font-size: 20px; }
    #purchasesModal .purchase-history-overview { font-size: 11.5px; gap: 6px; }
    #purchasesModal .purchase-history-indicator { padding: 5px 7px; gap: 5px; }
    #purchasesModal .purchase-card.purchase-history-card { padding: 14px; }
    #purchasesModal .purchase-history-heading { font-size: 15px; gap: 8px; }
    #purchasesModal .purchase-history-title { gap: 8px; }
    #purchasesModal .purchase-history-title > i { width: 30px; height: 32px; flex-basis: 30px; font-size: 14px; }
    #purchasesModal .subscription-badge { padding: 5px 8px; font-size: 11px; }
    #purchasesModal .purchase-history-summary { gap: 4px 10px; }
    #purchasesModal .purchase-history-summary > span { font-size: 11px; }
    #purchasesModal .purchase-info { padding: 2px 10px; }
    #purchasesModal .purchase-info-item { grid-template-columns: 84px minmax(0,1fr); gap: 8px; }
    #purchasesModal .purchase-info-item .label { font-size: 11px; }
    #purchasesModal .purchase-info-item .value { font-size: 13.5px; gap: 6px; }
    #purchasesModal .mabc-purchase-actions > .mabc-purchase-copy, #purchasesModal .mabc-purchase-actions > .mabc-purchase-report { font-size: 12.5px; padding: 7px 6px; gap: 5px; }
}
@media (max-height: 500px) {
    #purchasesModal .purchases-header { padding-top: 10px; padding-bottom: 10px; }
    #purchasesModal .close-purchases { top: 14px; }
    #purchasesModal .purchase-history-controls { padding-top: 8px; padding-bottom: 8px; }
}
@media (prefers-reduced-motion: reduce) {
    #purchasesModal *, #purchasesModal *::before, #purchasesModal *::after { animation: none !important; transition: none !important; }
}
/* Iconos locales del historial: sin dependencia adicional de fuentes. */
#purchasesModal :is(.fa-folder,.fa-search,.fa-copy,.fa-calendar-alt,.fa-calendar-check,.fa-clock,.fa-tag,.fa-tv,.fa-clipboard-check,.fa-times,.fa-chevron-down,.fa-sync-alt,.fa-times-circle,.fa-exclamation-triangle,.fa-whatsapp,.fa-receipt)::before { content:""; display:inline-block; width:1em; height:1em; vertical-align:-.12em; background:currentColor; -webkit-mask:var(--ph-icon) center/contain no-repeat; mask:var(--ph-icon) center/contain no-repeat; }
#purchasesModal .fa-folder { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%207h7l2%202h9v11H3z%22%2F%3E%3Cpath%20d%3D%22M3%207V4h7l2%203%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-search { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2210.5%22%20cy%3D%2210.5%22%20r%3D%226.5%22%2F%3E%3Cpath%20d%3D%22m16%2016%205%205%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-copy { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%2212%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%208V3H3v13h5%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-calendar-alt { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%203v4m10-4v4M3%2011h18%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-calendar-check { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%203v4m10-4v4M3%2011h18m4%205%203%203%206-6%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-clock { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M12%206v6l4%202%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-tag { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%203h8l10%2010-8%208L3%2011z%22%2F%3E%3Ccircle%20cx%3D%227.5%22%20cy%3D%227.5%22%20r%3D%22.5%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-tv { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%224%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2021h8m-4-4v4%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-clipboard-check { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%224%22%20y%3D%225%22%20width%3D%2216%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Crect%20x%3D%228%22%20y%3D%222%22%20width%3D%228%22%20height%3D%225%22%20rx%3D%221%22%2F%3E%3Cpath%20d%3D%22m8%2013%203%203%205-6%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-times { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%206%2012%2012M18%206%206%2018%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-chevron-down { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-sync-alt { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010a8%208%200%200%200-14-4L3%209m0-6v6h6m-5%205a8%208%200%200%200%2014%204l3-3m0%206v-6h-6%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-times-circle { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22m9%209%206%206m0-6-6%206%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-exclamation-triangle { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203%202%2021h20zM12%209v5m0%203v1%22%2F%3E%3C%2Fsvg%3E"); }
/* Comprobante posterior a una compra: estilos unificados y limitados a este bloque. */
#mabcReceipt {
    width: 100%; max-width: 760px; margin: 0 auto 22px; padding: 0; overflow: hidden;
    border: 1px solid #dfe6f0; border-radius: 16px; background: #fff; color: #172033;
    box-shadow: 0 6px 24px rgba(15,23,42,.05); font-family: Arial, "Segoe UI", sans-serif;
    font-size: 14px; line-height: 1.45; animation: none; scroll-margin-top: 110px;
}
#mabcReceipt.mabc-receipt-multiple { max-width: 980px; }
#mabcReceipt *, #mabcReceipt *::before { box-sizing: border-box; }
#mabcReceipt :where(h3,h4,p,span,div,section,a,button,small,strong,textarea) { font-family: inherit; }
#mabcReceipt:focus { outline: none; }
#mabcReceipt .credentials-header-compact { display: flex; align-items: center; gap: 10px; margin: 0; padding: 14px 18px; border-bottom: 1px solid #e8edf5; background: #f7fcfa; color: #166534; }
#mabcReceipt .credentials-header-compact h3 { margin: 0; font-size: 17px; font-weight: 700; line-height: 1.3; }
#mabcReceipt .mabc-receipt-success { display: grid; place-items: center; flex: 0 0 30px; width: 30px; height: 30px; border-radius: 9px; background: #dcfce7; color: #15803d; font-size: 19px; }
#mabcReceipt .credentials-body-compact { display: grid; grid-template-columns: minmax(0,1fr); gap: 14px; padding: 16px 18px 0; }
#mabcReceipt .mabc-receipt-card { min-width: 0; padding: 0; border: 0; }
#mabcReceipt .mabc-receipt-product { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
#mabcReceipt .mabc-receipt-product h4 { min-width: 0; margin: 0; font-size: 16px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
#mabcReceipt .mabc-receipt-fields { min-width: 0; padding: 2px 12px; border: 1px solid #edf1f7; border-radius: 12px; background: #f7f9fc; }
#mabcReceipt .mabc-receipt-row { display: grid; grid-template-columns: 100px minmax(0,1fr) 32px; align-items: center; gap: 10px; min-width: 0; min-height: 44px; padding: 5px 0; border-bottom: 1px dashed #dfe6f0; }
#mabcReceipt .mabc-receipt-row:last-child { border-bottom: 0; }
#mabcReceipt .credential-label { min-width: 0; margin: 0; font-size: 12px; color: #72829b; font-weight: 700; }
#mabcReceipt .credential-value { display: block; min-width: 0; margin: 0; color: #172033; font: inherit; font-size: 14px; white-space: pre-wrap; overflow-wrap: anywhere; word-break: normal; }
#mabcReceipt .credential-value[tabindex] { max-height: 112px; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; scrollbar-width: thin; }
#mabcReceipt .credential-value a { color: #4f46e5; text-decoration: underline; text-underline-offset: 2px; }
#mabcReceipt .mabc-purchase-copy { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 15px; border: 1px solid #5538f5; border-radius: 10px; background: #5538f5; color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
#mabcReceipt .mabc-purchase-copy:hover { background: #4527e6; }
#mabcReceipt .mabc-purchase-copy.mabc-copy-icon { display: inline-grid; place-items: center; flex: 0 0 32px; width: 32px; min-width: 32px; height: 32px; min-height: 32px; padding: 0; border: 1px solid #dfe6f0; border-radius: 9px; background: #fff; color: #708098; }
#mabcReceipt .mabc-copy-icon:hover { color: #5538f5; border-color: #c4b5fd; }
#mabcReceipt .mabc-receipt-footer { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 14px 18px 16px; }
#mabcReceipt .mabc-receipt-history { display: inline; padding: 0; margin: 0; font-size: 13px; color: #64748b; text-decoration: underline; text-underline-offset: 3px; }
#mabcReceipt .mabc-copy-fallback { flex-basis: 100%; width: 100%; min-width: 0; margin-top: 10px; padding: 8px; border: 1px solid #cbd5e1; border-radius: 8px; font: inherit; white-space: pre-wrap; }
#mabcReceipt :is(button,a,textarea,[tabindex]):focus-visible { outline: 2px solid #5538f5; outline-offset: 3px; }
#mabcReceipt .fa-copy::before { content: ""; display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--ph-icon) center/contain no-repeat; mask: var(--ph-icon) center/contain no-repeat; }
@media (min-width: 800px) { #mabcReceipt .credentials-body-compact.is-multiple { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) {
    #mabcReceipt .credentials-header-compact { padding: 12px; }
    #mabcReceipt .credentials-header-compact h3 { font-size: 16px; }
    #mabcReceipt .credentials-body-compact { padding: 12px 12px 0; }
    #mabcReceipt .mabc-receipt-fields { padding: 2px 10px; }
    #mabcReceipt .mabc-receipt-row { grid-template-columns: 76px minmax(0,1fr) 32px; gap: 8px; }
    #mabcReceipt .credential-label { font-size: 11px; }
    #mabcReceipt .credential-value { font-size: 13px; }
    #mabcReceipt .mabc-receipt-product h4 { font-size: 15px; }
    #mabcReceipt .mabc-receipt-footer { padding: 12px; }
    #mabcReceipt .mabc-receipt-footer > .mabc-purchase-copy { flex: 1 1 auto; }
}

/* Estados de renovación y aviso; sin modificar tokens globales de identidad. */
#mabcRenewalModal [hidden], #mabcManualRenewalModal [hidden] { display:none!important; }
.mabc-expiry-notice { position:relative; display:flex; align-items:center; gap:20px; width:100%; box-sizing:border-box; padding:23px 26px; margin:0 0 20px; border:1px solid #f4a5ac; border-radius:15px; background:#f8e9ec; box-shadow:0 4px 14px rgba(185,28,28,.055); color:#172033; font-family:"Segoe UI",Arial,sans-serif; font-size:15px; line-height:1.45; }
.mabc-expiry-notice *, .mabc-expiry-notice *::before { box-sizing:border-box; }
.mabc-expiry-notice[hidden], .mabc-expiry-notice li[hidden] { display:none!important; }
.mabc-expiry-notice .mabc-expiry-danger { display:flex; flex:0 0 28px; align-items:center; justify-content:center; color:#ef4444; }
.mabc-expiry-danger svg { display:block; width:28px; height:28px; }
.mabc-expiry-notice .mabc-expiry-content { flex:1 1 0; min-width:0; }
.mabc-expiry-notice [data-expiry-heading] { display:block; margin:0 24px 7px 0; color:#101b2e; font-size:17px; line-height:1.35; font-weight:750; }
.mabc-expiry-notice .mabc-expiry-list { max-height:360px; overflow-y:auto; overflow-x:hidden; overscroll-behavior:contain; scrollbar-width:thin; list-style:none; padding:0; margin:0; }
.mabc-expiry-list > li { margin:0 0 10px; padding:0; min-width:0; }
.mabc-expiry-list > li:last-child { margin-bottom:0; }
.mabc-expiry-account { min-width:0; }
.mabc-expiry-account > summary { display:flex; align-items:flex-start; gap:4px; min-width:0; min-height:24px; list-style:none; cursor:pointer; border-radius:4px; }
.mabc-expiry-account > summary::-webkit-details-marker { display:none; }
.mabc-expiry-chevron { flex:0 0 12px; width:12px; height:16px; margin-top:3px; color:#7d7784; }
.mabc-expiry-account[open] .mabc-expiry-chevron { transform:rotate(90deg); }
.mabc-expiry-product-line { display:block; min-width:0; overflow-wrap:anywhere; }
.mabc-expiry-product { font-size:15px; font-weight:750; color:#1e293b; }
.mabc-expiry-notice [data-expiry-time] { font-size:14px; font-weight:500; color:#956000; }
.mabc-expiry-notice [data-expiry-urgency="today"] { color:#d92d3b; }
.mabc-expiry-notice [data-expiry-urgency="tomorrow"] { color:#b76500; }
.mabc-expiry-notice .mabc-expiry-identifier { margin:4px 0 0 20px; padding:0; max-width:100%; min-width:0; color:#4c5265; font-family:ui-monospace,"Cascadia Code","Courier New",monospace; font-size:13px; line-height:1.5; overflow-wrap:anywhere; word-break:normal; }
.mabc-expiry-notice .mabc-expiry-coverage { display:block; margin-top:8px; font-size:12px; color:#77535a; }
.mabc-expiry-notice button { font:inherit; cursor:pointer; }
.mabc-expiry-notice .mabc-expiry-open { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; gap:8px; min-height:44px; padding:11px 19px; margin:12px 0 0; border:1px solid #10192d; border-radius:10px; background:#10192d; color:#fff; font-size:14px; font-weight:700; line-height:1.35; white-space:nowrap; }
.mabc-expiry-open svg { width:17px; height:17px; flex:0 0 17px; }
.mabc-expiry-notice .mabc-expiry-open:hover { background:#202c45; }
.mabc-expiry-notice .mabc-expiry-close { position:absolute; top:9px; right:9px; display:grid; place-items:center; width:30px; height:30px; padding:6px; border:0; border-radius:7px; background:transparent; color:#94a3b8; }
.mabc-expiry-close svg { display:block; width:18px; height:18px; }
.mabc-expiry-notice .mabc-expiry-close:hover { color:#64748b; background:rgba(255,255,255,.45); }
.mabc-expiry-notice :is(button,summary):focus-visible { outline:2px solid #17243d; outline-offset:3px; }
@media (max-width:600px) {
    .mabc-expiry-notice { display:grid; grid-template-columns:23px minmax(0,1fr); align-items:start; column-gap:10px; row-gap:12px; padding:19px 14px 14px; border-radius:13px; }
    .mabc-expiry-notice .mabc-expiry-danger { padding-top:1px; }
    .mabc-expiry-danger svg { width:23px; height:23px; }
    .mabc-expiry-notice [data-expiry-heading] { font-size:15px; margin-right:18px; }
    .mabc-expiry-notice .mabc-expiry-list { max-height:250px; }
    .mabc-expiry-product { font-size:13px; }
    .mabc-expiry-notice [data-expiry-time] { font-size:12.5px; }
    .mabc-expiry-notice .mabc-expiry-identifier { font-size:12px; margin-left:16px; }
    .mabc-expiry-notice .mabc-expiry-open { grid-column:1/-1; justify-self:stretch; width:100%; margin:0; min-height:44px; }
    .mabc-expiry-notice .mabc-expiry-close { top:5px; right:5px; width:28px; height:28px; }
}
#purchasesModal .fa-whatsapp { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M12%202a10%2010%200%200%200-8.66%2015L2%2022l5.15-1.35A10%2010%200%201%200%2012%202zm0%2018.18a8.13%208.13%200%200%201-4.17-1.15l-.3-.18-3.06.8.82-2.98-.2-.31A8.18%208.18%200%201%201%2012%2020.18zm4.49-6.12c-.24-.12-1.44-.71-1.66-.79s-.39-.12-.55.12-.63.79-.77.95-.28.18-.52.06a6.7%206.7%200%200%201-1.96-1.21%207.36%207.36%200%200%201-1.35-1.68c-.14-.24-.01-.37.11-.49l.37-.43c.12-.14.16-.24.24-.4s.04-.3-.02-.43-.55-1.32-.75-1.81c-.2-.48-.4-.42-.55-.43h-.47c-.16%200-.43.06-.65.3s-.85.83-.85%202.02.87%202.34.99%202.5%201.71%202.61%204.15%203.66c.58.25%201.03.4%201.38.51.58.18%201.11.16%201.52.1.46-.07%201.44-.59%201.64-1.15s.2-1.05.14-1.15-.22-.16-.46-.28z%22%2F%3E%3C%2Fsvg%3E"); }
#purchasesModal .fa-receipt { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%203%207%204%209%203%2011%204%2013%203%2015%204%2017%203%2019%204v17l-2-1-2%201-2-1-2%201-2-1-2%201-2-1zM8%208h8m-8%204h8m-8%204h5%22%2F%3E%3C%2Fsvg%3E"); }

#mabcReceipt .fa-copy { --ph-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%2212%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M16%208V3H3v13h5%22%2F%3E%3C%2Fsvg%3E"); }
