:root{--fc-primary:#981b32;--fc-accent:#c4c7cc;--fc-ink:#202126;--fc-muted:#626572;--fc-border:#e4e5e9}
body{color:var(--fc-ink)}.btn-primary,.btn-success,.portal-btn:not(.ghost){--bs-btn-bg:var(--fc-primary);--bs-btn-border-color:var(--fc-primary);--bs-btn-hover-bg:#731327;--bs-btn-hover-border-color:#731327;--bs-btn-active-bg:#731327;background-color:var(--fc-primary);color:white}.btn-outline-success,.btn-outline-primary{--bs-btn-color:var(--fc-primary);--bs-btn-border-color:var(--fc-primary);--bs-btn-hover-bg:var(--fc-primary);--bs-btn-hover-border-color:var(--fc-primary)}.text-success{color:var(--fc-primary)!important}.portal-top,.parent-top,.player-top{background:#202126!important;border-bottom:3px solid var(--fc-primary)}.portal-brand img{object-fit:contain}.portal-nav a.active{background:var(--fc-primary)!important;color:white!important}.portal-main{min-width:0}.fc-eyebrow{display:block;color:var(--fc-primary);font-size:.72rem;letter-spacing:.14em;font-weight:800;text-transform:uppercase}.fc-hero{background:#202126;color:white;position:relative;overflow:hidden;padding:74px max(24px,calc((100vw - 1160px)/2))}.fc-hero:after{content:'FC';position:absolute;right:3%;bottom:-80px;font-size:380px;line-height:1;font-weight:950;letter-spacing:-30px;color:#ffffff08;pointer-events:none}.fc-hero-inner{max-width:790px;position:relative;z-index:1}.fc-hero .fc-eyebrow{color:#e9b6c0;margin-bottom:22px}.fc-hero h1{font-size:clamp(2.7rem,6vw,5.6rem);line-height:1.03;font-weight:900;letter-spacing:-.05em;max-width:800px;margin:0 0 24px}.fc-hero h1 span{color:#e9b6c0}.fc-hero p{font-size:1.15rem;color:#dbdce0;max-width:610px;line-height:1.7}.fc-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.fc-hero .btn{padding:13px 23px;font-weight:700;border-radius:9px}.fc-wrap{max-width:1210px;margin:0 auto;padding:48px 24px}.fc-total{display:grid;grid-template-columns:1.2fr 1fr;gap:35px;align-items:center;border:1px solid var(--fc-border);padding:30px;border-radius:16px;margin-bottom:50px;background:white}.fc-total h2{font-size:1.5rem;margin:8px 0}.fc-total p{margin-bottom:0;color:var(--fc-muted)}.fc-progress{height:10px;border-radius:10px;background:#eceef1;overflow:hidden}.fc-progress span{display:block;height:100%;background:var(--fc-primary);border-radius:inherit;transition:width .3s}.fc-section-head h2{font-size:2.2rem;font-weight:800;margin:7px 0}.fc-section-head p{color:var(--fc-muted)}.fc-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:20px 0}.fc-filters label{font-size:.86rem;font-weight:650;min-width:180px;flex:1}.fc-filters label:first-child{flex:2}.fc-filters input,.fc-filters select{margin-top:8px;min-height:45px}.fc-athletes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.fc-athlete{border:1px solid var(--fc-border);border-radius:14px;padding:24px;background:white}.fc-athlete-head{display:flex;align-items:center;gap:15px;margin-bottom:24px}.fc-athlete h3{font-size:1.1rem;font-weight:800;margin:5px 0}.fc-athlete p{font-size:.8rem;color:var(--fc-muted);margin:0}.fc-number{display:flex;align-items:center;justify-content:center;flex:0 0 56px;height:64px;border-radius:10px;background:#f7edf0;color:var(--fc-primary);font-size:1.6rem;font-weight:900}.fc-athlete .btn{font-size:.9rem;font-weight:700}.fc-empty{padding:35px;border:1px dashed #c6c7ce;border-radius:12px;color:var(--fc-muted);text-align:center}.fc-role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:42px 0 0}.fc-role{color:var(--fc-ink);border-top:3px solid var(--fc-primary);background:#f5f5f7;border-radius:8px;padding:24px;text-decoration:none}.fc-role strong{display:block;font-size:1.08rem;margin:10px 0}.fc-role p{font-size:.9rem;color:var(--fc-muted);margin:0}.fc-role i{font-size:1.45rem;color:var(--fc-primary)}.fc-share{background:white;border:1px solid var(--fc-border);border-radius:16px;padding:26px;margin:22px 0}.fc-share-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.fc-share-actions>*{flex:1}.fc-share summary{cursor:pointer;font-weight:700;padding:8px 0}.fc-share img{max-width:100%;height:auto}.fc-checks{display:grid;gap:8px}.fc-checks a{display:flex;align-items:center;gap:12px;color:var(--fc-ink);padding:12px;border:1px solid var(--fc-border);border-radius:8px;text-decoration:none}.fc-checks i{color:var(--fc-primary)}.fc-checks span{flex:1}.fc-checks small{color:var(--fc-muted)}.fc-check{display:flex;gap:10px;align-items:start;margin:12px 0}.fc-onboarding h2{font-size:1.65rem}.fc-modal-backdrop{position:fixed;inset:0;background:#171820a8;z-index:2000;display:flex;justify-content:center;align-items:center;padding:20px}.fc-modal{background:white;border-radius:16px;padding:28px;width:540px;max-width:100%;max-height:90vh;overflow:auto}.fc-footer{background:#202126;color:#e3e4e8;padding:36px 24px}.fc-footer-inner{max-width:1160px;margin:auto;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.fc-footer a{color:#e3e4e8}.fc-footer small{color:#adb0bb}.fc-brand-preview{max-width:140px;max-height:140px;object-fit:contain;background:#fafafa;border:1px solid var(--fc-border);border-radius:12px;padding:8px}
@media(max-width:900px){.fc-athletes{grid-template-columns:repeat(2,minmax(0,1fr))}.fc-total{grid-template-columns:1fr;gap:22px}.fc-role-grid{grid-template-columns:1fr}.portal-brand strong{font-size:1rem}}
@media(max-width:580px){.fc-athletes{grid-template-columns:1fr}.fc-hero{padding:50px 22px}.fc-wrap{padding:30px 18px}.fc-total{padding:22px;margin-bottom:32px}.fc-filters{display:grid;grid-template-columns:1fr}.fc-share{padding:20px}.fc-checks small{display:none}.fc-modal{padding:20px}.portal-top{padding:8px 12px}.portal-brand img{width:40px;height:40px}}
@media print{.site-header,.portal-top,.portal-nav,.fc-footer,button,.btn,.modal,.fc-modal-backdrop{display:none!important}.portal-shell,.portal-main,.container-fluid{display:block!important;padding:0!important;margin:0!important;width:100%!important}.portal-card{box-shadow:none!important;break-inside:avoid}.fc-onboarding a{color:black;text-decoration:none}body{background:white!important}.fc-onboarding textarea{border:none}}

.fc-mobile-menu{display:none;position:relative}.fc-mobile-menu nav{position:absolute;right:0;top:35px;min-width:210px;background:#fff;color:#222;box-shadow:0 12px 40px #0003;border-radius:12px;padding:10px;z-index:1050}.fc-mobile-menu nav a{display:block;padding:9px;color:#222;text-decoration:none}.fc-mobile-menu summary{color:#fff;cursor:pointer;font-weight:700}@media(max-width:980px){.fc-mobile-menu{display:block;margin-left:auto}.portal-user>a{display:none}.portal-brand{max-width:66%}.portal-brand strong{font-size:13px}.portal-top{gap:12px}.portal-mobile-nav{z-index:1040}.fc-modal-backdrop{z-index:2100}}
body{background:#f5f5f7;color:var(--fc-ink)}.site-header{background:#202126;border-bottom:3px solid var(--fc-primary)}.site-header .brand{color:#fff}.site-header .brand strong{font-size:clamp(1rem,2vw,1.5rem);letter-spacing:.01em}.site-header .brand img{width:58px;height:58px;object-fit:contain}.fc-wrap{color:var(--fc-ink)}.fc-wrap .btn{border-radius:9px}.portal-nav{background:#25262c}.portal-card h2{font-size:1.45rem;font-weight:750}.portal-card input[type=checkbox],.fc-check input[type=checkbox],[data-fc-component] input[type=checkbox]{width:18px;height:18px;min-height:18px;flex:0 0 18px;padding:0;margin-top:3px;accent-color:var(--fc-primary);border-radius:4px}.portal-card label:has(>input[type=checkbox]){display:flex;align-items:flex-start;gap:9px}.fc-hero .btn-outline-light{border-color:#c4c7cc;color:#fff}.fc-modal select{font-size:1rem}.site-nav{background:transparent}@media(max-width:980px){.site-header .brand{gap:10px}.site-header .brand strong{font-size:16px;max-width:235px}.site-header .brand small{font-size:10px}.site-header .brand img{width:45px;height:45px}.site-nav{background:#202126}}@media print{.fc-mobile-menu,.portal-mobile-nav{display:none!important}}
[data-fc-component=goals] table{min-width:610px}[data-fc-component=goals] table input[type=number]{min-width:125px}.fc-mobile-menu summary{list-style:none;white-space:nowrap}.fc-mobile-menu summary::-webkit-details-marker{display:none}.fc-mobile-menu summary:before{content:'☰ ';font-size:1.1rem}

.fc-private-panel{padding:32px;border:1px solid var(--fc-border);border-radius:16px;background:#fff}.fc-private-panel h2{font-weight:800;margin:12px 0}.fc-private-panel p{color:var(--fc-muted);max-width:680px}
