@charset "UTF-8";
:root{
  --navy:#061b3b;--navy-deep:#05152f;--royal:#064aa4;--royal-bright:#0068d2;
  --yellow:#ffe31d;--yellow-soft:#fff16b;--ink:#0c234a;--muted:#8296b7;
  --bg:#f4f8fd;--border:#e2eaf5;--white:#fff;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:18px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
svg{display:block}
.svg-defs{position:absolute;width:0;height:0;overflow:hidden}
.icon{width:20px;height:20px;flex:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;fill:none}
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow)}
.dot.red{background:#f9889a}.dot.blue{background:#1375d8}.dot.green{background:#20c960}
.shell{min-height:100vh;display:flex;align-items:stretch}
.sidebar{position:sticky;top:0;z-index:10;display:flex;flex-direction:column;width:235px;flex:0 0 235px;height:100vh;min-height:690px;background:linear-gradient(165deg,#0b366b 0%,#072653 31%,#05172f 100%);color:#f4f9ff;overflow:auto}
.club-identity{padding:25px 12px 26px;text-align:center;border-bottom:1px solid #41638a66}
.club-crest{display:block;width:112px;height:112px;object-fit:contain;margin:0 auto 8px;filter:drop-shadow(0 7px 13px #00122760)}
.club-name{font-size:25px;font-weight:950;letter-spacing:-1.2px;line-height:1.08;color:#fff;font-style:italic}
.club-name span{color:var(--yellow)}
.club-subtitle{font-size:10px;letter-spacing:3px;font-weight:850;color:#aec9ea;margin-top:6px}
.club-category{color:#fff;letter-spacing:2px;font-weight:850;font-size:13px;margin-top:4px}
.nav-group-title{color:#7799bf;font-size:10px;letter-spacing:1.2px;font-weight:900;margin:28px 22px 11px}
.nav-links{display:grid;gap:4px;padding:0 12px}
.nav-link{min-height:47px;display:flex;align-items:center;gap:13px;border-radius:10px;padding:10px 15px;color:#c3d7ef;font-size:12px;font-weight:670;transition:background .15s,color .15s}
.nav-link .icon{width:19px;height:19px}
.nav-link:hover{background:#ffffff14;color:#fff}
.nav-link.active{background:var(--yellow);color:#092c60;font-weight:850;box-shadow:0 3px 10px #02112a28}
.nav-link.active .icon{stroke-width:2.3}
.sidebar-bottom{margin-top:auto;padding:28px 20px 16px;color:#bdcfea}
.side-football{display:flex;gap:12px;align-items:center;border-top:1px solid #7fb0e03b;border-bottom:1px solid #7fb0e03b;padding:21px 2px;font-size:12px;line-height:1.65}
.side-football .icon{width:27px;height:27px;color:#8db3e5}
.side-football strong{color:#fff}
.sidebar-version{font-size:11px;margin-top:16px}
.sidebar-version .dot{margin-right:8px}
.sidebar-version small{display:block;color:#698aaf;font-size:10px;margin-top:3px;padding-left:16px}
.content{min-width:0;flex:1;max-width:1670px;padding:22px 29px 12px;margin:0 auto}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;margin-bottom:20px}
.topbar-left{display:flex;align-items:center;gap:12px}
.season-text{font-weight:900;color:#284c87;letter-spacing:1.4px;font-size:12px}
.season-text span{color:#b7c5d7;padding:0 13px}
.official-link{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #cedef2;background:#fff;border-radius:11px;font-size:11px;font-weight:850;box-shadow:0 4px 9px #0a448c0a;transition:border .2s}
.official-link:hover{border-color:#327fd1;color:#0752ab}
.mobile-menu,.sidebar-backdrop{display:none}
/* Hero : surfaces distinctes jaune / bleu, sans image aplatie de la maquette */
.hero{isolation:isolate;min-height:350px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(315px,.85fr);position:relative;border-radius:15px;overflow:hidden;background:var(--yellow);box-shadow:0 15px 32px #0e3b7710}
.hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(113deg,#ffe427 5%,#ffe316 43%,#ffd919 56%,#073e85 56.2%,#042855 100%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 29% 32%,#ffffff38 0,transparent 34%),repeating-linear-gradient(-16deg,#ffffff0a 0px,#ffffff0a 2px,transparent 2px,transparent 19px);mix-blend-mode:soft-light}
.hero-yellow-texture{position:absolute;left:37%;top:-10%;font-weight:950;font-size:170px;font-style:italic;color:#ffffff22;transform:rotate(-11deg);pointer-events:none;z-index:-1}
.hero-blue-texture{position:absolute;z-index:-1;right:15%;bottom:-65px;width:350px;height:250px;border:2px solid #38aefa30;border-radius:50%;transform:rotate(26deg)}
.hero-copy{position:relative;padding:33px 15px 34px 40px;z-index:2;align-self:center;min-width:0}
.hero-kicker{font-style:italic;font-weight:950;font-size:clamp(10px,1.3vw,14px);letter-spacing:.1px;color:#064386;margin-bottom:8px}
.hero h1{margin:0;color:#064897;letter-spacing:-3px;font-size:clamp(46px,7.3vw,103px);font-weight:1000;font-style:italic;line-height:1.01;white-space:nowrap;text-shadow:1px 1px 0 #00408005}
.hero-motto{font-size:clamp(11px,1.4vw,19px);font-weight:950;letter-spacing:2.1px;color:#1151a1;margin:13px 0 10px;white-space:nowrap}
.hero-motto b{padding:0 5px;color:#0c4293}
.hero-copy p{font-weight:540;font-size:clamp(12px,1.2vw,15px);max-width:430px;color:#082e66;line-height:1.7;margin:15px 0 20px}
.hero-actions{display:flex;gap:9px;flex-wrap:wrap}
.btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:9px;font-size:11px;font-weight:880;box-shadow:0 2px 3px #05335a09;transition:filter .15s,transform .15s}
.btn:hover{filter:brightness(1.07);transform:translateY(-1px)}
.btn .icon{width:16px;height:16px;stroke-width:2.5}
.btn .arrow{margin-left:8px}
.btn-blue{color:#fff;background:linear-gradient(135deg,#0867cc,#024191)}
.btn-outline{color:#073b86;border:1.5px solid #1254a3;background:#ffe62c88}
.pitch-stage{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:350px;padding:10px 22px 10px 0}
.pitch-stage:before{position:absolute;content:"";top:-25px;right:39%;width:8px;height:460px;transform:rotate(25deg);background:var(--yellow);box-shadow:0 0 0 6px #0a5ab266}
.tactical-pitch{width:min(100%,360px);max-height:330px;filter:drop-shadow(0 12px 10px #02142f80);transform:rotate(-8deg) skew(-2deg);opacity:.98}
.tactical-label{position:absolute;top:15px;right:17px;color:var(--yellow);font-style:italic;font-size:14px;font-weight:950;z-index:3;text-shadow:0 1px 4px #00153b}
.pitch-corner{position:absolute;right:18px;bottom:26px;font-size:29px;line-height:1.1;font-weight:800;color:#028dff;transform:rotate(15deg)}
.section-top{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:26px 0 15px}
.eyebrow-small{font-size:10px;line-height:1.4;font-weight:950;letter-spacing:1.2px;color:#5b7eae;margin-bottom:5px}
h2{margin:0;font-size:19px;font-weight:900;line-height:1.24;letter-spacing:-.5px;color:#061f49}
.source-pill{align-self:center;display:flex;align-items:center;gap:7px;white-space:nowrap;border-radius:999px;padding:9px 13px;font-size:10px;font-weight:800;color:#1e673b;background:#e1f4e7}
.source-pill.waiting{background:#e7edf5;color:#6480a3}
.source-pill .icon{width:14px;height:14px}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.metric{min-height:136px;padding:19px 18px 15px;border-radius:13px;border:1px solid #dfebf8;background:linear-gradient(123deg,#fff 45%,#f0f6ff);overflow:hidden}
.metric-blue{border-color:#d6e7fc;background:linear-gradient(125deg,#fff,#f1f7ff)}
.metric-green{border-color:#e2eddf;background:linear-gradient(125deg,#fff,#f2faf1)}
.metric-gold{border-color:#f3e8d0;background:linear-gradient(125deg,#fff,#fffaeb)}
.metric-red{border-color:#f5e3e5;background:linear-gradient(125deg,#fff,#fff2f3)}
.metric-title{display:flex;align-items:center;gap:10px;font-size:10px;font-weight:900;letter-spacing:.25px;color:#41689d;white-space:nowrap}
.metric-title .icon{width:22px;height:22px;color:#0864c6;stroke-width:2.3}
.metric-green .metric-title .icon{color:#46a94c}
.metric-gold .metric-title .icon{color:#e0ae0c}
.metric-red .metric-title .icon{color:#e44355}
.metric-value{font-weight:950;font-size:35px;letter-spacing:-1.8px;line-height:1;margin-top:14px;color:#062554}
.metric-value .slash{color:#afc5dc;font-weight:600}
.metric p{color:#8399ba;font-size:11px;margin:10px 0 0}
.two-col{margin-top:20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.panel{background:#fff;border:1px solid var(--border);border-radius:15px;overflow:hidden;box-shadow:0 6px 15px #071b4104}
.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 21px;border-bottom:1px solid #edf1f8}
.panel-indicator{font-size:11px;font-weight:850;color:#6484ac;white-space:nowrap}.panel-indicator .dot{margin-right:4px;width:5px;height:5px;vertical-align:middle}
.empty{min-height:178px;padding:23px 20px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}
.empty-icon{width:40px;height:40px;color:#b5c5df;stroke-width:1.5}
.empty h3{font-size:13px;color:#536e9e;font-weight:800;margin:12px 0 5px}
.empty p{font-size:11px;line-height:1.65;color:#91a5c2;max-width:315px;margin:0}
.match-list{padding:8px 19px}.match-row{position:relative;padding:14px 0;border-bottom:1px solid #eff3f8}.match-row:last-child{border:0}
.match-date{color:#6883a5;font-size:10px;font-weight:850;letter-spacing:.4px;margin-bottom:7px}
.match-teams{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12px;color:#7087a2}.match-teams strong{font-size:12px;color:#16355b}
.match-score{background:#ebf3ff;border-radius:6px;padding:4px 7px;color:#084eaa;font-weight:950}
.match-state{display:inline-block;color:#098b55;font-size:10px;font-weight:900;margin-top:8px}
.reports-panel{margin-top:20px}.objective-chip{border-radius:999px;background:#e7f7e5;color:#21572b;padding:8px 12px;font-size:10px;font-weight:950;white-space:nowrap}
.report-empty{display:flex;align-items:center;gap:20px;min-height:112px;padding:19px 24px}
.report-art{flex:none;display:grid;place-items:center;background:#ebfae9;color:#45ac46;border-radius:13px;width:62px;height:62px}
.report-art .icon{width:28px;height:28px}
.report-empty h3{font-size:13px;font-weight:880;margin:0 0 6px;color:#19375e}
.report-empty p{font-size:11px;line-height:1.7;color:#8da2be;max-width:760px;margin:0}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:17px}
.report-card{display:flex;gap:12px;background:#f6faff;border:1px solid var(--border);padding:17px;border-radius:11px}.report-card .icon{color:#0a68c2;width:25px;height:25px}
.report-card h3{font-size:13px;margin:0 0 5px}.report-card p{font-size:10px;color:var(--muted);margin:0}
.team-panel{display:flex;gap:14px;align-items:center;margin-top:18px;background:#fff;padding:15px 19px;border:1px solid var(--border);border-radius:14px}
.team-icon,.setup-art{width:45px;height:45px;display:grid;place-items:center;background:#e9f3ff;border-radius:12px;color:#0671d1;flex:none}
.team-copy{flex:1;min-width:0}.team-panel h2{font-size:14px}.team-panel p{font-size:10px;color:#8196b4;margin:4px 0 0}
.team-link{flex:none;border:1px solid #dae6f4;border-radius:8px;color:#1255a0;padding:9px 12px;font-size:11px;font-weight:850}.team-link:hover{border-color:#0c68c8}
.setup-panel{margin-top:18px;background:#f6faff;border:1px solid #d7e6f8;border-radius:14px;padding:17px 19px;display:flex;align-items:center;gap:18px}
.setup-art{width:56px;height:56px;background:#e1efff}.setup-art .icon{width:27px;height:27px}
.setup-copy{flex:1;min-width:0}.setup-copy h2{font-size:15px}.setup-copy p{font-size:10px;color:#7890ae;margin:5px 0 0;line-height:1.6}
.status-bubble{padding:10px 14px;white-space:nowrap;border:1px solid #c6daf2;border-radius:10px;background:#fff;color:#164484;font-weight:850;font-size:11px}
.status-bubble.ok{color:#28733c;border-color:#bfe3c5;background:#f3fcf2}.status-bubble.error{color:#a84949;border-color:#f0b9b9;background:#fff6f6}
.footer{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#8b9fba;font-size:10px;padding:20px 2px 6px}
:focus-visible{outline:3px solid #f4ae04;outline-offset:3px}
@media(max-width:1290px){
 .sidebar{width:210px;flex-basis:210px}.content{padding:18px 24px 10px}
 .hero-copy{padding-left:28px}.hero h1{font-size:clamp(44px,6vw,84px)}
 .hero-motto{letter-spacing:1.3px}.metric{padding:17px 13px}.metric-title{font-size:9px;gap:7px}
}
@media(max-width:1080px){
 .hero{grid-template-columns:minmax(0,1.1fr) minmax(220px,.8fr)}
 .hero h1{font-size:clamp(43px,5.5vw,65px)}.hero-motto{font-size:12px}.hero-copy p{font-size:12px}
 .tactical-pitch{max-height:300px}.pitch-stage{padding-right:10px}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
 .sidebar{position:fixed;top:0;bottom:0;left:0;width:250px;height:100dvh;min-height:0;flex-basis:auto;transform:translateX(-101%);transition:transform .22s ease;box-shadow:8px 0 30px #00153630}
 .menu-open .sidebar{transform:translateX(0)}
 .sidebar-backdrop{display:none;position:fixed;z-index:9;inset:0;border:0;background:#00122a9e}
 .menu-open .sidebar-backdrop:not([hidden]){display:block}.menu-open{overflow:hidden}
 .mobile-menu{width:34px;height:34px;display:grid;place-items:center;border:1px solid #d2e0f2;background:white;border-radius:8px;color:#194d86}
 .content{padding:17px 18px 10px;width:100%}
 .hero{grid-template-columns:minmax(0,1.12fr) minmax(220px,.86fr);min-height:330px}
 .hero h1{font-size:clamp(43px,7vw,66px)}.hero-copy{padding-left:25px}
 .hero-motto{white-space:normal}.pitch-stage{min-height:330px}
}
@media(max-width:660px){
 .content{padding:12px 12px 5px}.topbar{margin-bottom:13px}.season-text{letter-spacing:.3px;font-size:10px}
 .season-text span{padding:0 5px}.official-link{font-size:9px;padding:9px 10px;gap:3px}
 .hero{display:flex;flex-direction:column;min-height:unset;isolation:isolate;border-radius:12px}
 .hero::before{background:linear-gradient(180deg,#ffe731 0%,#ffe119 53%,#064c9b 53.3%,#052d65 100%)}
 .hero-copy{padding:26px 20px 14px;align-self:stretch}
 .hero h1{font-size:clamp(45px,12vw,76px);letter-spacing:-2.2px}.hero-kicker{font-size:11px}
 .hero-motto{font-size:12px;letter-spacing:1.4px;margin:7px 0 8px;white-space:normal}
 .hero-copy p{font-size:12px;max-width:400px;margin:10px 0 18px}
 .hero-actions{gap:8px}.btn{font-size:10px;padding:9px 11px}
 .pitch-stage{padding:1px 26px 8px;min-height:256px;max-height:275px}
 .pitch-stage::before{display:none}.tactical-pitch{height:250px;max-width:280px;transform:rotate(-7deg) skew(-1deg)}
 .tactical-label{font-size:12px;right:13px;top:8px}.pitch-corner{bottom:17px}
 .section-top{align-items:flex-start;flex-direction:column;gap:9px;margin:22px 0 12px}
 h2{font-size:17px}.source-pill{align-self:flex-start}
 .metrics{gap:9px}.metric{padding:13px 12px;min-height:125px}.metric-title{font-size:8.4px;gap:6px}.metric-title .icon{width:18px;height:18px}
 .metric-value{font-size:30px}.metric p{font-size:10px}
 .two-col{grid-template-columns:1fr;gap:13px;margin-top:15px}
 .panel-header{padding:16px}.empty{min-height:160px}
 .report-empty{padding:18px;gap:12px}.report-art{width:48px;height:48px}.report-art .icon{width:22px}
 .team-panel,.setup-panel{flex-wrap:wrap;padding:15px;gap:10px}
 .team-copy,.setup-copy{flex:1 1 calc(100% - 70px)}
 .team-link,.status-bubble{margin-left:55px}.footer{flex-direction:column;align-items:flex-start;gap:5px}
}
@media(max-width:375px){
 .official-link{font-size:8px}.hero h1{font-size:42px}.metric-title{font-size:7.5px}
 .hero-actions{flex-direction:column;align-items:flex-start}.hero-copy{padding-right:13px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
