/* Current-DOM adapter and protected Selection Board refinements.
   Canonical tokens and shared components live in bowlsselect-tokens.css and
   bowlsselect-components.css. Keep this file focused on real structures whose
   interaction geometry differs from the frozen preview. */

/* Availability is a Board state, not a global component. This non-colour text
   cue and its light/dark surfaces were migrated from the inherited inline block. */
#screen-board .pool-magnet.bs-unavailable{position:relative!important;background:linear-gradient(180deg,#f9d6dc,#efb8c2)!important;border:2px solid #8b1e2d!important;color:#67121f!important;box-shadow:0 2px 0 #a85c68,0 3px 7px rgba(90,15,30,.20)!important;padding-bottom:17px!important}
#screen-board .pool-magnet.bs-unavailable:after{content:'UNAVAILABLE';position:absolute;left:5px;right:5px;bottom:3px;padding:1px 4px;border-radius:4px;background:#8b1e2d;color:#fff;font:1000 7px/1.25 Arial,sans-serif;letter-spacing:.45px;text-align:center}
#screen-board .quick-pool-magnet.bs-unavailable{background:linear-gradient(180deg,#f9d6dc,#efb8c2)!important;border-color:#8b1e2d!important}
html[data-theme="dark"] #screen-board .pool-magnet.bs-unavailable{background:linear-gradient(180deg,#4a2029,#35171e)!important;color:#ffd9df!important;border-color:#ff8798!important;box-shadow:0 2px 0 #6e2b36,0 3px 8px rgba(0,0,0,.3)!important}

/* Real board: extra controls remain in the documented panel and toolbar. */
#screen-board .board-page-head{min-height:245px!important;padding:28px 30px!important;border:1px solid color-mix(in srgb,var(--bs-club) 55%,var(--bs-line))!important;border-radius:14px!important;color:var(--bs-art-text)!important;background:linear-gradient(90deg,color-mix(in srgb,var(--bs-club) 78%,#000),color-mix(in srgb,color-mix(in srgb,var(--bs-club) 78%,#000) 92%,transparent) 30%,color-mix(in srgb,color-mix(in srgb,var(--bs-club) 78%,#000) 55%,transparent) 53%,#061b2b06 74%),var(--bs-art)!important;background-size:cover!important;background-position:center 68%!important;box-shadow:0 10px 28px #071c3526!important}#screen-board .board-page-head h1{color:var(--bs-art-text)!important;font:650 38px/1.14 var(--bs-display)!important;letter-spacing:-1.2px!important}#boardKindToggle,.segmented{display:inline-flex!important;gap:4px!important;padding:4px!important;border:1px solid #ffffff40!important;border-radius:10px!important;background:#071c32db!important;box-shadow:none!important}#boardKindToggle button,.segmented button{min-height:40px!important;padding:8px 16px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:#fff!important}#boardKindToggle button.active,.segmented button.active{background:#fff!important;color:var(--bs-club)!important;box-shadow:0 1px 5px #0002!important}
#screen-board .board-main{overflow:hidden!important;padding:0!important;border:1px solid color-mix(in srgb,var(--bs-club) 30%,var(--bs-line))!important;border-radius:14px!important;background:var(--bs-surface)!important;box-shadow:0 10px 30px #0b1f3a0d,0 2px 4px #0b1f3a08!important}#screen-board .clubroom-board-banner{min-height:auto!important;padding:18px 22px!important;gap:18px!important;border:0!important;border-radius:0!important;background:var(--bs-club)!important;color:var(--bs-on-club)!important;box-shadow:none!important;position:relative!important;overflow:hidden!important}#screen-board .clubroom-board-banner::after{content:''!important;position:absolute!important;right:210px!important;top:-20px!important;width:130px!important;height:140px!important;background-image:var(--bs-club-emblem,none)!important;background-position:center!important;background-size:contain!important;background-repeat:no-repeat!important;opacity:.12!important;pointer-events:none!important}#screen-board .board-emblem{width:58px!important;height:64px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;z-index:1}.board-emblem img{object-fit:contain!important;background:transparent!important}.board-banner-copy{z-index:1!important}.board-banner-copy strong{font:650 19px/1.2 var(--bs-display)!important;letter-spacing:-.2px!important;text-shadow:none!important}.board-banner-copy small{color:var(--bs-on-club)!important;opacity:.75!important}.board-banner-tag{z-index:1!important;border:1px solid color-mix(in srgb,var(--bs-on-club) 35%,transparent)!important;background:transparent!important;color:var(--bs-on-club)!important}
#screen-board .board-main>.board-toolbar{position:static!important;margin:0!important;padding:14px 20px!important;gap:12px!important;row-gap:8px!important;background:var(--bs-surface)!important;border:0!important;border-bottom:1px solid var(--bs-line)!important;border-radius:0!important;box-shadow:none!important}.board-main>.board-toolbar .btn,.board-main>.board-toolbar .mini-btn{font-size:13px!important;padding:8px 11px!important;box-shadow:0 1px 2px #0b1f3a07!important}.board-save-status{background:var(--bs-soft)!important;border:1px solid var(--bs-line)!important;border-radius:5px!important;padding:5px 9px!important;color:var(--bs-muted)!important}.board-save-status,.board-save-status span,.board-save-status b,.board-save-status strong{color:var(--bs-text)!important}.board-save-status small,.board-save-status .muted{color:var(--bs-muted)!important}
#screen-board .board-workspace,#screen-board .board-upper-workspace{gap:20px!important;background-image:linear-gradient(90deg,color-mix(in srgb,var(--bs-soft) 96%,transparent),color-mix(in srgb,var(--bs-soft) 90%,transparent)),var(--bs-art)!important;background-size:cover!important;background-position:center bottom!important;padding:20px!important}.board-main .division-grid{padding:0!important;gap:20px!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.board-main .division-card{background:var(--bs-surface)!important;border:1px solid color-mix(in srgb,var(--bs-club) 22%,var(--bs-line))!important;border-top:0!important;border-radius:10px!important;box-shadow:0 4px 10px #0b1f3a0c!important}.board-main .division-titlebar,.board-main .v1-divtitle{padding:14px 16px 14px 17px!important;background:linear-gradient(105deg,var(--bs-club),color-mix(in srgb,var(--bs-club) 87%,var(--bs-on-club)))!important;color:var(--bs-on-club)!important;border:0!important}.board-main .division-titlebar h3,.board-main .v1-divtitle h3{font:600 19px/1.2 var(--bs-display)!important;letter-spacing:-.3px!important}.board-main .rink{background:var(--bs-surface)!important}.board-main .slot{background:var(--bs-surface)!important;border-color:var(--bs-line)!important}.player-pool{background:var(--bs-surface)!important;border:1px solid var(--bs-line)!important;border-top:3px solid var(--bs-club)!important;border-radius:10px!important;padding:18px 16px!important;box-shadow:0 3px 10px #0b1f3a06!important}.player-pool .search{background:var(--bs-soft)!important;margin:16px 0!important}.magnet-list{gap:9px!important}

/* Exact approved magnet surface while retaining role buttons, status icons and hit targets. */
#screen-board .board-main .magnet,#screen-board .pool-magnet,#screen-board .quick-pool-magnet{display:flex!important;align-items:stretch!important;min-width:0!important;min-height:54px!important;background:linear-gradient(180deg,var(--bs-surface),color-mix(in srgb,var(--bs-soft) 70%,var(--bs-surface)))!important;color:var(--bs-text)!important;border:1px solid color-mix(in srgb,var(--bs-club) 18%,var(--bs-line))!important;border-left:3px solid color-mix(in srgb,var(--bs-club) 65%,var(--bs-line))!important;border-radius:8px!important;box-shadow:var(--bs-shadow)!important;transition:border-color 140ms,box-shadow 140ms!important;position:relative!important;overflow:visible!important}#screen-board .board-main .magnet:hover,#screen-board .pool-magnet:hover{border-color:var(--bs-muted)!important;box-shadow:0 4px 9px #0b1f3a17!important}#screen-board .magnet-name,#screen-board .pool-magnet strong{min-width:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;text-overflow:clip!important;color:var(--bs-text)!important;font-size:14px!important;font-weight:650!important;letter-spacing:-.1px!important;line-height:1.35!important}.slot-role-controls,.slot-role-badges{z-index:6!important}.slot-role-btn,.slot-role-badge{width:19px!important;height:19px!important;font-size:11px!important;border-radius:4px!important}.return-player{z-index:7!important;min-width:36px!important;min-height:36px!important;border-left:1px solid color-mix(in srgb,var(--bs-line) 75%,transparent)!important;color:var(--bs-muted)!important}.availability-badge,.finals-marker,.form-bowl,.cross-comp-marker,.slot-role-badge{z-index:8!important}.availability-badge{font-size:8px!important;line-height:1.1!important}.board-main .magnet.marked{border:1px solid var(--bs-amber)!important;border-left:4px solid var(--bs-amber)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--bs-amber) 9%,transparent),var(--bs-shadow)!important}.board-main .magnet.selected,.pool-magnet.selected{outline:3px solid var(--bs-focus)!important;outline-offset:1px!important}.pool-magnet.bs-unavailable{background:linear-gradient(180deg,#f9d6dc,#efb8c2)!important;border-color:#8b1e2d!important;color:#67121f!important}.pool-magnet.bs-unavailable strong{color:#67121f!important}
html[data-theme=dark] #screen-board .board-main .magnet,html[data-theme=dark] #screen-board .pool-magnet,html[data-theme=dark] #screen-board .quick-pool-magnet{background:linear-gradient(180deg,var(--bs-surface),color-mix(in srgb,var(--bs-soft) 70%,var(--bs-surface)))!important;color:var(--bs-text)!important}html[data-theme=dark] #screen-board .magnet-name,html[data-theme=dark] #screen-board .pool-magnet strong{color:var(--bs-text)!important}html[data-theme=dark] .board-save-status{background:var(--bs-soft)!important;border-color:var(--bs-line)!important}html[data-theme=dark] .board-save-status,html[data-theme=dark] .board-save-status span,html[data-theme=dark] .board-save-status b,html[data-theme=dark] .board-save-status strong{color:var(--bs-text)!important}html[data-theme=dark] .board-save-status small,html[data-theme=dark] .board-save-status .muted{color:var(--bs-muted)!important}

