/* Three visible sport columns ---------------------------------------------- */
.nut-table th:nth-child(7),.nut-table td:nth-child(7){min-width:145px}
.nut-table th:nth-child(8),.nut-table td:nth-child(8),.nut-table th:nth-child(9),.nut-table td:nth-child(9){min-width:125px}
.wst-sport-summary{width:100%;min-width:110px;padding:7px 8px;border:1px solid var(--border);border-left:3px solid var(--dim);border-radius:8px;background:var(--surface2,#161616);color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;gap:4px}
.wst-sport-summary.running{border-left-color:#f59e0b}.wst-sport-summary.cycling{border-left-color:#60a5fa}.wst-sport-summary.swimming{border-left-color:#22d3ee}
.wst-sport-summary:hover,.wst-sport-summary:focus-visible{border-color:var(--brand-border);background:var(--brand-bg);outline:none}
.wst-cell-sport{font:800 7px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.wst-sport-summary strong{font:800 12px var(--mono);color:var(--text);white-space:nowrap}
.wst-sport-summary>span:last-child{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid var(--border);padding-top:4px}
.wst-sport-summary i{font:500 7px var(--mono);font-style:normal;color:var(--dim);text-transform:uppercase;letter-spacing:.03em;line-height:1.25}
.wst-sport-summary i.locked{color:#4ade80}.wst-sport-summary i.draft{color:#fbbf24}
.wst-sport-summary>span:last-child b{font:700 7px var(--mono);letter-spacing:.07em;text-transform:uppercase;color:var(--brand-text,var(--amber))}

/* Single editor overlay ---------------------------------------------------- */
.wst-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(2,8,13,.72);backdrop-filter:blur(6px)}
.wst-dialog{width:min(1120px,100%);max-height:min(760px,calc(100vh - 48px));overflow:auto;background:var(--surface);border:1px solid var(--border-mid);border-radius:14px;box-shadow:0 28px 80px rgba(0,0,0,.42)}
.wst-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid var(--border);background:var(--surface)}
.wst-head>div:first-child{display:flex;flex-direction:column;gap:4px}
.wst-head strong{font-family:var(--display);font-size:18px;color:var(--text)}
.wst-head span,.wst-message{font-family:var(--mono);font-size:9px;color:var(--dim)}
.wst-head-actions{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important}
.wst-head button,.wst-actions button,.wst-setup button{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:7px;padding:8px 11px;font-family:var(--mono);font-size:9px;cursor:pointer}
.wst-head button:hover,.wst-actions button:hover,.wst-setup button:hover{border-color:var(--brand-border);color:var(--brand-text)}
.wst-head button:disabled,.wst-actions button:disabled,.wst-setup button:disabled{opacity:.45;cursor:default}
.wst-close{min-width:34px;font-size:18px!important;line-height:1;padding:6px!important}
.wst-grid{display:flex;flex-direction:column}
.wst-row{display:grid;grid-template-columns:minmax(155px,1.2fr) minmax(110px,.8fr) minmax(95px,.65fr) minmax(115px,.75fr) minmax(170px,1.35fr) minmax(105px,.75fr) auto;gap:10px;align-items:end;padding:13px 18px;border-bottom:1px solid var(--border)}
.wst-row:last-child{border-bottom:0}
.wst-row.focused{background:var(--brand-bg);box-shadow:inset 3px 0 0 var(--brand)}
.wst-sport{align-self:center;display:flex;flex-direction:column;gap:5px}
.wst-sport label{font-family:var(--display);font-size:14px;font-weight:700;color:var(--text);cursor:pointer}
.wst-sport input{accent-color:var(--brand)}
.wst-state{font-family:var(--mono);font-size:8px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.wst-state.published{color:#4ade80}
.wst-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.wst-field>span{font-family:var(--mono);font-size:8px;color:var(--dim);text-transform:uppercase;letter-spacing:.04em}
.wst-field i{font-style:normal;opacity:.7;text-transform:none}
.wst-field>div{display:flex;align-items:center;gap:5px}
.wst-field input,.wst-field select{background:var(--surface2,#161616);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:8px;font-family:var(--mono);font-size:10px;min-width:0;width:100%}
.wst-field>div input{width:100%}
.wst-field b{font-family:var(--mono);font-size:9px;color:var(--dim)}
.wst-field input:disabled,.wst-field select:disabled{opacity:.38}
.wst-actions{display:flex;gap:5px;align-items:center}
.wst-actions .wst-save{background:var(--brand);border-color:var(--brand);color:#071016;font-weight:800;white-space:nowrap}
.wst-actions .wst-remove{color:var(--dim)}
.wst-message{min-height:30px;padding:8px 18px 11px;color:#4ade80}
.wst-message.bad,.wst-error{color:#f87171!important}
.wst-setup{display:flex;justify-content:flex-end;padding:18px}

@media(max-width:1050px){
  .wst-row{grid-template-columns:1fr 1fr 1fr 1fr}
  .wst-sport{grid-column:1/-1;flex-direction:row;justify-content:space-between}
  .wst-note{grid-column:1/3}.wst-actions{grid-column:4}
}
@media(max-width:760px){
  .nut-table .nut-row td:nth-child(7){grid-column:1/-1!important}.nut-table .nut-row td:nth-child(7)::before{content:'Running'}
  .nut-table .nut-row td:nth-child(8){grid-column:auto!important}.nut-table .nut-row td:nth-child(8)::before{content:'Cycling'}
  .nut-table .nut-row td:nth-child(9){grid-column:auto!important;display:flex!important;flex-direction:column!important}.nut-table .nut-row td:nth-child(9)::before{display:block!important;content:'Swimming'}
  .nut-table .nut-row td:nth-child(10){grid-column:1/-1!important}.nut-table .nut-row td:nth-child(10)::before{content:'Coach note'}
  .nut-table .nut-row td:nth-child(11){grid-column:1/-1!important;display:flex!important;flex-direction:row!important;gap:7px}.nut-table .nut-row td:nth-child(11)::before{display:none!important}
  .wst-sport-summary{min-width:0;min-height:58px}
  .wst-overlay{align-items:flex-end;padding:0}
  .wst-dialog{width:100%;max-height:92vh;border-radius:16px 16px 0 0}
  .wst-head{align-items:flex-start;padding:14px}
  .wst-row{grid-template-columns:1fr 1fr;padding:14px}
  .wst-sport,.wst-note{grid-column:1/-1}
  .wst-actions{grid-column:1/-1}.wst-actions button{flex:1;min-height:40px}
  .wst-message{padding-inline:14px}
}
@media(max-width:380px){
  .wst-row{grid-template-columns:1fr}
  .wst-row>*{grid-column:1!important}
}
