.profile-page { padding: 2.5rem 1rem 4rem; }
.profile-shell { margin: 0 auto; max-width: 1060px; }
.coach-profile-frame { margin: 0 auto; max-width: 1060px; }
.coach-profile-layout { position: relative; }
.coach-profile-layout > .profile-shell { margin: 0 auto; width: 100%; }
.profile-header { align-items: center; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 2rem; }
.profile-header h1, .profile-card h2 { color: #f5f7fa; margin: 0; }
.profile-header h1 { font-size: clamp(1.85rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -.03em; }
.profile-kicker { color: #6ea8fe; font-size: .72rem; font-weight: 700; letter-spacing: .12em; margin: 0 0 .35rem; text-transform: uppercase; }
.profile-subtitle { color: #a9b2bd; margin: .45rem 0 0; }
.profile-wagers { align-items: center; display: inline-flex; gap: .6rem; padding: .7rem 1rem; white-space: nowrap; }
.profile-grid { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); }
.profile-card { background: linear-gradient(145deg, rgba(48, 54, 62, .98), rgba(34, 38, 43, .98)); border: 1px solid rgba(255, 255, 255, .11); border-radius: 14px; box-shadow: 0 18px 44px rgba(0, 0, 0, .18); min-width: 0; padding: 1.6rem; }
.profile-card-heading { align-items: flex-start; display: flex; gap: .9rem; margin-bottom: 1.5rem; }
.profile-card-heading h2, .coach-summary-copy h2 { font-size: 1.16rem; font-weight: 650; }
.profile-card-heading p, .coach-summary-copy > p { color: #a9b2bd; font-size: .92rem; line-height: 1.5; margin: .3rem 0 0; }
.profile-card-icon { align-items: center; background: rgba(13, 110, 253, .16); border: 1px solid rgba(110, 168, 254, .3); border-radius: 10px; color: #86b7fe; display: inline-flex; flex: 0 0 auto; font-size: 1rem; height: 2.25rem; justify-content: center; width: 2.25rem; }
.profile-preferences-form { display: grid; gap: 1.15rem; }
.claim-season-fields { display: grid; gap: 1.15rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }.claim-season-fields label { color: #edf1f5; display: block; font-size: .87rem; font-weight: 600; margin-bottom: .42rem; }.claim-season-fields label span { color: #98a2ad; font-weight: 400; }.claim-season-fields .form-control { background-color: #1d2025; border-color: #4a525d; color: #f5f7fa; min-height: 2.7rem; }
.profile-preferences-form label { color: #edf1f5; display: block; font-size: .87rem; font-weight: 600; margin-bottom: .42rem; }
.profile-preferences-form .form-control, .profile-preferences-form .form-select { background-color: #1d2025; border-color: #4a525d; color: #f5f7fa; min-height: 2.7rem; }
.profile-preferences-form .form-control:focus, .profile-preferences-form .form-select:focus { background-color: #1d2025; border-color: #6ea8fe; box-shadow: 0 0 0 .2rem rgba(13, 110, 253, .2); color: #f5f7fa; }
.profile-preferences-form .form-text { color: #98a2ad; font-size: .78rem; margin-top: .38rem; }
.profile-preferences-form button { justify-self: start; margin-top: .2rem; padding: .65rem 1rem; }
.coach-summary-card { align-items: center; background: radial-gradient(circle at 90% 8%, rgba(13, 110, 253, .2), transparent 40%), linear-gradient(145deg, rgba(42, 48, 56, .98), rgba(31, 35, 41, .98)); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) 142px; position: relative; }
.coach-summary-copy { min-width: 0; }
.coach-betting-card { padding: 1.25rem; position: absolute; right: calc(100% + 1.25rem); top: 7.25rem; width: 260px; }.coach-betting-card h3 { color: #f5f7fa; font-size: .88rem; margin: 1.2rem 0 .7rem; text-transform: uppercase; }.coach-purse { align-items: center; color: #f5f7fa !important; display: flex; font-size: 1.28rem !important; font-weight: 700; gap: .35rem; margin-top: .55rem !important; }.coach-purse img { height: 21px; width: 21px; }.coach-betting-list { display: grid; gap: .45rem; }.coach-betting-result { align-items: center; background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.08); border-radius: 7px; display: flex; gap: .6rem; justify-content: space-between; padding: .5rem .6rem; }.coach-betting-result strong, .coach-betting-result span { display: block; }.coach-betting-result strong { color: #edf1f5; font-size: .76rem; line-height: 1.2; }.coach-betting-result span { color: #a9b2bd; font-size: .68rem; margin-top: .12rem; }.coach-betting-result b { font-size: .68rem; }.coach-betting-result--win { color: #08A67D; }.coach-betting-result--loss { color: #CC2335; }.coach-betting-result--push { color: #c5ccd4; }
.coach-summary-copy .btn { margin-top: 1.3rem; }
.coach-summary-portrait { align-self: center; }
.coach-summary-card .coach-avatar-card { background: rgba(245, 247, 250, .96); border: 3px solid rgba(110, 168, 254, .45); border-radius: 14px; box-shadow: 0 12px 24px rgba(0, 0, 0, .24); margin: 0; max-width: 142px; padding: .4rem; }
.coach-summary-card .coach-face-preview { margin: 0; max-width: 100%; min-height: 0; }
.coach-preview-error { grid-column: 1 / -1; margin: 0; }
.profile-alert { border-radius: 10px; margin-bottom: 1.25rem; }
.avatar-card { grid-column: 1 / -1; }
.career-history-card { grid-column: 1 / -1; }
.career-history-empty { color: #a9b2bd; margin: 0; }
.coach-directory-list { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }.coach-directory-link { align-items: center; background: rgba(0,0,0,.16); border: 1px solid rgba(255,255,255,.08); border-radius: 8px; color: #edf1f5; display: flex; gap: .6rem; padding: .75rem .85rem; text-decoration: none; }.coach-directory-link:hover, .coach-directory-link:focus { color: #f3c34b; text-decoration: none; }
.career-history-list { display: grid; gap: .7rem; }
.career-history-item { align-items: center; background: rgba(0, 0, 0, .16); border: 1px solid rgba(255, 255, 255, .08); border-radius: 9px; display: flex; gap: 1rem; justify-content: space-between; padding: .85rem 1rem; }
.career-history-item--has-logo { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; }.career-history-team-logo { height: 34px; object-fit: contain; width: 34px; }
.career-history-item strong { color: #f5f7fa; display: block; font-size: .95rem; }
.career-history-item span, .career-history-item time { color: #a9b2bd; font-size: .84rem; }
.career-history-item .career-history-team-link, .career-history-item .career-history-team-link:visited { color: #a9b2bd !important; text-decoration: none !important; }.career-history-item .career-history-team-link:hover, .career-history-item .career-history-team-link:focus, .career-history-item .career-history-team-link:active { color: #E8B903 !important; text-decoration: none !important; }
.career-history-item time { color: #86b7fe; white-space: nowrap; }
.trophy-case-card { grid-column: 1 / -1; }
.ring-box-card { grid-column: 1 / -1; }
.ring-box { background: radial-gradient(ellipse at 50% 12%, rgba(255,239,173,.22), transparent 42%), linear-gradient(90deg, #120d0a, #4a2d18 8%, #1a110c 19%, #21150e 81%, #4a2d18 92%, #120d0a); border: 10px solid #21150d; border-radius: 4px; box-shadow: inset 0 0 0 2px rgba(210,166,77,.35), inset 0 0 46px rgba(0,0,0,.88), 0 14px 28px rgba(0,0,0,.3); overflow: hidden; padding: 1.2rem 1.3rem .95rem; position: relative; }.ring-box::before { border: 1px solid rgba(244,217,125,.22); box-shadow: inset 0 0 24px rgba(0,0,0,.55); content: ''; inset: .45rem; pointer-events: none; position: absolute; }.ring-box::after { background: linear-gradient(108deg, rgba(255,255,255,.18), transparent 19%, transparent 67%, rgba(255,255,255,.06)); content: ''; inset: 0; pointer-events: none; position: absolute; }.ring-box-grid { align-items: end; border-bottom: 12px solid #2a1209; box-shadow: 0 8px 0 #0c0704, inset 0 -2px 0 rgba(241,194,99,.22); display: grid; gap: .4rem .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); min-height: 165px; padding: .2rem .65rem 0; position: relative; z-index: 1; }.championship-ring, .ring-case-empty { align-items: center; display: flex; flex-direction: column; justify-content: flex-end; margin: 0; min-height: 144px; min-width: 0; padding: 0; }.championship-ring__visual { aspect-ratio: 1 / 1; max-width: 128px; position: relative; width: 100%; }.championship-ring__base { display: block; height: 100%; object-fit: contain; width: 100%; }.championship-ring__face { align-items: center; background: linear-gradient(145deg, var(--ring-secondary), var(--ring-primary) 42%, var(--ring-secondary)); border: 1px solid rgba(255,255,255,.76); border-radius: 50%; box-shadow: inset 0 0 8px rgba(0,0,0,.34), 0 0 0 1px rgba(0,0,0,.18); box-sizing: border-box; display: flex; flex-direction: column; height: 60%; justify-content: center; left: 30%; overflow: hidden; padding: 8% 4% 7%; position: absolute; top: 13%; width: 40%; }.championship-ring__face::after { background: linear-gradient(115deg, rgba(255,255,255,.4), transparent 32%, transparent 68%, rgba(0,0,0,.24)); content: ''; inset: 0; pointer-events: none; position: absolute; }.championship-ring__league { color: #fff6c5; font-family: Arial, sans-serif; font-size: clamp(.24rem, 1vw, .34rem); font-weight: 800; letter-spacing: .03em; line-height: 1.1; position: relative; text-align: center; text-shadow: 0 1px 2px #000; z-index: 1; }.championship-ring__logo { filter: drop-shadow(0 1px 1px rgba(0,0,0,.55)); height: 62%; margin: 5% 0; max-width: 82%; object-fit: contain; position: relative; width: 82%; z-index: 1; }.championship-ring__nameplate { background: linear-gradient(135deg, #8e6829, #e4c369, #76521e); border: 1px solid rgba(255,225,131,.65); box-shadow: 0 2px 4px rgba(0,0,0,.4); color: #251406; margin: 0 0 .25rem; min-height: 28px; padding: .08rem .18rem; text-align: center; width: min(100%, 110px); }.championship-ring__nameplate strong { display: block; font-size: .92rem; letter-spacing: .08em; line-height: 1.1; }.ring-case-empty { opacity: .42; }.ring-case-empty::after { background: radial-gradient(ellipse at 50% 100%, rgba(241,194,99,.13), transparent 62%); content: ''; height: 76%; width: 100%; }
.trophy-cabinet { background: linear-gradient(90deg, #21130c 0%, #542b16 8%, #2e170d 12%, #4a2715 50%, #2e170d 88%, #542b16 92%, #21130c 100%); border: 9px solid #1b0d08; border-radius: 5px; box-shadow: inset 0 0 0 2px rgba(191, 123, 60, .33), inset 0 0 45px rgba(0, 0, 0, .85), 0 14px 28px rgba(0, 0, 0, .3); overflow: hidden; padding: 1.1rem; position: relative; }
.trophy-cabinet::after { background: linear-gradient(105deg, rgba(255,255,255,.14), transparent 18%, transparent 72%, rgba(255,255,255,.05)); content: ''; inset: 0; pointer-events: none; position: absolute; }
.trophy-cabinet-plaque { align-items: center; background: linear-gradient(135deg, #b78a36, #f5d77a, #896123); border: 1px solid #f4d97d; box-shadow: 0 2px 4px rgba(0,0,0,.45); color: #291508; display: flex; justify-content: space-between; margin: 0 auto 1.1rem; max-width: 360px; padding: .42rem .7rem; position: relative; text-transform: uppercase; z-index: 1; }
.trophy-cabinet-plaque span { font-size: .67rem; font-weight: 700; letter-spacing: .12em; }.trophy-cabinet-plaque strong { font-size: .8rem; }
.trophy-cabinet-grid { display: grid; gap: 1.05rem .7rem; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; z-index: 1; }
.trophy-display-item, .trophy-display-empty { align-items: center; background: radial-gradient(ellipse at 50% 5%, rgba(255,239,173,.22), transparent 44%), rgba(15, 7, 5, .48); border: 1px solid rgba(229, 189, 105, .22); border-bottom: 8px solid #251109; box-shadow: inset 0 0 18px rgba(0,0,0,.72), 0 7px 7px rgba(0,0,0,.32); display: flex; flex-direction: column; justify-content: flex-end; min-height: 190px; padding: .6rem .35rem .4rem; }
.trophy-display-item img { filter: drop-shadow(0 6px 5px rgba(0,0,0,.65)); height: 104px; max-width: 100%; object-fit: contain; width: 104px; }
.trophy-banner { display: block; filter: drop-shadow(0 6px 5px rgba(0,0,0,.65)); height: 126px; width: 92px; }.trophy-banner svg { display: block; height: 100%; width: 100%; }
.postseason-honors-card { grid-column: 1 / -1; }.plaque-wall { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }.bowl-plaque { border: 2px solid; border-radius: 3px; box-shadow: inset 0 0 0 3px rgba(0,0,0,.22), 0 5px 10px rgba(0,0,0,.2); min-height: 88px; padding: .8rem; position: relative; text-align: center; text-transform: uppercase; }.bowl-plaque::before, .bowl-plaque::after { background: rgba(26,20,11,.72); border-radius: 50%; content: ''; height: 7px; position: absolute; top: 7px; width: 7px; }.bowl-plaque::before { left: 7px; }.bowl-plaque::after { right: 7px; }.bowl-plaque strong { display: block; font-size: .82rem; line-height: 1.25; margin-top: .2rem; }.bowl-plaque span { display: block; font-size: .7rem; margin-top: .45rem; }.bowl-plaque--gold { background: linear-gradient(135deg, #76521e, #e5c66f, #866020); border-color: #f4db8a; color: #281607; }.bowl-plaque--silver { background: linear-gradient(135deg, #53606a, #d7dee0, #65727b); border-color: #ecf2f3; color: #182126; }
.trophy-nameplate { background: linear-gradient(135deg, #8e6829, #e4c369, #76521e); border: 1px solid rgba(255, 225, 131, .65); color: #251406; margin-top: .4rem; min-height: 40px; padding: .18rem .28rem; text-align: center; width: 100%; }.trophy-nameplate strong { display: block; font-size: .67rem; line-height: 1.12; }.trophy-nameplate span { display: block; font-size: .61rem; margin-top: .14rem; }
.trophy-display-empty { min-height: 190px; opacity: .75; }
.claim-review-list { display: grid; gap: 1rem; }
.claim-review-card { padding: 1.35rem; }
.claim-review-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.2rem; }
.claim-review-heading h2 { font-size: 1.18rem; }
.claim-review-heading p { color: #a9b2bd; margin: .25rem 0 0; }
.claim-review-heading time { color: #98a2ad; font-size: .8rem; white-space: nowrap; }
.claim-review-actions { border-top: 1px solid rgba(255,255,255,.1); display: grid; gap: 1rem; grid-template-columns: minmax(0,1fr) minmax(260px,.8fr); padding-top: 1.1rem; }
.claim-approve-form { align-items: end; display: grid; gap: .8rem; grid-template-columns: minmax(150px,1fr) minmax(130px,.8fr) auto; }
.claim-reject-form { align-items: end; display: grid; gap: .8rem; grid-template-columns: minmax(0,1fr) auto; }
.claim-review-card label { color: #edf1f5; display: block; font-size: .84rem; font-weight: 600; margin-bottom: .35rem; }
.claim-review-card label span { color: #98a2ad; font-weight: 400; }
.claim-review-card .form-control { background:#1d2025; border-color:#4a525d; color:#f5f7fa; }
@media (max-width: 767.98px) { .claim-review-heading,.claim-review-actions { display: grid; } .claim-approve-form,.claim-reject-form { grid-template-columns: 1fr; } }
.avatar-settings-preview { align-items: center; background: rgba(0, 0, 0, .18); border-radius: 12px; display: flex; justify-content: center; margin: 0 0 1.25rem; min-height: 176px; padding: 1rem; }
.avatar-settings-form { align-items: end; display: flex; flex-wrap: wrap; }
.avatar-settings-form > :first-child, .avatar-settings-form > div { flex-basis: 100%; }
@media (max-width: 1250px) { .coach-betting-card { margin: 0 auto 1.25rem; max-width: 1060px; position: static; width: 100%; } }
@media (max-width: 767.98px) { .profile-page { padding-top: 1.5rem; } .profile-header { align-items: flex-start; flex-direction: column; margin-bottom: 1.35rem; } .profile-grid { grid-template-columns: 1fr; } .coach-summary-card { grid-template-columns: minmax(0, 1fr) 126px; } .coach-summary-card .coach-avatar-card { max-width: 126px; } .trophy-cabinet { border-width: 7px; padding: .75rem; } .trophy-cabinet-grid { gap: .75rem .45rem; } .trophy-display-item, .trophy-display-empty { min-height: 155px; } .trophy-display-item img { height: 76px; width: 76px; } .claim-season-fields { grid-template-columns: 1fr; } }
@media (max-width: 420px) { .profile-card { padding: 1.2rem; } .coach-summary-card { grid-template-columns: 1fr; } .coach-summary-portrait { order: -1; } .coach-summary-card .coach-avatar-card { max-width: 132px; } }
