        /* ===== Modal styles ===== */
        .modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.4); display:none; z-index: 1000; }
        .modal { position: fixed; inset: 0; display:none; align-items:center; justify-content:center; z-index: 1001; }
        .modal[aria-hidden="false"], .modal-backdrop[aria-hidden="false"] { display:flex; }
        .modal .dialog { width: min(1000px, calc(100vw - 32px)); max-height: min(85vh, 1000px); background: #fff; border-radius: 12px; box-shadow: 0 12px 40px rgba(0,0,0,.2); display:flex; flex-direction:column; overflow:hidden; font-size: 13px; line-height: 1.35; }
        .modal-header { display:flex; align-items:center; justify-content:space-between; padding: 10px 12px; border-bottom: 1px solid #e5e7eb; background:#fafafa; }
        .modal-title { margin:0; font-size: 14px; font-weight:600; }
        .modal-close { border:none; background:transparent; font-size:20px; line-height:1; cursor:pointer; padding:4px 6px; }
        .modal-body { padding: 10px 12px; overflow:auto; }
        .modal-footer { padding: 12px 16px; }

        .loading { display:flex; align-items:center; gap:8px; color:#6b7280; font-size:13px; }
        .spinner { width:16px; height:16px; border:2px solid #e5e7eb; border-top-color:#111827; border-radius:50%; animation: spin 1s linear infinite; }
        @keyframes spin { to { transform: rotate(360deg); } }
        .error { color: #b91c1c; background:#fef2f2; border:1px solid #fecaca; padding:8px 10px; border-radius:8px; }

        .two-col { display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
        .center-box { text-align:center; }
        .team-banner { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:4px; }

        .team-score { font-size:36px; font-weight:700; }
        .team-name  { font-size:150%; font-weight:700; }

        .team-crest { width:64px; height:64px; object-fit:contain; }

        .group { margin-top:10px; }
        .group h3 { margin:0 0 6px 0; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.02em; color:#374151; }
        .list { border:1px solid #e5e7eb; border-radius:10px; padding:8px; }
        .list ul { margin:0; padding-left:0; list-style:none; }
        .pos-block { margin:0 0 8px 0; }
        .pos-block h4 { margin:0 0 4px 0; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.02em; color:#374151; }
        .pos-block:last-child { margin-bottom:0; }

        .sub-sep { height:8px; }
        .subhead { margin:8px 0 4px 0; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.02em; color:#374151; }

        .list li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:2px 0; }
        .player-cell { display:inline; }
        .player-meta .muted { margin-left:6px; }

        .pts-badge{ display:inline-flex; align-items:center; justify-content:center; padding:0 3px; height:16px; line-height:16px; font-size:11px; border:1px solid #e5e7eb; border-radius:5px; text-align:center; font-variant-numeric:tabular-nums; background:#fff; vertical-align:middle; }

        .events { margin-top:10px; }
        .event-item { padding:4px 6px; border-bottom:1px solid #f1f1f1; font-size:13px; display:flex; align-items:center; gap:6px; }
        .event-item:last-child { border-bottom:none; }
        .event-time { width:48px; text-align:right; margin-right:2px; font-variant-numeric:tabular-nums; }
        .muted { color:#6b7280; }

        .ev-icon{ display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; margin-right:2px; flex:0 0 16px; }
        .ball-icon{ font-size:14px; line-height:1; }
        .card-icon{ display:block; width:12px; height:16px; border-radius:2px; border:1px solid rgba(0,0,0,.25); }
        .card-yellow { background:#facc15; border-color:#eab308; }
        .card-red    { background:#ef4444; border-color:#dc2626; }
        .event-text{ vertical-align:middle; }

        .group.events { margin-bottom: 20px; }
        .event-score{ margin-left: auto; text-align: right; min-width: 56px; font-variant-numeric: tabular-nums; color: #111827; }