@container(max-width:1100px){#screen-board .board-workspace,#screen-board .board-upper-workspace{gap:18px!important}#screen-board .player-pool{padding:18px!important}}
@container(max-width:760px){#screen-board .board-page-head{padding:20px 18px!important;min-height:0!important;background-position:70% center!important}#screen-board .board-page-head h1{font-size:30px!important}#boardKindToggle{width:100%!important}#boardKindToggle button{min-height:44px!important;padding:8px 12px!important;flex:1}.board-main .division-grid{gap:10px!important}#screen-board .board-workspace,#screen-board .board-upper-workspace{padding:10px!important;gap:18px!important}.board-main .division-titlebar,.board-main .v1-divtitle{padding:13px 12px 13px 17px!important}#screen-board .player-pool{padding:16px 12px!important}}
@container(max-width:420px){#screen-board .magnet-list{grid-template-columns:1fr!important}}

/* Final Selection Board polish: semantic contrast and a compact, visible action rail. */
#screen-board{color:var(--bs-text)!important}#screen-board .round-field,#screen-board .division-view-label,#screen-board .division-view-hint,#screen-board .pool-hint,#screen-board .fixture-mini label,#screen-board .fixture-mini small,#screen-board .slot-label,#screen-board .rink-num,#screen-board .rink.rink-head,#screen-board .mobile-pos-label,#screen-board .mobile-rink-head span,#screen-board .resultstatus-v1,#screen-board .overallresult-v1{color:var(--bs-muted)!important}#screen-board .fixture-mini,#screen-board .mobile-rink-head,#screen-board .result-cell{background:var(--bs-soft)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important}#screen-board .fixture-mini input,#screen-board .fixture-mini select,#screen-board .score-cell input{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important}#screen-board .division-viewbar{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important;box-shadow:var(--bs-shadow)!important}#screen-board .division-view-pills button,#screen-board .division-view-arrows button{background:var(--bs-soft)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important}#screen-board .division-view-pills button.active{background:var(--bs-club)!important;color:var(--bs-on-club)!important;border-color:var(--bs-club)!important}#screen-board .finals-watch-bar{background:var(--bs-amber-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-amber)!important;box-shadow:none!important}#screen-board .finals-watch-bar strong,#screen-board .finals-watch-bar span,#screen-board .finals-watch-legend{color:var(--bs-text)!important}#screen-board .board-legend-copy strong,#screen-board .board-legend-note,#screen-board .board-legend-note strong{color:var(--bs-text)!important}#screen-board .board-legend-copy small{color:var(--bs-muted)!important}#screen-board .slot-role-btn{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important}#screen-board .slot-role-btn.active,#screen-board .slot-role-badge{background:var(--bs-club)!important;color:var(--bs-on-club)!important;border-color:var(--bs-club)!important}#screen-board .return-player{background:var(--bs-soft)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important}#screen-board .pool-magnet.bs-unavailable{background:color-mix(in srgb,var(--bs-error) 18%,var(--bs-surface))!important;border-color:var(--bs-error)!important;color:var(--bs-text)!important}#screen-board .pool-magnet.bs-unavailable strong{color:var(--bs-text)!important}

#screen-board .board-main>.board-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr)!important;align-items:start!important;gap:12px 18px!important;padding:14px 20px!important}#screen-board .board-main>.board-toolbar .toolbar-group{display:flex!important;align-items:center!important;align-content:center!important;gap:8px!important;flex-wrap:wrap!important;min-width:0!important}#screen-board .board-main>.board-toolbar .toolbar-save-group{justify-content:flex-end!important;padding-left:18px!important;border-left:1px solid var(--bs-line)!important}#screen-board .board-main>.board-toolbar .btn,#screen-board .board-main>.board-toolbar .mini-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:8px 11px!important;line-height:1.15!important;white-space:nowrap!important}#screen-board .board-main>.board-toolbar select{min-height:40px!important;max-width:190px!important;padding-top:7px!important;padding-bottom:7px!important}.board-save-status{align-self:stretch!important;display:grid!important;align-content:center!important;min-height:40px!important;border-left:3px solid var(--bs-club)!important}

@container(max-width:1180px){#screen-board .board-main>.board-toolbar{grid-template-columns:1fr!important}#screen-board .board-main>.board-toolbar .toolbar-save-group{justify-content:flex-start!important;padding-left:0!important;padding-top:12px!important;border-left:0!important;border-top:1px solid var(--bs-line)!important}}
@container(max-width:760px){#screen-board .board-main>.board-toolbar{padding:12px!important;gap:10px!important}#screen-board .board-main>.board-toolbar .toolbar-group{gap:7px!important}#screen-board .board-main>.board-toolbar .btn,#screen-board .board-main>.board-toolbar .mini-btn{min-height:44px!important}.board-save-status{width:100%!important}}

/* Final light-surface contrast pass: preserve semantic hierarchy without legacy pale blues/greys. */
html:not([data-theme=dark]) #screen-board .board-main :is(.board-save-status,.board-save-status small,.board-save-status .muted,.round-field,.division-view-label,.division-view-hint,.fixture-mini label,.fixture-mini small,.slot-label,.rink-num,.rink.rink-head,.mobile-pos-label,.mobile-rink-head span,.resultstatus-v1,.overallresult-v1,.board-legend-copy small,.board-legend-note,.empty-state){color:var(--bs-text)!important}html:not([data-theme=dark]) #screen-board .board-main :is(.pool-hint,.pool-return-zone small,.pool-magnet small,.player-pool .eyebrow){color:var(--bs-muted)!important}html:not([data-theme=dark]) #screen-board .board-main .pool-return-zone{background:var(--bs-soft)!important;color:var(--bs-text)!important;border-color:var(--bs-line)!important}html:not([data-theme=dark]) #screen-board #boardEmptyCompetition p{color:var(--bs-text)!important}@container(min-width:761px){#screen-board .division-grid:not(.division-focus-mode){grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* The established whiteboard banner is a club-colour surface in every appearance mode. */
#screen-board .board-banner-copy span,#screen-board .board-banner-copy em{color:var(--bs-on-club)!important;opacity:.84!important;text-shadow:none!important}

/* Phase A1 refinements: generic club-emblem treatment, circular magnet controls, and task-based board controls. */
.brand-mark:has(.club-emblem-image),.hero-emblem:has(.club-emblem-image),.board-emblem:has(.club-emblem-image){background:transparent!important}.club-emblem-image{display:block;width:100%;height:100%;object-fit:contain;background:transparent!important}.club-emblem-has-white-background{isolation:isolate}.club-emblem-has-white-background .club-emblem-image{mix-blend-mode:multiply}.club-emblem-background-removed{mix-blend-mode:normal!important}
#screen-board .slot-role-btn,#screen-board .slot-role-badge,#screen-board .finals-marker,#screen-board .form-bowl,#screen-board .cross-comp-marker,#screen-board .mark-unavailable,#screen-board .mark-available{inline-size:22px!important;block-size:22px!important;min-inline-size:22px!important;min-block-size:22px!important;aspect-ratio:1!important;padding:0!important;border-radius:50%!important;display:inline-grid!important;place-items:center!important;line-height:1!important}.slot-role-controls,.slot-role-badges{gap:3px!important}.slot.v1-drop .magnet{padding-left:25px!important}.slot.v1-drop:has(.slot-role-btn:nth-child(2)) .magnet{padding-left:49px!important}
#screen-board .board-banner-copy strong,#boardCompetitionLabel{color:var(--bs-on-club)!important;text-shadow:0 2px 8px rgba(0,0,0,.48)!important;font-weight:750!important;letter-spacing:.35px!important}
#screen-board .board-main>.board-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)!important;align-items:start!important;gap:14px 20px!important;padding:16px 20px!important}.board-toolbar .toolbar-rail{display:flex!important;align-items:flex-start!important;gap:10px 14px!important;flex-wrap:wrap!important;min-width:0}.board-toolbar .toolbar-rail-manage{justify-content:flex-end!important}.board-toolbar .toolbar-group{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;min-width:0;padding:8px 10px!important;border:1px solid var(--bs-line)!important;border-radius:10px!important;background:color-mix(in srgb,var(--bs-soft) 58%,var(--bs-surface))!important}.board-toolbar .toolbar-group-label{flex:0 0 100%!important;color:var(--bs-muted)!important;font-size:10px!important;font-weight:750!important;letter-spacing:.08em!important;text-transform:uppercase!important}.board-toolbar .toolbar-save-group{background:color-mix(in srgb,var(--bs-club) 6%,var(--bs-surface))!important}.board-toolbar .btn{min-height:38px!important;padding:7px 10px!important;white-space:nowrap!important}.board-toolbar .round-field{min-width:160px!important;display:grid!important;gap:2px!important;color:var(--bs-muted)!important;font-size:10px!important;font-weight:700!important;text-transform:uppercase!important}.board-toolbar .round-field select{min-height:36px!important;padding:6px 9px!important}.board-toolbar .board-save-status{min-height:36px!important;display:grid!important;align-content:center!important;line-height:1.18!important}.board-toolbar .board-save-status small{display:block!important;font-size:9px!important}
@container(max-width:1120px){#screen-board .board-main>.board-toolbar{grid-template-columns:1fr!important}.board-toolbar .toolbar-rail-manage{justify-content:flex-start!important}}@container(max-width:660px){#screen-board .board-main>.board-toolbar{padding:12px!important;gap:10px!important}.board-toolbar .toolbar-rail,.board-toolbar .toolbar-group{width:100%!important}.board-toolbar .toolbar-group{padding:8px!important}.board-toolbar .btn{flex:1 1 132px!important}.board-toolbar .round-field,.board-toolbar .board-save-status{flex:1 1 100%!important}}

/* Compact magnet controls: protected name lane and separate actions. */
#screen-board .board-main .slot.v1-drop{position:relative!important}#screen-board .board-main .magnet{min-height:62px!important;padding:8px 30px 8px 45px!important}#screen-board .slot-role-controls,#screen-board .slot-role-badges{left:4px!important;top:6px!important;transform:none!important;gap:2px!important;z-index:9!important}#screen-board .slot-role-btn,#screen-board .slot-role-badge{inline-size:17px!important;block-size:17px!important;min-inline-size:17px!important;min-block-size:17px!important;font-size:8px!important}#screen-board .slot-role-btn[data-slot-role="manager"] svg,#screen-board .slot-role-badge.manager-role-icon svg{width:10px!important;height:10px!important}#screen-board .board-main .return-player,#screen-board .board-main .mark-unavailable{inline-size:17px!important;block-size:17px!important;min-inline-size:17px!important;min-block-size:17px!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;bottom:5px!important;z-index:9!important}#screen-board .board-main .return-player{left:4px!important;padding:0!important;font-size:11px!important;line-height:17px!important}#screen-board .board-main .mark-unavailable{left:23px!important;padding:2px!important}#screen-board .board-main .form-bowl,#screen-board .board-main .finals-marker,#screen-board .board-main .cross-comp-marker{inline-size:16px!important;block-size:16px!important;min-inline-size:16px!important;min-block-size:16px!important}#screen-board .board-main .magnet>.form-bowl{right:7px!important;top:7px!important}#screen-board .board-main .magnet-name .cross-comp-marker,#screen-board .board-main .magnet:has(>.form-bowl) .finals-marker,#screen-board .board-main .magnet:not(:has(>.form-bowl)) .finals-marker{right:7px!important;bottom:7px!important}


/* Selection meeting + magnet clarity polish — 2026-09-06. */
#screen-board .board-main .magnet{width:100%!important;box-sizing:border-box!important;min-height:72px!important;padding:9px 8px 31px!important;align-items:center!important;justify-content:center!important}
#screen-board .board-main .magnet-name{width:100%!important;padding:0 2px!important;margin:0!important;text-align:center!important;font-size:14.5px!important;line-height:1.16!important;font-weight:720!important}
#screen-board .board-main .magnet-name.name-sm{font-size:14px!important}#screen-board .board-main .magnet-name.name-xs{font-size:13.25px!important}#screen-board .board-main .magnet-name.name-xxs{font-size:12.5px!important}
#screen-board .board-main .magnet.fill-in,#screen-board .pool-magnet.fill-in,#screen-board .quick-pool-magnet.fill-in,html[data-theme="dark"] #screen-board .board-main .magnet.fill-in,html[data-theme="dark"] #screen-board .pool-magnet.fill-in,html[data-theme="dark"] #screen-board .quick-pool-magnet.fill-in{background:linear-gradient(180deg,#fff8d8,#fce7a9)!important;border-color:#e1ab2f!important;border-left-color:#c88a0b!important;color:#5c4200!important}
#screen-board .board-main .magnet.fill-in .magnet-name,#screen-board .pool-magnet.fill-in strong,#screen-board .pool-magnet.fill-in small,html[data-theme="dark"] #screen-board .board-main .magnet.fill-in .magnet-name,html[data-theme="dark"] #screen-board .pool-magnet.fill-in strong,html[data-theme="dark"] #screen-board .pool-magnet.fill-in small{color:#5c4200!important}
#screen-board .slot-role-controls,#screen-board .slot-role-badges{left:5px!important;right:auto!important;top:auto!important;bottom:5px!important;transform:none!important;gap:3px!important;z-index:12!important}
#screen-board .slot-role-btn,#screen-board .slot-role-badge{inline-size:20px!important;block-size:20px!important;min-inline-size:20px!important;min-block-size:20px!important;font-size:9px!important}
#screen-board .slot-role-btn[data-slot-role="manager"],#screen-board .slot-role-badge.manager-role-icon{border-radius:50%!important}
#screen-board .slot-role-btn[data-slot-role="manager"] svg,#screen-board .slot-role-badge.manager-role-icon svg{width:12px!important;height:12px!important}
#screen-board .slot-role-btn[data-slot-role="manager"]{background:#031a33!important;color:#fff!important;border:1px solid #8295aa!important;box-shadow:0 1px 3px rgba(0,0,0,.2)!important}
#screen-board .slot-role-btn[data-slot-role="manager"].active,#screen-board .slot-role-badge.manager-role-icon{background:#f0b52d!important;color:#241b00!important;border:2px solid #fff!important;box-shadow:0 0 0 2px #9a5b00,0 2px 5px rgba(0,0,0,.25)!important}
html[data-theme="dark"] #screen-board .slot-role-btn[data-slot-role="manager"]{background:#031a33!important;color:#fff!important;border-color:#8fa4b8!important}
html[data-theme="dark"] #screen-board .slot-role-btn[data-slot-role="manager"].active,html[data-theme="dark"] #screen-board .slot-role-badge.manager-role-icon{background:#f0b52d!important;color:#241b00!important;border-color:#fff!important}
#screen-board .board-main .discussion-toggle,#screen-board .board-main .discussion-marker,#screen-board .board-main .return-player,#screen-board .board-main .mark-unavailable{position:absolute!important;top:auto!important;right:auto!important;bottom:5px!important;transform:none!important;inline-size:20px!important;block-size:20px!important;min-inline-size:20px!important;min-block-size:20px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;z-index:12!important}
#screen-board .board-main .discussion-toggle,#screen-board .board-main .discussion-marker{left:51px!important;border:2px solid var(--bs-error,#8f1d2c)!important;background:var(--bs-surface)!important;color:var(--bs-error,#8f1d2c)!important;font:inherit!important;cursor:pointer!important}
#screen-board .board-main .discussion-toggle.active,#screen-board .board-main .discussion-marker{background:color-mix(in srgb,var(--bs-error,#8f1d2c) 10%,var(--bs-surface))!important;color:var(--bs-error,#8f1d2c)!important;border:2px solid var(--bs-error,#8f1d2c)!important;box-shadow:none!important}
#screen-board .board-main .return-player{left:75px!important;font-size:13px!important;line-height:20px!important}#screen-board .board-main .mark-unavailable{left:99px!important;padding:2px!important}
#screen-board .board-main .form-bowl,#screen-board .board-main .finals-marker,#screen-board .board-main .cross-comp-marker{position:absolute!important;top:auto!important;bottom:5px!important;inline-size:20px!important;block-size:20px!important;min-inline-size:20px!important;min-block-size:20px!important}
#screen-board .board-main .magnet>.form-bowl{right:5px!important;top:auto!important;bottom:5px!important}#screen-board .board-main .finals-marker{right:29px!important;bottom:5px!important}#screen-board .board-main .magnet-name .cross-comp-marker,#screen-board .board-main .cross-comp-marker{right:53px!important;bottom:5px!important}
#screen-board #discussionListBtn.meeting-tool-active{border-color:#9a5b00!important;box-shadow:inset 0 -3px 0 #f0b52d!important;font-weight:750!important}
.meeting-list,.contact-change-list{display:grid;gap:9px;margin:16px 0;max-height:52vh;overflow:auto}.meeting-list-row,.contact-change-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid var(--bs-line);border-radius:10px;background:var(--bs-surface)}
.meeting-list-row>div,.contact-change-main{min-width:0}.meeting-list-row strong,.contact-change-main strong{display:block;color:var(--bs-text);font-size:14px}.meeting-list-row span,.contact-change-main span{display:block;margin-top:2px;color:var(--bs-muted);font-size:11px;line-height:1.35}.contact-change-main small{display:block;margin-top:5px;color:var(--bs-text);font-size:11px;font-weight:650}
.contact-change-row{grid-template-columns:auto minmax(0,1fr)}.contact-change-kind{min-width:44px;padding:5px 7px;border-radius:999px;text-align:center;border:1px solid var(--bs-line);font-size:9px;font-weight:850;letter-spacing:.06em}.kind-in{background:#e8f5ec;color:#176636}.kind-out{background:#f9e7ea;color:#7e2330}.kind-move,.kind-role{background:#fff3d2;color:#754b00}
.meeting-empty{display:grid;gap:5px;padding:16px;border:1px dashed var(--bs-line);border-radius:10px;background:var(--bs-soft)}.meeting-empty strong{color:var(--bs-text)}.meeting-empty span{color:var(--bs-muted);font-size:12px;line-height:1.45}
html[data-theme="dark"] .kind-in{background:#153b27;color:#a9e9bf}html[data-theme="dark"] .kind-out{background:#4b2028;color:#ffd3d8}html[data-theme="dark"] .kind-move,html[data-theme="dark"] .kind-role{background:#4a3814;color:#ffda7d}
@media(max-width:760px){#screen-board .board-main .magnet{min-height:78px!important;padding:10px 8px 34px!important}#screen-board .slot-role-btn,#screen-board .slot-role-badge,#screen-board .board-main .discussion-toggle,#screen-board .board-main .discussion-marker,#screen-board .board-main .return-player,#screen-board .board-main .mark-unavailable,#screen-board .board-main .form-bowl,#screen-board .board-main .finals-marker,#screen-board .board-main .cross-comp-marker{inline-size:23px!important;block-size:23px!important;min-inline-size:23px!important;min-block-size:23px!important}#screen-board .board-main .discussion-toggle,#screen-board .board-main .discussion-marker{left:60px!important}#screen-board .board-main .return-player{left:87px!important}#screen-board .board-main .mark-unavailable{left:114px!important}#screen-board .board-main .magnet>.form-bowl{right:5px!important}#screen-board .board-main .finals-marker{right:32px!important}#screen-board .board-main .magnet-name .cross-comp-marker,#screen-board .board-main .cross-comp-marker{right:59px!important}.meeting-list-row{grid-template-columns:1fr}.meeting-list-row .btn{width:100%}}


/* Selection Board spatial polish — 2026-09-06.
   Fixed-status bowl in a consistent top-left corner, collision-free action/status
   zones, contained names, wider division boards, smaller side pools, and a true
   full-width single-division layout. */
#screen-board .board-main .magnet>.form-bowl,
#screen-board .player-pool .pool-magnet>.form-bowl,
#screen-board .quick-player-pool-list .pool-magnet>.form-bowl,
#screen-board .quick-pool-magnet>.form-bowl{
  position:absolute!important;left:6px!important;top:6px!important;right:auto!important;bottom:auto!important;margin:0!important;
  inline-size:20px!important;block-size:20px!important;min-inline-size:20px!important;min-block-size:20px!important;z-index:14!important
}
#screen-board .board-main .return-player{left:auto!important;right:30px!important;bottom:5px!important}
#screen-board .board-main .mark-unavailable{left:auto!important;right:5px!important;bottom:5px!important}
#screen-board .board-main .finals-marker{left:auto!important;right:5px!important;top:5px!important;bottom:auto!important}
#screen-board .board-main .magnet-name .cross-comp-marker,
#screen-board .board-main .cross-comp-marker{left:auto!important;right:29px!important;top:5px!important;bottom:auto!important;margin:0!important}

#screen-board .board-main .magnet{min-width:0!important;overflow:hidden!important;padding:9px 7px 31px!important}
#screen-board .board-main .magnet-name{
  display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
  padding:0 25px!important;margin:0!important;text-align:center!important;white-space:normal!important;word-break:normal!important;
  overflow-wrap:anywhere!important;hyphens:none!important;overflow:hidden!important;text-overflow:clip!important;line-height:1.14!important
}
#screen-board .board-main .magnet-name.name-sm{font-size:13.75px!important}
#screen-board .board-main .magnet-name.name-xs{font-size:12.75px!important}
#screen-board .board-main .magnet-name.name-xxs{font-size:11.75px!important}

#screen-board .player-pool .pool-magnet,
#screen-board .quick-player-pool-list .pool-magnet,
#screen-board .quick-pool-magnet{position:relative!important;min-width:0!important;overflow:hidden!important}
#screen-board .player-pool .pool-magnet>strong,
#screen-board .quick-player-pool-list .pool-magnet>strong,
#screen-board .quick-pool-magnet>strong{
  display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;
  padding:0 24px!important;text-align:center!important;white-space:normal!important;word-break:normal!important;
  overflow-wrap:anywhere!important;hyphens:none!important;overflow:hidden!important
}

@media(min-width:1301px){
  html[data-touch-layout="false"] #screen-board .board-workspace:not(.division-focus-mode),
  html[data-view-mode="desktop"][data-touch-layout="false"] #screen-board .board-workspace:not(.division-focus-mode){
    display:block!important;width:100%!important;min-width:0!important
  }
  html[data-touch-layout="false"] #screen-board .board-workspace:not(.division-focus-mode)>.board-upper-workspace,
  html[data-view-mode="desktop"][data-touch-layout="false"] #screen-board .board-workspace:not(.division-focus-mode)>.board-upper-workspace{
    display:grid!important;grid-template-columns:minmax(0,1fr) 228px!important;gap:14px!important;align-items:start!important;width:100%!important;min-width:0!important
  }
  html[data-touch-layout="false"] #screen-board .board-workspace.division-focus-mode,
  html[data-view-mode="desktop"][data-touch-layout="false"] #screen-board .board-workspace.division-focus-mode{
    display:grid!important;grid-template-columns:minmax(0,1fr) 280px!important;gap:16px!important;align-items:start!important;width:100%!important;min-width:0!important
  }
}
#screen-board .division-grid.division-focus-grid{grid-template-columns:minmax(0,1fr)!important;width:100%!important;min-width:0!important}
#screen-board .division-focus-grid .division-card{grid-column:1/-1!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important}
#screen-board .division-focus-mode .board-upper-workspace,
#screen-board .division-focus-mode .board-main{width:100%!important;min-width:0!important}

@media(max-width:760px){
  #screen-board .board-main .magnet-name{padding:0 23px!important}
  #screen-board .board-main .magnet-name.name-sm{font-size:13px!important}
  #screen-board .board-main .magnet-name.name-xs{font-size:12px!important}
  #screen-board .board-main .magnet-name.name-xxs{font-size:11px!important}
  #screen-board .board-main .magnet>.form-bowl,
  #screen-board .player-pool .pool-magnet>.form-bowl,
  #screen-board .quick-player-pool-list .pool-magnet>.form-bowl,
  #screen-board .quick-pool-magnet>.form-bowl{left:5px!important;top:5px!important}
}


/* Whole-view name recovery — 2026-09-06.
   The single-division geometry is intentionally left untouched. In All Divisions
   only, remove the large horizontal name gutter that could collapse the text
   column at narrower desktop widths. Keep wrapping at word boundaries and let
   the fixed top-left form bowl float outside the central name lane. */
#screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name{
  width:100%!important;
  max-width:100%!important;
  padding-inline:3px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  text-align:center!important;
}
#screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name.name-sm{font-size:13.5px!important}
#screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name.name-xs{font-size:12.75px!important}
#screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name.name-xxs{font-size:11.75px!important}
@media(max-width:1500px) and (min-width:761px){
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name{font-size:13px!important;letter-spacing:-.15px!important}
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name.name-sm{font-size:12.5px!important}
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name.name-xs{font-size:11.75px!important}
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name.name-xxs{font-size:11px!important}
}


/* All-divisions magnet gutter repair + Shared Master discussion move — 2026-09-06.
   The legacy icon-gutter rule used 44px padding on both sides of every magnet.
   That was the invisible barrier clipping names in the tighter two-board view.
   Override that exact high-specificity selector only in All Divisions. */
#screen-board .board-workspace:not(.division-focus-mode) .board-main .slot.v1-drop .magnet,
#screen-board .board-workspace:not(.division-focus-mode) .board-main .slot.v1-drop:has(.slot-role-btn:nth-child(2)) .magnet{
  padding-left:6px!important;
  padding-right:6px!important;
}
#screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name{
  padding-left:18px!important;
  padding-right:3px!important;
  overflow:visible!important;
  max-width:none!important;
  width:100%!important;
}
/* Keep the protected form bowl top-left while giving the centred name lane room.
   The left-only reserve prevents text from running under the bowl without
   reintroducing a matching right-side dead zone. */
