:root{color-scheme:light;font-family:Arial,"Segoe UI",sans-serif;color:#172a3a;background:#f3f6f9;--ink:#172a3a;--muted:#5c6d7c;--surface:#fff;--rule:#d8e1e8;--accent:#255b91}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled,fieldset:disabled{opacity:.65;cursor:wait}.coach-report{max-width:920px;margin:0 auto;padding:42px 24px 72px}.coach-report.youth{--accent:#206653}.coach-report-head{margin:0 0 28px;padding:0 0 24px;border-bottom:3px solid var(--accent)}.coach-report-head>span{color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.14em}.coach-report-head h1{font-size:clamp(27px,5vw,36px);letter-spacing:-.035em;margin:10px 0 0;line-height:1.18}.card{padding:22px;background:var(--surface);border:1px solid var(--rule);border-radius:12px}.coach-session{display:grid;grid-template-columns:1.2fr .85fr 1.2fr;gap:16px;margin:0 0 24px;min-width:0}.coach-session label{display:grid;gap:8px;font-size:14px;font-weight:700;min-width:0}select,input[type=date],input[type=text]{min-height:48px;max-width:100%;padding:10px 12px;border:1px solid #b9c7d3;border-radius:7px;color:var(--ink);background:#fff;min-width:0;width:100%}select:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid #8ebbe0;outline-offset:2px}.coach-attachments{margin-bottom:24px}.coach-attachments h2,.coach-saved h2{font-size:19px;margin:0 0 14px}.coach-file{display:grid;gap:12px;font-size:14px}.coach-file input{max-width:100%;font-size:14px}.coach-file input::file-selector-button{border:1px solid #b9c7d3;border-radius:6px;background:#edf2f7;padding:9px 12px;margin-right:10px;cursor:pointer}.coach-attachments p{font-size:13px;color:var(--muted);margin:12px 0 0}.coach-attachments ul{font-size:14px;padding-left:20px;overflow-wrap:anywhere}.dcr-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.dcr-k{font-size:12px;font-weight:700;color:var(--muted);margin:0 0 8px}.dcr-v{font-size:20px;font-weight:700;margin:0}.dcr-md{max-width:180px!important}.dcr-divider{display:flex;align-items:center;gap:12px;margin:26px 0 12px}.dcr-num{font-weight:700;font-size:13px;color:var(--accent)}.dcr-rule{flex:1;height:1px;background:var(--rule)}.dcr-section{margin:0 0 16px}.dcr-label{font-size:18px;font-weight:700;margin:0 0 8px}.dcr-hint{font-size:13px;color:var(--muted);line-height:1.5;margin:0 0 12px}.ar{display:block;font-weight:400;font-size:13px;line-height:1.55;color:var(--muted);text-align:right;margin-top:4px}.dcr-options{display:flex;flex-direction:column;gap:9px}.dcr-options.is-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.dcr-opt{display:flex;gap:12px;align-items:center;min-height:50px;border:1px solid var(--rule);border-radius:9px;padding:13px 15px;background:#fff;cursor:pointer;line-height:1.45}.dcr-opt input{width:19px;height:19px;flex:none;margin:0;accent-color:var(--accent)}.dcr-mark{display:none}.dcr-opt:has(input:checked){border-color:var(--accent);background:#edf4fa}.youth .dcr-opt:has(input:checked){background:#edf6f1}.dcr-opt:has(input:focus-visible){outline:3px solid #8ebbe0;outline-offset:2px}.dcr-txt{font-size:15px;flex:1;min-width:0}.dcr-opt.is-blocked{opacity:.5;cursor:not-allowed}.dcr-err{display:none;font-size:13px;color:#a42b2b}.is-invalid .dcr-err{display:block}.is-invalid .dcr-label{color:#a42b2b}.dcr-ptree,.dcr-p-panel,.dcr-s-panel{display:grid;gap:10px}.dcr-p-panel,.dcr-s-panel{margin:10px 0 10px 12px;padding-left:14px;border-left:2px solid var(--rule)}.dcr-tree-hint{font-size:12px;color:var(--muted);margin:5px 0}.dcr-chev{font-size:24px;color:var(--accent);transition:transform .15s}.dcr-opt:has(input:checked)>.dcr-chev{transform:rotate(90deg)}.dcr-submit{margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;text-decoration:none;min-height:49px;padding:13px 24px;border:1px solid var(--accent);border-radius:8px;font-weight:700;font-size:15px}.btn-primary{background:var(--accent);color:#fff}.btn-secondary{background:#fff;color:var(--accent)}.alert{padding:15px 18px;line-height:1.5;border-radius:9px;margin:0 0 18px}.alert-error{border:1px solid #e2b8b8;background:#fff2f1;color:#902929}.coach-empty{line-height:1.6}.coach-saved p{line-height:1.6}.coach-saved ul{padding:0;list-style:none}.coach-saved li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}.coach-saved b{color:var(--accent);font-size:13px}.coach-saved .btn{margin-top:12px}@media(max-width:650px){.coach-report{padding:28px 16px 50px}.coach-session{grid-template-columns:1fr}.card{padding:19px}.dcr-options.is-grid{grid-template-columns:1fr}.dcr-submit .btn{width:100%}.dcr-p-panel,.dcr-s-panel{margin-left:4px;padding-left:9px}.coach-saved li{flex-direction:column;gap:5px}}@media print{.coach-report{max-width:none}.btn,input[type=file]{display:none}}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/875ae681bfde4580-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}
@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}

