.principal-collection { background:#fff; border:1px solid var(--line); border-radius:18px; padding:24px; box-shadow:var(--shadow); min-width:0; margin-bottom:20px; }
.pc-heading { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-bottom:18px; }
.pc-heading h2 { margin:5px 0 0; font-size:21px; }
.pc-eyebrow { color:#267390; font-size:12px; font-weight:600; }
.pc-month { color:#176582; background:#e7f7fd; border-radius:999px; padding:7px 12px; white-space:nowrap; font-size:13px; }
.pc-main-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.pc-card { display:flex; flex-direction:column; gap:9px; padding:17px; min-width:0; border:1px solid #e4ebf0; border-radius:12px; background:#fafcfd; }
.pc-label { color:#4b5b6b; font-size:13px; font-weight:600; }
.pc-value { color:#19394c; font-size:clamp(20px,2vw,29px); font-variant-numeric:tabular-nums; line-height:1.3; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
.pc-note { font-size:11px; color:#6a7280; line-height:1.6; }
.pc-primary { background:#e7f7fd; border-color:#9edff4; }
.pc-primary .pc-value { color:#007ca8; }
.pc-progress-track { height:9px; background:#edf1f4; border-radius:99px; margin:16px 0; overflow:hidden; }
.pc-progress-track > span { display:block; height:100%; background:linear-gradient(90deg,#08a6e0,#64caaf); border-radius:inherit; }
.pc-support-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.pc-support-grid .pc-card { background:white; }
.pc-support-grid .pc-value { font-size:23px; }
.pc-status { display:flex; flex-wrap:wrap; gap:10px 24px; padding-top:18px; font-size:12px; color:#586574; }
.pc-status strong { color:#21556d; font-variant-numeric:tabular-nums; }
.pc-explanation { color:#6a7280; font-size:11px; line-height:1.8; margin:12px 0 0; }
@media(max-width:767px) {
  .principal-collection { padding:16px 12px; border-radius:14px; }
  .pc-heading h2 { font-size:18px; }
  .pc-main-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .pc-card { padding:12px 8px; gap:7px; container-type:inline-size; }
  .pc-value { font-size:15px; font-size:clamp(15px,11cqw,20px); letter-spacing:-.3px; }
  .pc-support-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .pc-support-grid .pc-card:first-child { grid-column:1/-1; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; }
  .pc-support-grid .pc-card:first-child .pc-note { flex-basis:100%; }
  .pc-support-grid .pc-value { font-size:15px; font-size:clamp(15px,11cqw,20px); }
  .pc-month { padding:6px 9px; font-size:12px; }
}