@media(max-width:1500px) and (min-width:761px){
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name{
    padding-left:17px!important;
    padding-right:2px!important;
  }
}


/* Player indicator + pool readability polish — 2026-09-06.
   The form bowl is a persistent status cue, so keep it compact in the top-left.
   Pool magnets use a dedicated centre name lane with source/type text floated
   independently, preventing flex/grid shrinkage from clipping player names. */

/* Smaller, tighter player-form bowl on board and every player-pool magnet. */
#screen-board .board-main .magnet>.form-bowl,
#screen-board .player-pool .pool-magnet>.form-bowl,
#screen-board .quick-player-pool-list .pool-magnet>.form-bowl,
#screen-board .quick-pool-magnet>.form-bowl{
  left:3px!important;
  top:3px!important;
  right:auto!important;
  bottom:auto!important;
  inline-size:16px!important;
  block-size:16px!important;
  min-inline-size:16px!important;
  min-block-size:16px!important;
  flex-basis:16px!important;
  margin:0!important;
  z-index:14!important;
}
#screen-board .board-main .magnet>.form-bowl svg,
#screen-board .player-pool .pool-magnet>.form-bowl svg,
#screen-board .quick-player-pool-list .pool-magnet>.form-bowl svg,
#screen-board .quick-pool-magnet>.form-bowl svg{
  width:9px!important;
  height:9px!important;
}

