/* Practice Matches: module-specific presentation only. Shared controls, panels,
   tables and theme values come from bowlsselect-components.css. */

/* Structural rules migrated from the inherited inline blocks. They preserve
   the existing drag/drop, tap placement and sticky selection-bar geometry. */
.practice-temporary-pool{margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;display:grid;gap:6px}
.practice-temporary-pool strong{font-size:12px}
.practice-temporary-pool small{color:var(--muted)}
.practice-availability-toggle{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:900;color:#33475d;cursor:pointer}
.practice-availability-toggle input{width:18px;height:18px;accent-color:var(--club)}
.practice-whiteboard{margin-top:18px}
.practice-whiteboard-head{margin-bottom:14px}
.practice-whiteboard-actions{display:flex;align-items:end;gap:8px;flex-wrap:wrap}
.practice-whiteboard-actions label{display:grid;gap:5px;font-size:10px;font-weight:900;letter-spacing:.45px;text-transform:uppercase;color:var(--muted)}
.practice-whiteboard-actions select{min-height:38px;padding:6px 9px}
.practice-board-hint{margin:0 0 12px;padding:10px 12px;border:1px dashed #b7c4d2;border-radius:11px;background:#f8fafc;color:#53667a;font-size:11px;font-weight:800}
.practice-rinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px}
.practice-rink{overflow:hidden;border:1px solid #aebcae;border-radius:13px;background:#fff}
.practice-rink header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--club);color:#fff;font-size:12px}
.practice-rink header span{font-size:10px;font-weight:800;opacity:.8}
.practice-position-row{display:grid;grid-template-columns:78px minmax(0,1fr);gap:7px;padding:5px 7px;border-bottom:1px solid #e7edf2}
.practice-position-row:last-child{border-bottom:0}
.practice-position-label{display:grid;place-items:center start;padding-left:7px;color:#53667a;font-size:10px;font-weight:1000;text-transform:uppercase}
.practice-slot{min-height:54px;border:2px dashed #b9c4bb;border-radius:8px;background:#f8fbf8;position:relative;display:flex;align-items:center;padding:4px}
.practice-slot.empty:after{content:'Tap / Drop';color:#7a8a7d;font-size:10px;font-weight:900}
.practice-slot.drop-over,.practice-player-pool.drop-over{border-color:var(--accent);background:#edf5fd}
.practice-magnet{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:7px;border:1px solid #cdd8e4;border-radius:7px;background:#fff;color:#173452;padding:6px 7px;text-align:left;box-shadow:0 2px 5px rgba(16,32,51,.13);cursor:grab;touch-action:manipulation}
.practice-magnet:active{cursor:grabbing}
.practice-magnet.selected{outline:3px solid var(--draw);outline-offset:1px}
.practice-magnet.dragging{opacity:.55;transform:scale(.98)}
.practice-magnet-name{min-width:0;overflow-wrap:anywhere;font-size:12px;font-weight:1000;line-height:1.15}
.practice-source-pill{min-height:22px;padding:3px 7px;font-size:9px;white-space:nowrap}
.practice-return-player{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:0;border-radius:50%;background:#eef3f8;color:#52677c;font-size:15px;font-weight:1000;line-height:22px;padding:0;opacity:.55}
.practice-slot:hover .practice-return-player,.practice-return-player:focus{opacity:1;background:#8b1e2d;color:#fff}
.practice-player-pool{margin-top:14px;padding:12px;border:2px dashed #9aac9c;border-radius:13px;background:#f8fbf8}
.practice-pool-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:9px}
.practice-pool-head strong,.practice-pool-head small{display:block}
.practice-pool-head small{margin-top:2px;color:var(--muted);font-size:10px}
.practice-pool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:7px}
.practice-selection-bar{position:sticky;bottom:8px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding:10px 12px;border-radius:12px;background:var(--club);color:#fff;font-size:11px;font-weight:800}
.practice-selection-bar div{display:flex;gap:7px}
.practice-selection-bar .btn{min-height:34px;padding:6px 9px}
.practice-slot:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
@media(max-width:620px){.practice-rinks{grid-template-columns:1fr}.practice-position-row{grid-template-columns:64px minmax(0,1fr)}.practice-whiteboard-actions{width:100%}.practice-whiteboard-actions label,.practice-whiteboard-actions .btn{flex:1}.practice-selection-bar{align-items:flex-start;flex-direction:column}.practice-selection-bar div{width:100%}.practice-selection-bar .btn{flex:1}.practice-return-player{opacity:1;width:25px;height:25px;line-height:25px}.practice-pool-grid{grid-template-columns:1fr}}

#practiceDraftControls{padding:24px;margin-bottom:18px}
.practice-draft-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}
.practice-draft-toolbar label{flex:1 1 220px;min-width:0}
.practice-setup-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;padding:0}
.practice-setup-fields label,.practice-draft-toolbar label{display:grid;gap:6px;font-size:13px;font-weight:650;color:var(--bs-text,var(--ink))}
.practice-notes-field,.practice-rink-config{grid-column:1/-1}
.practice-setup-fields input,.practice-setup-fields select,.practice-setup-fields textarea,.practice-draft-toolbar select{width:100%;min-height:44px;box-sizing:border-box}

/* The whiteboard is interactive; these rules deliberately leave its drag, tap
   and return-control ownership with practice-drafts.js. */
.practice-side-head{display:grid;grid-template-columns:64px repeat(var(--practice-sides),minmax(0,1fr));gap:8px;padding:10px 12px;background:var(--bs-soft,var(--soft));color:var(--bs-muted,var(--muted));font-size:11px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.practice-whiteboard .practice-position-row{gap:8px}
#screen-events .practice-whiteboard .practice-magnet{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto auto!important;align-content:center!important;align-items:start!important;gap:3px!important;min-width:0!important;min-height:54px!important;padding:7px 38px 7px 9px!important}
#screen-events .practice-whiteboard .practice-magnet-name{display:block!important;min-width:0!important;max-width:100%!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.25!important;font-size:14px!important;max-height:none!important}
#screen-events .practice-whiteboard .practice-source-pill{justify-self:start!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important;color:var(--bs-muted,var(--muted))!important;font-size:11px!important;line-height:1.2!important;font-weight:400!important;letter-spacing:0!important}
.practice-whiteboard-actions{margin-top:14px}
.practice-rink-config{display:grid;gap:7px;padding:12px;border:1px solid var(--bs-line,var(--line));border-radius:var(--bs-radius,8px);background:var(--bs-soft,var(--soft))}
.practice-rink-config>div{display:flex;gap:10px;flex-wrap:wrap}
.practice-rink-config label{display:grid;gap:4px;font-size:13px;font-weight:650}
.practice-rink-config select{min-height:40px}
.practice-v1-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.practice-result-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--bs-line,var(--line))}
.practice-result-row label{display:flex;align-items:center;gap:6px;font-weight:650}
.practice-result-row input{width:78px;min-height:42px}
.practice-build-note{margin-top:10px;color:var(--bs-muted,var(--muted));font-size:13px}

/* Return controls stay visually compact on a mouse but remain available to
   keyboard and coarse-pointer users. Their event handling is unchanged. */
.practice-return-player{box-sizing:border-box!important;inline-size:22px!important;block-size:22px!important;min-inline-size:22px!important;min-block-size:22px!important;max-inline-size:22px!important;max-block-size:22px!important;aspect-ratio:1/1!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;line-height:1!important}
@media (hover:hover) and (pointer:fine){.practice-return-player{opacity:0!important;pointer-events:none!important}.practice-slot:hover>.practice-return-player,.practice-return-player:focus-visible{opacity:1!important;pointer-events:auto!important}}
@media (hover:none), (pointer:coarse){.practice-return-player{opacity:1!important;pointer-events:auto!important;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}}

/* Practice Match arrival controls: the remove action stays above the arrival
   tick, with identical targets and enough room to prevent either overlapping. */
.practice-slot.has-practice-controls{min-height:72px!important}
.practice-player-controls{position:absolute;z-index:5;right:9px;top:9px;display:grid;grid-template-rows:repeat(2,22px);gap:3px}
.practice-player-control{position:static!important;transform:none!important;box-sizing:border-box!important;inline-size:22px!important;block-size:22px!important;min-inline-size:22px!important;min-block-size:22px!important;max-inline-size:22px!important;max-block-size:22px!important;aspect-ratio:1/1!important;margin:0!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:13px!important;font-weight:800!important;line-height:1!important;opacity:1!important;pointer-events:auto!important;box-shadow:0 1px 3px #0b1f3a26!important}
.practice-player-controls .practice-return-player{background:var(--bs-error,#9a3040)!important;color:#fff!important;border:1px solid var(--bs-error,#9a3040)!important}
.practice-player-controls .practice-arrival-player{background:var(--bs-surface,#fff)!important;color:var(--bs-success,#236348)!important;border:2px solid var(--bs-success,#236348)!important}
.practice-player-controls .practice-arrival-player.is-arrived{background:var(--bs-success,#236348)!important;color:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--bs-success,#236348) 22%,transparent)!important}
#screen-events .practice-whiteboard .practice-slot.has-practice-controls .practice-magnet{min-height:64px!important;padding-right:34px!important}
.practice-slot.practice-arrived{border-color:var(--bs-success,#236348)!important;background:var(--bs-success-surface,#eaf5ee)!important}
.practice-slot.practice-arrived .practice-magnet{border-left-color:var(--bs-success,#236348)!important}
.practice-player-control:focus-visible{outline:3px solid var(--bs-focus,#ffbf47)!important;outline-offset:2px!important}
@media (hover:none), (pointer:coarse){.practice-slot.has-practice-controls{min-height:102px!important}.practice-player-controls{right:6px;top:6px;grid-template-rows:repeat(2,44px);gap:4px}.practice-player-control{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}#screen-events .practice-whiteboard .practice-slot.has-practice-controls .practice-magnet{min-height:92px!important;padding-right:54px!important}}

/* Approved Practice Match setup hierarchy. */
#screen-events #practiceDraftControls{display:flex;flex-direction:column;gap:14px;padding:10px 18px 18px;border-top-width:1px;box-shadow:none}
#screen-events #practiceDraftControls>.practice-v1-tabs{order:-3;margin:0 -8px;padding:3px;border:0;border-bottom:1px solid var(--bs-line);border-radius:0;background:transparent}
#screen-events #practiceDraftControls>.practice-draft-toolbar{order:-2;padding:0 0 12px;border-bottom:1px solid var(--bs-line)}
#screen-events #practiceDraftControls>#practiceDraftStatus{order:-1;margin:0;color:var(--bs-muted);font-size:10px}
#screen-events #practiceDraftControls>.event-delete{align-self:flex-end;margin-top:-56px}
#screen-events .practice-step-head{display:flex;align-items:center;gap:12px;margin:0;padding:4px 0}
#screen-events .practice-step-head>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:7px;background:linear-gradient(145deg,#55a9ff,var(--bs-action,#087cff));color:#fff;font:750 20px var(--bs-display);box-shadow:0 4px 12px color-mix(in srgb,var(--bs-action,#087cff) 28%,transparent)}
#screen-events .practice-step-head h2{margin:0;font-size:20px}
#screen-events .practice-step-head p{margin:2px 0 0;color:var(--bs-muted);font-size:11px}
#screen-events .practice-setup-fields{gap:10px;padding:14px;border:1px solid var(--bs-line);border-radius:8px;background:color-mix(in srgb,var(--bs-soft) 32%,var(--bs-surface))}
#screen-events .practice-rink-config{padding:14px;border-radius:8px}
#screen-events .practice-rink-config>strong{font-size:13px}
#screen-events .practice-rink-config>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
#screen-events .practice-rink-config label{padding:8px;border:1px solid var(--bs-line);border-radius:7px;background:var(--bs-surface)}
#screen-events #practiceAvailabilityPanel{padding:18px;border-top-width:1px;box-shadow:none}
#screen-events #practiceAvailabilityPanel>.practice-step-head{margin-bottom:14px}
#screen-events #practiceAvailabilityPanel>.table-wrap{border:1px solid var(--bs-line);border-radius:8px}
#screen-events #practiceAvailabilityPanel .practice-temporary-pool{background:var(--bs-soft);border-color:var(--bs-line)}
#screen-events .practice-source-bar{padding:4px 0}
#screen-events .practice-source-summary{margin:10px 0 0}
#screen-events .practice-whiteboard .practice-whiteboard-head{position:relative;padding-left:72px!important}
#screen-events .practice-whiteboard .practice-whiteboard-head:before{position:absolute;left:20px;top:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:7px;background:linear-gradient(145deg,#55a9ff,var(--bs-action,#087cff));color:#fff;font:750 20px var(--bs-display);content:'3'}
#screen-events #practiceV1Panel{padding:18px;border-top-width:1px;box-shadow:none}
#screen-events #practiceV1Panel>h2{font-size:22px}
#screen-events #practiceV1Panel .data-table tr[data-practice-card]{cursor:pointer}
#screen-events #practiceV1Panel .data-table tr[data-practice-card]:hover{background:color-mix(in srgb,var(--bs-action,#087cff) 7%,var(--bs-surface))!important}

@container(max-width:760px){#screen-events #practiceDraftControls{padding:8px 12px 14px}#screen-events #practiceDraftControls>.practice-v1-tabs{width:calc(100% + 8px);overflow-x:auto}#screen-events #practiceDraftControls>.practice-draft-toolbar{display:grid;grid-template-columns:1fr 1fr}#screen-events #practiceDraftControls>.practice-draft-toolbar label{grid-column:1/-1}#screen-events #practiceDraftControls>.event-delete{align-self:stretch;margin-top:0}#screen-events .practice-step-head>span{flex-basis:34px;width:34px;height:34px}#screen-events #practiceAvailabilityPanel{padding:14px}#screen-events .practice-whiteboard .practice-whiteboard-head{padding-left:58px!important}#screen-events .practice-whiteboard .practice-whiteboard-head:before{left:12px;top:16px;width:34px;height:34px}}

/* Rink results remain next to their teams and use the shared semantic states. */
.practice-rink-scorebar{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;min-height:48px;padding:10px 12px;border-top:1px solid var(--bs-line,var(--line));background:var(--bs-soft,var(--soft));color:var(--bs-text,var(--ink))}
.practice-rink-scorebar>strong{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.practice-rink-scorebar label{display:grid;grid-template-columns:auto 64px;align-items:center;justify-content:end;gap:6px;min-width:0;font-size:11px;font-weight:650}
.practice-rink-scorebar input{width:64px;min-width:0;height:34px;padding:4px 6px;border:1px solid var(--bs-line,var(--line));border-radius:var(--bs-radius,8px);background:var(--bs-surface,var(--panel));color:var(--bs-text,var(--ink));font:750 14px/1 var(--bs-font,system-ui,sans-serif);text-align:center}
.practice-rink-scorebar.saved{grid-template-columns:auto 1fr 1fr auto;background:var(--bs-surface,var(--panel))}
.practice-rink-scorebar.saved>span{font-size:11px;font-weight:650;text-align:center}
.practice-rink-scorebar.saved>span b{display:inline-grid;place-items:center;min-width:30px;min-height:28px;margin-left:4px;padding:0 6px;border:1px solid var(--bs-line,var(--line));border-radius:var(--bs-radius,8px);background:var(--bs-soft,var(--soft));color:var(--bs-text,var(--ink));font-size:13px}
.practice-rink-scorebar.saved>em{min-width:72px;padding:6px 8px;border:1px solid currentColor;border-radius:5px;font-size:10px;font-weight:750;font-style:normal;text-align:center;white-space:nowrap}
.practice-rink-scorebar.saved.win>em{background:var(--bs-success-surface,#eaf5ee);color:var(--bs-success,#236348)}
.practice-rink-scorebar.saved.loss>em{background:color-mix(in srgb,var(--bs-error,#9a3040) 12%,var(--bs-surface,#fff));color:var(--bs-error,#9a3040)}
.practice-rink-scorebar.saved.draw>em{background:var(--bs-amber-surface,#fff5dc);color:var(--bs-amber,#855600)}
.practice-rink-scorebar.empty{grid-template-columns:1fr;min-height:40px;color:var(--bs-muted,var(--muted));font-size:11px}
.practice-whiteboard-actions .practice-result-save{border-color:var(--bs-club,var(--club))!important;background:var(--bs-surface,var(--panel))!important;color:var(--bs-club,var(--club))!important}
.practice-completed .practice-player-pool{opacity:.88}

@container (max-width:700px){.practice-setup-fields{grid-template-columns:1fr 1fr}.practice-rinks{grid-template-columns:1fr}.practice-draft-toolbar{align-items:stretch}.practice-rink-scorebar,.practice-rink-scorebar.saved{grid-template-columns:1fr 1fr}.practice-rink-scorebar>strong,.practice-rink-scorebar.saved>strong,.practice-rink-scorebar.saved>em,.practice-rink-scorebar.empty{grid-column:1/-1}.practice-rink-scorebar label{grid-template-columns:1fr;justify-content:stretch}.practice-rink-scorebar input{width:100%}.practice-rink-scorebar.saved>em{justify-self:start}}
@container (max-width:430px){.practice-setup-fields{grid-template-columns:1fr}.practice-draft-toolbar label{width:100%}.practice-whiteboard .practice-position-row{gap:4px}.practice-side-head{gap:4px}}

/* Approved Practice surface treatment. This module, rather than the Board
   adapter, is the sole late owner of Practice-specific presentation. */
.practice-whiteboard{overflow:hidden!important;padding:0!important;background:var(--bs-surface)!important;color:var(--bs-text)!important;border:1px solid color-mix(in srgb,var(--bs-club) 30%,var(--bs-line))!important;border-radius:var(--bs-panel-radius)!important;box-shadow:0 10px 30px #0b1f3a0d,0 2px 4px #0b1f3a08!important}
.practice-whiteboard .practice-whiteboard-head{margin:0!important;padding:18px 22px!important;align-items:center!important;background:var(--bs-club)!important;color:var(--bs-on-club)!important;border:0!important}
.practice-whiteboard .practice-whiteboard-head :is(.eyebrow,h2,.muted),.practice-whiteboard-actions label{color:var(--bs-on-club)!important}
.practice-whiteboard .practice-whiteboard-head .muted{opacity:.78!important}
.practice-whiteboard-actions select{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:color-mix(in srgb,var(--bs-on-club) 45%,var(--bs-line))!important}
.practice-whiteboard-actions .btn{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-surface)!important}
.practice-board-hint{margin:0!important;padding:11px 22px!important;background:var(--bs-soft)!important;color:var(--bs-muted)!important;border-bottom:1px solid var(--bs-line)!important}
.practice-rinks{padding:20px!important;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}
.practice-rink{background:var(--bs-surface)!important;border:1px solid color-mix(in srgb,var(--bs-club) 22%,var(--bs-line))!important;border-radius:10px!important;box-shadow:0 4px 10px #0b1f3a0c!important;overflow:hidden!important}
.practice-rink header{padding:14px 16px!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}
.practice-position-row{gap:8px!important;padding:6px 8px!important;background:var(--bs-surface)!important;border-color:var(--bs-line)!important}
.practice-position-label{color:var(--bs-muted)!important}
.practice-slot{min-height:54px!important;background:var(--bs-surface)!important;border-color:var(--bs-line)!important;border-radius:8px!important}
.practice-slot.empty:after{color:var(--bs-muted)!important}
.practice-slot.drop-over,.practice-player-pool.drop-over{background:color-mix(in srgb,var(--bs-focus) 10%,var(--bs-surface))!important;border-color:var(--bs-focus)!important}
.practice-whiteboard .practice-magnet{min-height:54px!important;padding:6px 7px!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}
.practice-whiteboard .practice-magnet-name{color:var(--bs-text)!important;font-size:14px!important;font-weight:650!important;line-height:1.35!important}
.practice-source-pill{background:var(--bs-soft)!important;color:var(--bs-text)!important;border:1px solid var(--bs-line)!important}
.practice-return-player{background:var(--bs-soft)!important;color:var(--bs-text)!important;border:1px solid var(--bs-line)!important}
.practice-slot:hover .practice-return-player,.practice-return-player:focus-visible{background:var(--bs-error)!important;color:#fff!important}
.practice-player-pool{margin:0 20px 20px!important;padding:18px 16px!important;background:var(--bs-surface)!important;color:var(--bs-text)!important;border:1px solid var(--bs-line)!important;border-top:3px solid var(--bs-club)!important;border-radius:10px!important;box-shadow:0 3px 10px #0b1f3a06!important}
.practice-pool-head small,.practice-player-pool>small{color:var(--bs-muted)!important}
.practice-selection-bar{margin:0 20px 20px!important;padding:10px 12px!important;background:var(--bs-club)!important;color:var(--bs-on-club)!important;border-radius:8px!important}
.practice-selection-bar .btn{background:var(--bs-surface)!important;color:var(--bs-text)!important;border-color:var(--bs-surface)!important}
.practice-temporary-pool .practice-whiteboard-actions label{color:var(--bs-text)!important}

@container(max-width:760px){.practice-whiteboard .practice-whiteboard-head{padding:16px 14px!important;align-items:flex-start!important;flex-direction:column!important}.practice-whiteboard-actions{width:100%!important}.practice-whiteboard-actions label,.practice-whiteboard-actions .btn{flex:1!important}.practice-board-hint{padding:10px 14px!important}.practice-rinks{padding:12px!important;gap:12px!important}.practice-player-pool,.practice-selection-bar{margin:0 12px 12px!important}.practice-position-row{grid-template-columns:64px minmax(0,1fr)!important}}

/* Must remain last: preserve a compact 22px mouse control while guaranteeing
   the approved 44px physical target for touch/coarse input. */
@media (hover:none), (pointer:coarse){.practice-return-player{opacity:1!important;pointer-events:auto!important;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}}

/* Practice Match mobile rink geometry repair — 2026-09-14.
   Preserve the proven three-track intraclub layout on phone widths. */
@media (max-width:760px) {
  #screen-events .practice-whiteboard .practice-position-row {
    grid-template-columns:64px minmax(0,1fr) !important;
  }
  #screen-events .practice-whiteboard .practice-position-row:has(> .practice-slot:nth-child(3)) {
    grid-template-columns:64px repeat(2,minmax(0,1fr)) !important;
  }
  #screen-events .practice-whiteboard .practice-position-row:has(> .practice-slot:nth-child(3)) > .practice-slot {
    min-width:0 !important;
  }
}

/* Practice Match inline mobile controls — 2026-09-14.
   Keep the existing X and arrival-tick artwork and compact size. Stack them
   vertically at the far right of the magnet so they stay out of the name lane. */
@media (max-width:760px) and (pointer:coarse) {
  #screen-events .practice-whiteboard .practice-player-controls {
    right:6px !important;
    top:50% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:4px !important;
    grid-template-rows:none !important;
    transform:translateY(-50%) scale(.5) !important;
    transform-origin:right center !important;
  }

  #screen-events .practice-whiteboard .practice-player-control {
    position:static !important;
    transform:none !important;
  }

  #screen-events .practice-whiteboard .practice-slot.has-practice-controls .practice-magnet {
    padding-right:34px !important;
  }
}
