.pafll-portal,.pafll-events,.pafll-directory{max-width:1180px;margin:0 auto;padding:1rem 0 4rem}.pafll-portal__intro,.pafll-team-card__summary,.pafll-event-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:2rem}.pafll-kicker{margin:0 0 .35rem;color:#2c5535;font-size:.82rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.pafll-panel,.pafll-team-card,.pafll-event-card{margin:1.5rem 0;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid rgba(20,32,43,.14);border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(8,31,52,.08)}.pafll-auth-grid,.pafll-form__grid,.pafll-session-grid,.pafll-directory__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.pafll-form label,.pafll-inline-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:700}.pafll-form input,.pafll-form select,.pafll-form textarea,.pafll-inline-form select{width:100%;padding:.75rem;border:1px solid #7c8790;border-radius:7px;background:#fff;color:#14202b;font:inherit}.pafll-form fieldset{margin:1.5rem 0;padding:1.25rem;border:1px solid rgba(20,32,43,.2);border-radius:10px}.pafll-form__coach{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.pafll-form .pafll-checkbox{display:flex;flex-direction:row;align-items:center;align-self:end}.pafll-checkbox input{width:auto}.pafll-button{display:inline-block;padding:.75rem 1.15rem;border:2px solid #70a334;border-radius:999px;background:#70a334;color:#081f34;font-weight:800;text-decoration:none;cursor:pointer}.pafll-button--secondary{border-color:#2c5535;background:transparent;color:#2c5535}.pafll-button--small{padding:.55rem .9rem}.pafll-inline-form{display:flex;align-items:end;gap:1rem;flex-wrap:wrap}.pafll-badges{display:flex;gap:.5rem;flex-wrap:wrap}.pafll-badge{display:inline-block;padding:.35rem .7rem;border-radius:999px;background:#d59cd6;color:#14202b;font-size:.82rem;font-weight:800}.pafll-badge--muted{background:#edf0e8}.pafll-team-card details{margin:1rem 0}.pafll-team-card summary,.pafll-roster summary{font-weight:800;cursor:pointer}.pafll-payment{margin:1.5rem 0;padding:1.25rem;border-left:5px solid #70a334;background:#f7f7f2}.pafll-registration-list,.pafll-roster ul{padding:0;list-style:none}.pafll-registration-list li,.pafll-roster li,.pafll-my-registrations>div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(20,32,43,.12)}.pafll-session-grid section{padding:1.25rem;border-radius:12px;background:#f7f7f2}.pafll-capacity strong{font-size:1.7rem;color:#2c5535}.pafll-directory__grid article{display:flex;flex-direction:column;padding:1rem;border-radius:10px;background:#f7f7f2}.pafll-notice{max-width:1180px;margin:1rem auto;padding:1rem 1.25rem;border-left:5px solid #70a334;background:#f1f8e4;font-weight:700}.pafll-notice--error{border-color:#b42318;background:#fff1f0}.pafll-offer{border:3px solid #d59cd6}.pafll-link-button{padding:0;border:0;background:transparent;color:#0b3b60;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}@media(max-width:780px){.pafll-auth-grid,.pafll-form__grid,.pafll-session-grid,.pafll-directory__grid,.pafll-form__coach{grid-template-columns:1fr}.pafll-portal__intro,.pafll-team-card__summary,.pafll-event-card__header{flex-direction:column}.pafll-inline-form{align-items:stretch}.pafll-registration-list li,.pafll-roster li,.pafll-my-registrations>div{align-items:flex-start;flex-direction:column}}

.pafll-season-map{box-sizing:border-box;width:min(1180px,calc(100vw - 40px));margin:1.5rem 0 2.25rem 50%;padding:clamp(1.25rem,3vw,2.25rem);overflow:hidden;border:1px solid rgba(20,32,43,.14);border-radius:20px;background:#f7f7f2;box-shadow:0 16px 42px rgba(8,31,52,.08);transform:translateX(-50%)}
.pafll-season-map__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:1.25rem}.pafll-season-map__heading h3{margin:.1rem 0;font-size:clamp(1.6rem,3vw,2.4rem);color:#081f34}.pafll-season-map__heading>p{max-width:30rem;margin:0;color:#43505a}
.pafll-season-map__scroller{overflow-x:auto;padding:0 0 .75rem;scrollbar-color:#70a334 #e4eadc}.pafll-season-map__flow{display:grid;grid-template-columns:1.45fr 1.45fr 1.1fr .9fr;min-width:1120px;border:2px solid #081f34;border-radius:16px;background:#fff}
.pafll-season-lane{position:relative;padding:0 1rem 1rem;border-right:2px solid #081f34}.pafll-season-lane:last-child{border-right:0}.pafll-season-lane:not(:last-child)::after{position:absolute;z-index:2;top:1.1rem;right:-.75rem;width:1.35rem;height:1.35rem;border-top:3px solid #081f34;border-right:3px solid #081f34;background:inherit;content:"";transform:rotate(45deg)}
.pafll-season-lane h4{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;min-height:4.25rem;box-sizing:border-box;margin:0 -1rem 1rem;padding:.85rem 1rem;border-bottom:2px solid #081f34;background:#c6de94;color:#081f34;font-size:1rem;text-align:center}.pafll-season-lane--competitive h4{background:#8ad8df}.pafll-season-lane--championship h4{background:#d59cd6}.pafll-season-lane--state_championship h4{background:#f0e973}
.pafll-season-lane__events{display:grid;gap:.55rem}.pafll-season-stop{display:grid;grid-template-columns:3.5rem 2rem minmax(0,1fr);grid-template-rows:auto auto auto;gap:.08rem .5rem;padding:.58rem .65rem;border:1px solid rgba(8,31,52,.13);border-radius:9px;background:#fff;color:#081f34;text-decoration:none;transition:transform 150ms ease,box-shadow 150ms ease}.pafll-season-stop:hover,.pafll-season-stop:focus-visible{box-shadow:0 8px 20px rgba(8,31,52,.14);transform:translateY(-2px)}.pafll-season-stop time{display:flex;grid-row:1/4;align-items:center;align-self:start;justify-content:center;width:3.5rem;height:3.5rem;box-sizing:border-box;padding:.3rem;border-radius:7px;background:#2c5535;color:#fff;font-size:.78rem;font-weight:900;text-align:center;text-transform:uppercase}.pafll-season-lane--competitive time{background:#1976a8}.pafll-season-lane--championship time{background:#8c4c92}.pafll-season-lane--state_championship time{background:#d07917}.pafll-season-stop__sessions{display:grid!important;grid-row:1/4;align-self:start;gap:.22rem;overflow:visible!important}.pafll-season-stop__sessions b{display:flex;align-items:center;justify-content:center;min-height:1.62rem;padding:.1rem .2rem;border:1px solid #081f34;border-radius:5px;background:#edf0e8;color:#081f34;font-size:.61rem;line-height:1}.pafll-season-stop__sessions--tbd b{min-height:3.5rem;writing-mode:vertical-rl}.pafll-season-stop strong{font-size:.84rem;line-height:1.15}.pafll-season-stop__location{overflow:hidden;color:#56616a;font-size:.72rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.pafll-season-stop em{width:max-content;padding:.12rem .4rem;border-radius:999px;background:#edf0e8;color:#2c5535;font-size:.66rem;font-style:normal;font-weight:800;text-transform:uppercase}.pafll-season-map__note{margin:1rem 0 0;color:#43505a;font-size:.86rem}
.pafll-event-card{scroll-margin-top:5rem}
.pafll-session-alternative{margin:1rem 0;padding:1rem;border:2px solid #70a334;border-radius:12px;background:#f1f8e4}.pafll-session-alternative h5{margin:.2rem 0 .5rem;color:#081f34;font-size:1.08rem}.pafll-session-alternative .pafll-session-registration-form{margin-top:1rem}.pafll-session-registration-form{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}.pafll-session-registration-form label{flex:1 1 15rem}.pafll-session-registration-form .pafll-button--secondary{background:#fff}
.pafll-purchase-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0;padding:0;counter-reset:pafll-purchase;list-style:none}.pafll-purchase-steps li{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem;border-radius:12px;background:#edf0e8}.pafll-purchase-steps strong{color:#081f34;font-size:1.05rem}.pafll-purchase-steps span{color:#43505a;font-size:.9rem}
.pafll-division-guide{margin:1.5rem 0;padding:clamp(1.25rem,3vw,2rem);border:1px solid rgba(20,32,43,.14);border-radius:16px;background:#f7f7f2}.pafll-division-guide h3{margin:.15rem 0 .5rem}.pafll-division-guide__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.pafll-division-guide__choices>div{display:flex;flex-direction:column;gap:.35rem;padding:1rem;border-top:6px solid #70a334;border-radius:10px;background:#fff}.pafll-division-guide__choices>div+div{border-top-color:#9a5aa0}.pafll-form-division-help{grid-column:1/-1;margin:.25rem 0 1.25rem;padding:1rem 1.25rem;border-left:5px solid #70a334;background:#f7f7f2}.pafll-form-division-help p{margin:.4rem 0}.pafll-form-division-help p:nth-child(2){border-left:4px solid #9a5aa0;padding-left:.75rem}
@media(max-width:780px){.pafll-season-map{width:calc(100vw - 24px)}.pafll-season-map__heading{align-items:flex-start;flex-direction:column;gap:.5rem}.pafll-season-map__scroller::after{display:block;margin-top:.35rem;color:#56616a;font-size:.75rem;content:"Swipe to see the full season →"}}
@media(max-width:780px){.pafll-purchase-steps,.pafll-division-guide__choices{grid-template-columns:1fr}}
.pafll-payment-confirmation,.pafll-checkout-confirmation{max-width:1180px;margin:1rem auto 2rem;padding:clamp(1.5rem,4vw,2.5rem);border:3px solid #70a334;border-radius:16px;background:#f1f8e4;box-shadow:0 18px 48px rgba(8,31,52,.12)}.pafll-payment-confirmation h2,.pafll-checkout-confirmation h2{margin-top:.2rem}.pafll-confirmation-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}.pafll-add-another-team{margin-top:1.5rem;padding:1rem;border:1px solid rgba(20,32,43,.18);border-radius:10px}.pafll-add-another-team>summary{font-size:1.1rem;font-weight:800;cursor:pointer}.pafll-purchase-team-list .pafll-team-card{margin:1rem 0;padding:1.25rem;box-shadow:none}.pafll-purchase-team-list .pafll-team-card>div:last-child{display:none}.pafll-pass-selection{display:grid;gap:.65rem}.pafll-pass-choice{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center!important;gap:1rem!important;padding:1rem;border:1px solid rgba(20,32,43,.16);border-radius:10px;background:#f7f7f2;cursor:pointer}.pafll-pass-choice input{width:auto!important}.pafll-pass-choice span{display:flex;flex-direction:column}.pafll-pass-choice small{color:#56616a;font-weight:600}.pafll-payment-method{max-width:34rem;margin:1.25rem 0}.pafll-batch-payment{border-top:8px solid #70a334}
@media(max-width:780px){.pafll-pass-choice{grid-template-columns:auto 1fr}.pafll-pass-choice>b{grid-column:2}.pafll-payment-confirmation,.pafll-checkout-confirmation{margin-right:12px;margin-left:12px}}
.pafll-form__coach{grid-template-columns:repeat(3,minmax(0,1fr))}.pafll-payment-confirmation{max-width:900px;margin:2rem auto 4rem;padding:clamp(1.5rem,4vw,3rem);border:1px solid rgba(20,32,43,.14);border-left:8px solid #70a334;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(8,31,52,.08)}.pafll-payment-instructions{margin:1.25rem 0;padding:1.25rem;border-radius:12px;background:#f1f8e4}.pafll-confirmation-actions{display:flex;gap:1rem;flex-wrap:wrap}.pafll-pass-statuses{display:grid;gap:.75rem;margin:1rem 0 1.5rem}.pafll-pass-status{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(20,32,43,.14);border-radius:10px;background:#f7f7f2}.pafll-pass-status span{display:flex;flex-direction:column}.pafll-pass-status--paid{border-left:6px solid #2c7a43}.pafll-pass-status--pending{border-left:6px solid #df8b23}.pafll-event-guidance__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.pafll-event-guidance__grid>div{padding:1.25rem;border-radius:12px;background:#f7f7f2}@media(max-width:780px){.pafll-form__coach,.pafll-event-guidance__grid{grid-template-columns:1fr}.pafll-pass-status{align-items:flex-start;flex-direction:column}}
.pafll-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}
.pafll-skip-link{position:fixed;z-index:100000;top:0;left:1rem;padding:.75rem 1rem;background:#fff;color:#081f34;font-weight:800;transform:translateY(-150%)}.pafll-skip-link:focus{transform:translateY(0)}
.pafll-registration-opening{padding:1rem;border-left:5px solid #70a334;background:#f1f8e4}
