.pfg-portal{--pfg-red:#b42335;--pfg-navy:#17253b;--pfg-muted:#64748b;max-width:1080px!important;margin:24px auto 60px;color:var(--pfg-navy);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
.pfg-portal *{box-sizing:border-box}.pfg-portal-hero{position:relative;overflow:hidden;border-radius:24px;padding:42px clamp(24px,5vw,54px);background:linear-gradient(125deg,#17253b 0%,#253a56 67%,#a6253a 160%);color:white;box-shadow:0 15px 35px #1b2c4820}
.pfg-portal-hero:after{content:"";position:absolute;right:-35px;top:-70px;width:270px;height:270px;border:48px solid #ffffff10;border-radius:50%;pointer-events:none}
.pfg-portal .pfg-overline{font-size:11px;letter-spacing:.16em;font-weight:800;text-transform:uppercase;color:#abbdce}
.pfg-portal-hero h2{color:#fff!important;font-size:clamp(28px,4vw,42px)!important;letter-spacing:-.045em;margin:8px 0!important;line-height:1.12}.pfg-portal-hero p{color:#e6eaf0;margin:8px 0 24px!important}
.pfg-portal .pfg-reference{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;border:1px solid #ffffff40;border-radius:99px;padding:9px 17px;background:#ffffff15;color:#f3f5f9;font-size:13px}.pfg-reference strong{font-weight:800;color:white;letter-spacing:.035em}
.pfg-portal .pfg-card{background:#fff;border:1px solid #e6eaf0;border-radius:20px;padding:clamp(18px,3vw,30px);margin:23px 0;box-shadow:0 12px 35px #1b2c480b}
.pfg-portal .pfg-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:23px}.pfg-card-head h3{font-size:25px;letter-spacing:-.035em;margin:3px 0!important;color:#17253b}.pfg-portal .pfg-pill{background:#e9f9f1;color:#18734b;display:inline-flex;align-items:center;border-radius:99px;text-transform:capitalize;padding:5px 12px;font-size:12px;font-weight:800}
.pfg-portal .pfg-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 20px}.pfg-portal .pfg-metric{min-height:95px;background:#f6f8fb;border:1px solid #eef1f6;border-radius:15px;padding:17px 20px}.pfg-portal .pfg-metric small{display:block;color:#6b7b8e;font-size:12px;font-weight:600;margin-bottom:6px}.pfg-portal .pfg-metric strong{color:#17253b;display:block;font-size:25px;line-height:1.1;letter-spacing:-.04em}.pfg-portal .pfg-metric em{font-style:normal;font-size:12px;letter-spacing:0}.pfg-portal .pfg-total{background:#fff2f3;border-color:#f4d7dc}.pfg-portal .pfg-total strong{color:#ae2335}.pfg-portal .pfg-lesson{background:#fdf8ee;border-left:3px solid #dba542;border-radius:5px;padding:11px 14px;font-size:13px}
.pfg-portal h4{font-size:19px!important;font-weight:800!important;color:#17253b;margin:30px 0 10px!important;letter-spacing:-.025em}.pfg-portal .pfg-links{display:flex;flex-wrap:wrap;gap:15px;margin:9px 0 16px}.pfg-portal a{color:#a51e33;text-decoration:none;font-weight:700}.pfg-portal a:hover{text-decoration:underline}.pfg-portal .pfg-table-wrap{overflow-x:auto;border:1px solid #e8ebf1;border-radius:13px}
.pfg-portal table{width:100%;border-collapse:collapse;margin:0!important;min-width:570px;font-size:13px}.pfg-portal th{background:#f6f8fb;color:#66748a;font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.pfg-portal th,.pfg-portal td{padding:15px!important;text-align:left;border-bottom:1px solid #edf0f5!important}.pfg-portal tr:last-child td{border-bottom:0!important}.pfg-portal td small{color:#8490a1;text-transform:capitalize}
.pfg-portal .pfg-status{display:inline-block;text-transform:capitalize;background:#f1f5f9;color:#64748b;border-radius:99px;font-weight:800;padding:4px 9px;font-size:11px}.pfg-portal .pfg-status-paid{background:#ddf8eb;color:#16784a}.pfg-portal .pfg-status-failed{background:#ffe7eb;color:#a9273d}.pfg-portal .pfg-status-unpaid{background:#fff3d6;color:#916418}
.pfg-portal form{margin:15px 0}.pfg-portal button{border:none!important;background:#b42335!important;color:white!important;border-radius:11px!important;padding:12px 22px!important;font-size:14px;font-weight:800;box-shadow:0 7px 17px #b423352b;cursor:pointer;transition:transform .15s,background .15s}.pfg-portal button:hover{background:#8e182a!important;transform:translateY(-1px)}
@media(max-width:600px){.pfg-portal .pfg-metrics{grid-template-columns:1fr}.pfg-portal .pfg-metric{min-height:0}.pfg-portal .pfg-portal-hero{padding:28px 22px}.pfg-portal .pfg-card-head{align-items:flex-start}.pfg-portal .pfg-reference{border-radius:14px}}
.pfg-portal .pfg-family-person{background:#f8fafc;padding:20px;border:1px solid #e3eaf2;border-radius:14px;margin:18px 0}.pfg-portal .pfg-family-person form{margin:10px 0}.pfg-portal .pfg-family-person label{font-size:13px;color:#35475e}.pfg-portal .pfg-family-person input[type=tel],.pfg-portal .pfg-family-person select,.pfg-portal select{background:white;border:1px solid #ccd6e2;border-radius:7px;padding:8px;max-width:100%;color:#17253b}.pfg-portal .pfg-family-person input[type=checkbox]{margin-right:6px}.pfg-portal .pfg-family-person .pfg-table-wrap{background:white}
.pfg-portal .pfg-bank-card{border:2px solid #cbdcf4;background:linear-gradient(130deg,#fff 55%,#f2f7ff)}
.pfg-portal .pfg-bank-card .pfg-overline{color:#22599e}.pfg-portal .pfg-bank-card h3{color:#17385e}
.pfg-portal .pfg-bank-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.pfg-portal .pfg-bank-details>div{border:1px solid #dce6f4;background:#fff;border-radius:12px;padding:13px 16px;min-width:0}
.pfg-portal .pfg-bank-details dt{font-size:12px;font-weight:700;color:#60758e;margin-bottom:5px}
.pfg-portal .pfg-bank-details dd{font-size:18px;font-weight:850;letter-spacing:.01em;color:#152f51;margin:0;overflow-wrap:anywhere}
.pfg-portal .pfg-bank-details .pfg-bank-reference{grid-column:1/-1;background:#e8f3ff;border-color:#a7caee}
.pfg-portal .pfg-bank-note{background:#e9f3fd;border-radius:9px;padding:12px 15px;color:#24476e;font-size:13px}
.pfg-portal select.pfg-availability{border:2px solid #bdc9d9;border-radius:10px;min-width:142px;font-weight:850;padding:9px 12px;color:#334155;background:#f1f5f9;transition:background .15s,border-color .15s,color .15s}
.pfg-portal .pfg-family-person select.pfg-availability-available{background:#bbf7d0;border-color:#16a34a;color:#14532d}
.pfg-portal .pfg-family-person select.pfg-availability-unavailable{background:#fecaca;border-color:#dc2626;color:#7f1d1d}
.pfg-portal .pfg-family-person select.pfg-availability-maybe{background:#fed7aa;border-color:#ea580c;color:#9a3412}
@media(max-width:600px){.pfg-portal .pfg-bank-details{grid-template-columns:1fr}}