@font-face{font-family:Antonio;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/antonio-latin.woff2) format("woff2")}
@font-face{font-family:"Bebas Neue";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/bebas-neue-latin.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/ibm-plex-sans-latin.woff2) format("woff2")}

/* ---- Brand layer ----
   Before a team is chosen the page is the academy's (Horus gold, Manrope).
   Choosing a team re-brands it as that club: G FC is black, white and mint
   in Bebas Neue / IBM Plex Sans; NGSC is navy, gold and white. Every colour
   below is a token, so the components only ever name the slot. */
:root{
 color-scheme:light;
 --ground:#F6F5F1;--surface:#FFFFFF;--surface-2:#F2F0EA;--field:#FFFFFF;
 --ink:#122421;--muted:#57665F;--rule:#E7E3D9;
 --band:#0E323C;--band-ink:#FFFFFF;--band-kicker:#E1A128;
 --accent:#E1A128;--accent-deep:#BE8016;--accent-soft:#FBF3DF;
 --btn:#E1A128;--btn-ink:#231603;--btn-hover:#BE8016;--btn-hover-ink:#FFFFFF;
 --display:Manrope,system-ui,sans-serif;--display-weight:800;--display-case:none;--display-track:-.03em;
 --body:Manrope,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
 --radius:12px;--radius-sm:7px;
 background:var(--ground);color:var(--ink);font-family:var(--body);
}
:root[data-club=gfc]{
 --ground:#F2F3F2;--surface-2:#EBEDEC;--ink:#0A0A0A;--muted:#4E5251;--rule:#DCDEDD;
 --band:#000000;--band-ink:#FFFFFF;--band-kicker:#98FFDC;
 --accent:#98FFDC;--accent-deep:#0B6B50;--accent-soft:#EAFFF7;
 --btn:#000000;--btn-ink:#98FFDC;--btn-hover:#1A1A1A;--btn-hover-ink:#FFFFFF;
 --display:Antonio,"Bebas Neue","Anton",Impact,sans-serif;--display-weight:700;--display-case:uppercase;--display-track:.03em;
 --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
 --radius:6px;--radius-sm:4px;
}
:root[data-club=ngsc]{
 --ground:#F4F7F8;--surface-2:#EAF0F3;--ink:#002F43;--muted:#4C6B79;--rule:#D8E2E7;
 --band:#002F43;--band-ink:#FFFFFF;--band-kicker:#FBB800;
 --accent:#FBB800;--accent-deep:#8A6200;--accent-soft:#FFF8E3;
 --btn:#FBB800;--btn-ink:#002F43;--btn-hover:#002F43;--btn-hover-ink:#FBB800;
 --display:Manrope,system-ui,sans-serif;--display-weight:800;--display-case:uppercase;--display-track:.01em;
 --radius:10px;--radius-sm:6px;
}
body{background:var(--ground);color:var(--ink);font-family:var(--body);overflow-x:clip}
.coach-report{max-width:760px;padding:0 20px 64px}

