/* Roster Board front-end. Intentionally unbranded: inherits the site template's
   fonts and colours. Only the pitch and chips carry functional colour. */
.rb-wrap{--rb-accent:#23282d;--rb-line:#e2e2e6;--rb-p1:#3a7d4f;--rb-p2:#356f47;max-width:980px;margin:0 auto;}
.rb-search{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px;}
.rb-search label{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;opacity:.7;margin-bottom:3px;}
.rb-search input[type=date]{padding:8px;border:1px solid var(--rb-line);border-radius:6px;}
.rb-btn{font-weight:700;padding:9px 16px;border-radius:6px;border:0;cursor:pointer;text-decoration:none;display:inline-block;background:var(--rb-accent,#23282d);color:#fff;}
.rb-btn:hover{opacity:.9;color:#fff;}
.rb-gameinfo{display:flex;gap:16px;flex-wrap:wrap;align-items:center;background:rgba(0,0,0,.04);border-radius:8px;padding:12px 16px;margin-bottom:16px;}
.rb-vs{font-size:1.15rem;}
.rb-formation{margin-left:auto;background:var(--rb-accent,#23282d);color:#fff;border-radius:4px;padding:3px 10px;font-weight:700;font-size:.85rem;}
.rb-board{display:grid;grid-template-columns:minmax(280px,1fr) 320px;gap:20px;align-items:start;}
@media(max-width:760px){.rb-board{grid-template-columns:1fr;}}
.rb-pitch{position:relative;width:100%;aspect-ratio:100/150;border-radius:8px;overflow:hidden;background:repeating-linear-gradient(180deg,var(--rb-p1,#3a7d4f) 0,var(--rb-p1,#3a7d4f) 8.33%,var(--rb-p2,#356f47) 8.33%,var(--rb-p2,#356f47) 16.66%);}
.rb-lines{position:absolute;inset:0;width:100%;height:100%;}
.rb-chip{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;width:64px;text-align:center;}
.rb-disc{width:42px;height:42px;border-radius:50%;background:#fff;border:2.5px solid var(--rb-accent,#23282d);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:#1c1c1e;box-shadow:0 2px 5px rgba(0,0,0,.3);position:relative;}
.rb-nm{font-size:.62rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.7);max-width:68px;line-height:1.15;}
.rb-pos{font-size:.56rem;color:#fff;opacity:.85;text-shadow:0 1px 2px rgba(0,0,0,.7);}
.rb-subbadge{position:absolute;top:-6px;right:-6px;background:var(--rb-accent,#23282d);color:#fff;border:2px solid #fff;border-radius:50%;width:18px;height:18px;font-size:.62rem;font-weight:700;display:flex;align-items:center;justify-content:center;}
.rb-actions{margin-top:12px;}
.rb-side h2{font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;background:var(--rb-accent,#23282d);color:#fff;padding:8px 12px;border-radius:6px 6px 0 0;margin:0;}
.rb-list{list-style:none;margin:0 0 14px;padding:0;border:1px solid var(--rb-line);border-top:0;border-radius:0 0 6px 6px;}
.rb-list li{display:flex;gap:8px;align-items:center;padding:7px 12px;border-bottom:1px solid rgba(0,0,0,.06);}
.rb-list li:last-child{border-bottom:0;}
.rb-tag{font-size:.62rem;font-weight:700;color:#fff;background:var(--rb-accent,#23282d);border-radius:3px;padding:2px 6px;min-width:42px;text-align:center;}
.rb-empty{background:rgba(0,0,0,.04);border:1px solid var(--rb-line);border-radius:8px;padding:16px;}
.rb-fixtures{margin-top:26px;}
.rb-fixtures h2{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;border-bottom:2px solid var(--rb-accent,#23282d);padding-bottom:6px;}
.rb-fixture-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.rb-fixture-list a{display:flex;gap:8px;align-items:center;text-decoration:none;color:inherit;border:1px solid var(--rb-line);border-radius:6px;padding:8px 12px;}
.rb-fixture-list a:hover{border-color:var(--rb-accent,#23282d);}
.rb-fx-date{font-weight:700;}
/* print sheet (renders via tmpl=component, so no site chrome around it) */
.rb-print{max-width:900px;margin:0 auto;padding:14px;color:#111;}
.rb-print-head{display:flex;align-items:center;gap:14px;border-bottom:2px solid #111;padding-bottom:10px;}
.rb-print-match{font-size:1.25rem;}
.rb-print-meta{font-size:.85rem;color:#555;}
.rb-print-body{display:grid;grid-template-columns:minmax(260px,1fr) 300px;gap:20px;margin-top:16px;align-items:start;}
.rb-pitch-print{max-width:420px;}
.rb-print-side h2{font-size:.82rem;font-weight:700;text-transform:uppercase;background:#23282d;color:#fff;padding:7px 11px;margin:0;}
@media print{.rb-noprint{display:none!important;}body{background:#fff;}}
.rb-pop{position:fixed;background:#fff;border:1px solid var(--rb-line,#e2e2e6);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.25);padding:10px 12px;min-width:150px;max-width:240px;z-index:9999;color:#111;display:none;}
.rb-pop.show{display:block;}
.rb-pop-pos{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#fff;background:var(--rb-accent,#23282d);border-radius:3px;padding:2px 7px;display:inline-block;margin-bottom:5px;}
.rb-pop-name{font-weight:700;font-size:.95rem;}
.rb-pop-subs{margin-top:7px;font-size:.85rem;color:#333;}
.rb-pop-subs strong{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.5px;color:#888;margin-bottom:2px;}
/* Training drills (front-end) */
.rb-drills .rb-cat-head{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--rb-accent,#23282d);padding-bottom:5px;margin:18px 0 8px;}
.rb-drill-list{border:1px solid var(--rb-line,#e2e2e6);border-radius:6px;list-style:none;padding:0;margin:0 0 10px;}
.rb-drill-list li a{display:block;padding:9px 12px;text-decoration:none;color:inherit;}
.rb-drill-list li a:hover{background:rgba(0,0,0,.04);}
.rb-drill-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-bottom:2px solid var(--rb-accent,#23282d);padding-bottom:8px;margin-bottom:16px;}
.rb-drill-title{margin:0;font-size:1.5rem;}
.rb-drill-cat{background:var(--rb-accent,#23282d);color:#fff;border-radius:4px;padding:3px 10px;font-size:.78rem;font-weight:700;text-transform:uppercase;}
.rb-drill-body{display:grid;grid-template-columns:minmax(0,440px) 1fr;gap:26px;align-items:start;}
@media(max-width:760px){.rb-drill-body{grid-template-columns:1fr;}}
.rb-drill-board .rb-dfield{max-width:440px;}
.rb-drill-info h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--rb-line,#e2e2e6);padding-bottom:4px;margin:0 0 8px;}
.rb-drill-dates{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px;}
.rb-drill-dates li{background:rgba(0,0,0,.05);border-radius:4px;padding:3px 9px;font-size:.85rem;}
.rb-drill-instructions{margin-bottom:18px;line-height:1.55;}
.rb-back a{text-decoration:none;font-weight:700;color:var(--rb-accent,#23282d);}
/* Drill front-end: New button, filter, rows */
.rb-drills-top{display:flex;justify-content:flex-end;margin-bottom:10px;}
.rb-dfilter{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;}
.rb-dchip{font:600 12px inherit;padding:5px 13px;border:1px solid var(--rb-line,#d8d8dc);border-radius:20px;background:#fff;color:#444;cursor:pointer;}
.rb-dchip:hover{border-color:#888;}
.rb-dchip.on{background:var(--rb-accent,#23282d);color:#fff;border-color:var(--rb-accent,#23282d);}
.rb-drow{display:flex;align-items:center;gap:10px;}
.rb-drow-link{flex:1;}
.rb-drow-edit{font-size:.8rem;font-weight:700;text-decoration:none;color:var(--rb-accent,#23282d);opacity:.75;padding:2px 8px;}
.rb-drow-edit:hover{opacity:1;}
.rb-drill-edit{margin-left:auto;}

/* Drill editor (front-end) */
.rb-deditor .rb-ded-h{margin:0 0 16px;font-size:1.5rem;}
.rb-ded-grid{display:grid;grid-template-columns:300px 1fr;gap:26px;align-items:start;}
@media(max-width:760px){.rb-ded-grid{grid-template-columns:1fr;}}
.rb-ded-lbl{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;margin:14px 0 4px;}
.rb-ded-lbl:first-child{margin-top:0;}
.rbed-daterow{display:flex;gap:6px;margin-bottom:6px;}
.rb-ded-actions{display:flex;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap;}
.rbed-status{font-size:.85rem;font-weight:600;}
.rbed-status.rbed-ok{color:#2e7d32;}
.rbed-status.rbed-err{color:#c62828;}
/* Drill list search */
.rb-drills-top{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.rb-dsearch{flex:1;min-width:180px;max-width:340px;}
.rb-dnew{margin-left:auto;}
.rb-dnomatch{color:#999;font-style:italic;margin:6px 0;}

/* Drill viewer: full viewport width on desktop, responsive on mobile */
@media(min-width:1000px){
  /* Drill viewer full width on desktop. JS tags the actual content container with
     .rb-host-fullwidth (deterministic, template-agnostic); :has() is a CSS-only fallback. */
  .rb-host-fullwidth{max-width:100%!important;}
  .uk-container:has(.rb-drill-single.rb-fullbleed),
  .container:has(.rb-drill-single.rb-fullbleed){max-width:100%;}
  .rb-wrap.rb-drill-single.rb-fullbleed{max-width:none;}
  .rb-wrap.rb-drill-single.rb-fullbleed .rb-drill-body{grid-template-columns:minmax(0,680px) 1fr;}
  .rb-wrap.rb-drill-single.rb-fullbleed .rb-drill-board .rb-dfield{max-width:680px;}
}

/* Drill versions - editor bar */
.rb-ved-wrap{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0;}
.rb-ved-lbl{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;}
.rb-ved-bar{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.rb-vchip{display:inline-flex;align-items:center;gap:6px;font:600 13px inherit;padding:5px 12px;border:1px solid var(--rb-line,#d8d8dc);border-radius:20px;background:#fff;color:#444;cursor:pointer;}
.rb-vchip.on{background:var(--rb-accent,#23282d);color:#fff;border-color:var(--rb-accent,#23282d);}
.rb-vchip-x{font-weight:700;opacity:.7;}
.rb-vchip-x:hover{opacity:1;}
.rb-vadd{font:600 13px inherit;padding:5px 12px;border:1px dashed #b9bcc4;border-radius:20px;background:#fff;color:#23282d;cursor:pointer;}
.rb-ved-hint{font-size:.8rem;color:#999;margin:2px 0 14px;}
/* Drill versions - viewer switcher */
.rb-vswitch{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.rb-vswitch-lbl{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#666;}
.rb-vbtn{font:600 14px inherit;padding:7px 16px;border:1px solid var(--rb-line,#d8d8dc);border-radius:8px;background:#fff;color:#333;cursor:pointer;}
.rb-vbtn.on{background:var(--rb-accent,#23282d);color:#fff;border-color:var(--rb-accent,#23282d);}
.rb-drow-del{border:0;background:transparent;color:#c0392b;font-size:1.2rem;line-height:1;cursor:pointer;padding:2px 8px;opacity:.6;}
.rb-drow-del:hover{opacity:1;}

/* ===== Training sessions (list + single + editor) ===== */
.rb-sessions-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px;}
.rb-sessions-h{margin:0;font-size:1.5rem;}
.rb-sgroup{margin:22px 0 8px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#6b7280;}
.rb-sgroup-past{color:#9aa0a6;}
.rb-slist{display:flex;flex-direction:column;gap:8px;}
.rb-slist-past{opacity:.78;}
.rb-srow{display:flex;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--rb-line);border-radius:10px;text-decoration:none;color:inherit;background:#fff;transition:border-color .12s,box-shadow .12s,transform .12s;}
.rb-srow:hover{border-color:#D32F2F;box-shadow:0 2px 10px rgba(0,0,0,.06);transform:translateY(-1px);}
.rb-srow-date{flex:0 0 150px;font-weight:700;line-height:1.25;}
.rb-srow-time{display:block;font-weight:500;font-size:.82rem;color:#6b7280;}
.rb-srow-main{flex:1;min-width:0;}
.rb-srow-title{display:block;font-weight:600;}
.rb-srow-loc{display:block;font-size:.85rem;color:#6b7280;}
.rb-srow-meta{flex:0 0 auto;font-size:.82rem;color:#6b7280;white-space:nowrap;}

.rb-session-head{margin-bottom:18px;}
.rb-sback{display:inline-block;margin-bottom:8px;font-size:.85rem;font-weight:600;color:#D32F2F;text-decoration:none;}
.rb-sback:hover{text-decoration:underline;}
.rb-session-title{margin:0 0 6px;font-size:1.7rem;}
.rb-session-sub{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;color:#374151;font-weight:600;}
.rb-session-sub>span{position:relative;}
.rb-session-sub>span+span::before{content:"\00b7";position:absolute;left:-9px;color:#c4c8cf;font-weight:400;}
.rb-session-total{color:#D32F2F;}
.rb-session-notes{margin-top:10px;color:#374151;}

.rb-plan{list-style:none;counter-reset:rbp;margin:0;padding:0;border:1px solid var(--rb-line);border-radius:12px;overflow:hidden;}
.rb-plan-item{display:flex;gap:14px;padding:12px 14px;border-top:1px solid var(--rb-line);}
.rb-plan-item:first-child{border-top:0;}
.rb-plan-drill{background:#fff;}
.rb-plan-text{background:#fafafb;}
.rb-plan-when{flex:0 0 96px;text-align:right;line-height:1.3;}
.rb-plan-clock{display:block;font-weight:700;}
.rb-plan-dur{display:block;font-size:.82rem;color:#6b7280;}
.rb-plan-body{flex:1;min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
.rb-plan-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 7px;border-radius:4px;color:#fff;}
.rb-plan-tag-drill{background:#2766c9;}
.rb-plan-tag-text{background:#6b7280;}
.rb-plan-name{font-weight:600;color:inherit;text-decoration:none;}
a.rb-plan-name:hover{color:#D32F2F;text-decoration:underline;}
.rb-plan-ver{font-size:.78rem;color:#6b7280;background:#eef0f3;padding:2px 7px;border-radius:10px;}
.rb-plan-missing{color:#b91c1c;font-style:italic;}
.rb-plan-note{flex-basis:100%;margin:2px 0 0;font-size:.88rem;color:#4b5563;}
.rb-plan-foot{margin-top:12px;font-size:.95rem;color:#23282d;}
.rb-plan-foot-end{color:#6b7280;}
.rb-session-actions{margin-top:16px;}

.rb-sed-h{font-size:1.5rem;margin:0 0 14px;}
.rb-sed-grid{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start;}
.rb-sed-lbl{display:block;margin:0 0 4px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:#6b7280;}
.rb-sed-form>*+.rb-sed-lbl{margin-top:14px;}
.rb-sed-actions{margin-top:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
@media (max-width:760px){ .rb-sed-grid{grid-template-columns:1fr;} .rb-srow-date{flex-basis:120px;} }
.rb-drill-back{display:inline-block;margin-bottom:10px;}

/* Concurrent (split) plan block */
.rb-plan-split .rb-plan-body{display:block;}
.rb-plan-tag-split{background:#6b3fa0;}
.rb-plan-lanes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-top:8px;}
.rb-plan-lane{border:1px solid var(--rb-line);border-left:3px solid #6b3fa0;border-radius:8px;padding:9px 11px;background:#faf9fc;}
.rb-plan-lane-h{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#6b3fa0;margin-bottom:4px;}
.rb-plan-lane-drill{font-weight:600;}
.rb-plan-lane-drill .rb-plan-ver{margin-left:6px;}
.rb-plan-lane-note{margin:5px 0 0;font-size:.86rem;color:#4b5563;}
