/* NIPGL Division Widget CSS - v4.8 */

/* ── CSS Variables ───────────────────────────────────────────────────────────── */
/* Declared on both :root (for the modal overlay which is outside .lgw-w)        */
/* AND on the widget wrappers themselves, so all colours resolve from the widget  */
/* scope and are immune to WordPress theme colour inheritance.                   */
:root,
.lgw-w,
.lgw-widget-wrap {
  --lgw-bg:         #ffffff;
  --lgw-bg-alt:     #f0f2f8;
  --lgw-bg-hover:   #e6e9f5;
  --lgw-border:     #d0d5e8;
  --lgw-navy:       #1a2e5a;
  --lgw-navy-mid:   #243d78;
  --lgw-red:        #c0202a;
  --lgw-gold:       #e8b400;
  --lgw-text:       #1a1a1a;
  --lgw-text-muted: #666666;
  --lgw-pts:        #8f1520;
  --lgw-pos:        #999999;
  --lgw-tab-bg:     #dde1ef;
  --lgw-promote:    #2a7a2a;
  --lgw-promote-bg: #f0faf0;
  --lgw-promote-cl: #c8edc8;
  --lgw-relegate-bg:#fff5f5;
  --lgw-relegate-cl:#f5c8c8;
  --lgw-win:        #2a7a2a;
  --lgw-loss:       #c0202a;
  --lgw-shadow:     rgba(0,0,0,.10);
}

/* Dark mode — OS preference, no manual override */
@media(prefers-color-scheme:dark){
  :root:not([data-lgw-theme]):not(.lgw-light-root),
  :root:not([data-lgw-theme]):not(.lgw-light-root) .lgw-w,
  :root:not([data-lgw-theme]):not(.lgw-light-root) .lgw-widget-wrap {
    --lgw-bg:         #1e1e2e;
    --lgw-bg-alt:     #2a2a3e;
    --lgw-bg-hover:   #32324a;
    --lgw-border:     #3a3a55;
    --lgw-navy:       #4a6fa5;
    --lgw-navy-mid:   #5a80b5;
    --lgw-red:        #e05060;
    --lgw-gold:       #f0c830;
    --lgw-text:       #e8e8f0;
    --lgw-text-muted: #aaaacc;
    --lgw-pts:        #e05060;
    --lgw-pos:        #7777aa;
    --lgw-tab-bg:     #2a2a3e;
    --lgw-promote:    #4aaa4a;
    --lgw-promote-bg: #1a2e1a;
    --lgw-promote-cl: #1e3e1e;
    --lgw-relegate-bg:#2e1a1a;
    --lgw-relegate-cl:#3e1e1e;
    --lgw-win:        #4aaa4a;
    --lgw-loss:       #e05060;
    --lgw-shadow:     rgba(0,0,0,.4);
  }
}

/* Manual dark override */
:root[data-lgw-theme="dark"],
:root[data-lgw-theme="dark"] .lgw-w,
:root[data-lgw-theme="dark"] .lgw-widget-wrap {
  --lgw-bg:         #1e1e2e;
  --lgw-bg-alt:     #2a2a3e;
  --lgw-bg-hover:   #32324a;
  --lgw-border:     #3a3a55;
  --lgw-navy:       #4a6fa5;
  --lgw-navy-mid:   #5a80b5;
  --lgw-red:        #e05060;
  --lgw-gold:       #f0c830;
  --lgw-text:       #e8e8f0;
  --lgw-text-muted: #aaaacc;
  --lgw-pts:        #e05060;
  --lgw-pos:        #7777aa;
  --lgw-tab-bg:     #2a2a3e;
  --lgw-promote:    #4aaa4a;
  --lgw-promote-bg: #1a2e1a;
  --lgw-promote-cl: #1e3e1e;
  --lgw-relegate-bg:#2e1a1a;
  --lgw-relegate-cl:#3e1e1e;
  --lgw-win:        #4aaa4a;
  --lgw-loss:       #e05060;
  --lgw-shadow:     rgba(0,0,0,.4);
}

/* Manual light override */
:root[data-lgw-theme="light"],
:root[data-lgw-theme="light"] .lgw-w,
:root[data-lgw-theme="light"] .lgw-widget-wrap {
  --lgw-bg:         #ffffff;
  --lgw-bg-alt:     #f0f2f8;
  --lgw-bg-hover:   #e6e9f5;
  --lgw-border:     #d0d5e8;
  --lgw-navy:       #1a2e5a;
  --lgw-navy-mid:   #243d78;
  --lgw-red:        #c0202a;
  --lgw-gold:       #e8b400;
  --lgw-text:       #1a1a1a;
  --lgw-text-muted: #666666;
  --lgw-pts:        #8f1520;
  --lgw-pos:        #999999;
  --lgw-tab-bg:     #dde1ef;
  --lgw-promote:    #2a7a2a;
  --lgw-promote-bg: #f0faf0;
  --lgw-promote-cl: #c8edc8;
  --lgw-relegate-bg:#fff5f5;
  --lgw-relegate-cl:#f5c8c8;
  --lgw-win:        #2a7a2a;
  --lgw-loss:       #c0202a;
  --lgw-shadow:     rgba(0,0,0,.10);
}