/* The club band: full-bleed, crest on a white tile, an accent rule under it. */
.coach-report-head{
 display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:16px;
 margin:0 calc(50% - 50vw) 24px;padding:26px calc(50vw - 50%) 24px;text-align:left;
 background:var(--band);color:var(--band-ink);
 border-bottom:4px solid var(--accent);
}
.club-crest{grid-row:1/3;width:64px;height:64px;margin:0;padding:6px;object-fit:contain;background:#fff;border-radius:var(--radius)}
.coach-crests{grid-row:1/3;display:flex;gap:8px}
.coach-crests img{width:52px;height:52px;padding:5px;object-fit:contain;background:#fff;border-radius:var(--radius)}
.coach-report-head>span{align-self:end;display:block;font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--band-kicker)}
.coach-report-head h1{
 align-self:start;margin:4px 0 0;color:var(--band-ink);
 font-family:var(--display);font-weight:var(--display-weight);text-transform:var(--display-case);letter-spacing:var(--display-track);
 font-size:clamp(28px,6vw,40px);line-height:1.05;
}

.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.coach-session{grid-template-columns:1fr 1fr;gap:16px;padding:20px}
.coach-session label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.coach-session label:first-child,.coach-session label:last-child{grid-column:1/-1}
select,input[type=date],input[type=time],input[type=text]{
 background:var(--field);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius-sm);
 min-height:48px;padding:12px;font:inherit;font-size:16px;font-weight:500;letter-spacing:0;text-transform:none;width:100%;min-width:0;
}
select:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
:root[data-club=gfc] select:focus-visible,:root[data-club=gfc] input:focus-visible,:root[data-club=gfc] button:focus-visible{outline-color:var(--accent-deep)}

.coach-attachments h2,.coach-saved h2{
 font-family:var(--display);font-weight:var(--display-weight);text-transform:var(--display-case);letter-spacing:var(--display-track);
 font-size:22px;color:var(--ink)
}
:root[data-club=gfc] .coach-attachments h2,:root[data-club=gfc] .coach-saved h2{font-size:26px}
.coach-file input::file-selector-button{background:var(--surface-2);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius-sm);font-weight:600}
.coach-attachments p{color:var(--muted)}

