.platform-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;max-width:1120px;margin:0 auto .75rem}.platform-kpis article{position:relative;overflow:hidden;display:grid;padding:.75rem .9rem;background:#fff;border:1px solid #dce8e7;border-radius:12px;box-shadow:0 3px 12px #0f2a430b}.platform-kpis article::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#08756c}.platform-kpis .warning::before{background:#b45309}.platform-kpis .danger::before{background:#b42318}.platform-kpis span{color:#52677a;font-size:.7rem;font-weight:750}.platform-kpis strong{color:#102a43;font-size:1.05rem}.platform-filter{display:flex;gap:.55rem;max-width:1120px;margin:0 auto .75rem;padding:.65rem;background:#fff;border:1px solid #dce8e7;border-radius:12px}.platform-filter input{flex:1}.platform-filter input,.platform-filter select{padding:.5rem .65rem;border:1px solid #cbdcda;border-radius:9px}.platform-section{max-width:1120px;margin:0 auto .75rem}.platform-section .product-table-wrap{margin:0;border-radius:11px}.overdue-row{background:#fffaf2}.platform-empty{text-align:center!important;padding:2rem!important}.status-pill.overdue,.status-pill.failed{background:#fee2e2;color:#b42318}.status-pill.unpaid,.status-pill.skipped{background:#fff3cd;color:#8a5b00}.status-pill.partial,.status-pill.running{background:#eaf2fb;color:#235b91}.status-pill.completed{background:#e8f7f3;color:#08756c}@media(max-width:750px){.platform-kpis{grid-template-columns:1fr 1fr}.platform-kpis article:last-child{grid-column:1/-1}.platform-filter{display:grid;grid-template-columns:1fr 1fr}.platform-filter input{grid-column:1/-1}}
.analytics-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem;max-width:1120px;margin:0 auto .75rem}.analytics-kpis article{position:relative;overflow:hidden;display:grid;padding:.72rem .85rem;background:#fff;border:1px solid #dce8e7;border-radius:12px;box-shadow:0 3px 12px #0f2a430b}.analytics-kpis article::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#08756c}.analytics-kpis article.warning::before{background:#b45309}.analytics-kpis article.danger::before{background:#b42318}.analytics-kpis span,.analytics-kpis small{color:#52677a;font-size:.67rem}.analytics-kpis span{font-weight:800}.analytics-kpis strong{color:#102a43;font-size:1.08rem}.month-state,.trend{display:inline-block;min-width:65px;padding:.28rem .5rem;border-radius:999px;text-align:center;font-size:.64rem;font-weight:800}.month-state.active,.trend.good{background:#e7f7f1;color:#08734f}.month-state.inactive,.trend.bad{background:#feeceb;color:#a52820}.trend.watch{background:#fff3d9;color:#946000}.activity-table th:not(:first-child):not(:nth-child(2)),.activity-table td:not(:first-child):not(:nth-child(2)){text-align:center}@media(max-width:950px){.analytics-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:575px){.analytics-kpis{grid-template-columns:1fr 1fr}}
.payment-width,.subscription-payment-form,.payment-overview{max-width:900px;margin-left:auto;margin-right:auto}.payment-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:.75rem}.payment-overview article{position:relative;overflow:hidden;display:grid;padding:.75rem .9rem;background:#fff;border:1px solid #dce8e7;border-radius:12px}.payment-overview article::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#08756c}.payment-overview article.due::before{background:#b45309}.payment-overview span,.payment-overview small{color:#64748b;font-size:.68rem}.payment-overview strong{color:#102a43}.subscription-payment-form{margin-bottom:2rem}@media(max-width:650px){.payment-overview{grid-template-columns:1fr 1fr}}
.renewal-total{min-height:43px;padding:.55rem .7rem;border:1px solid #d5e3e0;border-radius:9px;background:#f2faf8;color:#52677a}.renewal-total strong{color:#0f5f59;font-size:1rem}.renewal-total small{display:block}
