/* Матч&мяч v63 — UX / CRM / interactive data polish */

/* Sidebar: нижний служебный блок действительно живёт у нижней границы. */
.sidebar-bottom{margin-top:auto;display:grid;gap:10px;min-height:0}
.sidebar-bottom .sidebar-rating-card{margin:0!important}
.sidebar-bottom .sidebar-footer{margin-top:0!important;padding-top:0!important}
.role-dot.is-player{background:var(--accent);box-shadow:0 0 0 4px rgba(200,255,61,.08)}

/* Booking confirmation is now a real modal, not a sticky bottom bar. */
.booking-bar-overlay{
  position:fixed!important;inset:0!important;z-index:220!important;display:grid!important;place-items:center!important;
  padding:20px!important;background:rgba(3,6,4,.58)!important;backdrop-filter:blur(0)!important;-webkit-backdrop-filter:blur(0)!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .22s ease,visibility .22s ease,backdrop-filter .22s ease!important;
}
.booking-bar-overlay.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}
.booking-bar{
  position:relative!important;inset:auto!important;left:auto!important;bottom:auto!important;top:auto!important;
  width:min(620px,100%)!important;max-height:min(780px,calc(100dvh - 40px))!important;overflow:auto!important;
  transform:translateY(16px) scale(.975)!important;opacity:0!important;
  display:grid!important;grid-template-columns:1fr!important;gap:18px!important;padding:24px!important;
  border-radius:24px!important;border:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(155deg,rgba(19,25,20,.98),rgba(10,14,11,.985))!important;
  box-shadow:0 28px 100px rgba(0,0,0,.52)!important;transition:transform .24s cubic-bezier(.2,.8,.2,1),opacity .18s ease!important;
}
.booking-bar-overlay.open .booking-bar{transform:none!important;opacity:1!important}
.booking-bar-close{position:absolute!important;right:16px!important;top:16px!important;width:38px!important;height:38px!important;border-radius:12px!important;background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.08)!important;z-index:2}
.booking-bar-info{padding-right:42px!important;min-width:0!important}
.booking-bar-title{font-size:21px!important;line-height:1.15!important;font-weight:800!important;white-space:normal!important;overflow:visible!important}
.booking-bar-meta{margin-top:7px!important;font-size:13px!important;line-height:1.5!important;white-space:normal!important;overflow:visible!important}
.booking-bar .settlement-booking-block{margin-top:18px}
.booking-bar #booking-bar-confirm{width:100%;min-height:50px}
.booking-modal-open{overflow:hidden!important}
@media(max-width:620px){.booking-bar-overlay{padding:14px!important}.booking-bar{width:100%!important;max-height:calc(100dvh - 28px)!important;padding:20px!important;border-radius:22px!important}.booking-bar-info{padding-right:34px!important}.booking-bar-title{font-size:19px!important}}