/* ── Title bar ───────────────────────────────────────────────────────────────── */
.lgw-title{font-family:'Saira',Arial,sans-serif;font-size:18px;font-weight:700;color:#fff;background:var(--lgw-navy);padding:10px 16px;border-radius:6px 6px 0 0;letter-spacing:.03em;max-width:960px;margin:0 auto;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}
.lgw-title + .lgw-w .lgw-tabs .lgw-tab{border-radius:0}
.lgw-title + .lgw-w{border-radius:0 0 6px 6px;margin-top:0}

/* ── Widget shell ────────────────────────────────────────────────────────────── */
/* Explicitly declare text colour so WordPress theme inheritance can't bleed in */
.lgw-w{font-family:var(--lgw-font,'Saira',Arial,sans-serif);width:100%;color:var(--lgw-text)}
.lgw-w *{box-sizing:border-box;margin:0;padding:0}

/* ── Tabs ────────────────────────────────────────────────────────────────────── */
.lgw-tabs{display:flex;gap:3px;margin-bottom:0;align-items:stretch}
.lgw-tab{flex:1;padding:9px 8px;font-size:13px;font-weight:700;text-align:center;cursor:pointer;background:var(--lgw-tab-bg);color:var(--lgw-navy);border:1px solid var(--lgw-border);border-bottom:none;border-radius:6px 6px 0 0;transition:background .15s;user-select:none;display:flex;align-items:center;justify-content:center}
.lgw-tab.active{background:var(--lgw-navy);color:#fff}
.lgw-darkmode-btn{margin-left:auto;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer;background:var(--lgw-tab-bg);color:var(--lgw-navy);border:1px solid var(--lgw-border);border-bottom:none;border-radius:6px 6px 0 0;user-select:none;transition:background .15s;white-space:nowrap;display:flex;align-items:center}
.lgw-darkmode-btn:hover{background:var(--lgw-bg-hover)}

/* ── Panels ──────────────────────────────────────────────────────────────────── */
.lgw-panel{display:none;background:var(--lgw-bg);color:var(--lgw-text);border-radius:0 0 6px 6px;box-shadow:0 2px 8px var(--lgw-shadow);overflow:hidden}
.lgw-panel.active{display:block}
.lgw-status{font-size:13px;color:var(--lgw-text-muted);padding:20px;text-align:center}
.lgw-status small{display:block;margin-top:8px;font-family:monospace;background:#f8f0f0;padding:8px;border-radius:4px;text-align:left;word-break:break-all}
.lgw-status-error{color:#842029;background:#f8d7da;border-radius:6px;border:1px solid #f1aeb5}

/* Print button inside panel */
.lgw-print-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;background:var(--lgw-bg-alt);color:var(--lgw-navy);border:none;border-bottom:1px solid var(--lgw-border);width:100%;font-family:'Saira',Arial,sans-serif}
.lgw-print-btn:hover{background:var(--lgw-bg-hover)}
.lgw-print-btn svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}

/* ── League table ────────────────────────────────────────────────────────────── */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.lg{width:100%;border-collapse:collapse;font-size:13px}
/* ── League table ────────────────────────────────────────────────────────────── */
/* Scoped under .lgw-w to raise specificity above typical WP theme rules         */
/* (.entry-content table td etc) without needing !important                      */
.lgw-w table.lg th{background:var(--lgw-navy);color:#fff;padding:7px 6px;font-size:11px;font-weight:700;letter-spacing:.05em;white-space:nowrap;text-align:center}
.lgw-w table.lg th.ct{text-align:left}
.lgw-w table.lg td{padding:7px 6px;text-align:center;border-bottom:1px solid var(--lgw-border);white-space:nowrap;color:var(--lgw-text);background:var(--lgw-bg)}
.lgw-w table.lg td.cp{font-weight:700;color:var(--lgw-pos);width:36px;background:var(--lgw-bg)}
.lgw-w table.lg td.ct{text-align:left;font-weight:600;padding-left:10px;background:var(--lgw-bg);color:var(--lgw-text)}
.lgw-w table.lg td.ck{font-weight:700;color:var(--lgw-pts)}
.lgw-w table.lg tr:nth-child(even) td{background:var(--lgw-bg-alt)}
.lgw-w table.lg tr:nth-child(even) td.cp,.lgw-w table.lg tr:nth-child(even) td.ct{background:var(--lgw-bg-alt)}
.lgw-w table.lg tr:hover td{background:var(--lgw-bg-hover)}
.lgw-w table.lg tr:hover td.cp,.lgw-w table.lg tr:hover td.ct{background:var(--lgw-bg-hover)}

/* ── Sponsor bars ────────────────────────────────────────────────────────────── */
.lgw-widget-wrap{display:block;width:100%;max-width:960px;margin:0 auto;box-sizing:border-box}
.lgw-sponsor-bar{text-align:center;padding:10px;background:var(--lgw-bg);border:1px solid var(--lgw-border);border-radius:6px;margin-bottom:4px;box-sizing:border-box}

.lgw-sponsor-primary{border-bottom:none;border-radius:6px 6px 0 0;margin-bottom:0}
.lgw-sponsor-secondary{border-top:none;border-radius:0 0 6px 6px;margin-top:0;border-top:1px solid var(--lgw-border)}
.lgw-sponsor-bar a{display:inline-block}
.lgw-sponsor-img{max-height:60px;max-width:240px;object-fit:contain;display:inline-block}

/* ── Promotion / relegation zones ───────────────────────────────────────────── */
.lgw-w table.lg tr.row-promote-zone td{background:var(--lgw-promote-bg)}
.lgw-w table.lg tr.row-promote-zone td.cp,.lgw-w table.lg tr.row-promote-zone td.ct{background:var(--lgw-promote-bg)}
.lgw-w table.lg tr.row-promote-zone td:first-child{border-left:4px solid var(--lgw-promote)}
.lgw-w table.lg tr.row-promoted td{background:var(--lgw-promote-cl) !important}
.lgw-w table.lg tr.row-promoted td:first-child{border-left:4px solid var(--lgw-promote)}
.lgw-w table.lg tr.row-relegate-zone td{background:var(--lgw-relegate-bg)}
.lgw-w table.lg tr.row-relegate-zone td.cp,.lgw-w table.lg tr.row-relegate-zone td.ct{background:var(--lgw-relegate-bg)}
.lgw-w table.lg tr.row-relegate-zone td:first-child{border-left:4px solid var(--lgw-red)}
.lgw-w table.lg tr.row-relegated td{background:var(--lgw-relegate-cl) !important}
.lgw-w table.lg tr.row-relegated td:first-child{border-left:4px solid var(--lgw-red)}
.lgw-w table.lg tr.zone-border-top td{border-top:2px solid var(--lgw-border)}

/* Accessibility symbols */
.lgw-w table.lg tr.row-promote-zone td.cp::before,
.lgw-w table.lg tr.row-promoted td.cp::before{content:'▲ ';font-size:9px;color:var(--lgw-promote)}
.lgw-w table.lg tr.row-relegate-zone td.cp::before,
.lgw-w table.lg tr.row-relegated td.cp::before{content:'▼ ';font-size:9px;color:var(--lgw-red)}

/* ── Legend ──────────────────────────────────────────────────────────────────── */
.lg-legend{display:flex;gap:16px;padding:8px 10px;font-size:12px;font-family:'Saira',Arial,sans-serif;color:var(--lgw-text-muted);background:var(--lgw-bg);border-top:1px solid var(--lgw-border)}
.lg-key{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:5px;vertical-align:middle}
.lg-key-promote{background:var(--lgw-promote)}
.lg-key-relegate{background:var(--lgw-red)}

/* ── Fixtures ────────────────────────────────────────────────────────────────── */
.fix-filter{display:flex;gap:6px;padding:10px;border-bottom:1px solid var(--lgw-border);flex-wrap:wrap}
.fix-filter button{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;border:1px solid var(--lgw-border);background:var(--lgw-bg-alt);color:var(--lgw-navy);cursor:pointer;transition:background .15s}
.fix-filter button.active,.fix-filter button:hover{background:var(--lgw-red);color:#fff;border-color:var(--lgw-red)}
.date-group{border-bottom:2px solid var(--lgw-border)}
.date-group:last-child{border-bottom:none}
.date-hdr{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--lgw-red);padding:6px 14px;display:flex;justify-content:space-between;align-items:center}
.date-hdr-notes{font-size:10px;font-weight:600;letter-spacing:.1em;opacity:.7;text-transform:uppercase;width:160px;text-align:left;flex-shrink:0}
.fx-row{display:grid;grid-template-columns:36px 1fr auto 1fr 36px 160px;align-items:center;gap:4px;padding:8px 10px;border-bottom:1px solid var(--lgw-border);font-size:13px;color:var(--lgw-text);background:var(--lgw-bg)}
.fx-row:last-child{border-bottom:none}
.fx-row:hover{background:var(--lgw-bg-alt)}
.fx-ph,.fx-pa{font-size:13px;font-weight:800;color:var(--lgw-text-muted);text-align:center;line-height:1.2}
.fx-row.played .fx-ph,.fx-row.played .fx-pa{background:var(--lgw-pts);color:#fff;border-radius:4px;min-width:22px;padding:2px 4px;font-size:13px}
.fx-h{text-align:right;font-weight:600}
.fx-a{text-align:left;font-weight:600}
.fx-sc{display:flex;align-items:center;justify-content:center;white-space:nowrap}
.fx-sb{background:var(--lgw-bg-alt);border:1px solid var(--lgw-border);border-radius:3px;min-width:26px;padding:2px 5px;text-align:center;font-weight:700;font-size:14px;color:var(--lgw-navy)}
.fx-sep{padding:0 4px;color:var(--lgw-text-muted);font-size:12px}
.fx-time{grid-column:1/6;display:flex;justify-content:center;padding:2px 10px 6px;margin-top:-2px}
.fx-time span{background:var(--lgw-navy);color:var(--lgw-gold);font-size:13px;font-weight:800;letter-spacing:.05em;padding:3px 14px;border-radius:20px;display:inline-flex;align-items:center;gap:5px}
.fx-played-date{grid-column:1/-1;font-size:11px;color:var(--lgw-text-muted);font-style:italic;padding:0 2px 4px;margin-top:-2px;opacity:.8}
.fx-pills{display:none}
.fx-notes{display:flex;flex-direction:column;gap:4px;align-items:flex-start;padding-left:8px;border-left:1px solid var(--lgw-border);min-width:0}
.fx-played-pill{display:inline-flex;align-items:center;gap:4px;background:#1565c0;color:#fff;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap}
.fx-sc-status{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap}
.fx-sc-pending{background:#fff3cd;color:#6d4c00}
.fx-sc-confirmed{background:#d1e7dd;color:#0a3622}
.fx-sc-disputed{background:#ffe4b2;color:#7a3c00}
.fx-postponed-pill{display:inline-flex;align-items:center;gap:5px;background:#b71c1c;color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}
.fx-reschedule-pill{display:inline-flex;align-items:center;gap:4px;background:#e8f0fe;color:#1565c0;font-size:11px;font-weight:600;padding:2px 9px;border-radius:20px;white-space:nowrap}
.fx-conceded-pill{display:inline-flex;align-items:center;gap:5px;background:#6a1a6a;color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}
.lgw-postpone-panel{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.lgw-concede-panel{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.lgw-null-void-panel{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.lgw-editfx-panel{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.lgw-admin-panels{display:flex;gap:12px;margin-bottom:12px;align-items:flex-start;flex-wrap:wrap}
.lgw-admin-panels>.lgw-postpone-panel,.lgw-admin-panels>.lgw-concede-panel,.lgw-admin-panels>.lgw-null-void-panel,.lgw-admin-panels>.lgw-editfx-panel{flex:1;margin-bottom:0}
.lgw-admin-panels>.lgw-editfx-panel{flex-basis:100%}
@media(max-width:520px){.lgw-admin-panels{flex-direction:column}}
.lgw-editfx-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.lgw-editfx-row label{font-size:12px;color:#666;width:44px;flex:0 0 44px;font-weight:600}
.lgw-editfx-row input{flex:1;padding:5px 8px;border:1px solid #d0d5e8;border-radius:5px;font-size:13px;color:#1a1a1a;background:#fff}
.lgw-editfx-row input:disabled{background:#f0f0f0;color:#999;cursor:not-allowed}
.lgw-editfx-warn{font-size:12px;color:#8a5a00;background:#fff7e6;border:1px solid #ffe0a3;border-radius:5px;padding:6px 8px;margin:0 0 8px}
.fx-null-void-pill{display:inline-flex;align-items:center;gap:5px;background:#424242;color:#fff;font-size:11px;font-weight:700;padding:2px 10px;border-radius:20px;white-space:nowrap;letter-spacing:.02em}
.lgw-postponed-notice{margin-bottom:12px;text-align:center}
.fx-row.played .fx-sb{background:var(--lgw-navy);color:#fff;border-color:var(--lgw-navy-mid)}

/* ── Badges ──────────────────────────────────────────────────────────────────── */
.lgw-badge{width:24px;height:24px;object-fit:contain;vertical-align:middle;margin-right:5px;border-radius:2px}
table.lg .lgw-badge{width:20px;height:20px}

/* ── Team link ───────────────────────────────────────────────────────────────── */
.lgw-team-link{cursor:pointer}
.lgw-team-link:hover{text-decoration:underline}


/* ── Form guide ──────────────────────────────────────────────────────────────── */
.lgw-form{display:inline-flex;gap:3px;align-items:center}
.lgw-form-pip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:3px;font-size:9px;font-weight:800;color:#fff;cursor:default;line-height:1;position:relative}
.lgw-pip-w{background:var(--lgw-win)}
.lgw-pip-d{background:var(--lgw-text-muted)}
.lgw-pip-l{background:var(--lgw-loss)}

/* Tooltip — right-aligned to pip, no browser native title shown */
.lgw-form-pip[data-tip]:hover::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);right:0;background:#222;color:#fff;font-size:10px;font-weight:400;white-space:nowrap;padding:3px 8px;border-radius:4px;pointer-events:none;z-index:9999;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.lgw-form-pip[data-tip]:hover::before{content:'';position:absolute;bottom:calc(100% + 2px);right:6px;border:4px solid transparent;border-top-color:#222;pointer-events:none;z-index:9999}
/* Table form column */
.lgw-w table.lg th.cf{text-align:right;padding-right:10px}
.lgw-w table.lg td.cf{text-align:right;padding-right:10px}
/* Modal form row */
.modal-form-row{display:flex;align-items:center;gap:8px;margin:-8px 0 14px;flex-wrap:wrap}
.modal-form-lbl{font-size:11px;font-weight:700;color:var(--lgw-text-muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}

/* ── Mobile table ────────────────────────────────────────────────────────────── */
@media(max-width:600px){
  /* Sticky pos column */
  .lgw-w table.lg th.cp,.lgw-w table.lg td.cp{position:sticky;left:0;z-index:2}
  .lgw-w table.lg th.cp{background:var(--lgw-navy) !important}
  /* Sticky team column */
  .lgw-w table.lg th.ct,.lgw-w table.lg td.ct{position:sticky;left:36px;z-index:2}
  .lgw-w table.lg th.ct{background:var(--lgw-navy) !important}
  /* Clipping: hide content scrolling behind sticky columns */
  .tbl-wrap{overflow-x:auto;overflow-y:visible}
  .lgw-w table.lg th.cp::after,.lgw-w table.lg td.cp::after{content:'';position:absolute;top:0;right:-1px;bottom:0;width:1px;background:var(--lgw-border)}
  .lgw-w table.lg th.ct::after,.lgw-w table.lg td.ct::after{content:'';position:absolute;top:0;right:-4px;bottom:0;width:4px;background:linear-gradient(to right,var(--lgw-border),transparent)}
  /* Ensure sticky cells always have solid backgrounds matching their row */
  .lgw-w table.lg td.cp,.lgw-w table.lg td.ct{background:var(--lgw-bg)}
  .lgw-w table.lg tr:nth-child(even) td.cp,.lgw-w table.lg tr:nth-child(even) td.ct{background:var(--lgw-bg-alt)}
  .lgw-w table.lg tr:hover td.cp,.lgw-w table.lg tr:hover td.ct{background:var(--lgw-bg-hover)}
  .lgw-w table.lg tr.row-promote-zone td.cp,.lgw-w table.lg tr.row-promote-zone td.ct{background:var(--lgw-promote-bg) !important}
  .lgw-w table.lg tr.row-promoted td.cp,.lgw-w table.lg tr.row-promoted td.ct{background:var(--lgw-promote-cl) !important}
  .lgw-w table.lg tr.row-relegate-zone td.cp,.lgw-w table.lg tr.row-relegate-zone td.ct{background:var(--lgw-relegate-bg) !important}
  .lgw-w table.lg tr.row-relegated td.cp,.lgw-w table.lg tr.row-relegated td.ct{background:var(--lgw-relegate-cl) !important}
  /* Badge stacking in team column */
  .lgw-w table.lg td.ct{display:flex;flex-direction:column;align-items:flex-start;gap:2px;white-space:normal;min-width:90px;max-width:130px}
  .lgw-w table.lg th.cf,.lgw-w table.lg td.cf{display:none}
  .lgw-w table.lg td.ct .lgw-badge{margin-right:0;width:22px;height:22px}
  .lgw-w table.lg th.ct{min-width:100px}
  /* Fixture rows on mobile */
  .fx-h,.fx-a{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-size:12px}
  .fx-a{align-items:flex-start}
  .fx-h .lgw-badge,.fx-a .lgw-badge{margin-right:0;width:22px;height:22px}
  .fx-row{grid-template-columns:28px 1fr auto 1fr 28px;gap:2px;padding:6px 6px}
  .fx-sb{min-width:22px;font-size:13px}
  .fx-notes{display:none}
  .fx-pills{display:flex;flex-wrap:wrap;gap:5px;padding:0 4px 6px;margin-top:-2px;grid-column:1/-1}
  .date-hdr-notes{display:none}
}

/* ── Modal overlay ───────────────────────────────────────────────────────────── */
/* Explicit top/right/bottom/left instead of inset shorthand for Brave compatibility.  */
/* flex-start + padding-top instead of center prevents header clipping on non-standard viewports */
.lgw-modal-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);z-index:99999;align-items:flex-start;justify-content:center;padding:48px 16px 16px;overflow-y:auto}
.lgw-modal-overlay.active{display:flex}
body.lgw-modal-open{overflow:hidden}

/* ── Modal box — uses :root vars so always has solid background ──────────────── */
.lgw-modal{background:var(--lgw-bg);color:var(--lgw-text);border-radius:8px;width:100%;max-width:580px;max-height:calc(100vh - 80px);display:flex;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.35);font-family:'Saira',Arial,sans-serif;margin:0 auto}
.lgw-modal-head{display:flex;align-items:center;justify-content:space-between;background:var(--lgw-navy);color:#fff;padding:12px 16px;border-radius:8px 8px 0 0;gap:10px}
.lgw-modal-title{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.lgw-modal-title h2{margin:0;font-size:16px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgw-modal-badge{width:36px;height:36px;object-fit:contain;flex-shrink:0}
.lgw-modal-actions{display:flex;gap:6px;flex-shrink:0}
.lgw-modal-print,.lgw-modal-close{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.lgw-modal-print:hover,.lgw-modal-close:hover{background:rgba(255,255,255,.3)}
.lgw-modal-print svg{width:16px;height:16px;fill:#fff}
.lgw-modal-close{font-size:22px;line-height:1}
.lgw-modal-body{overflow-y:auto;padding:16px;flex:1;color:var(--lgw-text);background:var(--lgw-bg)}


/* ── Clickable form pips ─────────────────────────────────────────────────────── */
.lgw-pip-link{cursor:pointer;opacity:.92;transition:opacity .12s,transform .12s}
.lgw-pip-link:hover{opacity:1;transform:scale(1.25)}
.lgw-pip-link:active{transform:scale(1.1)}

/* ── Fixture modal matchup header ────────────────────────────────────────────── */
.fx-modal-matchup{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px;background:var(--lgw-bg-alt);border-radius:6px;border:1px solid var(--lgw-border)}
.fx-modal-team-block{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.fx-modal-team-name{font-size:12px;font-weight:700;color:var(--lgw-navy);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}
.fx-modal-vs{flex-shrink:0;font-size:13px;font-weight:800;color:var(--lgw-text-muted);padding-top:2px;align-self:center}
.fx-modal-mini-stats{display:flex;gap:5px;flex-wrap:wrap}
.fx-mini-stat{display:inline-flex;flex-direction:column;align-items:center;background:var(--lgw-bg);border:1px solid var(--lgw-border);border-radius:4px;padding:2px 6px;min-width:28px}
.fx-mini-val{font-size:13px;font-weight:700;color:var(--lgw-text);line-height:1.2}
.fx-mini-pts .fx-mini-val{color:var(--lgw-pts)}
.fx-mini-w{color:var(--lgw-win)}
.fx-mini-d{color:var(--lgw-text-muted)}
.fx-mini-l{color:var(--lgw-loss)}
.fx-mini-lbl{font-size:9px;color:var(--lgw-text-muted);text-transform:uppercase;letter-spacing:.04em;line-height:1}
.fx-modal-form-row{display:flex;gap:3px;flex-wrap:wrap}

/* ── Modal stats bar ─────────────────────────────────────────────────────────── */
.modal-stat-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.modal-stat{background:var(--lgw-bg-alt);border-radius:4px;padding:6px 10px;text-align:center;min-width:48px}
.modal-stat-val{font-size:18px;font-weight:700;color:var(--lgw-navy);line-height:1.1}
.modal-stat-lbl{font-size:10px;color:var(--lgw-text-muted);text-transform:uppercase;letter-spacing:.04em}

/* ── Modal fixture table ─────────────────────────────────────────────────────── */
.modal-fix-table{width:100%;border-collapse:collapse;font-size:13px}
.modal-fix-table th{background:var(--lgw-navy);color:#fff;padding:6px 8px;text-align:left;font-size:11px;letter-spacing:.05em}
.modal-fix-table td{padding:7px 8px;border-bottom:1px solid var(--lgw-border);color:var(--lgw-text);background:var(--lgw-bg)}
.modal-fix-table tr:last-child td{border-bottom:none}
.modal-fix-table tr:nth-child(even) td{background:var(--lgw-bg-alt)}
.modal-fix-table tr.res td{color:var(--lgw-win);font-weight:600}
.modal-fix-table tr.lost td{color:var(--lgw-loss)}
.modal-fix-table .lgw-badge{width:18px;height:18px;margin-right:4px;vertical-align:middle}
.modal-result-lbl{font-size:10px;font-weight:700;border-radius:3px;padding:1px 4px;margin-left:4px;vertical-align:middle}
.res .modal-result-lbl{background:var(--lgw-win);color:#fff}
.drew .modal-result-lbl{background:var(--lgw-text-muted);color:#fff}
.lost .modal-result-lbl{background:var(--lgw-loss);color:#fff}
.modal-fx-date{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.modal-fx-time{background:var(--lgw-navy);color:var(--lgw-gold);font-size:11px;font-weight:800;padding:2px 10px;border-radius:20px;white-space:nowrap;letter-spacing:.04em}

@media(max-width:480px){
  .lgw-modal-overlay{padding:32px 8px 8px}
  .lgw-modal{max-height:calc(100vh - 48px)}
  .modal-stat{padding:5px 7px;min-width:40px}
  .modal-stat-val{font-size:15px}
}

/* ── Print styles ────────────────────────────────────────────────────────────── */
@media print{
  .lgw-tabs,.fix-filter,.lgw-darkmode-btn,.lgw-print-btn{display:none !important}
  .lgw-panel{display:block !important;box-shadow:none}
  .lgw-widget-wrap{max-width:100%}
  .lgw-w{max-width:100%}
  .lgw-badge,.lgw-modal-badge{max-width:32px !important;max-height:32px !important;width:32px !important;height:32px !important}
  .lgw-sponsor-img{max-height:48px !important;max-width:160px !important}
}

/* Played fixture rows are clickable for scorecard */
.fx-row.played[data-home]:hover{background:var(--lgw-bg-hover);cursor:pointer}
.fx-row{position:relative}

/* ── Team modal: clickable fixture rows + inline scorecard ───────────────────── */
.modal-fx-row[data-home]{cursor:pointer;transition:background .15s}
.modal-fx-row[data-home]:hover td{background:var(--lgw-bg-hover)}
.modal-sc-hint{font-size:11px;opacity:.5;margin-left:4px;pointer-events:none;vertical-align:middle}
.modal-fx-row[data-home]:hover .modal-sc-hint{opacity:1}
.modal-sc-row td{padding:0 !important;background:var(--lgw-bg-alt) !important}
.modal-sc-inline{padding:12px 16px;border-top:2px solid var(--lgw-primary);border-bottom:2px solid var(--lgw-primary)}

/* Compact scorecard styling when shown inside the team modal table */
.modal-sc-inline .lgw-sc-full{font-size:13px}
.modal-sc-inline .lgw-sc-rink{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--lgw-border)}
.modal-sc-inline .lgw-sc-rink:last-child{border-bottom:none}
.modal-sc-inline .lgw-sc-rink-hdr{font-weight:700;color:var(--lgw-primary);background:var(--lgw-bg-alt);min-width:44px;font-size:11px;text-transform:uppercase;padding:3px 8px;border-radius:3px}
.modal-sc-inline .lgw-sc-rink-body{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}
.modal-sc-inline .lgw-sc-players{font-size:12px;color:var(--lgw-text-muted);min-width:100px;flex:1}
.modal-sc-inline .lgw-sc-player{line-height:1.4}
.modal-sc-inline .lgw-sc-scores{display:flex;align-items:center;gap:4px;font-weight:700;font-size:15px;white-space:nowrap}
.modal-sc-inline .lgw-sc-score.lgw-sc-win{color:var(--lgw-win)}
.modal-sc-inline .lgw-sc-sep{color:var(--lgw-text-muted);font-weight:400}
.modal-sc-inline .lgw-sc-totals{margin-top:8px;padding-top:8px;border-top:2px solid var(--lgw-border)}
.modal-sc-inline .lgw-sc-total-row{display:flex;gap:8px;align-items:center;font-size:13px;padding:2px 0}
.modal-sc-inline .lgw-sc-total-lbl{min-width:80px;color:var(--lgw-text-muted);font-size:11px;text-transform:uppercase}
.modal-sc-inline .lgw-sc-total-val{font-weight:700}
.modal-sc-inline .lgw-sc-total-val.lgw-sc-win{color:var(--lgw-win)}
.modal-sc-inline .lgw-sc-pts{font-size:15px}
.modal-sc-inline .lgw-sc-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:3px;margin-bottom:8px}
.modal-sc-inline .lgw-sc-badge-confirmed{background:#d4edda;color:#155724}
.modal-sc-inline .lgw-sc-badge-pending{background:#fff3cd;color:#856404}
.modal-sc-inline .lgw-sc-badge-disputed{background:#f8d7da;color:#721c24}
.modal-sc-inline .lgw-sc-meta{font-size:11px;color:var(--lgw-text-muted);margin-bottom:8px;display:flex;gap:12px;flex-wrap:wrap}
.modal-sc-inline .lgw-sc-none,.modal-sc-inline .lgw-sc-loading{color:var(--lgw-text-muted);font-size:13px;font-style:italic;padding:8px 0}

@media(max-width:480px){
  .modal-sc-inline .lgw-sc-players{min-width:70px;font-size:11px}
  .modal-sc-inline .lgw-sc-rink-body{gap:4px}
}

/* ── Pre-draw entry list ───────────────────────────────────────────────────── */
.lgw-entry-count{font-size:13px;color:var(--lgw-text-muted,#666);margin:8px 0 4px;font-weight:600}
.lgw-entry-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:4px 12px;margin:8px 0 4px;text-align:left;max-height:420px;overflow-y:auto;padding-right:4px}
.lgw-entry-row{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:4px;background:var(--lgw-bg-alt,#f0f2f8)}
.lgw-entry-badge{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.lgw-entry-badge-placeholder{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--lgw-border,#d0d5e8)}
.lgw-entry-name{font-size:13px;font-weight:600;color:var(--lgw-text,#1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgw-entry-club{font-size:11px;color:var(--lgw-text-muted,#666);margin-left:auto;white-space:nowrap;flex-shrink:0}

/* ── Season switcher ───────────────────────────────────────────────────────── */
.lgw-season-switcher{display:flex;align-items:center;padding:6px 8px;background:var(--lgw-bg-alt);border:1px solid var(--lgw-border);border-bottom:none;border-radius:6px 6px 0 0;gap:8px}
.lgw-season-switcher::before{content:'Season:';font-size:12px;font-weight:700;font-family:'Saira',Arial,sans-serif;color:var(--lgw-text-muted);white-space:nowrap}
.lgw-season-select{font-family:'Saira',Arial,sans-serif;font-size:13px;font-weight:600;color:var(--lgw-navy);background:var(--lgw-bg);border:1px solid var(--lgw-border);border-radius:4px;padding:4px 8px;cursor:pointer;flex:1;max-width:220px}
.lgw-season-select:focus{outline:2px solid var(--lgw-navy);outline-offset:1px}
/* When switcher is present, flatten the top corners of the tab bar */
.lgw-season-switcher+.lgw-tabs .lgw-tab{border-radius:0}
.lgw-season-switcher+.lgw-tabs .lgw-darkmode-btn{border-radius:0}
/* Archive banner shown inside panels for past seasons */
.lgw-archive-banner{background:var(--lgw-bg-alt);border-bottom:1px solid var(--lgw-border);padding:6px 12px;font-size:12px;color:var(--lgw-text-muted);font-weight:600;font-family:'Saira',Arial,sans-serif}

/* ── Admin / visitor view toggle ───────────────────────────────────────────── */
.lgw-view-toggle-btn{font-size:11px;padding:0 10px;gap:4px;white-space:nowrap;background:var(--lgw-bg-alt);color:var(--lgw-navy);border-left:1px solid var(--lgw-border)}
.lgw-view-toggle-btn:hover{background:var(--lgw-border)}
/* When in visitor-preview mode, show a banner inside the widget */
.lgw-visitor-preview::before{
  content:'👁 Visitor view preview';
  display:block;
  background:#fff3cd;
  color:#856404;
  font-size:12px;
  font-weight:700;
  font-family:'Saira',Arial,sans-serif;
  padding:5px 12px;
  border-bottom:1px solid #ffc107;
  border-radius:0;
  text-align:center;
}
/* In visitor-preview mode, hide admin-only scorecard UI */
.lgw-visitor-preview .lgw-sc-admin-only{display:none!important}

/* ── Results ticker ──────────────────────────────────────────────────────────── */
.lgw-results-ticker{display:flex;align-items:stretch;background:var(--lgw-navy);color:#fff;border-radius:8px;overflow:hidden;font-family:'Saira',Arial,sans-serif;font-size:13px;margin-bottom:8px;min-height:38px;width:100%;box-sizing:border-box}
.lgw-results-ticker:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}
.lgw-ticker-label{flex-shrink:0;background:var(--lgw-gold,#c8a84b);color:var(--lgw-navy);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:0 14px;display:flex;align-items:center;white-space:nowrap;border-right:2px solid rgba(255,255,255,.15)}
.lgw-ticker-track{flex:1;overflow:hidden;position:relative;display:flex;align-items:center}
.lgw-ticker-scroll{display:inline-flex;align-items:center;white-space:nowrap;animation:lgwTickerScroll 30s linear infinite;padding-left:100%}
.lgw-ticker-scroll:hover{animation-play-state:paused}
@keyframes lgwTickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.lgw-ticker-item{display:inline-flex;align-items:center;gap:5px;padding:0 18px 0 0;color:#fff}
.lgw-ticker-score{font-weight:800;color:var(--lgw-gold,#c8a84b);font-size:14px}
.lgw-ticker-pts{font-size:11px;color:rgba(255,255,255,.65);margin-left:3px}
.lgw-ticker-div{font-size:10px;background:rgba(255,255,255,.15);border-radius:3px;padding:1px 5px;margin-left:4px;color:rgba(255,255,255,.8)}
.lgw-ticker-date{font-size:10px;color:rgba(255,255,255,.5);margin-left:3px}
.lgw-ticker-sep{display:inline-block;margin:0 10px;color:rgba(255,255,255,.25);font-size:10px}
.lgw-ticker-badge{width:18px;height:18px;object-fit:contain;vertical-align:middle;border-radius:2px;margin:0 3px 0 0}
[data-lgw-theme="dark"] .lgw-ticker-label{background:var(--lgw-gold,#c8a84b)}
[data-lgw-theme="dark"] .lgw-results-ticker{background:var(--lgw-navy)}
@media(prefers-reduced-motion:reduce){.lgw-ticker-scroll{animation:none;padding-left:12px;overflow-x:auto;width:100%}}

/* ── Player stats [lgw_player_stats] ─────────────────────────────────────────── */
.lgw-player-stats{font-family:inherit;margin:0}
.lgwps-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}
.lgwps-tab{background:var(--lgw-bg-alt,#f0f2f8);border:1px solid var(--lgw-border,#d0d5e8);border-radius:6px;padding:5px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--lgw-text,#1a2e5a);transition:background .15s,color .15s}
.lgwps-tab:hover{background:var(--lgw-border,#d0d5e8)}
.lgwps-tab.active{background:var(--lgw-navy,#1a2e5a);color:#fff;border-color:var(--lgw-navy,#1a2e5a)}
.lgwps-panel{display:none}
.lgwps-panel.active{display:block}
.lgwps-wrap{overflow-x:auto}
.lgwps-tbl{width:100%;border-collapse:collapse;font-size:13px}
.lgwps-tbl th,.lgwps-tbl td{padding:6px 8px;border-bottom:1px solid var(--lgw-border,#d0d5e8);text-align:center;white-space:nowrap}
.lgwps-tbl th{background:var(--lgw-navy,#1a2e5a);color:#fff;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.lgwps-tbl tr:nth-child(even) td{background:var(--lgw-bg-alt,#f0f2f8)}
.lgwps-tbl tr:hover td{background:var(--lgw-bg-hover,#e8ecf7)}
.lgwps-name,.lgwps-club{text-align:left}
.lgwps-pos{color:var(--lgw-text-muted,#666);font-size:12px;min-width:28px}
.lgwps-w{font-weight:700;color:var(--lgw-navy,#1a2e5a)}
.lgwps-diff{font-weight:700}
.lgwps-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.lgwps-filter-label{font-size:12px;font-weight:700;color:var(--lgw-text-muted,#666);white-space:nowrap}
.lgwps-club-filter{font-size:13px;padding:4px 8px;border:1px solid var(--lgw-border,#d0d5e8);border-radius:6px;background:var(--lgw-bg-alt,#f0f2f8);color:var(--lgw-text,#1a2e5a);cursor:pointer}
.lgwps-player-btn{background:none;border:none;padding:0;font:inherit;font-weight:600;color:var(--lgw-navy,#1a2e5a);cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:2px}
.lgwps-player-btn:hover{color:var(--lgw-gold,#c8a84b)}
.lgwps-modal{max-width:560px}
.lgwps-app-tbl .lgwps-name{min-width:120px}
.lgwps-div-cell{text-align:left;font-size:12px;color:var(--lgw-text-muted,#666)}
.lgwps-badge{display:inline-block;font-size:11px;font-weight:700;padding:1px 6px;border-radius:4px;min-width:20px;text-align:center}
.lgwps-win{background:#d4edda;color:#155724}
.lgwps-draw{background:#fff3cd;color:#856404}
.lgwps-loss{background:#f8d7da;color:#721c24}
@media(max-width:600px){
  .lgwps-club{display:none}
  .lgwps-tbl th,.lgwps-tbl td{padding:5px 5px;font-size:12px}
}

/* ── Progress chart ──────────────────────────────────────────────────────────── */
.lgw-progress-controls{display:flex;gap:8px;padding:12px 14px 0;flex-wrap:wrap;align-items:center}
.lgw-progress-toggle{background:var(--lgw-bg-alt,#f0f2f8);border:1px solid var(--lgw-border,#d0d5e8);color:var(--lgw-text,#1a2e5a);border-radius:20px;padding:5px 16px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.lgw-progress-toggle.active{background:var(--lgw-navy,#1a2e5a);color:#fff;border-color:var(--lgw-navy,#1a2e5a)}
.lgw-progress-toggle:hover:not(.active){background:var(--lgw-bg-hover,#e4e8f5)}
.lgw-progress-clear,.lgw-progress-none{background:transparent;border:1px solid var(--lgw-border,#d0d5e8);color:var(--lgw-text-muted,#666);border-radius:20px;padding:5px 14px;font-size:12px;cursor:pointer;transition:background .15s,color .15s}
.lgw-progress-clear:hover,.lgw-progress-none:hover{background:var(--lgw-bg-hover,#e4e8f5);color:var(--lgw-text,#1a1a1a)}
.lgw-progress-play{background:var(--lgw-red,#c0202a);border:none;color:#fff;border-radius:20px;padding:5px 16px;font-size:12px;font-weight:700;cursor:pointer;margin-left:auto;transition:background .15s;white-space:nowrap}
.lgw-progress-play:hover{background:#a01820}
.lgw-progress-chart-wrap{position:relative;height:480px;padding:12px 14px 16px}
@media(max-width:520px){.lgw-tab[data-tab="progress"]{display:none}}

/* ── Custom player-name dropdown (cross-browser datalist replacement) ────────── */
.lgw-player-dropdown{position:fixed;background:#fff;border:1px solid var(--lgw-border,#d0d5e8);border-radius:6px;max-height:180px;overflow-y:auto;z-index:99999;box-shadow:0 4px 12px rgba(0,0,0,.15);display:none}
.lgw-player-dropdown ul{list-style:none;margin:0;padding:4px 0}
.lgw-player-dropdown li{padding:8px 12px;cursor:pointer;font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lgw-player-dropdown li:hover{background:var(--lgw-bg-hover,#e4e8f5)}
