/* Notes Joueurs DFCO — Le Dijon Show */
.notes-dfco-app{background:transparent;color:#111;font-family:'Roboto',sans-serif}
.notes-dfco-season-bar{padding:16px 0 0;display:flex;justify-content:space-between;align-items:center}
.notes-dfco-season-label{font-size:13px;letter-spacing:2px;color:#888;font-family:'Roboto',sans-serif;font-weight:500}
.notes-dfco-season-bar select{background:#fff;border:1px solid #ddd;color:#333;border-radius:8px;padding:6px 12px;font-size:13px;font-family:'Roboto',sans-serif;cursor:pointer}
.controls{padding:10px 0;display:flex;gap:6px;flex-wrap:nowrap;align-items:center;overflow:hidden}
.metric-toggle{display:flex;background:#e8e8e8;border-radius:8px;padding:2px;margin-right:8px}
.metric-btn{background:transparent;color:#999;border:none;border-radius:6px;padding:5px 10px;font-size:11px;font-family:'Roboto',sans-serif;font-weight:500;letter-spacing:.5px;cursor:pointer;transition:all .15s;white-space:nowrap}
.metric-btn.active{background:#fff;color:#111;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.sort-label{color:#bbb;font-size:11px;letter-spacing:1px;font-family:'Roboto',sans-serif}
.sort-btn{background:#e8e8e8;color:#888;border:none;border-radius:6px;padding:5px 9px;font-size:11px;font-family:'Roboto',sans-serif;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:3px;transition:all .15s;white-space:nowrap}
.sort-btn.active{background:#c0392b;color:#fff}
.sort-btn:hover:not(.active){background:#ddd}
.list{padding:0}
.group-title{font-size:11px;letter-spacing:2px;color:#c0392b;font-family:'Roboto',sans-serif;font-weight:700;margin-bottom:8px;padding-left:4px;margin-top:4px;text-transform:uppercase}
.group{margin-bottom:22px}
.rows{display:flex;flex-direction:column;gap:5px}
.player-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:9px;background:#f9f9f9;cursor:pointer;transition:background .15s,box-shadow .15s;border-left:3px solid #ddd;box-shadow:0 1px 3px rgba(0,0,0,.06);overflow:hidden;min-width:0}
.player-row:hover{background:#f0f0f0;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.player-row.unrated{opacity:.6;cursor:pointer;box-shadow:none}
.pos-tag{width:28px;color:#bbb;font-size:11px;font-family:'Roboto',sans-serif;font-weight:500;flex-shrink:0}
.player-name{flex:1;color:#1a1a1a;font-size:14px;font-weight:500;font-family:'Roboto',sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.match-count{color:#bbb;font-size:12px;min-width:48px;text-align:right;font-family:'Roboto',sans-serif;flex-shrink:0}
.badge{border-radius:7px;padding:3px 10px;font-size:13px;font-weight:700;font-family:'Roboto',sans-serif;display:inline-block;min-width:50px;text-align:center;color:#fff;flex-shrink:0}
/* PANEL */
.overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px}
.overlay-bg{position:absolute;inset:0;background:rgba(0,0,0,.45);backdrop-filter:blur(3px)}
.panel{position:relative;background:#fff;border-radius:16px;width:100%;max-width:620px;max-height:90vh;overflow-y:auto;padding:32px 28px 36px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.close-btn{position:absolute;top:16px;right:16px;background:#f0f0f0;border:none;border-radius:50%;width:32px;height:32px;color:#666;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .15s}
.close-btn:hover{background:#e0e0e0;color:#111}
.player-header{display:flex;gap:20px;align-items:center;margin-bottom:24px}
.avatar{width:72px;height:72px;border-radius:50%;background:#f0f0f0;border:2px solid #e5e5e5;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.player-h2{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#111;letter-spacing:1px;margin-bottom:6px}
.pos-badge-panel{background:#c0392b;color:#fff;border-radius:6px;padding:2px 10px;font-size:12px;font-weight:700;font-family:'Roboto',sans-serif}
.age-txt{color:#aaa;font-size:12px;font-family:'Roboto',sans-serif}
.stats-row{display:flex;gap:10px;margin-bottom:26px;flex-wrap:wrap}
.stat-card{background:#f7f7f7;border-radius:10px;padding:10px 16px;text-align:center;min-width:76px;border:1px solid #eee}
.stat-card-label{color:#aaa;font-size:10px;margin-bottom:4px;text-transform:uppercase;letter-spacing:1px;font-family:'Roboto',sans-serif}
.stat-card-value{color:#111;font-size:20px;font-weight:700;font-family:'Oswald',sans-serif}
.badge-lg{border-radius:8px;padding:6px 14px;font-size:18px;font-weight:700;font-family:'Roboto',sans-serif;display:inline-block;min-width:70px;text-align:center;color:#fff;margin-top:2px}
.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.chart-title{font-family:'Roboto',sans-serif;font-weight:700;color:#111;font-size:13px;text-transform:uppercase;letter-spacing:1px}
.chart-ref{color:#c0392b;font-size:12px;font-family:'Roboto',sans-serif}
.no-matches{color:#aaa;text-align:center;padding:24px 0;font-style:italic;font-family:'Roboto',sans-serif}
.divider{height:1px;background:#f0f0f0;margin-bottom:20px}
.notes-dfco-footer{margin:24px 0 0;padding:0 0 32px;text-align:right;font-family:'Roboto',sans-serif;font-size:11px;color:#bbb;letter-spacing:0.5px}

/* Avatar dans la liste joueurs */
.player-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    flex-shrink: 0;
    background-size: cover;
    background-position: center;
    border: 1.5px solid #e5e5e5;
}
.player-avatar--empty {
    background: #f0f0f0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Column headers */
.list-header{position:relative;width:100%;height:20px;margin-bottom:4px}
.lh-note{font-size:7px;font-weight:600;font-family:'Roboto',sans-serif;letter-spacing:.8px;color:rgba(0,0,0,0.35);text-transform:uppercase;text-align:center}

/* Controls always one line on small screens */
@media (max-width:480px){
  .controls{gap:4px}
  .metric-btn{padding:5px 7px;font-size:10px;letter-spacing:0}
  .sort-btn{padding:5px 6px;font-size:10px}
  .sort-label{display:none}
}