/* The numbered question rules and labels carry the club's display face. */
.dcr-divider{margin:34px 0 14px}
.dcr-num{font-family:var(--display);font-weight:var(--display-weight);font-size:15px;letter-spacing:.14em;color:var(--accent-deep)}
:root[data-club=gfc] .dcr-num{font-size:20px;color:var(--ink);background:var(--accent);padding:2px 8px;border-radius:var(--radius-sm);letter-spacing:.06em}
:root[data-club=ngsc] .dcr-num{color:var(--band);background:var(--accent);padding:3px 9px;border-radius:999px;font-size:13px}
.dcr-rule{background:var(--rule);height:2px}
.dcr-label{font-family:var(--display);font-weight:var(--display-weight);text-transform:var(--display-case);letter-spacing:var(--display-track);font-size:20px;color:var(--ink)}
:root[data-club=gfc] .dcr-label{font-size:26px;line-height:1}
.dcr-label .ar{text-transform:none;letter-spacing:0;font-family:"Noto Kufi Arabic","Cairo","Segoe UI",Tahoma,sans-serif}
.dcr-hint,.dcr-tree-hint{color:var(--muted)}
.dcr-k{color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.dcr-v{font-family:var(--display);font-weight:var(--display-weight);color:var(--ink)}
:root[data-club=gfc] .dcr-v{font-size:28px}
.dcr-info .dcr-cell{border-left:3px solid var(--accent);padding-left:12px;display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.dcr-info .dcr-k{display:block;margin:0}
.dcr-info .dcr-v{margin:0;line-height:1}

/* Options: the brand accent marks what is chosen. */
.dcr-opt{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-sm)}
.dcr-opt input{accent-color:var(--accent-deep)}
.dcr-opt:has(input:checked),.youth .dcr-opt:has(input:checked){background:var(--accent-soft);border-color:var(--accent-deep);box-shadow:inset 4px 0 0 var(--accent)}
:root[data-club=gfc] .dcr-opt:has(input:checked){box-shadow:inset 4px 0 0 var(--ink)}
.dcr-opt:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.dcr-chev{color:var(--accent-deep)}
.dcr-p-panel,.dcr-s-panel{border-left-color:var(--accent)}

.btn{border-radius:var(--radius-sm)}
.btn-primary{background:var(--btn);border-color:var(--btn);color:var(--btn-ink)}
.btn-primary:hover:not(:disabled){background:var(--btn-hover);border-color:var(--btn-hover);color:var(--btn-hover-ink)}
.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--rule)}
.dcr-submit .btn{width:100%;min-height:56px;font-family:var(--display);font-weight:var(--display-weight);text-transform:uppercase;letter-spacing:.08em;font-size:16px}
:root[data-club=gfc] .dcr-submit .btn{font-size:24px;letter-spacing:.06em}
.alert-error{background:#FBEBE4;border:1px solid #E7C8BB;color:#A33A22}
.coach-saved b{color:var(--accent-deep)}
.coach-saved li{border-bottom-color:var(--rule)}

@media(max-width:520px){
 .coach-report{padding:0 14px 48px}
 .coach-report-head{padding-top:20px;padding-bottom:18px;column-gap:12px}
 .club-crest{width:52px;height:52px}
 .coach-crests img{width:42px;height:42px}
 .coach-session{grid-template-columns:1fr;padding:16px;gap:14px}
}
.dcr-label .ar,.dcr-hint .ar{display:inline;margin:0 0 0 .5rem;text-align:start;font-size:.8em;opacity:.75}
.coach-report.youth{--accent:inherit}
@media(max-width:520px){.coach-report-head>span{font-size:10.5px;letter-spacing:.1em}}
.coach-report-head:not(:has(.club-crest)){grid-template-columns:1fr}

/* ---- The filed sheet, as Horus shows it (club.css .dcr-sheet) ---- */
:root{--tier1:#2E7D51;--tier1-bg:#E9F3ED;--tier1-line:rgba(46,125,81,.35);--tier2:#2F6FB0;--tier2-bg:#E9F1FB;--tier2-line:rgba(47,111,176,.35);--tier3:#7C4FC9;--tier3-bg:#F1EAFB;--tier3-line:rgba(124,79,201,.35);--good:#2E7D51;--warn:#8A6315;--bad:#C24A2E}
.dcr-info.is-sheet {
    margin: 0 0 1.25rem;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}
.dcr-info.is-sheet .dcr-cell {
    border-left: 3px solid var(--accent);
    border-radius: var(--radius-sm);
    background: var(--surface-2);
    padding: 0.55rem 0.7rem;
}
.dcr-sheet { margin-top: 1rem; overflow: hidden; }
.dcr-sheet-head {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: -1.25rem -1.4rem 1.25rem;
    padding: 1.1rem 1.4rem;
    background: var(--band);
    border-bottom: 4px solid var(--accent);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
}
.dcr-sheet-crest {
    width: 54px; height: 54px; object-fit: contain; flex: none;
    padding: 5px; border-radius: 10px; background: #fff;
}
.dcr-sheet-club {
    margin: 0;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--accent);
}
.dcr-sheet-title {
    margin: 0.2rem 0 0;
    font-family: var(--display);
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.1;
    color: var(--band-ink);
}
.dcr-block { margin-bottom: 1.1rem; }
.dcr-block-label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0 0 0.5rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--muted);
}
.dcr-block-label::before {
    content: "";
    width: 14px; height: 2px;
    background: var(--accent);
}
.dcr-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem; }
.dcr-sheet > .dcr-block + .dcr-block, .dcr-sheet > .dcr-two-col + .dcr-block { padding-top: 1rem; border-top: 1px solid var(--rule); }
.dcr-rt-p-label .ar, .dcr-rt-sub-label .ar, .dcr-rt-chip .ar { margin-left: 0.4rem; }
.dcr-level { display: grid; gap: 0.35rem; justify-items: start; }
.dcr-level p { margin: 0; font-size: 0.88rem; line-height: 1.45; color: var(--ink); }
.dcr-level p.ar { color: var(--muted); }
.dcr-pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.dcr-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    border: 1px solid var(--rule);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--ink);
}
.dcr-pill.is-lead { background: var(--band); border-color: var(--band); color: var(--band-ink); }
.dcr-pill.is-empty { border-style: dashed; color: var(--muted); font-weight: 500; }
.dcr-ptree-sheet { display: flex; flex-direction: column; gap: 0.55rem; }
.dcr-rt-p-label {
    display: inline-block;
    font-family: var(--display);
    font-size: 0.8rem; font-weight: 700;
    color: var(--tier1); background: var(--tier1-bg);
    border: 1px solid var(--tier1-line);
    border-radius: 999px; padding: 0.28rem 0.75rem;
}
.dcr-rt-l2 { margin: 0.4rem 0 0 0.7rem; padding-left: 0.7rem; border-left: 2px solid var(--rule); display: flex; flex-direction: column; gap: 0.35rem; }
.dcr-rt-sub-label {
    display: inline-block;
    font-size: 0.76rem; font-weight: 700;
    color: var(--tier2); background: var(--tier2-bg);
    border: 1px solid var(--tier2-line);
    border-radius: 6px; padding: 0.2rem 0.55rem;
}
.dcr-rt-l3 { margin-top: 0.3rem; display: flex; flex-wrap: wrap; gap: 0.3rem; }
.dcr-rt-chip {
    display: inline-flex; padding: 0.22rem 0.6rem;
    border-radius: 999px;
    color: var(--tier3); background: var(--tier3-bg);
    border: 1px solid var(--tier3-line);
    font-size: 0.72rem; font-weight: 600;
}
.dcr-meters { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.9rem; }
.dcr-meter-value {
    margin: 0 0 0.35rem;
    font-family: var(--display);
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--ink);
}
.dcr-bar { display: flex; gap: 3px; }
.dcr-bar span { flex: 1; height: 6px; border-radius: 3px; background: var(--rule); }
.dcr-meter.band-green .dcr-bar span.on { background: var(--good); }
.dcr-meter.band-amber .dcr-bar span.on { background: var(--warn); }
.dcr-meter.band-red   .dcr-bar span.on { background: var(--bad); }
.dcr-sheet-foot {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    flex-wrap: wrap;
    margin-top: 1.5rem;
    padding-top: 0.8rem;
    border-top: 1px solid var(--rule);
    font-size: 0.74rem;
    color: var(--muted);
}
.dcr-sign { min-width: 9rem; border-top: 1px solid var(--muted); padding-top: 0.25rem; }
.dcr-sheet{padding:1.25rem 1.4rem;margin-bottom:16px}
.dcr-sheet .dcr-k{margin:0 0 .2rem;font-size:.68rem;font-weight:700}
.dcr-sheet .dcr-v{margin:0;font-size:1rem;line-height:1.3}
:root[data-club=gfc] .dcr-sheet .dcr-v{font-size:1.25rem}
.dcr-sheet .dcr-info .dcr-cell{display:block}
.dcr-sheet .ar{display:inline;text-align:start;font-family:"Noto Kufi Arabic","Cairo","Segoe UI",Tahoma,sans-serif;font-weight:400;opacity:.66;margin-left:.4rem;font-size:.86em}
.dcr-sheet .dcr-level p.ar{display:block;margin-left:0;font-size:.88rem}
:root[data-club=gfc] .dcr-sheet-head{--accent:#98FFDC}
@media(max-width:640px){.dcr-sheet .dcr-info,.dcr-sheet .dcr-two-col{grid-template-columns:1fr 1fr}.dcr-meters{grid-template-columns:1fr}}
.dcr-sheet .dcr-info.is-sheet{grid-template-columns:repeat(4,1fr)}
.dcr-sheet-title,.dcr-sheet .dcr-v,.dcr-rt-p-label,.dcr-meter-value{text-transform:none}
.dcr-sheet-title{font-size:1.55rem}
:root[data-club=gfc] .dcr-sheet-title{font-size:1.7rem}
:root[data-club=gfc] .dcr-meter-value{font-size:1.15rem}
@media(max-width:640px){.dcr-sheet .dcr-info.is-sheet{grid-template-columns:1fr 1fr}}

/* Time: quarter-hour list, or an exact time. */
.coach-time{display:flex;gap:10px;align-items:center}
.coach-link{background:none;border:0;padding:4px 0;color:var(--accent-deep);font-weight:700;font-size:13px;text-transform:none;letter-spacing:0;white-space:nowrap;text-decoration:underline}
/* Export the filed sheet. */
.coach-export{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 16px}
.coach-export .btn{min-height:50px;width:100%}
.coach-sheet{padding:1px 0}
@media print{
 @page{margin:12mm}
 body{background:#fff}
 body *{visibility:hidden}
 .coach-sheet,.coach-sheet *{visibility:visible}
 .coach-sheet{position:absolute;left:0;top:0;width:100%}
 .coach-sheet .dcr-sheet{box-shadow:none;margin:0}
 .coach-sheet *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