/* The All Divisions board name lane keeps only the minimum bowl-side reserve. */
#screen-board .board-workspace:not(.division-focus-mode) .board-main .magnet-name{
  padding-left:18px!important;
  padding-right:2px!important;
}

/* Pool magnets are no longer allowed to share the name's horizontal line with
   the source/type label. Name, bowl and source each have their own layer. */
#screen-board .player-pool .pool-magnet,
#screen-board .quick-player-pool-list .pool-magnet,
#screen-board .quick-pool-magnet{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:1fr!important;
  place-items:center!important;
  align-content:center!important;
  position:relative!important;
  min-width:0!important;
  min-height:54px!important;
  padding:6px 6px!important;
  overflow:hidden!important;
}
#screen-board .player-pool .pool-magnet>strong,
#screen-board .quick-player-pool-list .pool-magnet>strong,
#screen-board .quick-pool-magnet>strong{
  grid-column:1!important;
  grid-row:1!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
  padding:0 20px!important;
  margin:0!important;
  text-align:center!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.12!important;
  font-size:11.5px!important;
}
#screen-board .player-pool .pool-magnet>small,
#screen-board .quick-player-pool-list .pool-magnet>small,
#screen-board .quick-pool-magnet>small{
  position:absolute!important;
  top:4px!important;
  right:5px!important;
  max-width:42%!important;
  margin:0!important;
  padding:0!important;
  font-size:7px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-align:right!important;
  pointer-events:none!important;
  z-index:12!important;
}

/* Side quick pool: preserve one readable magnet per row. */
#screen-board .quick-player-pool-list{
  grid-template-columns:minmax(0,1fr)!important;
}
#screen-board .quick-player-pool-list .pool-magnet{
  width:100%!important;
  min-height:56px!important;
}

/* Main Player Pool: the legacy 118px auto-columns were too narrow once names
   and persistent status information shared the magnet. Give each magnet a
   readable physical width and a little more height, retaining horizontal scroll. */
#screen-board .board-workspace:not(.division-focus-mode) .player-pool .magnet-list{
  grid-template-rows:repeat(3,58px)!important;
  grid-auto-flow:column!important;
  grid-auto-columns:154px!important;
  gap:8px!important;
  min-height:202px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
#screen-board .board-workspace:not(.division-focus-mode) .player-pool .pool-magnet{
  width:154px!important;
  height:56px!important;
}

/* Focus-mode pool keeps its current footprint but gets the same readable text
   treatment; two columns remain available where there is enough width. */
#screen-board .division-focus-mode .player-pool .pool-magnet>strong{
  padding-left:20px!important;
  padding-right:6px!important;
}

@media(max-width:760px){
  #screen-board .board-main .magnet>.form-bowl,
  #screen-board .player-pool .pool-magnet>.form-bowl,
  #screen-board .quick-player-pool-list .pool-magnet>.form-bowl,
  #screen-board .quick-pool-magnet>.form-bowl{
    left:3px!important;
    top:3px!important;
    inline-size:15px!important;
    block-size:15px!important;
    min-inline-size:15px!important;
    min-block-size:15px!important;
    flex-basis:15px!important;
  }
  #screen-board .player-pool .pool-magnet>strong,
  #screen-board .quick-player-pool-list .pool-magnet>strong,
  #screen-board .quick-pool-magnet>strong{
    font-size:11px!important;
    padding-left:19px!important;
    padding-right:5px!important;
  }
}


/* Selection Board toolbar alignment polish — 2026-09-06.
   Build/Reference use matching panels, Board controls share one aligned label/action
   grid, and Share actions use equal button cells. The same structure serves
   My Board and Shared Master. */
#screen-board .board-main>.board-toolbar .toolbar-rail-build,
#screen-board .board-main>.board-toolbar .toolbar-rail-manage{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;
  width:100%!important;
  align-items:stretch!important;
}
#screen-board .board-main>.board-toolbar .toolbar-rail-build>.toolbar-group,
#screen-board .board-main>.board-toolbar .toolbar-rail-manage>.toolbar-group{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
}

/* Matching left-hand Build and Reference blocks. */
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="build"],
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:auto 44px!important;
  gap:7px!important;
  align-items:stretch!important;
  min-height:88px!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="build"]>.toolbar-group-label,
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.toolbar-group-label{
  grid-column:1/-1!important;
  align-self:end!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="build"]>.btn,
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.btn{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  padding-inline:8px!important;
}

/* Board row source reset — 2026-09-07.
   Share My Board owns the first action cell in both board modes. Saved Board,
   New Round and Delete retain the approved four-cell rhythm. Save state is
   secondary status text above the right-hand actions rather than an action tile. */
#screen-board .board-main>.board-toolbar .toolbar-save-group{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  grid-template-rows:16px 44px!important;
  gap:6px 8px!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  padding-left:10px!important;
  border-left:0!important;
}
#screen-board .board-main>.board-toolbar .toolbar-save-group>.toolbar-group-label{
  grid-column:1!important;
  grid-row:1!important;
  align-self:end!important;
}
#screen-board .board-main>.board-toolbar #shareMyBoardBtn{
  grid-column:1!important;
  grid-row:2!important;
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding:7px 10px!important;
}
#screen-board .board-main>.board-toolbar #personalBoardControls{
  grid-column:2!important;
  grid-row:1/3!important;
  display:grid!important;
  grid-template-rows:16px 44px!important;
  gap:6px!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  line-height:1!important;
}
#screen-board .board-main>.board-toolbar #personalBoardControls>select{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
}
#screen-board .board-main>.board-toolbar #boardSaveStatus{
  grid-column:3/5!important;
  grid-row:1!important;
  position:static!important;
  justify-self:end!important;
  align-self:end!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:var(--bs-muted,var(--muted))!important;
  font-size:9px!important;
  line-height:1!important;
  text-align:right!important;
}
#screen-board .board-main>.board-toolbar #boardSaveStatus>b{
  display:none!important;
}
#screen-board .board-main>.board-toolbar #boardSaveStatus>small{
  display:block!important;
  margin:0!important;
  color:var(--bs-muted,var(--muted))!important;
  font-size:9px!important;
  font-weight:650!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#screen-board .board-main>.board-toolbar #boardSaveStatus>small::before{
  content:"✓ "!important;
  color:var(--bs-success,#236348)!important;
  font-weight:900!important;
}
#screen-board .board-main>.board-toolbar #newPersonalBoardBtn{
  grid-column:3!important;
  grid-row:2!important;
}
#screen-board .board-main>.board-toolbar #deletePersonalBoardBtn{
  grid-column:4!important;
  grid-row:2!important;
}
#screen-board .board-main>.board-toolbar #newPersonalBoardBtn,
#screen-board .board-main>.board-toolbar #deletePersonalBoardBtn{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
}
#screen-board .board-main>.board-toolbar .personal-board-share:disabled{
  opacity:.46!important;
  cursor:not-allowed!important;
  filter:saturate(.15)!important;
  box-shadow:none!important;
}

/* Share panel: consistent four-column button rhythm on both board kinds.
   Dynamic Discussion/Contact state does not change the alignment. */
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.toolbar-group-label{
  grid-column:1/-1!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.btn{
  width:100%!important;
  min-width:0!important;
  height:44px!important;
  min-height:44px!important;
  margin:0!important;
  padding-inline:8px!important;
  justify-content:center!important;
  text-align:center!important;
}

/* Keep every toolbar button on the same visual baseline. */
#screen-board .board-main>.board-toolbar .btn{
  box-sizing:border-box!important;
  line-height:1.1!important;
}

/* When the toolbar becomes one column, retain the same internal alignment. */
@container(max-width:1180px){
  #screen-board .board-main>.board-toolbar .toolbar-save-group{
    padding-left:10px!important;
    padding-top:8px!important;
    border-top:0!important;
  }
}

