@media (min-width: 641px){.mypay-head{align-items: flex-end;}}.mypay-title{margin: 0;font-family: var(--font-heading);font-size: 30px;line-height: 1.1;text-transform: uppercase;letter-spacing: 0.5px;}.mypay-subtitle{margin: 4px 0 0;color: var(--text-muted);font-size: 13px;}.mypay-season-form .hl-select{min-width: 180px;}.mypay-sr-only{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;}.mypay-card-title{margin: 0 0 var(--space-4);font-family: var(--font-body);font-size: 11px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-muted);}.mypay-overview{display: grid;grid-template-columns: 1fr;gap: var(--space-4);margin-bottom: var(--space-4);}@media (min-width: 760px){.mypay-overview{grid-template-columns: 1.15fr 1fr;}}.mypay-overview > .hl-card + .hl-card{margin-top: 0;}.mypay-balance{position: relative;overflow: hidden;border-top: 3px solid var(--badge-violet);}.mypay-balance.is-overdue{border-top-color: var(--badge-alert);}.mypay-balance.is-clear{border-top-color: var(--badge-lime);}.mypay-kicker{display: block;font-size: 11px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-muted);}.mypay-balance-amount{display: block;margin-top: 4px;font-family: var(--font-mono);font-size: clamp(30px, 8vw, 40px);font-weight: 700;line-height: 1.1;color: var(--text);font-variant-numeric: tabular-nums;overflow-wrap: anywhere;}.mypay-balance-note{display: flex;align-items: center;gap: 6px;min-height: 24px;margin: var(--space-2) 0 var(--space-4);font-size: 13px;color: var(--text-secondary);}.mypay-balance.is-clear .mypay-balance-note{color: var(--badge-lime);font-weight: 600;}.mypay-progress{height: 8px;border-radius: 999px;background: var(--bg-raised);border: 1px solid var(--border);overflow: hidden;}.mypay-progress span{display: block;height: 100%;border-radius: inherit;background: var(--badge-lime);}.mypay-progress-caption{margin: 6px 0 0;font-size: 12px;color: var(--text-muted);}.mypay-figures{display: grid;grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));gap: var(--space-3);margin: var(--space-4) 0 0;padding-top: var(--space-4);border-top: 1px solid var(--border);}.mypay-figures dt{font-size: 10px;font-weight: 600;text-transform: uppercase;letter-spacing: 0.5px;color: var(--text-muted);}.mypay-figures dd{margin: 2px 0 0;font-family: var(--font-mono);font-size: 15px;font-weight: 700;color: var(--text);font-variant-numeric: tabular-nums;}.mypay-donut-wrap{display: flex;align-items: center;gap: var(--space-5);flex-wrap: wrap;}.mypay-donut{position: relative;width: 148px;height: 148px;flex-shrink: 0;margin: 0 auto;}.mypay-donut svg{width: 100%;height: 100%;display: block;}.mypay-donut-track, .mypay-donut-arc{fill: none;stroke-width: 5;}.mypay-donut-track{stroke: var(--bg-raised);}.mypay-donut-center{position: absolute;inset: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;text-align: center;}.mypay-donut-center .value{font-family: var(--font-mono);font-size: 24px;font-weight: 700;color: var(--text);}.mypay-donut-center .label{font-size: 10px;font-weight: 600;text-transform: uppercase;letter-spacing: 0.6px;color: var(--text-muted);}.mypay-legend{flex: 1 1 160px;list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: var(--space-2);}.mypay-legend li{display: flex;align-items: center;gap: var(--space-2);font-size: 13px;}.mypay-legend .name{color: var(--text-secondary);}.mypay-legend .amt{margin-left: auto;font-family: var(--font-mono);font-weight: 600;color: var(--text);font-variant-numeric: tabular-nums;}.mypay-swatch{width: 10px;height: 10px;border-radius: 3px;flex-shrink: 0;}.mypay-fees-card{margin-bottom: var(--space-5);}.mypay-fees{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: var(--space-4);}.mypay-fee-head{display: flex;justify-content: space-between;align-items: baseline;gap: var(--space-3);margin-bottom: 6px;font-size: 13px;}.mypay-fee-head .name{font-weight: 600;color: var(--text);}.mypay-fee-head .amt{font-family: var(--font-mono);font-weight: 600;color: var(--text);white-space: nowrap;font-variant-numeric: tabular-nums;}.mypay-fee-head .of{color: var(--text-muted);font-weight: 400;}.mypay-bar{display: flex;height: 10px;border-radius: 999px;overflow: hidden;background: var(--bg-raised);}.mypay-bar .seg{display: block;height: 100%;}.mypay-bar .seg-paid{background: var(--badge-lime);}.mypay-bar .seg-owed{background: var(--badge-violet);}.mypay-bar .seg-waived{background: var(--badge-gold);}.mypay-count{display: inline-block;min-width: 18px;margin-left: 4px;padding: 0 5px;border-radius: 999px;background: rgba(179, 169, 156, 0.18);font-size: 11px;line-height: 18px;text-align: center;}.stl-tab.is-active .mypay-count{background: rgba(0, 0, 0, 0.18);}.mypay-tabset .stl-pane{padding: 0;}.mypay-tabset .stl-pane .hl-table-wrap{border: none;border-radius: 12px;}.mypay-table td{vertical-align: middle;}.mypay-fee-name{display: block;font-weight: 600;color: var(--text);}.mypay-fee-detail{display: block;margin-top: 2px;font-size: 12px;color: var(--text-muted);}.mypay-fee-detail:empty{display: none;}.mypay-strong{font-weight: 700;}.mypay-muted{color: var(--text-muted);}.mypay-late{color: var(--badge-alert);font-weight: 600;}.mypay-bond-note{display: block;margin-top: 4px;font-size: 11px;color: var(--text-muted);}.mypay .hl-badge[data-status="partial"]{background: rgba(64, 181, 158, 0.16);color: var(--badge-teal);}.mypay-footnote{margin: var(--space-4) 0 0;font-size: 12px;color: var(--text-muted);}@media (max-width: 640px){.mypay-title{font-size: 26px;}.mypay-season-form, .mypay-season-form .hl-select{width: 100%;}.mypay-table tbody tr{position: relative;padding: var(--space-3) var(--space-4);}.mypay-table td.mypay-fee-cell{padding: 0 96px 6px 0;}.mypay-table td.mypay-status-cell{position: absolute;top: var(--space-3);right: var(--space-4);width: auto;padding: 0;text-align: right;}.mypay-table--money tbody tr{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));column-gap: var(--space-3);}.mypay-table--money td:not(.num){grid-column: 1 / -1;}.mypay-table--money td.num{text-align: left;padding-top: 6px;font-family: var(--font-mono);font-size: 13px;}.mypay-table--money td.num::before{display: block;content: attr(data-label);margin-bottom: 1px;}.mypay-table td.mypay-amount-corner{font-size: 15px;}.mypay-donut{width: 132px;height: 132px;}}