
/* Gift scopes and earned awards: teal/gold palette, no dependence on color alone. */
.fs-gift-label{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:8px;font-size:12px;font-weight:800;line-height:1.4;white-space:normal;margin:5px 0;background:#e6f4f0;color:#176650;border:1px solid #9dcbbc}
.fs-gift-label.fs-gift-team{background:#f6edda;color:#765519;border-color:#c9ad6b}
.fs-gift-card-any{border-left:4px solid #388b72!important;background:#f7fcfa!important}
.fs-gift-card-team{border-left:4px solid #b99750!important;background:#fffaf0!important}
.fs-loyalty-counter{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.fs-loyalty-counter button{width:36px;height:36px;border:1px solid #b8a16f;border-radius:10px;background:#fff8e7;color:#17323a;font-size:22px;cursor:pointer;font-weight:800}
.fs-loyalty-counter button:disabled{opacity:.35;cursor:default}.fs-loyalty-counter output{min-width:26px;text-align:center;font-size:20px;font-weight:850;color:#183b43}
.fs-loyalty-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px}.fs-loyalty-actions p{margin:0;max-width:580px}.fs-loyalty-actions button{min-height:44px;width:auto!important}

.child-photo-wrap{position:relative}
.fs-athlete-awards{position:relative;z-index:2;display:flex;gap:8px;justify-content:center;flex-wrap:wrap;max-width:270px;margin:10px auto 0}
.fs-athlete-award{position:relative;width:52px;height:56px;border:1px solid #ad965e;border-radius:14px 14px 18px 18px;background:linear-gradient(150deg,#24434b,#102831);color:#e5cc8d;box-shadow:0 4px 10px #061a2438;display:grid;place-items:center;cursor:help}
.fs-athlete-award svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.65;fill:none;stroke-linecap:round;stroke-linejoin:round}.fs-athlete-award small{font-family:system-ui,sans-serif;font-size:9px;line-height:1;letter-spacing:.4px;font-weight:800;margin-top:-5px}
.fs-athlete-award.elite{background:linear-gradient(140deg,#edd89c,#af8948);color:#182f34;border-color:#e1c177}.fs-athlete-award.school-order{border-radius:50%;width:58px;height:58px;background:linear-gradient(145deg,#f4dfac,#b89043);color:#132f39;outline:1px solid #8d703b;outline-offset:3px}
.fs-athlete-award:focus-visible{outline:2px solid #fff;outline-offset:3px}
.fs-award-detail{width:100%;font-size:12px;line-height:1.5;color:#e8dfc7;text-align:center;padding:7px 9px;border:1px solid #b49a615e;border-radius:10px;background:#142c35}
@media(max-width:767px){.fs-athlete-awards{max-width:310px;gap:7px;margin-top:8px}.fs-athlete-award{width:46px;height:50px}.fs-athlete-award.school-order{width:52px;height:52px}.fs-athlete-award svg{width:24px;height:24px}}

.fs-subscription-tile{display:flex!important;flex-direction:column;gap:16px;border:1px solid #c7b789!important;border-radius:18px!important;padding:22px!important;background:linear-gradient(140deg,#1d4049,#102832)!important;color:#f7f2e5!important;text-align:left;min-height:160px;box-shadow:0 7px 18px #12313b18;transition:transform .2s,box-shadow .2s}
.fs-subscription-tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px #12313b22;filter:none}.fs-subscription-tile-top{display:flex;gap:10px;align-items:center;font-size:13px;font-weight:700}.fs-subscription-tile-top svg{width:24px;height:24px;flex-shrink:0;color:#dec58a}.fs-tile-arrow{margin-left:auto;color:#dec58a;font-size:21px}.fs-subscription-tile>strong{font-family:Molot,Impact,sans-serif;font-weight:400;font-size:clamp(26px,3vw,36px);line-height:1.1;letter-spacing:.02em}.fs-subscription-tile-caption{font-size:12px;color:#b9cace}
@media(max-width:600px){.fs-subscription-tile{padding:17px 14px!important;min-height:142px;gap:14px}.fs-subscription-tile-top{font-size:11px;gap:7px}.fs-subscription-tile>strong{font-size:28px}.fs-subscription-tile-caption{font-size:11px}}

/* Place achievements beside the circular photo without changing the profile height. */
#page-child .child-photo-wrap{overflow:visible!important;position:relative}
#page-child .child-photo-wrap #child-photo{border-radius:50%;object-fit:cover}
#page-child .fs-athlete-awards{position:absolute;left:-26px;top:50%;transform:translateY(-50%);margin:0;width:58px;max-width:none;flex-direction:column;align-items:center;gap:10px}
#page-child .fs-athlete-awards[hidden]{display:none}
#page-child .fs-award-detail{position:absolute;left:0;right:auto;top:calc(100% + 12px);width:260px;max-width:calc(100vw - 72px);box-shadow:0 10px 30px #06192355;background:#17333d;padding:10px 12px;z-index:5}
@media(max-width:767px){#page-child .fs-athlete-awards{left:calc(100% - 8px);width:52px;gap:8px}#page-child .fs-award-detail{right:0;left:auto}}

/* Subscription athlete card: reachable close button, independent content scroll. */
html body #modal-overlay.fs-subscription-student-modal .bottom-sheet{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);overflow:hidden;padding-bottom:0}
html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-header{flex:none;gap:16px;padding:18px 20px}
html body #modal-overlay.fs-subscription-student-modal #modal-close{width:48px;height:48px;min-width:48px;display:grid;place-items:center;border:1px solid #d7c59666;border-radius:12px;color:#f9f3df;background:#ffffff0d}
html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-body{flex:1;min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain}
html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-footer{flex:none;display:flex;align-items:center;gap:12px;padding:12px 18px}
html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-footer>.btn{flex:1;width:auto;min-height:48px;padding:10px 12px}
html body #modal-overlay.fs-subscription-student-modal #subscription-card-close{border-color:#ac945c;color:#173642;background:#f7f2e5;white-space:normal}
@media(max-width:767px){html body #modal-overlay.fs-subscription-student-modal .bottom-sheet{max-height:calc(100dvh - max(18px,env(safe-area-inset-top)));height:auto}html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-footer{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:10px}html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-footer>.btn{font-size:13px;min-height:48px}html body #modal-overlay.fs-subscription-student-modal .bottom-sheet-header{padding:14px 18px}}

.fs-challenge-give{width:40px;height:40px;flex-shrink:0;display:inline-grid;place-items:center;border:1px solid #b49958;border-radius:11px;color:#8d6925;background:linear-gradient(135deg,#faf2d4,#e6d19a);cursor:pointer}
.fs-challenge-give svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#page-child .fs-athlete-award.challenge-order{background:linear-gradient(140deg,#293946,#496574);border-color:#e2ca87;color:#fff0bf;border-radius:50%;box-shadow:0 0 0 3px #c5ac6840}
#page-child .fs-challenge-history[hidden]{display:none!important}
#page-child .fs-challenge-history-row{display:grid;gap:7px;padding:14px 0;border-top:1px solid #a28b5d44;color:#244653}
#page-child .fs-challenge-history-row span,#page-child .fs-challenge-history-row small{font-size:13px;color:#5b6d71}

.att-actions .fs-challenge-give{width:40px;height:40px;flex:0 0 40px;margin-right:8px;min-height:40px;padding:6px;background:#fff8e4;color:#9b7836;border:1px solid #b4995866;border-radius:11px}.att-actions .fs-challenge-give:focus-visible{outline:2px solid #ac853e;outline-offset:3px}

#page-child .fs-athlete-award.challenge-man{border-radius:50% 50% 14px 14px;background:linear-gradient(135deg,#f2dfaa,#a77b35);border:2px solid #efd390;color:#142f39;box-shadow:0 0 0 2px #cfaf6970}
#page-child .fs-athlete-awards:has(button:nth-of-type(4)){gap:6px}
#page-child .fs-athlete-awards:has(button:nth-of-type(4)) .fs-athlete-award{width:40px;height:40px;outline-offset:1px}
#page-child .fs-athlete-awards:has(button:nth-of-type(4)) .fs-athlete-award svg{width:21px;height:21px}
#page-child .fs-athlete-awards:has(button:nth-of-type(4)) .fs-athlete-award small{font-size:8px;margin-top:-3px}
.att-actions .fs-coach-comment-give{width:40px;height:40px;flex:0 0 40px;padding:7px;margin-right:6px;min-height:40px;background:#eaf1f0;color:#25474e;border:1px solid #9eb6b4;border-radius:11px;cursor:pointer}
.fs-coach-comment-give svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.fs-coach-review{display:block;padding:18px}.fs-coach-review textarea{width:100%;box-sizing:border-box;resize:vertical;font-size:16px;min-height:110px}
.fs-coach-review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.fs-coach-comment{padding:14px 0}.fs-coach-comment+.fs-coach-comment{border-top:1px solid #bbad8870}.fs-coach-comment-meta{color:var(--muted);font-size:.8rem;margin-bottom:10px}.fs-coach-comment .trainer-text{white-space:pre-wrap;overflow-wrap:anywhere}.fs-coach-comment-history{margin-top:12px}
@media(max-width:767px){.att-actions{flex-wrap:wrap}}

.fs-coach-review-disclosure summary{cursor:pointer;list-style:none}.fs-coach-review-disclosure summary::-webkit-details-marker{display:none}.fs-coach-review-open{display:inline-flex;gap:14px;align-items:center;color:#28464e;font-weight:700;border:1px solid #bea465;border-radius:10px;padding:9px 14px;background:#f5eddc}.fs-coach-review-disclosure[open] .fs-coach-review-open span{transform:rotate(180deg)}.fs-coach-review-body{margin-top:16px;padding-top:12px;border-top:1px solid #bba57066}