/* Small/touch layouts return to a wrapping control stack rather than forcing
   four narrow cells. */
@container(max-width:760px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="build"],
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"],
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
    min-height:0!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-save-group{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:8px!important;
    padding:8px!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-save-group>.toolbar-group-label{
    order:0!important;
    width:100%!important;
    flex:1 1 100%!important;
  }
  #screen-board .board-main>.board-toolbar #shareMyBoardBtn{
    order:1!important;
    width:100%!important;
    flex:1 1 100%!important;
    min-height:44px!important;
  }
  #screen-board .board-main>.board-toolbar #personalBoardControls{
    order:2!important;
    width:100%!important;
    flex:1 1 100%!important;
    display:grid!important;
    grid-template-rows:auto 44px!important;
  }
  #screen-board .board-main>.board-toolbar #newPersonalBoardBtn{
    order:3!important;
    flex:1 1 140px!important;
    width:auto!important;
  }
  #screen-board .board-main>.board-toolbar #deletePersonalBoardBtn{
    order:4!important;
    flex:1 1 140px!important;
    width:auto!important;
  }
  #screen-board .board-main>.board-toolbar #boardSaveStatus{
    order:5!important;
    width:100%!important;
    max-width:100%!important;
    flex:1 1 100%!important;
    min-height:0!important;
    height:auto!important;
    padding:2px 0!important;
    justify-content:flex-start!important;
    text-align:left!important;
  }
  #screen-board .board-main>.board-toolbar #boardSaveStatus>small{
    font-size:10px!important;
  }
}


/* BowlsLink reference + send-placeholder spacing — 2026-09-06.
   Reference has three real actions, so use three equal cells rather than forcing
   four narrow columns. Shared Master also exposes a disabled future Send to
   BowlsLink control so final toolbar spacing can be judged before approval. */
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.btn{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  font-size:11px!important;
}
#screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn{
  min-width:0!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  opacity:.58!important;
  cursor:not-allowed!important;
  border-style:dashed!important;
  white-space:nowrap!important;
  font-size:10.5px!important;
}
#screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn:not(.hidden)~*{}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]:has(#sendBowlsLinkPreviewBtn:not(.hidden)){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
@container(max-width:760px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]:has(#sendBowlsLinkPreviewBtn:not(.hidden)){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Approved Selection Board toolbar refinement — 2026-09-06.
   Send to BowlsLink is a disabled Shared Master preview under Legend in Reference.
   Build and Board are equal-sized desktop panels. Auto Populate uses one smaller
   text step to protect its label without changing the shared button geometry. */
@container(min-width:1121px){
  #screen-board .board-main>.board-toolbar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="build"],
  #screen-board .board-main>.board-toolbar .toolbar-save-group{
    height:88px!important;
    min-height:88px!important;
  }
}
#screen-board .board-main>.board-toolbar #autoPopulateBtn{
  font-size:11px!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:auto 44px!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]:has(#sendBowlsLinkPreviewBtn:not(.hidden)){
  grid-template-rows:auto 44px 44px!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#boardLegendBtn{
  grid-column:1!important;
  grid-row:2!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#importResultsBtn{
  grid-column:2!important;
  grid-row:2!important;
}
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#sendBowlsLinkPreviewBtn{
  grid-column:1!important;
  grid-row:3!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  padding-inline:8px!important;
  font-size:10.5px!important;
}
@container(max-width:760px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}


/* Division title visibility repair — 2026-09-06.
   The Astra board-title polish removed the legacy right-side clearance while
   fixture controls and standing badges remained absolutely positioned. That let
   those controls sit over the division H3. Restore a protected title lane and
   explicitly keep the division name visible in both light and dark themes. */
@media(min-width:761px){
  #screen-board .division-card:not(.mobile-division) .v1-divtitle{
    position:relative!important;
    min-height:54px!important;
    padding:10px 322px 10px 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  #screen-board .division-card:not(.mobile-division) .v1-divtitle:has(.division-standing){
    padding-right:458px!important;
  }
  #screen-board .division-card:not(.mobile-division) .v1-divtitle h3{
    position:relative!important;
    z-index:4!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    margin:0!important;
    color:#fff!important;
    text-align:left!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #screen-board .division-card:not(.mobile-division) .fixture-controls-v1{z-index:5!important}
  #screen-board .division-card:not(.mobile-division) .division-standing{z-index:6!important}
}
/* Forced desktop and narrower laptop widths need two header lanes rather than
   squeezing the title behind the controls. */
@media(min-width:761px) and (max-width:1350px){
  #screen-board .division-card:not(.mobile-division) .v1-divtitle,
  #screen-board .division-card:not(.mobile-division) .v1-divtitle:has(.division-standing){
    min-height:92px!important;
    padding:10px 14px 50px 16px!important;
  }
  #screen-board .division-card:not(.mobile-division) .v1-divtitle:has(.division-standing){
    padding-right:150px!important;
  }
  #screen-board .division-card:not(.mobile-division) .fixture-controls-v1,
  #screen-board .division-card:not(.mobile-division) .v1-divtitle:has(.division-standing) .fixture-controls-v1{
    left:12px!important;
    right:12px!important;
    top:auto!important;
    bottom:8px!important;
    justify-content:flex-end!important;
  }
}


/* Share label containment + role-icon fit — 2026-09-06.
   Long Share labels were inheriting the global toolbar nowrap rule and could
   spill across neighbouring cells. Give the Share actions a slightly taller
   equal button, one smaller label step, and controlled two-line wrapping.
   Desktop C/M role controls are reduced slightly so their visual rings stay
   comfortably inside the magnet boundary. Touch hit targets remain unchanged. */
#screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.btn{
  height:50px!important;
  min-height:50px!important;
  padding:6px 7px!important;
  font-size:11.5px!important;
  line-height:1.05!important;
  white-space:normal!important;
  overflow:hidden!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
  text-wrap:balance;
}
html[data-touch-layout="false"] #screen-board .slot-role-controls,
html[data-touch-layout="false"] #screen-board .slot-role-badges{
  left:6px!important;
  bottom:6px!important;
  gap:3px!important;
}
html[data-touch-layout="false"] #screen-board .slot-role-btn,
html[data-touch-layout="false"] #screen-board .slot-role-badge{
  inline-size:18px!important;
  block-size:18px!important;
  min-inline-size:18px!important;
  min-block-size:18px!important;
  font-size:8px!important;
}
html[data-touch-layout="false"] #screen-board .slot-role-btn[data-slot-role="manager"] svg,
html[data-touch-layout="false"] #screen-board .slot-role-badge.manager-role-icon svg{
  width:10px!important;
  height:10px!important;
}
html[data-touch-layout="false"] #screen-board .slot-role-btn[data-slot-role="manager"].active,
html[data-touch-layout="false"] #screen-board .slot-role-badge.manager-role-icon{
  box-shadow:0 0 0 1px #9a5b00,0 1px 3px rgba(0,0,0,.22)!important;
}


/* Saved Board action-label containment — 2026-09-06.
   Keep the four-cell Board row geometry unchanged while preventing the long
   "+ NEW ROUND BOARD" label from crossing into Delete Board at narrower
   desktop widths. */
#screen-board .board-main>.board-toolbar #newPersonalBoardBtn{
  max-width:100%!important;
  box-sizing:border-box!important;
  padding-inline:5px!important;
  font-size:10.5px!important;
  line-height:1.05!important;
  letter-spacing:-.08px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}


/* Shared Master Discussion vector glyph — 2026-09-07 source reset.
   The visible ? is one inline SVG centred by the existing grid control. Remove
   all pseudo-element glyphs so font metrics and compatibility layers cannot
   create an offset or duplicate mark. */
#screen-board .board-main .discussion-toggle::before,
#screen-board .board-main .discussion-marker::before,
#screen-board .board-main .discussion-toggle::after,
#screen-board .board-main .discussion-marker::after{
  content:none!important;
  display:none!important;
}
#screen-board .board-main .discussion-glyph{
  display:block!important;
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  min-height:12px!important;
  color:inherit!important;
  overflow:visible!important;
  pointer-events:none!important;
}
@media(max-width:760px){
  #screen-board .board-main .discussion-glyph{
    width:13px!important;
    height:13px!important;
    min-width:13px!important;
    min-height:13px!important;
  }
}


/* Pool magnet surface parity — 2026-09-06.
   Non-fill-in Player Pool and Quick Pool magnets use the exact same base
   surface as an on-board player magnet. Fill-ins keep their locked gold
   treatment. Unavailable players keep their red semantic border/action cue,
   but no longer use a different magnet fill colour. */
#screen-board .player-pool .pool-magnet:not(.fill-in),
#screen-board .quick-player-pool-list .pool-magnet:not(.fill-in),
#screen-board .quick-pool-magnet:not(.fill-in){
  background:linear-gradient(180deg,var(--bs-surface),color-mix(in srgb,var(--bs-soft) 70%,var(--bs-surface)))!important;
  color:var(--bs-text)!important;
  border-color:color-mix(in srgb,var(--bs-club) 18%,var(--bs-line))!important;
  border-left-color:color-mix(in srgb,var(--bs-club) 65%,var(--bs-line))!important;
}
#screen-board .player-pool .pool-magnet:not(.fill-in)>strong,
#screen-board .quick-player-pool-list .pool-magnet:not(.fill-in)>strong,
#screen-board .quick-pool-magnet:not(.fill-in)>strong,
#screen-board .player-pool .pool-magnet:not(.fill-in)>small,
#screen-board .quick-player-pool-list .pool-magnet:not(.fill-in)>small,
#screen-board .quick-pool-magnet:not(.fill-in)>small{
  color:var(--bs-text)!important;
}
#screen-board .player-pool .pool-magnet.bs-unavailable:not(.fill-in),
#screen-board .quick-player-pool-list .pool-magnet.bs-unavailable:not(.fill-in),
#screen-board .quick-pool-magnet.bs-unavailable:not(.fill-in){
  border-color:var(--bs-error)!important;
  border-left-color:var(--bs-error)!important;
}


/* Finals + cross-competition indicator gutter audit — 2026-09-06.
   Keep status indicators out of the player-name lane and aligned with the
   current compact magnet language:
   - form bowl: top-left
   - finals warning / other-competition alert: protected top-right status gutter
   - Captain / Manager / Discussion: bottom-left
   - Return / Unavailable: bottom-right
   Pool magnets keep their source label and Mark Available action at top-right,
   so the other-competition diamond sits bottom-right there instead. */

/* Finals Watch is a warning state, not a permanent positive-eligibility badge. */
#screen-board .board-main .finals-marker{
  box-sizing:border-box!important;
  position:absolute!important;
  left:auto!important;
  right:6px!important;
  top:6px!important;
  bottom:auto!important;
  inline-size:18px!important;
  block-size:18px!important;
  min-inline-size:18px!important;
  min-block-size:18px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  font-family:Arial,sans-serif!important;
  font-size:9px!important;
  line-height:1!important;
  z-index:16!important;
}

/* The cross-competition cue uses an 18px safe wrapper with a smaller diamond
   drawn inside it. This prevents a rotated square from clipping against the
   magnet boundary and stops the generic circular-control rule changing its
   intended diamond identity. */