/* Interactive home ELO chart */
.fc-plot{position:relative;isolation:isolate}
.fc-hit{position:absolute;color:var(--accent);z-index:7;width:30px;height:30px;margin:-15px 0 0 -15px;padding:0;border:0;background:transparent;cursor:crosshair;border-radius:50%;outline:none}
.fc-hit i{position:absolute;left:50%;top:50%;width:7px;height:7px;transform:translate(-50%,-50%);border-radius:50%;background:#172016;border:2px solid currentColor;box-shadow:0 0 0 0 rgba(200,255,61,.12);opacity:.42;transition:.16s ease}
.fc-hit:hover i,.fc-hit:focus-visible i,.fc-hit.is-active i{width:10px;height:10px;opacity:1;background:currentColor;box-shadow:0 0 0 5px rgba(200,255,61,.12)}
.fc-crosshair{position:absolute;z-index:3;top:8%;bottom:8%;width:1px;background:linear-gradient(180deg,transparent,rgba(23,32,22,.18) 16%,rgba(23,32,22,.18) 84%,transparent);opacity:0;pointer-events:none;transition:opacity .12s ease}
.fc-crosshair.is-visible{opacity:1}
.fc-tooltip{position:absolute;z-index:10;min-width:138px;padding:10px 12px;border-radius:12px;background:#0f1510;color:#f4f8ef;box-shadow:0 14px 34px rgba(0,0,0,.24);border:1px solid rgba(255,255,255,.1);transform:translate(12px,-105%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,transform .12s ease}
.fc-tooltip.is-visible{opacity:1;visibility:visible;transform:translate(12px,-112%)}
.fc-tooltip.is-left{transform:translate(calc(-100% - 12px),-112%)}
.fc-tooltip.is-low{transform:translate(12px,16px)}
.fc-tooltip.is-left.is-low{transform:translate(calc(-100% - 12px),16px)}
.fc-tooltip small,.fc-tooltip em{display:block;font-style:normal;color:rgba(244,248,239,.6);font-size:10px}.fc-tooltip b{display:block;margin:2px 0;font-size:15px;color:var(--accent)}
.form-chart-v3 .fc-chart-head:after{content:'Наведи на график';font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(19,25,18,.36)}
@media(max-width:620px){.form-chart-v3 .fc-chart-head:after{content:'Нажми на точку'}.fc-hit{width:36px;height:36px;margin:-18px 0 0 -18px}}

/* My trainings */
.visual-page-hero-my-trainings{min-height:220px}
.my-training-controls{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:22px 0 16px;padding:14px 16px;border:1px solid var(--border);border-radius:18px;background:rgba(255,255,255,.025)}
.my-training-summary{display:flex;align-items:center;gap:11px}.my-training-summary-ic{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:rgba(200,255,61,.08);color:var(--accent)}.my-training-summary b{display:block;font-size:20px}.my-training-summary small{display:block;color:var(--text-faint);font-size:11px}
.my-training-filter-group{align-items:flex-start!important}.my-training-tabs i{font-style:normal;margin-left:5px;opacity:.55;font-size:10px}
.my-training-list{display:grid;gap:10px}.my-training-card{display:grid;grid-template-columns:minmax(210px,1.3fr) minmax(190px,1fr) 220px minmax(180px,auto);gap:18px;align-items:center;padding:18px 20px;border:1px solid var(--border);border-radius:20px;background:var(--card);transition:.18s ease}.my-training-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.my-training-card.is-past{opacity:.82}.my-training-date span{display:block;color:var(--accent);font:600 10px var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.my-training-date b{display:block;margin-top:4px;font-size:15px}.my-training-person{display:flex;gap:10px;align-items:center}.my-training-person-ic{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--glass-2);color:var(--text-dim)}.my-training-person small,.my-training-facts small{display:block;color:var(--text-faint);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em}.my-training-person b,.my-training-person a{font-size:12.5px;color:var(--text);text-decoration:none}.my-training-person em{display:block;margin-top:2px;color:var(--text-dim);font-style:normal;font-size:10.5px}.my-training-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.my-training-facts b{display:block;margin-top:3px;font-size:12.5px}.my-training-state{display:grid;justify-items:end;gap:9px}.my-training-status{display:inline-flex;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:800;background:var(--glass-2);color:var(--text-dim)}.my-training-status.is-booked,.my-training-status.is-attended{background:rgba(200,255,61,.1);color:var(--accent)}.my-training-status.is-pending,.my-training-status.is-waitlist{background:rgba(255,196,75,.1);color:#ffc44b}.my-training-status.is-no-show,.my-training-status.is-declined{background:rgba(255,96,96,.09);color:#ff8585}.my-training-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.my-training-skeleton{display:grid;gap:10px}.my-training-skeleton .skeleton{height:92px}
@media(max-width:1000px){.my-training-card{grid-template-columns:1.2fr 1fr 1fr}.my-training-state{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}}
@media(max-width:700px){.my-training-controls{align-items:stretch;flex-direction:column}.my-training-tabs{display:grid!important;grid-template-columns:repeat(3,1fr)}.my-training-card{grid-template-columns:1fr;gap:13px;padding:16px}.my-training-facts{grid-template-columns:1fr 1fr}.my-training-state{grid-column:auto;align-items:flex-start;flex-direction:column}.my-training-actions{width:100%;justify-content:stretch}.my-training-actions .btn{flex:1}}

/* Async ranking controls: keep layout on screen instead of full skeleton jump. */
#rating-section{transition:opacity .15s ease,filter .15s ease}#rating-section.is-ajax-loading{opacity:.58;filter:saturate(.72);pointer-events:none}.page-rating .rating-segmented button,.page-players .rating-segmented button{transition:background .16s ease,color .16s ease,transform .12s ease}.page-rating .rating-segmented button:active,.page-players .rating-segmented button:active{transform:scale(.97)}

/* Honest imported coach state */
.coach-school-booking.is-reference{border-color:rgba(255,255,255,.08)!important;background:rgba(255,255,255,.025)!important}.coach-school-booking.is-reference small{color:var(--text-faint)!important}.coach-school-booking.is-reference .coach-school-booking-ic{color:var(--text-dim)!important;background:rgba(255,255,255,.05)!important}.coach-school-booking.is-static{cursor:default}.coach-school-booking.is-static>svg{display:none}

/* Admin tournaments */
.adm-event-list{display:grid;gap:8px}.adm-event-row{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.8fr) auto;gap:16px;align-items:center;padding:13px 14px;border:1px solid var(--border);border-radius:15px;background:var(--card)}.adm-event-main{display:flex;align-items:center;gap:11px;min-width:0}.adm-event-main>div{min-width:0}.adm-event-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.adm-event-main small,.adm-event-meta{color:var(--text-faint);font-size:10.5px}.adm-event-status{width:9px;height:9px;border-radius:50%;background:var(--text-faint);flex:0 0 auto}.adm-event-status.is-active{background:var(--accent);box-shadow:0 0 0 4px rgba(200,255,61,.08)}.adm-event-meta{display:flex;gap:10px;flex-wrap:wrap}.adm-event-actions{display:flex;gap:6px;justify-content:flex-end}.adm-danger-icon{color:var(--danger)!important}.adm-event-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.adm-event-modal-head h3{margin:6px 0 7px}.adm-event-modal-head p{max-width:650px;font-size:12px;line-height:1.55}.adm-event-matches{display:grid;gap:7px;margin-top:18px;max-height:52vh;overflow:auto;padding-right:3px}.adm-event-match{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025)}.adm-event-match>div:first-child{min-width:0}.adm-event-match small,.adm-event-match span{display:block;color:var(--text-faint);font-size:10px}.adm-event-match b{display:block;margin:2px 0;font-size:12px}.adm-event-match b i{font-style:normal;color:var(--text-faint);font-weight:500}.adm-event-match-actions{display:flex;gap:6px;flex-shrink:0}
@media(max-width:820px){.adm-event-row{grid-template-columns:1fr}.adm-event-actions{justify-content:flex-start}.adm-event-match{align-items:flex-start;flex-direction:column}.adm-event-match-actions{width:100%;flex-wrap:wrap}}

/* CRM: visual hierarchy closer to a working operations product. */
.page-studio .cab{align-items:start}.page-studio .cab-nav{padding:14px 12px!important;border-radius:20px!important;background:linear-gradient(180deg,rgba(19,24,20,.96),rgba(10,13,11,.96))!important;border:1px solid rgba(255,255,255,.07)!important}.page-studio .cab-ident{padding:5px 6px 13px!important;border-bottom:1px solid var(--border)}.page-studio .cab-tabs{gap:3px;margin-top:8px}.page-studio .cab-tabs-divider{margin:11px 7px 5px;padding:0!important;border:0!important}.page-studio .cab-tabs-divider span{font:700 8.5px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.page-studio .cab-tabs-divider-core{margin-top:4px}.page-studio .cab-tab{min-height:46px!important;height:auto!important;padding:7px 9px!important;gap:9px!important;border-radius:12px!important;align-items:center!important}.page-studio .cab-tab-copy{display:grid;gap:1px;min-width:0;flex:1;text-align:left}.page-studio .cab-tab-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-faint);font-size:8.8px;font-weight:500;transition:.15s ease}.page-studio .cab-tab.is-active .cab-tab-copy small{color:color-mix(in srgb,var(--accent) 55%,var(--text-faint))}.page-studio .cab-tab-label{font-size:11.5px;font-weight:750}.page-studio .cab-tab.is-pro-zone{background:rgba(200,255,61,.018)}.page-studio .cab-tab.is-plan-zone{margin-top:1px}.page-studio .cab-main{min-width:0}.cab-workspace-strip{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:0 2px;color:var(--text-faint);font-size:10px}.cab-workspace-strip span{display:inline-flex;align-items:center;gap:5px;color:var(--accent);font-weight:800}.cab-workspace-strip b{color:var(--text-dim);font-weight:700}.cab-workspace-strip em{margin-left:auto;font-style:normal;padding:4px 7px;border:1px solid var(--border);border-radius:999px;font:700 8.5px var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.page-studio .cab-head{padding:17px 20px!important;border:1px solid var(--border);border-radius:18px 18px 0 0;background:rgba(255,255,255,.025)}.page-studio .cab-content{padding-top:16px}.page-studio .cab-back{margin-top:12px!important;border-top:1px solid var(--border);padding-top:12px!important}
@media(max-width:860px){.page-studio .cab-nav{border-radius:18px!important}.page-studio .cab-tabs-divider{display:none}.page-studio .cab-tab-copy small{display:none}.page-studio .cab-tab{min-height:42px!important}.cab-workspace-strip{margin-top:8px}.page-studio .cab-head{border-radius:16px}}
