.cardx{background:#fff;border:1px solid #e6ecf5;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(31,59,115,.08)}
.cardx-header{padding:16px 18px;border-bottom:1px solid #eef2f8;display:flex;align-items:center;justify-content:space-between;gap:10px}
.cardx-title{font-weight:700;margin:0;font-size:16px}
.cardx-body{padding:18px}
.cardx-content{filter: blur(1.2px);opacity: 0.85;pointer-events: none;user-select: none;}
.page-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.page-title h1{font-size:clamp(22px,3vw,32px);margin:0}
.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#6c7a95}
.muted{color:#6f7a86}
.btn-brand{background:#1f3b73;border-color:#1f3b73;color:#fff}
.btn-brand:hover{filter:brightness(.95);color:#fff}
.btn-ghost{background:#f6f8fd;border:1px solid #e6ecf5;color:#1f3b73}
.btn-ghost:hover{background:#eef3ff}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:991px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}
.kpi{background:#fff;border:1px solid #e6ecf5;border-radius:14px;padding:16px}
.kpi .label{color:#6f7a86;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.kpi .value{font-weight:800;font-size:22px;margin-top:4px;color:#1f3b73}
.grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
@media(max-width:991px){.grid{grid-template-columns:1fr}}
.line{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px dashed #e6ecf5}
.line:last-child{border-bottom:none}
.table-clean{width:100%;border-collapse:separate;border-spacing:0 8px}
.table-clean th{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#6f7a86}
.table-clean td,.table-clean th{padding:12px;background:#fff;border:1px solid #e6ecf5}
.badge-status{border-radius:999px;padding:4px 10px;font-size:12px;border:1px solid #e6ecf5;background:#f6f8fd}
.amount-lg{font-weight:800;font-size:28px;color:#1f3b73}
.small-muted{font-size:12px;color:#6f7a86}
.switch{position:relative;display:inline-block;width:44px;height:24px;vertical-align:middle}
.switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#e6ecf5;transition:.2s;border-radius:999px}
.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background:white;transition:.2s;border-radius:50%}
input:checked + .slider{background:#1f3b73}
input:checked + .slider:before{transform:translateX(20px)}
.muted{ color:#6f7a86; }
.btn-brand{ background:#1f3b73; border-color:#1f3b73; color:#fff; }
.btn-brand:hover{ filter:brightness(.95); color:#fff; }
.badge-soft{ border:1px solid #e6ecf5; background:#f3f6fc; color:#1f3b73; font-weight:700; }
.table td, .table th { vertical-align: middle; }
.mono{ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
.position-relative{position:relative}
.coming-soon-overlay{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center; text-align:center;
    padding:24px;
    background:rgba(31,59,115,.08);
    z-index:2;
}
.coming-soon-overlay .msg{
    background:rgba(255,255,255,.85);
    border:1px solid #e6ecf5;
    border-radius:12px;
    padding:14px 18px;
    font-weight:700;
    color:#1f3b73;
    box-shadow:0 6px 18px rgba(31,59,115,.08);
}
.deductible-plan-title{
    white-space: normal;
}
.dashboard-plan-wrap{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
.deductible-plan-badge{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 14px;
    border-radius: 999px;
    font-size: 0.95rem;
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0.01em;
    border: 1px solid transparent;
}
.deductible-plan-badge--deductible{
    position: relative;
    overflow: hidden;
    color: #fff;
    border-color: rgba(219, 230, 255, 0.9);
    background: linear-gradient(110deg, #1f3b73, #2b63d6, #d4a02e, #1f3b73);
    background-size: 300% 300%;
    box-shadow: 0 10px 24px rgba(31, 59, 115, 0.2);
    vertical-align: text-bottom;
}
.deductible-plan-badge--deductible::before{
    content: "";
    position: absolute;
    inset: -2px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.35), rgba(255, 255, 255, 0.1));
    transform: translateX(-120%);
}
.cardx .cardx-content{
    filter: blur(1.2px);
    opacity: 0.85;
    pointer-events: none;
    user-select: none;
    #payments-table-wrapper, #payment-methods-table-wrapper{
        overflow-x: auto;
        width: 100%;
    }
}