#screen-board .cross-comp-marker{
  box-sizing:border-box!important;
  inline-size:18px!important;
  block-size:18px!important;
  min-inline-size:18px!important;
  min-block-size:18px!important;
  width:18px!important;
  height:18px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  display:grid!important;
  place-items:center!important;
  overflow:visible!important;
  color:var(--bs-club)!important;
  font-size:9px!important;
  line-height:1!important;
  z-index:16!important;
}
#screen-board .cross-comp-marker::before{
  content:""!important;
  position:absolute!important;
  inline-size:11px!important;
  block-size:11px!important;
  border:1.5px solid currentColor!important;
  border-radius:2px!important;
  background:var(--bs-surface)!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  box-shadow:0 1px 2px rgba(16,32,51,.16)!important;
  pointer-events:none!important;
}
#screen-board .cross-comp-marker>span{
  position:relative!important;
  z-index:1!important;
  display:grid!important;
  place-items:center!important;
  inline-size:100%!important;
  block-size:100%!important;
  transform:none!important;
  font-size:9px!important;
  line-height:1!important;
}

/* Board magnets: use one vertical status gutter. If both warnings exist,
   Finals sits first and the diamond stacks beneath it. */
#screen-board .board-main .magnet-name .cross-comp-marker,
#screen-board .board-main .cross-comp-marker{
  position:absolute!important;
  left:auto!important;
  right:6px!important;
  top:6px!important;
  bottom:auto!important;
  margin:0!important;
}
#screen-board .board-main .magnet:has(.finals-marker) .cross-comp-marker{
  top:28px!important;
}
#screen-board .board-main .magnet:has(.finals-marker) .magnet-name,
#screen-board .board-main .magnet:has(.cross-comp-marker) .magnet-name{
  padding-right:27px!important;
}

/* Pool magnets already use the top-right for the source label and, when
   unavailable, the Mark Available control. Keep the diamond in a separate
   bottom-right corner and reserve only that small text gutter. */
#screen-board .player-pool .pool-magnet .cross-comp-marker,
#screen-board .quick-player-pool-list .pool-magnet .cross-comp-marker,
#screen-board .quick-pool-magnet .cross-comp-marker{
  position:absolute!important;
  left:auto!important;
  right:6px!important;
  top:auto!important;
  bottom:6px!important;
  margin:0!important;
}
#screen-board .player-pool .pool-magnet:has(.cross-comp-marker)>strong,
#screen-board .quick-player-pool-list .pool-magnet:has(.cross-comp-marker)>strong,
#screen-board .quick-pool-magnet:has(.cross-comp-marker)>strong{
  padding-right:27px!important;
}

/* Fill-ins remain exempt from cross-competition alerts. */
#screen-board .fill-in .cross-comp-marker{
  display:none!important;
}

html[data-theme="dark"] #screen-board .cross-comp-marker{
  color:var(--bs-on-club)!important;
}
html[data-theme="dark"] #screen-board .cross-comp-marker::before{
  background:var(--bs-surface)!important;
}

@media(max-width:760px){
  #screen-board .board-main .finals-marker,
  #screen-board .cross-comp-marker{
    inline-size:20px!important;
    block-size:20px!important;
    min-inline-size:20px!important;
    min-block-size:20px!important;
    width:20px!important;
    height:20px!important;
  }
  #screen-board .board-main .magnet:has(.finals-marker) .cross-comp-marker{
    top:31px!important;
  }
  #screen-board .board-main .magnet:has(.finals-marker) .magnet-name,
  #screen-board .board-main .magnet:has(.cross-comp-marker) .magnet-name{
    padding-right:30px!important;
  }
  #screen-board .player-pool .pool-magnet:has(.cross-comp-marker)>strong,
  #screen-board .quick-player-pool-list .pool-magnet:has(.cross-comp-marker)>strong,
  #screen-board .quick-pool-magnet:has(.cross-comp-marker)>strong{
    padding-right:30px!important;
  }
}


/* Touch header control separation — 2026-09-06.
   Competition, Appearance, View and Log out each get a dedicated grid cell on
   phone/touch widths. This replaces the legacy three-column squeeze that hid
   Log out and allowed select labels to collide. */
@media(max-width:620px){
  .topbar{
    min-height:92px!important;
    padding:6px!important;
    gap:6px!important;
    align-items:flex-start!important;
  }
  .club-lockup{
    min-width:38px!important;
    width:38px!important;
    flex:0 0 38px!important;
    margin-top:2px!important;
  }
  .top-actions{
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(92px,.75fr)!important;
    grid-template-areas:
      "competition appearance"
      "view logout"!important;
    gap:5px!important;
    flex:1 1 auto!important;
    min-width:0!important;
    width:auto!important;
    margin-left:auto!important;
    align-items:stretch!important;
  }
  .top-actions #competitionSelect{grid-area:competition!important}
  .top-actions #appearanceSelect{grid-area:appearance!important}
  .top-actions #viewModeSelect{grid-area:view!important}
  .top-actions #logoutBtn{grid-area:logout!important}
  .top-actions select,
  .top-actions .icon-btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:38px!important;
    height:38px!important;
    box-sizing:border-box!important;
    margin:0!important;
    font-size:9px!important;
  }
  .top-actions select{
    padding:0 18px 0 7px!important;
  }
  .top-actions #logoutBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0 8px!important;
    white-space:nowrap!important;
  }
  .mobile-view-mode-wrap{display:none!important}
}


/* My Board selector sharing — 2026-09-06.
   Immutable shared snapshots stay visually separate from Shared Master and use
   compact, readable selector lists and a view-only team preview. */
.board-share-recipient-host,
.board-share-library,
.board-share-preview{
  display:grid!important;
  gap:10px!important;
  margin-top:14px!important;
}
.board-share-select-all{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:9px 11px!important;
  border:1px solid var(--bs-line)!important;
  border-radius:9px!important;
  background:var(--bs-soft)!important;
}
.board-share-select-all label{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  cursor:pointer!important;
}
.board-share-select-all span{
  color:var(--bs-muted)!important;
  font-size:10px!important;
  font-weight:750!important;
}
.board-share-recipient-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:320px!important;
  overflow:auto!important;
}
.board-share-recipient{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid var(--bs-line)!important;
  border-radius:9px!important;
  background:var(--bs-surface)!important;
  cursor:pointer!important;
}
.board-share-recipient>span{
  display:grid!important;
  min-width:0!important;
}
.board-share-recipient strong{
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--bs-text)!important;
  font-size:12px!important;
}
.board-share-recipient small{
  margin-top:2px!important;
  color:var(--bs-muted)!important;
  font-size:9px!important;
  font-weight:800!important;
}
.board-share-library h3{
  margin:4px 0 0!important;
  color:var(--bs-text)!important;
  font-size:13px!important;
}
.board-share-library-row,
.board-share-sent-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:10px 11px!important;
  border:1px solid var(--bs-line)!important;
  border-radius:9px!important;
  background:var(--bs-surface)!important;
}
.board-share-sent-row{
  grid-template-columns:minmax(0,1fr) auto auto!important;
}
.board-share-library-row.unread{
  border-left:4px solid var(--bs-club)!important;
}
.board-share-library-row>div,
.board-share-sent-row>div{
  min-width:0!important;
}
.board-share-library-row strong,
.board-share-sent-row strong{
  display:block!important;
  color:var(--bs-text)!important;
  font-size:12px!important;
}
.board-share-library-row small,
.board-share-sent-row small{
  display:block!important;
  margin-top:2px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--bs-muted)!important;
  font-size:9px!important;
}
.board-share-library.sent{
  margin-top:18px!important;
  padding-top:12px!important;
  border-top:1px solid var(--bs-line)!important;
}
.board-share-preview{
  max-height:56vh!important;
  overflow:auto!important;
  padding-right:3px!important;
}
.board-share-division{
  overflow:hidden!important;
  border:1px solid var(--bs-line)!important;
  border-radius:10px!important;
  background:var(--bs-surface)!important;
}
.board-share-division>header{
  padding:10px 12px!important;
  background:var(--bs-club)!important;
  color:var(--bs-on-club)!important;
}
.board-share-division>header strong{
  display:block!important;
  font-size:13px!important;
}
.board-share-division>header small{
  display:block!important;
  margin-top:2px!important;
  color:var(--bs-on-club)!important;
  opacity:.82!important;
  font-size:9px!important;
}
.board-share-rinks{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding:9px!important;
}
.board-share-rink{
  overflow:hidden!important;
  border:1px solid var(--bs-line)!important;
  border-radius:8px!important;
  background:var(--bs-soft)!important;
}
.board-share-rink>b{
  display:block!important;
  padding:7px 9px!important;
  border-bottom:1px solid var(--bs-line)!important;
  color:var(--bs-text)!important;
  font-size:10px!important;
}
.board-share-rink>div{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:center!important;
  padding:6px 8px!important;
  border-bottom:1px solid color-mix(in srgb,var(--bs-line) 72%,transparent)!important;
}
.board-share-rink>div:last-child{
  border-bottom:0!important;
}
.board-share-rink>div span{
  color:var(--bs-muted)!important;
  font-size:9px!important;
  font-weight:750!important;
}
.board-share-rink>div strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:var(--bs-text)!important;
  font-size:11px!important;
}
.board-share-rink>div em{
  min-width:18px!important;
  color:var(--bs-club)!important;
  font-size:9px!important;
  font-style:normal!important;
  font-weight:900!important;
  text-align:right!important;
}
@media(max-width:700px){
  .board-share-recipient-list,
  .board-share-rinks{
    grid-template-columns:1fr!important;
  }
  .board-share-library-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .board-share-library-row .mini-btn{
    grid-column:1/-1!important;
    width:100%!important;
  }
}


.board-share-manage-list{
  display:grid!important;
  gap:7px!important;
  margin-top:14px!important;
}
.board-share-manage-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
  padding:9px 10px!important;
  border:1px solid var(--bs-line)!important;
  border-radius:9px!important;
  background:var(--bs-surface)!important;
}
.board-share-manage-row>div{min-width:0!important}
.board-share-manage-row strong{
  display:block!important;
  color:var(--bs-text)!important;
  font-size:12px!important;
}
.board-share-manage-row small{
  display:block!important;
  margin-top:2px!important;
  color:var(--bs-muted)!important;
  font-size:9px!important;
  font-weight:800!important;
}
.board-share-manage-row.revoked{
  opacity:.58!important;
}
@media(max-width:700px){
  .board-share-sent-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .board-share-sent-row .mini-btn{
    grid-column:1/-1!important;
    width:100%!important;
  }
}


/* Captain / Manager role-state colour parity — 2026-09-07.
   Keep the existing icon size, geometry and bottom-left magnet lane unchanged.
   Light mode: both unselected role controls are white.
   Dark mode: both unselected role controls use the established navy treatment.
   In every mode, an assigned/selected Captain or Manager uses the same amber
   state so role selection is immediately visible without relying on icon shape. */
