/* SAS: the homepage (goalz-home) look, carried to every other page and the members portal.
   Same palette, type, buttons and header as the homepage. Loaded after all other styles. */
:root{--gz-bg:#131916;--gz-panel:#18211c;--gz-panel-2:#1d2822;--gz-line:#ffffff1c;--gz-ink:#e2e8d4;--gz-head:#dfe7cd;--gz-muted:#a8b69a;--gz-sage:#b9c7a3;--gz-gold:#c8a24d;--gz-gold-soft:#d7c28d}
body:not(:has(.goalz-home)){background:var(--gz-bg);color:var(--gz-ink)}
body:not(:has(.goalz-home)) p,body:not(:has(.goalz-home)) .muted{color:var(--gz-muted)}
body:not(:has(.goalz-home)) h1,body:not(:has(.goalz-home)) h2,body:not(:has(.goalz-home)) h3,body:not(:has(.goalz-home)) h4{color:var(--gz-ink);letter-spacing:-1px}
body:not(:has(.goalz-home)) .container{max-width:1440px;width:calc(100% - 120px)}

/* header + demo bar: identical to the homepage, but in the page flow */
body:not(:has(.goalz-home)) .demo-bar{background:#101c15;color:#a6b49e;font-size:10px;min-height:28px;padding:5px;border:0}
body:not(:has(.goalz-home)) .demo-bar b{color:#e1d1a6}
body:not(:has(.goalz-home)) .header{background:var(--gz-bg);color:var(--gz-ink);border-bottom:1px solid var(--gz-line)}
body:not(:has(.goalz-home)) .header-inner{height:96px;max-width:1440px;width:calc(100% - 120px);gap:30px}
body:not(:has(.goalz-home)) .header .brand img{width:67px;height:67px}
body:not(:has(.goalz-home)) .header .brand b{font-size:13px;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .brand small{color:#b8c6ac;font-size:8px}
body:not(:has(.goalz-home)) .nav{gap:4px;margin-right:auto}
body:not(:has(.goalz-home)) .nav a{background:#ffffff12;color:var(--gz-ink);padding:10px 15px;font-size:12px}
body:not(:has(.goalz-home)) .nav a:hover,body:not(:has(.goalz-home)) .nav a.active{background:#ffffff26;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .nav a.active:after{display:none}
body:not(:has(.goalz-home)) .header-actions{gap:18px}
body:not(:has(.goalz-home)) .header-actions .btn{background:var(--gz-gold-soft);border-radius:2px;color:#173629;font-size:12px;min-height:39px;padding:8px 16px}
body:not(:has(.goalz-home)) .header-actions .text-link{color:var(--gz-ink);font-size:12px}
body:not(:has(.goalz-home)) .menu-btn{background:transparent;color:var(--gz-ink);border-color:#ffffff40}

/* buttons, links, badges: homepage pills */
body:not(:has(.goalz-home)) .btn{border-radius:60px;font-size:12px;min-height:52px;padding:13px 27px;gap:20px;background:#ffffff16;color:var(--gz-ink);border:1px solid #ffffff0a}
body:not(:has(.goalz-home)) .btn.gold{background:var(--gz-gold);color:#102b20}
body:not(:has(.goalz-home)) .btn.outline{background:transparent;border-color:#ffffff30;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .btn.small{min-height:40px;padding:8px 18px}
body:not(:has(.goalz-home)) .btn:hover{background:var(--gz-ink);color:#123326;transform:translateY(-3px)}
body:not(:has(.goalz-home)) .btn svg{width:18px;height:18px}
body:not(:has(.goalz-home)) .text-link{color:var(--gz-gold)}
body:not(:has(.goalz-home)) .eyebrow{font:700 11px/1.8 Cairo,Montserrat,sans-serif;letter-spacing:1px;color:var(--gz-sage)}
body:not(:has(.goalz-home)) .badge{background:#ffffff12;color:var(--gz-ink);border-radius:60px;padding:4px 12px}
body:not(:has(.goalz-home)) .badge.gold{background:#c8a24d24;color:var(--gz-gold-soft)}
body:not(:has(.goalz-home)) .badge.gray{background:#ffffff0c;color:var(--gz-muted)}
body:not(:has(.goalz-home)) .icon-btn{background:#ffffff10;border-color:#ffffff1f;color:var(--gz-ink)}

/* page heads: the homepage title treatment */
body:not(:has(.goalz-home)) .page-head{position:relative;overflow:hidden;background:radial-gradient(90% 140% at 85% 0%,#1d3a2b 0%,#131916 62%);color:var(--gz-ink);padding:90px 0 80px;border-bottom:1px solid var(--gz-line)}
body:not(:has(.goalz-home)) .page-head .container:after{content:'SAS';font:800 220px/1 Montserrat,sans-serif;color:#ffffff06;letter-spacing:-14px;top:-20px}
body:not(:has(.goalz-home)) .page-head .breadcrumb{color:#8d9c81;font-size:12px}
body:not(:has(.goalz-home)) .page-head .breadcrumb a:hover{color:var(--gz-gold)}
body:not(:has(.goalz-home)) .page-head .eyebrow{font:500 10px Montserrat,sans-serif;letter-spacing:2px;color:#e1d3a7;margin-top:34px!important}
body:not(:has(.goalz-home)) .page-head h1{font-size:clamp(54px,6.4vw,104px);font-weight:900;line-height:1.3;letter-spacing:-4px;color:var(--gz-head);margin:10px 0 14px;max-width:1100px}
body:not(:has(.goalz-home)) .page-head p{color:var(--gz-sage);font-size:16px;font-weight:600;max-width:560px}

/* sections and type */
body:not(:has(.goalz-home)) .section{padding:90px 0}
body:not(:has(.goalz-home)) .section.soft{background:var(--gz-bg)}
body:not(:has(.goalz-home)) .section h2{font-size:clamp(30px,3.1vw,45px);line-height:1.6}
body:not(:has(.goalz-home)) .section h1{color:var(--gz-head)}
body:not(:has(.goalz-home)) .tiny{color:var(--gz-muted)}

/* sports catalogue */
body:not(:has(.goalz-home)) .filters{border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .chip{background:#ffffff12;border:0;color:var(--gz-ink);border-radius:2px;font-size:13px}
body:not(:has(.goalz-home)) .chip:hover{background:#ffffff26}
body:not(:has(.goalz-home)) .chip.active{background:var(--gz-gold-soft);color:#173629}
body:not(:has(.goalz-home)) .search input{background:#ffffff0a;border:1px solid var(--gz-line);color:var(--gz-ink);border-radius:60px}
body:not(:has(.goalz-home)) .search input::placeholder{color:#8d9c81}
body:not(:has(.goalz-home)) .search svg{color:#8d9c81}
body:not(:has(.goalz-home)) .sport-card{border-radius:0;min-height:310px}
body:not(:has(.goalz-home)) .sport-card img{filter:saturate(.65);transition:transform .7s,filter .4s}
body:not(:has(.goalz-home)) .sport-card:hover img{transform:scale(1.06);filter:saturate(1)}
body:not(:has(.goalz-home)) .sport-card:after{background:linear-gradient(0deg,#131916f2,#13191620 75%)}
body:not(:has(.goalz-home)) .sport-card small{font:500 9px Montserrat,sans-serif;letter-spacing:2px;color:#e1d3a7}
body:not(:has(.goalz-home)) .sport-card h3{color:var(--gz-head)}
body:not(:has(.goalz-home)) .sport-card .arrow{border:0;border-radius:50%;background:var(--gz-gold-soft);color:#163626;padding:10px}
body:not(:has(.goalz-home)) .sport-card.plain{background:var(--gz-panel);border:1px solid var(--gz-line);color:var(--gz-ink);min-height:230px}
body:not(:has(.goalz-home)) .sport-card.plain:hover{background:var(--gz-panel-2);border-color:#c8a24d55}
body:not(:has(.goalz-home)) .sport-card.plain>div>svg{color:var(--gz-gold)}
body:not(:has(.goalz-home)) .sport-card.plain h3{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .sport-card.plain .sport-category,body:not(:has(.goalz-home)) .sport-card.plain small{color:var(--gz-muted)}
body:not(:has(.goalz-home)) .sport-card.plain .sport-index,body:not(:has(.goalz-home)) .sport-index{font:12px Montserrat,sans-serif;color:#b9ab7c}
body:not(:has(.goalz-home)) .sport-card.plain .arrow{background:#ffffff12;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .empty{color:var(--gz-muted)}

/* cards, lists, notices */
body:not(:has(.goalz-home)) .card,body:not(:has(.goalz-home)) .news-card,body:not(:has(.goalz-home)) .bill,body:not(:has(.goalz-home)) .day-card,body:not(:has(.goalz-home)) .tournament-card,body:not(:has(.goalz-home)) .match{background:var(--gz-panel);border:1px solid var(--gz-line);border-radius:0;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .values-grid .card{background:transparent;border:0;border-top:1px solid #ffffff28;padding:28px 0 0}
body:not(:has(.goalz-home)) .value-number{font:500 38px Montserrat,sans-serif;color:var(--gz-gold)}
body:not(:has(.goalz-home)) .detail-list>div{border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .detail-list span{color:var(--gz-muted)}
body:not(:has(.goalz-home)) .detail-cover{border-radius:0;filter:saturate(.8)}
body:not(:has(.goalz-home)) .notice{background:#c8a24d14;color:#d8c99c;border-right:2px solid var(--gz-gold);border-radius:0}
body:not(:has(.goalz-home)) .notice.green{background:#9dae8d14;color:var(--gz-sage);border-color:#9dae8d}
body:not(:has(.goalz-home)) .feature>span{background:#ffffff10;color:var(--gz-gold);border-radius:50%;font-family:Montserrat,sans-serif}
body:not(:has(.goalz-home)) .feature h4{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .news-card .date{color:#b9ab7c}
body:not(:has(.goalz-home)) .news-card:hover,body:not(:has(.goalz-home)) .coach-card:hover{border-color:#c8a24d66}

/* coaches */
body:not(:has(.goalz-home)) .coach-card{background:var(--gz-panel);border:1px solid var(--gz-line);border-radius:0}
body:not(:has(.goalz-home)) .coach-top{background:linear-gradient(160deg,#1f3a2c,#131916)}
body:not(:has(.goalz-home)) .coach-monogram{color:#526745}
body:not(:has(.goalz-home)) .coach-top .badge{background:#ffffff14;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .coach-top-label{color:#8b9c7c}
body:not(:has(.goalz-home)) .coach-role{color:#b9ab7c}
body:not(:has(.goalz-home)) .coach-body .text-link{border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .avatar{background:#ffffff10;color:var(--gz-sage);border-radius:50%}
body:not(:has(.goalz-home)) .avatar.large{border-color:var(--gz-bg);box-shadow:0 0 0 1px var(--gz-line);border-radius:50%}

/* forms */
body:not(:has(.goalz-home)) .field{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .field input,body:not(:has(.goalz-home)) .field select,body:not(:has(.goalz-home)) .field textarea,body:not(:has(.goalz-home)) .role-select{background:#ffffff08;border:1px solid var(--gz-line);color:var(--gz-ink);border-radius:2px}
body:not(:has(.goalz-home)) .field input:focus,body:not(:has(.goalz-home)) .field select:focus,body:not(:has(.goalz-home)) .field textarea:focus{outline:none;border-color:var(--gz-gold)}
body:not(:has(.goalz-home)) select option{background:#18211c;color:var(--gz-ink)}
body:not(:has(.goalz-home)) input[type=checkbox]:not(.switch){accent-color:var(--gz-gold)}
body:not(:has(.goalz-home)) .success-box>svg{color:var(--gz-gold)}

/* login */
body:not(:has(.goalz-home)) .role-card{background:var(--gz-panel);border:1px solid var(--gz-line);border-top:2px solid var(--gz-gold);border-radius:0;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .role-card:hover{background:var(--gz-panel-2);border-color:#c8a24d66}
body:not(:has(.goalz-home)) .role-card>svg{color:var(--gz-gold)}
body:not(:has(.goalz-home)) .section.soft .center h1{font-size:clamp(40px,4.6vw,64px)!important;font-weight:900;letter-spacing:-2px}

/* footer */
body:not(:has(.goalz-home)) .footer{background:var(--gz-bg);color:var(--gz-ink);border-top:1px solid var(--gz-line)}
body:not(:has(.goalz-home)) .footer h4{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .footer p,body:not(:has(.goalz-home)) .footer-links,body:not(:has(.goalz-home)) .footer-bottom,body:not(:has(.goalz-home)) .footer .brand small{color:#9dae8d}
body:not(:has(.goalz-home)) .footer .brand b{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .footer-bottom{border-color:#ffffff20}

/* members portal */
body:not(:has(.goalz-home)) .dashboard{background:var(--gz-bg)}
body:not(:has(.goalz-home)) .sidebar{background:#101c15;border-left:1px solid var(--gz-line)}
body:not(:has(.goalz-home)) .sidebar .brand b{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .sidebar .btn{min-height:38px;font-size:12px}
body:not(:has(.goalz-home)) .side-label{color:#7d8f73}
body:not(:has(.goalz-home)) .side-nav a{color:#a9b79b;border-radius:2px}
body:not(:has(.goalz-home)) .side-nav a:hover{background:#ffffff0a;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .side-nav a.active{background:#c8a24d1a;color:var(--gz-gold-soft);border-right-color:var(--gz-gold)}
body:not(:has(.goalz-home)) .sidebar-bottom{border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .dash-header{background:var(--gz-bg);border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .dash-header strong{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .dash-header .icon-btn{background:#ffffff10}
body:not(:has(.goalz-home)) .demo-note{background:#18211c;color:#a6b49e}
body:not(:has(.goalz-home)) .mobile-dash-nav{background:var(--gz-bg);border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .mobile-dash-nav a.active{background:var(--gz-gold-soft);color:#173629}
body:not(:has(.goalz-home)) .dash-title h1{font-size:34px;font-weight:900;letter-spacing:-1px;color:var(--gz-head)}
body:not(:has(.goalz-home)) .athlete-workspace,body:not(:has(.goalz-home)) .profile-banner,body:not(:has(.goalz-home)) .inset-banner{background:#1c2b20;border:1px solid #93ad7440;border-radius:14px}
body:not(:has(.goalz-home)) .athlete-number,body:not(:has(.goalz-home)) .profile-shirt{color:var(--gz-gold)}
body:not(:has(.goalz-home)) .athlete-workspace p,body:not(:has(.goalz-home)) .next-training>span,body:not(:has(.goalz-home)) .profile-banner p,body:not(:has(.goalz-home)) .inset-banner p{color:#a9b79b}
body:not(:has(.goalz-home)) .athlete-workspace .eyebrow,body:not(:has(.goalz-home)) .inset-banner .eyebrow{color:#99ac88;font-family:Montserrat,sans-serif}
body:not(:has(.goalz-home)) .metric,body:not(:has(.goalz-home)) .dash-card{background:var(--gz-panel);border:1px solid var(--gz-line);border-radius:0}
body:not(:has(.goalz-home)) .metric .row{color:var(--gz-muted)}
body:not(:has(.goalz-home)) .metric .row svg{background:#ffffff10;color:var(--gz-gold)}
body:not(:has(.goalz-home)) .metric strong{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .metric small{color:#8d9c81}
body:not(:has(.goalz-home)) .session,body:not(:has(.goalz-home)) .notification,body:not(:has(.goalz-home)) .setting-row{border-color:var(--gz-line)}
body:not(:has(.goalz-home)) .date-tile{background:#ffffff0c;color:var(--gz-sage)}
body:not(:has(.goalz-home)) .date-tile strong{color:var(--gz-gold)}
body:not(:has(.goalz-home)) .chart path[fill="#e8f0e8"]{fill:#9dae8d1f}
body:not(:has(.goalz-home)) .chart path[stroke="#0f3d2e"]{stroke:#9dae8d}
body:not(:has(.goalz-home)) .chart path[stroke="#e8ede7"]{stroke:#ffffff14}
body:not(:has(.goalz-home)) .chart circle{stroke:#131916}
body:not(:has(.goalz-home)) .chart-labels{color:#8d9c81}
body:not(:has(.goalz-home)) .progress{background:#ffffff12}
body:not(:has(.goalz-home)) .progress>span{background:#9dae8d}
body:not(:has(.goalz-home)) .progress.gold>span{background:var(--gz-gold)}
body:not(:has(.goalz-home)) .table-wrap th,body:not(:has(.goalz-home)) th{background:#ffffff08;color:var(--gz-muted)}
body:not(:has(.goalz-home)) th,body:not(:has(.goalz-home)) td{border-color:var(--gz-line);color:var(--gz-ink)}
body:not(:has(.goalz-home)) .event{background:#9dae8d14;border-right-color:#9dae8d;color:var(--gz-ink)}
body:not(:has(.goalz-home)) .event.gold{background:#c8a24d14;border-color:var(--gz-gold)}
body:not(:has(.goalz-home)) .day-card.today{border-color:var(--gz-gold)}
body:not(:has(.goalz-home)) .notification .notification-icon{background:#ffffff10;color:var(--gz-gold)}
body:not(:has(.goalz-home)) .switch{background:#ffffff26}
body:not(:has(.goalz-home)) .switch:checked{background:var(--gz-gold)}
body:not(:has(.goalz-home)) .tournament-symbol{background:#c8a24d14;color:var(--gz-gold)}
body:not(:has(.goalz-home)) .bill-number{color:var(--gz-ink)}
body:not(:has(.goalz-home)) .match.final{border-color:var(--gz-gold)}

/* dialog + toast */
dialog{background:#18211c;color:var(--gz-ink);border:1px solid var(--gz-line)}
.modal-head{background:#131916!important;border-color:var(--gz-line)!important}
.modal-head h3{color:var(--gz-ink)}
.modal-body p{color:var(--gz-muted)}
dialog .btn{border-radius:60px}
#toast{background:var(--gz-gold);color:#102b20;font-weight:700}

/* reveal for inner content, matching the homepage motion */
body:not(:has(.goalz-home)) main#content>*{animation:gz-enter .8s both}

@media(max-width:1200px){body:not(:has(.goalz-home)) .header-inner,body:not(:has(.goalz-home)) .container{width:calc(100% - 70px)}body:not(:has(.goalz-home)) .nav a{padding:9px 11px;font-size:11px}body:not(:has(.goalz-home)) .header-inner{gap:18px}}
@media(max-width:960px){body:not(:has(.goalz-home)) .nav{background:#19271fef;backdrop-filter:blur(15px);top:96px}body:not(:has(.goalz-home)) .nav a{background:transparent;padding:14px 20px;font-size:14px}body:not(:has(.goalz-home)) .page-head h1{letter-spacing:-2px}}
@media(max-width:720px){body:not(:has(.goalz-home)) .header-inner,body:not(:has(.goalz-home)) .container{width:calc(100% - 36px)}body:not(:has(.goalz-home)) .header-inner{height:78px;gap:10px}body:not(:has(.goalz-home)) .nav{top:78px}body:not(:has(.goalz-home)) .header .brand img{width:53px;height:53px}body:not(:has(.goalz-home)) .header .brand b{font-size:10px}body:not(:has(.goalz-home)) .brand small{font-size:6px}body:not(:has(.goalz-home)) .header-actions .btn{font-size:10px;padding:7px 10px;min-height:34px}body:not(:has(.goalz-home)) .page-head{padding:55px 0 50px}body:not(:has(.goalz-home)) .page-head h1{font-size:50px;letter-spacing:-2px}body:not(:has(.goalz-home)) .page-head .container:after{font-size:110px}body:not(:has(.goalz-home)) .section{padding:60px 0}body:not(:has(.goalz-home)) .btn{min-height:46px;padding:11px 20px;font-size:11px;gap:13px}}
@media(prefers-reduced-motion:reduce){body:not(:has(.goalz-home)) main#content>*{animation:none}}
