/* admin/facility.css — Fac M3 Coaches / Players / Overview (ANG-618/619). fm- prefix. */
.fm-table{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.fm-th,.fm-tr{display:grid;align-items:center;gap:12px;padding:11px 16px}
.fm-staff .fm-th,.fm-staff .fm-tr{grid-template-columns:minmax(0,2.2fr) .8fr minmax(0,1.6fr) .6fr minmax(0,1.2fr)}
.fm-roster .fm-th,.fm-roster .fm-tr{grid-template-columns:minmax(0,1.6fr) minmax(0,2fr) .6fr .6fr .8fr 130px}
.fm-sessions .fm-th,.fm-sessions .fm-tr{grid-template-columns:.8fr 1.4fr 1.4fr .6fr}
.fm-th{background:var(--panel-2);border-bottom:1px solid var(--line);font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.1em;color:var(--ink-3);font-weight:600;text-transform:uppercase}
.fm-tr{border-bottom:1px solid var(--line)}
.fm-tr:last-child{border-bottom:none}
.fm-tr.dim{opacity:.62}
.fm-person{display:flex;align-items:center;gap:11px;min-width:0;text-align:left}
.fm-link:hover .fm-n{color:var(--teal)}
.fm-n{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fm-m{font-size:11.5px;color:var(--ink-3);margin-top:2px;line-height:1.4}
.fm-cell{font-size:13px;color:var(--ink-2)}
.fm-acts{display:flex;gap:6px;justify-content:flex-end;align-items:center}
.fm-st{display:inline-flex;font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:20px}
.fm-st.ok{color:var(--good);background:rgba(18,160,101,.10);border:1px solid rgba(18,160,101,.28)}
.fm-st.inv{color:#1f55c0;background:rgba(47,107,223,.10);border:1px solid rgba(47,107,223,.25)}
.fm-st.exp{color:#a96608;background:rgba(198,125,24,.10);border:1px solid rgba(198,125,24,.3)}
.fm-st.off{color:var(--ink-2);background:var(--panel-2);border:1px solid var(--line)}
.fm-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 15px;border-radius:10px;background:linear-gradient(120deg,var(--teal),var(--teal-deep));color:#04130f;font-size:13px;font-weight:700}
.fm-btn:disabled{opacity:.5}
.fm-btn2{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 13px;border-radius:10px;border:1px solid var(--line-2);background:var(--panel);color:var(--ink);font-size:13px;font-weight:600}
.fm-ghost{display:inline-flex;align-items:center;height:38px;padding:0 10px;border-radius:10px;color:var(--ink-2);font-size:13px;font-weight:600}
.fm-ghost:hover{background:var(--panel-2)}
.fm-btn.sm,.fm-btn2.sm,.fm-ghost.sm{height:30px;font-size:12px;padding:0 10px}
.fm-kebab{width:32px;height:32px;border-radius:8px;color:var(--ink-3);display:flex;align-items:center;justify-content:center}
.fm-kebab:hover{background:var(--panel-2);color:var(--ink)}
.fm-menu{position:fixed;z-index:220;width:260px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.fm-menu button{height:38px;padding:0 12px;border-radius:8px;text-align:left;font-size:13px;font-weight:600}
.fm-menu button:hover:not(:disabled){background:var(--panel-2)}
.fm-menu button:disabled{color:var(--ink-4);cursor:not-allowed}
.fm-menu button.danger{color:var(--bad)}
.fm-banner{display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:12px;background:rgba(18,160,101,.08);border:1px solid rgba(18,160,101,.25);color:#0b6b43;font-size:13px;margin-bottom:14px}
.fm-empty{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 16px;border:1px dashed var(--line-2);border-radius:var(--r);background:var(--panel);font-size:13px;color:var(--ink-2);margin-bottom:14px}
.fm-foot{font-size:12px;color:var(--ink-3);margin-top:12px}
.fm-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:260;display:flex;gap:9px;align-items:center;padding:12px 16px;border-radius:12px;background:#121826;color:#fff;font-size:12.5px;box-shadow:var(--shadow)}
.fm-fresh{display:flex;gap:9px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(46,230,197,.08);border:1px solid rgba(12,154,134,.28);font-size:12.5px;line-height:1.5;color:var(--ink-2)}
.fm-fresh svg{color:var(--teal);flex:none;margin-top:1px}
.fm-locked{display:flex;align-items:center;justify-content:space-between;color:var(--ink-2)}
.fm-bad{border-color:rgba(221,59,59,.55)!important}
.fm-err{color:var(--bad)!important}
.fm-former{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:-4px 0 14px;padding:10px 12px;border-radius:11px;background:rgba(198,125,24,.07);border:1px solid rgba(198,125,24,.28);font-size:12.5px;color:var(--ink)}
.fm-former span{flex:1 1 160px}
.fm-sec{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.14em;color:var(--ink-3);font-weight:600;text-transform:uppercase;margin:14px 0 8px}
.fm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-2);line-height:1.45}
.fm-list li{padding-left:18px;position:relative}
.fm-list.loses li::before{content:"–";position:absolute;left:3px;color:var(--bad);font-weight:700}
.fm-list.keeps li::before{content:"✓";position:absolute;left:2px;color:var(--good);font-weight:700}
.fm-warn{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:11px;background:rgba(198,125,24,.07);border:1px solid rgba(198,125,24,.28);font-size:12.5px;color:#6e4204;line-height:1.45}
.fm-moves{display:flex;flex-direction:column;gap:8px}
.fm-move{display:flex;align-items:center;gap:8px;font-size:13px}
.fm-arrow{color:var(--ink-4)}
.fm-cc{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 3px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line);font-size:12px;font-weight:600;color:var(--ink)}
.fm-cc-av{width:18px;height:18px;border-radius:50%;background:rgba(46,230,197,.18);color:var(--teal-deep);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.fm-cc.off{color:var(--ink-3);border-style:dashed}
.fm-cc.off .fm-cc-av{background:var(--panel-3);color:var(--ink-3)}
.fm-chips{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.fm-p{font-size:13.5px;line-height:1.55;color:var(--ink-2);margin:0}
.fm-live{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.fm-live-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.fm-live-dot{width:10px;height:10px;border-radius:50%;background:var(--good);box-shadow:0 0 0 4px rgba(18,160,101,.15);flex:none}
.fm-live-t{font-family:'Inter Tight',sans-serif;font-size:19px;font-weight:800;letter-spacing:-.01em}
.fm-ck-list{display:flex;flex-direction:column}
.fm-ck{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.fm-ck i{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;font-weight:700;color:var(--ink-3);flex:none}
.fm-ck.done i{background:var(--teal);border-color:var(--teal);color:#fff}
.fm-ck b{display:block;font-size:13.5px}
.fm-ck.done b{color:var(--ink-2)}
.fm-ck span{display:block;font-size:12px;color:var(--ink-3);margin-top:2px;line-height:1.4}
.fm-card{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.fm-card>div{flex:1 1 260px}
.fm-card b{display:block;font-size:14px}
.fm-card span{display:block;font-size:12.5px;color:var(--ink-3);margin-top:3px;line-height:1.45}
.fm-filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.fm-select{display:flex;align-items:center;gap:6px;height:38px;padding:0 12px;background:var(--panel);border:1px solid var(--line);border-radius:10px;font-size:13px;color:var(--ink-3)}
.fm-select select{border:0;background:none;font:inherit;font-weight:600;color:var(--ink)}
.fm-pop{position:fixed;z-index:220;width:250px;padding:12px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.fm-pop-row{display:flex;align-items:center;gap:8px;padding:6px 2px;font-size:13px;cursor:pointer}
.fm-pop-row input{width:16px;height:16px;accent-color:var(--teal)}
.fm-hero{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.fm-hero-n{font-family:'Inter Tight',sans-serif;font-size:22px;font-weight:800}
.fm-lesson{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:8px}
.fm-lesson b{font-size:13.5px}
@media(max-width:860px){
  .fm-table{overflow-x:auto}
  .fm-staff .fm-th,.fm-staff .fm-tr,.fm-roster .fm-th,.fm-roster .fm-tr,.fm-sessions .fm-th,.fm-sessions .fm-tr,.fm-msgs .fm-th,.fm-msgs .fm-tr{min-width:660px}
}
.fm-menu button.muted{color:var(--ink-4)}
/* S2: the Schedule next lesson menu sits beside Assign in a Players row. */
.fm-acts .sc-kebab{position:static;transform:none;width:30px;height:30px}
/* M7: session rows open the swing; search results sit under the box, right-aligned, inside the window. */
.fm-click{cursor:pointer}
.fm-click:hover{background:var(--panel-2)}
.fm-select input[type=checkbox]{accent-color:var(--teal)}
.tb-search{position:relative}
.tb-results{position:absolute;z-index:230;top:44px;right:0;width:min(340px,calc(100vw - 32px));max-height:320px;overflow:auto;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column}
.tb-result{display:flex;align-items:center;gap:8px;min-height:36px;padding:6px 10px;border-radius:8px;text-align:left;font-size:13px}
button.tb-result:hover{background:var(--panel-2)}
.tb-result.empty{color:var(--ink-3)}
.tb-result-kind{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);flex:none}
.tb-result-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tb-result-sub{margin-left:auto;font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}
/* S11: Email log → Scheduling. */
.fm-msgs .fm-th,.fm-msgs .fm-tr{grid-template-columns:1fr 2.2fr 1.2fr .7fr}
.fm-mail{margin:0;padding:14px 16px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:'JetBrains Mono',monospace;font-size:11.5px;line-height:1.55;color:var(--ink-2);background:var(--panel-2);border-bottom:1px solid var(--line)}