html:not([data-theme="dark"]) #screen-board .slot-role-btn[data-slot-role="captain"],
html:not([data-theme="dark"]) #screen-board .slot-role-btn[data-slot-role="manager"]{
  background:#fff!important;
  color:#031a33!important;
  border:1px solid #8295aa!important;
  box-shadow:0 1px 3px rgba(0,0,0,.14)!important;
}
html[data-theme="dark"] #screen-board .slot-role-btn[data-slot-role="captain"],
html[data-theme="dark"] #screen-board .slot-role-btn[data-slot-role="manager"]{
  background:#031a33!important;
  color:#fff!important;
  border:1px solid #8fa4b8!important;
  box-shadow:0 1px 3px rgba(0,0,0,.20)!important;
}
#screen-board .slot-role-btn[data-slot-role="captain"].active,
#screen-board .slot-role-btn[data-slot-role="manager"].active,
#screen-board .slot-role-badge{
  background:#f0b52d!important;
  color:#241b00!important;
  border:2px solid #fff!important;
  box-shadow:0 0 0 2px #9a5b00,0 2px 5px rgba(0,0,0,.25)!important;
}
html[data-theme="dark"] #screen-board .slot-role-btn[data-slot-role="captain"].active,
html[data-theme="dark"] #screen-board .slot-role-btn[data-slot-role="manager"].active,
html[data-theme="dark"] #screen-board .slot-role-badge{
  background:#f0b52d!important;
  color:#241b00!important;
  border-color:#fff!important;
}
html[data-touch-layout="false"] #screen-board .slot-role-btn[data-slot-role="captain"].active,
html[data-touch-layout="false"] #screen-board .slot-role-btn[data-slot-role="manager"].active,
html[data-touch-layout="false"] #screen-board .slot-role-badge{
  box-shadow:0 0 0 1px #9a5b00,0 1px 3px rgba(0,0,0,.22)!important;
}


/* Board mode parity — 2026-09-07.
   Save state is secondary text in both My Board and Shared Master. Do not let
   legacy board-save-status card styling reappear in either mode. */
#screen-board .board-main>.board-toolbar #boardSaveStatus.board-save-status-compact{
  grid-column:3/5!important;
  grid-row:1!important;
  position:static!important;
  justify-self:end!important;
  align-self:end!important;
  width:auto!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-left:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:block!important;
  color:var(--bs-muted,var(--muted))!important;
  font-size:9px!important;
  line-height:1!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
#screen-board .board-main>.board-toolbar #boardSaveStatus.board-save-status-compact small{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:var(--bs-muted,var(--muted))!important;
  font-size:9px!important;
  font-weight:650!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#screen-board .board-main>.board-toolbar #boardSaveStatus.board-save-status-compact small::before{
  content:"✓ "!important;
  color:var(--bs-success,#236348)!important;
  font-weight:900!important;
}
@container(max-width:760px){
  #screen-board .board-main>.board-toolbar #boardSaveStatus.board-save-status-compact{
    width:100%!important;
    max-width:100%!important;
    text-align:left!important;
  }
  #screen-board .board-main>.board-toolbar #boardSaveStatus.board-save-status-compact small{
    font-size:10px!important;
  }
}


/* Mobile app-shell hierarchy — 2026-09-07.
   The phone header keeps only immediate context controls visible: club,
   competition and view mode. Appearance and Log out live in More. */
@media(max-width:620px){
  .topbar{
    height:auto!important;
    min-height:116px!important;
    padding:10px 12px!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-areas:"brand actions"!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:center!important;
  }
  .topbar .club-lockup{
    grid-area:brand!important;
    width:44px!important;
    min-width:44px!important;
    max-width:44px!important;
    flex:0 0 44px!important;
    margin:0!important;
    align-self:center!important;
    justify-self:start!important;
  }
  .topbar .club-lockup .brand-mark{
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border-radius:11px!important;
  }
  .topbar .top-actions{
    grid-area:actions!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "competition"
      "view"!important;
    gap:8px!important;
    align-items:stretch!important;
  }
  .topbar .top-actions #competitionSelect{grid-area:competition!important}
  .topbar .top-actions #viewModeSelect{grid-area:view!important}
  .topbar .top-actions #appearanceSelect,
  .topbar .top-actions #logoutBtn{
    display:none!important;
  }
  .topbar .top-actions #competitionSelect,
  .topbar .top-actions #viewModeSelect{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:44px!important;
    min-height:44px!important;
    margin:0!important;
    box-sizing:border-box!important;
    padding:0 32px 0 12px!important;
    font-size:12px!important;
    font-weight:750!important;
    line-height:1.1!important;
  }
  .mobile-view-mode-wrap{display:none!important}
}
@media(max-width:390px){
  .topbar{
    padding-left:10px!important;
    padding-right:10px!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    column-gap:8px!important;
  }
  .topbar .club-lockup,
  .topbar .club-lockup .brand-mark{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
  }
  .topbar .club-lockup .brand-mark{
    height:42px!important;
    min-height:42px!important;
  }
  .topbar .top-actions #competitionSelect,
  .topbar .top-actions #viewModeSelect{
    font-size:11px!important;
  }
}

/* More is the home for secondary mobile settings and account actions. */
.mobile-more-menu{
  display:grid!important;
  gap:10px!important;
  margin-top:16px!important;
}
.mobile-more-appearance{
  display:grid!important;
  gap:6px!important;
  padding:10px 11px!important;
  border:1px solid var(--bs-line)!important;
  border-radius:10px!important;
  background:var(--bs-soft)!important;
}
.mobile-more-appearance>span{
  color:var(--bs-muted)!important;
  font-size:10px!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
}
.mobile-more-appearance select{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  background:var(--bs-surface)!important;
  color:var(--bs-text)!important;
}
.mobile-more-logout{
  margin-top:2px!important;
}


/* Premium Selection Board UI polish — 2026-09-08.
   Four visual corrections from Founder desktop QA:
   1) Reference/Share panel height parity
   2) restore the Board panel's missing left border
   3) exact on-board / pool surface parity for full-availability magnets
   4) true-centre board names with symmetric status gutters. */

/* The two toolbar rails share one desktop height. Their first rows (Build/Board)
   remain locked at 88px; Reference and Share stretch together beneath them. */
@container(min-width:1121px){
  #screen-board .board-main>.board-toolbar{
    align-items:stretch!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-rail-build,
  #screen-board .board-main>.board-toolbar .toolbar-rail-manage{
    grid-template-rows:88px minmax(0,1fr)!important;
    align-self:stretch!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"],
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    height:100%!important;
    min-height:0!important;
    align-self:stretch!important;
  }

  /* Reference deliberately uses two slightly taller action rows. This gives
     BowlsLink labels a premium two-line treatment and removes the short-panel
     appearance without widening the overall board. */
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
    grid-template-rows:auto 52px 52px!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.btn{
    height:52px!important;
    min-height:52px!important;
  }
}

/* BowlsLink action names are intentionally two lines, matching the visual
   language already used by Contact Changes and Team Stickers PDF. */
#screen-board .board-main>.board-toolbar #importResultsBtn,
#screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn{
  white-space:normal!important;
  line-height:1.05!important;
}
#screen-board .board-main>.board-toolbar #importResultsBtn::after,
#screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn::after{
  content:none!important;
  display:none!important;
}
#screen-board .board-main>.board-toolbar .toolbar-label-two-line{
  display:block!important;
  width:100%!important;
  margin:0!important;
  text-align:center!important;
  white-space:normal!important;
  line-height:1.05!important;
  font-size:11px!important;
  font-weight:inherit!important;
  color:inherit!important;
}
#screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn .toolbar-label-two-line{
  font-size:10.5px!important;
}

/* The standard toolbar-group border was unintentionally removed from the left
   edge of Board by the 2026-09-07 source reset. Restore the complete frame. */
#screen-board .board-main>.board-toolbar .toolbar-save-group{
  border-left:1px solid var(--bs-line)!important;
}

/* Full-availability magnets use one surface language everywhere. The explicit
   .full-availability selectors outrank legacy dark-mode rules in the embedded
   production wrapper. Fill-in gold and unavailable semantic borders remain
   untouched. */
#screen-board .board-main .slot.v1-drop .magnet.full-availability,
#screen-board .player-pool .pool-magnet.full-availability,
#screen-board .quick-player-pool-list .pool-magnet.full-availability,
#screen-board .quick-pool-magnet.full-availability,
html[data-theme="dark"] #screen-board .board-main .slot.v1-drop .magnet.full-availability,
html[data-theme="dark"] #screen-board .player-pool .pool-magnet.full-availability,
html[data-theme="dark"] #screen-board .quick-player-pool-list .pool-magnet.full-availability,
html[data-theme="dark"] #screen-board .quick-pool-magnet.full-availability{
  background:linear-gradient(180deg,var(--bs-surface),color-mix(in srgb,var(--bs-soft) 70%,var(--bs-surface)))!important;
  color:var(--bs-text)!important;
  border-color:color-mix(in srgb,var(--bs-club) 18%,var(--bs-line))!important;
  border-left-color:color-mix(in srgb,var(--bs-club) 65%,var(--bs-line))!important;
  box-shadow:var(--bs-shadow)!important;
}
#screen-board .player-pool .pool-magnet.full-availability>strong,
#screen-board .quick-player-pool-list .pool-magnet.full-availability>strong,
#screen-board .quick-pool-magnet.full-availability>strong,
#screen-board .player-pool .pool-magnet.full-availability>small,
#screen-board .quick-player-pool-list .pool-magnet.full-availability>small,
#screen-board .quick-pool-magnet.full-availability>small{
  color:var(--bs-text)!important;
}

/* True-centre desktop name lane. Symmetric gutters protect the top-left form
   bowl and top-right status indicators while keeping the text centred on the
   physical magnet, not on a one-sided leftover lane. */
@media(min-width:761px){
  #screen-board .board-main .slot.v1-drop .magnet-name,
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .slot.v1-drop .magnet-name,
  #screen-board .division-focus-mode .board-main .slot.v1-drop .magnet-name{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding-left:24px!important;
    padding-right:24px!important;
    margin:0!important;
    text-align:center!important;
    overflow:hidden!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}


/* Two-line magnet name centering — 2026-09-08.
   Every wrapped line centres independently on the true magnet centre. */
@media(min-width:761px){
  #screen-board .board-main .slot.v1-drop .magnet-name,
  #screen-board .board-workspace:not(.division-focus-mode) .board-main .slot.v1-drop .magnet-name,
  #screen-board .division-focus-mode .board-main .slot.v1-drop .magnet-name{
    margin-left:auto!important;
    margin-right:auto!important;
    text-align:center!important;
    text-align-last:center!important;
    text-indent:0!important;
    text-wrap:balance;
  }
}


/* Deterministic wrapped-name centering — 2026-09-08.
   Player names are split into unbreakable word items inside a wrapping flex row.
   Each flex line is independently centred, so a surname cannot drift relative
   to the first name even when legacy text-line rules are present. */
#screen-board .board-main .slot.v1-drop .magnet-name-words{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  align-content:center!important;
  column-gap:.28em!important;
  row-gap:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:0!important;
  text-align:center!important;
}
#screen-board .board-main .slot.v1-drop .magnet-name-word{
  display:block!important;
  flex:0 0 auto!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
  text-align:center!important;
  line-height:inherit!important;
}


/* Light-mode Discussion visibility — 2026-09-08.
   Increase only the marked Discussion fill in light mode. Dark mode is
   intentionally untouched. */
html:not([data-theme="dark"]) #screen-board .board-main .discussion-toggle.active,
html:not([data-theme="dark"]) #screen-board .board-main .discussion-marker{
  background:color-mix(in srgb,var(--bs-error,#8f1d2c) 24%,var(--bs-surface))!important;
}


/* Reference / Share toolbar parity + Discussion active fill — 2026-09-08.
   Reference now follows the same row rhythm as Share: common label plane,
   8px gaps and 50px action rows. */
@container(min-width:1121px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"],
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    display:grid!important;
    align-content:start!important;
    row-gap:8px!important;
    column-gap:8px!important;
    grid-template-rows:auto 50px 50px!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.toolbar-group-label,
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.toolbar-group-label{
    grid-column:1/-1!important;
    grid-row:1!important;
    margin:0!important;
    align-self:start!important;
    line-height:1!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.btn,
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.btn{
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#boardLegendBtn{
    grid-column:1!important;
    grid-row:2!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#importResultsBtn{
    grid-column:2!important;
    grid-row:2!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#sendBowlsLinkPreviewBtn{
    grid-column:1!important;
    grid-row:3!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>#discussionListBtn{
    grid-column:2!important;
    grid-row:3!important;
  }
}

/* Discussion count is a true active state, not an underline accent.
   Use the same BowlsSelect risk red as marked Discussion controls in both
   light and dark modes. */
#screen-board #discussionListBtn.meeting-tool-active{
  background:var(--bs-error,#8f1d2c)!important;
  color:#fff!important;
  border-color:var(--bs-error,#8f1d2c)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.18)!important;
  font-weight:800!important;
}


/* Reference row-gap parity — 2026-09-08.
   Final visual calibration from Founder screenshot: Reference needs more
   vertical separation between its two action rows while Share is already
   visually correct. */
@container(min-width:1121px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
    row-gap:14px!important;
  }
}


/* Dark-mode Discussion indicator visibility — 2026-09-08.
   Light mode already has its approved 24% treatment and is intentionally
   untouched. Dark mode needs a stronger fill to read clearly against the
   navy magnet surface. */
html[data-theme="dark"] #screen-board .board-main .discussion-toggle.active,
html[data-theme="dark"] #screen-board .board-main .discussion-marker{
  background:color-mix(in srgb,var(--bs-error,#8f1d2c) 36%,var(--bs-surface))!important;
  color:var(--bs-error,#8f1d2c)!important;
  border-color:var(--bs-error,#8f1d2c)!important;
}


/* Exact Reference / Share row alignment — 2026-09-08.
   Screenshot QA showed the inter-row gap was already effectively matched, but
   Reference's entire button grid started lower. Lock both panels to the exact
   same vertical tracks instead of tuning Reference independently. */
@container(min-width:1121px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"],
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    padding-top:8px!important;
    padding-bottom:8px!important;
    align-content:start!important;
    grid-template-rows:12px 50px 50px!important;
    row-gap:8px!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.toolbar-group-label,
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.toolbar-group-label{
    height:12px!important;
    min-height:12px!important;
    line-height:12px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
  }
}


/* Reference / Share symmetric internal-grid reset — 2026-09-08.
   Rebuild only the two panels' internal non-mobile spacing. Their outer size,
   rails, DOM and behaviour stay untouched. Both panels use the same title
   track, action-row heights and gaps; only the number of columns differs. */
@container(min-width:761px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"],
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    display:grid!important;
    grid-template-rows:12px 50px 50px!important;
    row-gap:8px!important;
    column-gap:8px!important;
    align-content:start!important;
    align-items:stretch!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
  }

  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.toolbar-group-label,
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.toolbar-group-label{
    grid-column:1/-1!important;
    grid-row:1!important;
    height:12px!important;
    min-height:12px!important;
    margin:0!important;
    padding:0!important;
    line-height:12px!important;
    align-self:start!important;
    display:flex!important;
    align-items:flex-start!important;
  }

  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]>.btn,
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="share"]>.btn{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
    justify-self:stretch!important;
    transform:none!important;
  }

  #screen-board .board-main>.board-toolbar #boardLegendBtn{grid-column:1!important;grid-row:2!important}
  #screen-board .board-main>.board-toolbar #importResultsBtn{grid-column:2!important;grid-row:2!important}
  #screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn{grid-column:1!important;grid-row:3!important}
  #screen-board .board-main>.board-toolbar #discussionListBtn{grid-column:2!important;grid-row:3!important}

  #screen-board .board-main>.board-toolbar #refreshMasterBtn{grid-column:1!important;grid-row:2!important}
  #screen-board .board-main>.board-toolbar #saveMasterBtn{grid-column:2!important;grid-row:2!important}
  #screen-board .board-main>.board-toolbar #selectorSharesBtn{grid-column:3!important;grid-row:2!important}
  #screen-board .board-main>.board-toolbar #roundContactChangesBtn{grid-column:4!important;grid-row:2!important}
  #screen-board .board-main>.board-toolbar #readinessBtn{grid-column:1!important;grid-row:3!important}
  #screen-board .board-main>.board-toolbar #masterHistoryBtn{grid-column:2!important;grid-row:3!important}
  #screen-board .board-main>.board-toolbar #pdfBtn{grid-column:3!important;grid-row:3!important}
  #screen-board .board-main>.board-toolbar #stickerPdfBtn{grid-column:4!important;grid-row:3!important}
}



/* Shared Master Reference / Share spacing parity — 2026-09-08.
   Shared Master makes the BowlsLink send placeholder visible. A legacy
   high-specificity :has() rule and the button's old 44px ID rule otherwise
   override the approved symmetric grid used by My Board. Reassert only the
   approved non-mobile geometry when that Shared Master control is visible. */
@container(min-width:761px){
  #screen-board .board-main>.board-toolbar .toolbar-group[data-toolbar-section="reference"]:has(#sendBowlsLinkPreviewBtn:not(.hidden)){
    grid-template-rows:12px 50px 50px!important;
    row-gap:8px!important;
    column-gap:8px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    align-content:start!important;
    align-items:stretch!important;
  }
  #screen-board .board-main>.board-toolbar #sendBowlsLinkPreviewBtn:not(.hidden){
    height:50px!important;
    min-height:50px!important;
    margin:0!important;
    align-self:stretch!important;
  }
}

/* The former dynamically loaded role-state stylesheet was presentation-only.
   Keep its guarded active state here, after all Board-adapter refinements. */
#screen-board .slot-role-btn[data-slot-role="captain"].active,
#screen-board .slot-role-btn[data-slot-role="manager"].active,
#screen-board .slot-role-badge{
  appearance:none!important;
  -webkit-appearance:none!important;
  background-color:#f0b52d!important;
  background-image:none!important;
  color:#241b00!important;
  border:2px solid #fff!important;
  box-shadow:0 0 0 1px #9a5b00,0 1px 3px rgba(0,0,0,.22)!important;
  opacity:1!important;
}
#screen-board .slot-role-btn[data-slot-role="manager"].active svg,
#screen-board .slot-role-badge.manager-role-icon svg{color:#241b00!important;fill:currentColor!important;stroke:currentColor!important}

/* Coarse-pointer Board acceptance. Desktop/fine-pointer density is unchanged;
   touch layout uses two non-overlapping action rows around the name lane. */
@media (hover:none), (pointer:coarse){
  #screen-board .board-toolbar :is(button,.btn,.mini-btn,select),
  #screen-board .division-view-pills button,
  #screen-board .division-view-arrows button,
  #screen-board .mobile-selection-actions button,
  #screen-board #quickFillBtn{min-block-size:44px!important;min-inline-size:44px!important}
  #screen-board .quick-remove-drop-target{min-block-size:56px!important}
  html[data-touch-layout="true"] #screen-board .mobile-position-row{min-block-size:124px!important}
  html[data-touch-layout="true"] #screen-board .mobile-position-row .slot.v1-drop{min-block-size:112px!important}
  html[data-touch-layout="true"] #screen-board .mobile-position-row .magnet{min-block-size:104px!important;padding:46px 8px!important}
  html[data-touch-layout="true"] #screen-board .slot-role-controls{top:2px!important;bottom:auto!important;left:2px!important;gap:2px!important}
  html[data-touch-layout="true"] #screen-board .slot-role-btn,
  html[data-touch-layout="true"] #screen-board .board-main .discussion-toggle,
  html[data-touch-layout="true"] #screen-board .board-main .return-player,
  html[data-touch-layout="true"] #screen-board .board-main .mark-unavailable,
  html[data-touch-layout="true"] #screen-board .board-main .mark-available{inline-size:44px!important;block-size:44px!important;min-inline-size:44px!important;min-block-size:44px!important;max-inline-size:44px!important;max-block-size:44px!important}
  html[data-touch-layout="true"] #screen-board .board-main .discussion-toggle{left:2px!important;right:auto!important;bottom:2px!important;top:auto!important}
  html[data-touch-layout="true"] #screen-board .board-main .return-player{left:auto!important;right:48px!important;bottom:2px!important;top:auto!important}
  html[data-touch-layout="true"] #screen-board .board-main .mark-unavailable,
  html[data-touch-layout="true"] #screen-board .board-main .mark-available{left:auto!important;right:2px!important;bottom:2px!important;top:auto!important}
}

/* Mobile badge baseline rollback — 2026-09-14.
   Founder instruction: preserve the last-good badge artwork, positions and
   hierarchy. Only reduce the visible mobile controls. No pseudo replacement
   artwork, no icon deletion and no control relocation. */
@media (max-width:760px) and (pointer:coarse) {
  html[data-touch-layout="true"] #screen-board .mobile-position-row .slot-role-controls,
  html[data-touch-layout="true"] #screen-board .mobile-position-row .slot-role-badges {
    transform:scale(.55) !important;
    transform-origin:top left !important;
  }

  html[data-touch-layout="true"] #screen-board .mobile-position-row .discussion-toggle,
  html[data-touch-layout="true"] #screen-board .mobile-position-row .return-player,
  html[data-touch-layout="true"] #screen-board .mobile-position-row .mark-unavailable,
  html[data-touch-layout="true"] #screen-board .mobile-position-row .mark-available {
    transform:scale(.55) !important;
    transform-origin:center !important;
  }

  /* Mobile-only: move the existing player-form/ranking bowl away from the
     Captain/Manager badge lane. Artwork and size are unchanged. */
  html[data-touch-layout="true"] #screen-board .mobile-position-row .magnet > .form-bowl {
    left:auto !important;
    right:4px !important;
    top:4px !important;
    bottom:auto !important;
  }
}

/* bowlsselect-repair:mobile-player-pool-specificity-round2-20260917
   This selector intentionally includes the same full-board ancestry as the
   legacy fixed-row rule, plus the touch-layout root, so it wins even though
   both declarations use !important. */
@media (max-width:760px) {
  html[data-touch-layout="true"] #screen-board .board-workspace:not(.division-focus-mode) .player-pool .magnet-list {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:none!important;
    grid-auto-flow:row!important;
    grid-auto-rows:minmax(72px,auto)!important;
    grid-auto-columns:auto!important;
    align-items:stretch!important;
    gap:10px!important;
    min-height:0!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
    padding-right:0!important;
  }
  html[data-touch-layout="true"] #screen-board .board-workspace:not(.division-focus-mode) .player-pool .pool-magnet {
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:72px!important;
    margin:0!important;
  }
}
@media (max-width:360px) {
  html[data-touch-layout="true"] #screen-board .board-workspace:not(.division-focus-mode) .player-pool .magnet-list {
    grid-template-columns:1fr!important;
  }
}
