/* Medina Fight Lab — additions for the real app: empty states, profile edit, coach builder. */

/* ---------- Daily Message Bell ---------- */
.mfl-bell {
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.8;
  transition: opacity .2s;
}
.mfl-bell:active { opacity: 1; }

.mfl-bell__dot {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 8px;
  height: 8px;
  background: var(--scarlet-500, #C7102F);
  border-radius: 50%;
  border: 2px solid var(--ink-900, #0F0E0D);
}

.mfl-msg-toast {
  position: fixed;
  bottom: calc(env(safe-area-inset-bottom) + 80px);
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 40px);
  max-width: 420px;
  background: var(--ink-800, #1a1917);
  border: 1px solid var(--scarlet-500, #C7102F);
  border-radius: 10px;
  padding: 14px 40px 14px 16px;
  z-index: 999;
  box-shadow: 0 8px 32px rgba(0,0,0,0.5);
  animation: mfl-toast-in .25s ease;
}
@keyframes mfl-toast-in {
  from { opacity: 0; transform: translateX(-50%) translateY(12px); }
  to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.mfl-msg-toast__label {
  font-family: var(--font-cond, "Oswald", sans-serif);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 10px;
  color: var(--scarlet-500, #C7102F);
  font-weight: 600;
  margin-bottom: 5px;
}
.mfl-msg-toast__text {
  font-family: var(--font-body, "Barlow", sans-serif);
  font-size: 14px;
  color: var(--bone-100, #f5f3ef);
  line-height: 1.5;
}
.mfl-msg-toast__close {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: none;
  color: var(--ink-400, #888);
  font-size: 18px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
}

/* ---------- shared ---------- */
.aa-empty{
  font-family:var(--font-body); font-size:14px; color:var(--ink-500);
  background:var(--bone-200); border:1px dashed var(--bone-400);
  border-radius:var(--radius-md); padding:18px 16px; text-align:center; line-height:1.5;
}
.aa-textbtn{
  background:none; border:none; cursor:pointer; padding:4px 2px;
  font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.1em;
  font-weight:600; font-size:12px; color:var(--scarlet-500);
}
.aa-edit{ width:100%; display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.aa-edit__row{ display:flex; gap:10px; }
.aa-edit__row > *{ flex:1; }

/* ---------- coach builder ---------- */
.cb-app{ background:var(--surface-page); }

.cb-bar{
  display:flex; align-items:center; gap:12px; padding:16px 20px;
  background:var(--ink-900); color:var(--bone-100);
  position:sticky; top:0; z-index:5;
}
.cb-bar__logo{ width:34px; height:34px; border-radius:7px; }
.cb-bar__back, .cb-bar__r button, .cb-trash{
  background:rgba(255,255,255,.08); border:none; cursor:pointer;
  color:var(--bone-100); border-radius:8px; display:inline-flex; align-items:center; gap:6px;
}
.cb-bar__back{ width:36px; height:36px; justify-content:center; }
.cb-bar__t{
  flex:1; font-family:var(--font-display); text-transform:uppercase;
  letter-spacing:.01em; font-size:20px; color:var(--bone-50);
}
.cb-exit{
  background:rgba(255,255,255,.08); border:none; cursor:pointer; color:var(--bone-100);
  font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-weight:600;
  font-size:12px; padding:8px 12px; border-radius:999px; display:inline-flex; align-items:center; gap:6px;
}
.cb-trash{ width:36px; height:36px; justify-content:center; color:var(--scarlet-400); }

.cb-page{ padding:18px 20px 130px; display:flex; flex-direction:column; gap:16px; }

.cb-intro__eye{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.14em; font-size:12px; color:var(--scarlet-500); font-weight:600; }
.cb-intro__h{ font-family:var(--font-display); text-transform:uppercase; font-size:34px; line-height:.95; color:var(--ink-900); margin:4px 0 0; }
.cb-intro__p{ font-family:var(--font-body); font-size:14px; color:var(--ink-500); margin:8px 0 0; line-height:1.5; }

.cb-list{ display:flex; flex-direction:column; gap:12px; }
.cb-card{
  background:var(--surface-card); border:1px solid var(--bone-300);
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-xs);
}
.cb-card--today{ border-color:var(--scarlet-500); box-shadow:0 0 0 1px var(--scarlet-500); }
.cb-card__main{ padding:14px 16px 10px; cursor:pointer; }
.cb-card__top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.cb-card__title{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.04em; font-weight:600; font-size:16px; color:var(--ink-900); }
.cb-card__meta{ display:flex; gap:16px; margin-top:6px; }
.cb-card__meta span{ display:inline-flex; align-items:center; gap:5px; font-family:var(--font-body); font-size:12.5px; color:var(--ink-500); }
.cb-card__meta svg{ color:var(--ink-400); }
.cb-card__actions{ display:flex; gap:8px; padding:0 12px 12px; }
.cb-assign, .cb-edit, .cb-assigned{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-weight:600; font-size:12px;
  padding:9px 10px; border-radius:8px; cursor:pointer; border:1px solid var(--bone-300); background:var(--bone-100); color:var(--ink-700);
}
.cb-edit{ background:var(--ink-900); color:var(--bone-100); border-color:var(--ink-900); }
.cb-assign{ color:var(--scarlet-600); border-color:var(--scarlet-200); background:var(--scarlet-100); }
.cb-assigned{ background:var(--green-100); color:var(--green-500); border-color:transparent; cursor:default; }

/* form */
.cb-form{ display:flex; flex-direction:column; gap:12px; }
.cb-fieldlabel{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.1em; font-weight:600; font-size:12px; color:var(--ink-600); margin-bottom:-4px; }
.cb-textarea{
  width:100%; box-sizing:border-box; resize:vertical; min-height:60px;
  font-family:var(--font-body); font-size:15px; color:var(--ink-900);
  background:var(--surface-card); border:1.5px solid var(--border-field);
  border-radius:var(--radius-md); padding:11px 13px; line-height:1.45;
}
.cb-textarea:focus{ outline:none; border-color:var(--scarlet-500); box-shadow:0 0 0 3px var(--ring); }

/* round editor */
.cb-rounds{ display:flex; flex-direction:column; gap:12px; }
.cb-round{
  background:var(--surface-card); border:1px solid var(--bone-300);
  border-radius:var(--radius-lg); padding:12px; display:flex; flex-direction:column; gap:9px;
}
.cb-round__head{ display:flex; align-items:center; gap:10px; }
.cb-round__n{
  width:24px; height:24px; border-radius:6px; background:var(--ink-900); color:var(--bone-50);
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-cond); font-weight:600; font-size:13px;
}
.cb-round__order{ display:flex; gap:4px; margin-left:auto; }
.cb-round__order button{
  width:28px; height:26px; border-radius:6px; border:1px solid var(--bone-300);
  background:var(--bone-100); color:var(--ink-600); cursor:pointer; font-size:13px; line-height:1;
}
.cb-round__order button:disabled{ opacity:.35; cursor:default; }
.cb-round__del{ width:30px; height:28px; border-radius:6px; border:1px solid var(--scarlet-200); background:var(--scarlet-100); color:var(--scarlet-600); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }

/* dock */
.cb-dock{
  position:sticky; bottom:0; margin-top:auto; padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:color-mix(in srgb, var(--bone-100) 88%, transparent);
  backdrop-filter:blur(8px); border-top:1px solid var(--bone-300);
}
.cb-assign--lg{ flex:none; padding:11px 14px; }
.cb-hint{ font-family:var(--font-body); font-size:12px; color:var(--ink-400); }

/* ---------- loading / generic ---------- */
.aa-loading{
  min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:40px; gap:6px; color:var(--ink-500);
  font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.1em; font-size:14px;
}
.aa-offline{ color:var(--amber-500); display:inline-flex; }

/* ---------- welcome / onboarding ---------- */
.wl{ min-height:100vh; display:flex; flex-direction:column; justify-content:center; gap:28px; padding:40px 26px; }
.wl__brand{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; }
.wl__brand img{ width:88px; height:88px; border-radius:20px; }
.wl__word{ font-family:var(--font-display); text-transform:uppercase; line-height:.92; font-size:34px; color:var(--ink-900); margin-top:6px; }
.wl__tag{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.12em; font-size:11px; color:var(--scarlet-500); font-weight:600; }
.wl__choose{ display:flex; flex-direction:column; gap:14px; }
.wl__role{
  display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left;
  background:var(--surface-card); border:1.5px solid var(--bone-300); border-radius:var(--radius-lg);
  padding:18px 18px; cursor:pointer; position:relative; box-shadow:var(--shadow-xs);
}
.wl__role--coach{ background:var(--ink-900); border-color:var(--ink-900); }
.wl__role-ic{ position:absolute; right:16px; top:16px; color:var(--scarlet-500); }
.wl__role-t{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.04em; font-weight:600; font-size:17px; color:var(--ink-900); }
.wl__role-s{ font-family:var(--font-body); font-size:13px; color:var(--ink-500); }
.wl__role--coach .wl__role-t{ color:var(--bone-50); }
.wl__role--coach .wl__role-s{ color:var(--bone-300); }
.wl__form{ display:flex; flex-direction:column; gap:14px; }
.wl__err{ font-family:var(--font-body); font-size:13px; color:var(--scarlet-600); background:var(--scarlet-100); border-radius:8px; padding:9px 12px; }
.wl__muted{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.1em; font-size:13px; color:var(--ink-400); text-align:center; }
.wl__back{ background:none; border:none; cursor:pointer; color:var(--ink-500); font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:600; }

/* ---------- session focus: scroll + timer + log ---------- */
.aa-focus__scroll{ flex:1; overflow-y:auto; display:flex; flex-direction:column; gap:14px; padding-bottom:8px; }

.aa-timer{ border-radius:var(--radius-lg); padding:16px; text-align:center; border:1.5px solid var(--bone-300); background:var(--surface-card); }
.aa-timer--work{ background:var(--ink-900); border-color:var(--ink-900); }
.aa-timer--rest{ background:var(--steel-100); border-color:var(--steel-500); }
.aa-timer--done{ background:var(--green-100); border-color:var(--green-500); }
.aa-timer__phase{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.16em; font-size:12px; font-weight:600; color:var(--ink-500); }
.aa-timer--work .aa-timer__phase{ color:var(--scarlet-400); }
.aa-timer__rd{ color:inherit; opacity:.8; }
.aa-timer__clock{ font-family:var(--font-display); font-size:54px; line-height:1; color:var(--ink-900); margin:6px 0 12px; font-variant-numeric:tabular-nums; }
.aa-timer--work .aa-timer__clock{ color:var(--bone-50); }
.aa-timer__ctrls{ display:flex; gap:10px; justify-content:center; align-items:center; }
.aa-tbtn{ min-width:44px; height:42px; border-radius:10px; border:1px solid var(--bone-300); background:var(--bone-100); color:var(--ink-700); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.06em; font-weight:600; font-size:13px; padding:0 14px; }
.aa-timer--work .aa-tbtn{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.18); color:var(--bone-100); }
.aa-tbtn--go{ background:var(--scarlet-500); border-color:var(--scarlet-500); color:var(--bone-50); padding:0 22px; }
.aa-tbtn:disabled{ opacity:.4; cursor:default; }

.aa-log{ display:flex; flex-direction:column; gap:9px; }
.aa-log__row{ display:flex; gap:9px; }
.aa-log__row label{ flex:1; display:flex; flex-direction:column; gap:4px; font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:600; color:var(--ink-500); }
.aa-log__in, .aa-log__notes{ box-sizing:border-box; font-family:var(--font-body); font-size:15px; color:var(--ink-900); background:var(--surface-card); border:1.5px solid var(--border-field); border-radius:var(--radius-md); padding:10px 12px; }
.aa-log__notes{ width:100%; }
.aa-log__in:focus, .aa-log__notes:focus{ outline:none; border-color:var(--scarlet-500); box-shadow:0 0 0 3px var(--ring); }
/* logged sets within a round */
.aa-sets{ display:flex; flex-direction:column; gap:2px; background:var(--surface-card); border:1.5px solid var(--border-field); border-radius:var(--radius-md); padding:8px; }
.aa-sets__row{ display:grid; grid-template-columns:34px 1fr 1fr 1fr 26px; align-items:center; gap:6px; padding:6px 4px; font-size:14px; color:var(--ink-900); }
.aa-sets__row + .aa-sets__row{ border-top:1px solid var(--border-soft); }
.aa-sets__head{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-size:10px; font-weight:600; color:var(--ink-400); padding-bottom:2px; }
.aa-sets__head + .aa-sets__row{ border-top:none; }
.aa-sets__n{ font-family:var(--font-cond); font-weight:700; color:var(--scarlet-500); }
.aa-sets__x{ border:0; background:none; color:var(--ink-400); font-size:18px; line-height:1; cursor:pointer; padding:0; }
.aa-addset{ display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:11px; cursor:pointer;
  font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.06em; font-weight:700; font-size:13px;
  color:var(--ink-900); background:var(--bone-200); border:1.5px dashed var(--border-strong); border-radius:var(--radius-md); }
.aa-addset:active{ transform:scale(.99); }

/* ---------- coach roster ---------- */
.cb-ath{ background:var(--surface-card); border:1px solid var(--bone-300); border-radius:var(--radius-lg); padding:14px; display:flex; flex-direction:column; gap:11px; }
.cb-ath__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.cb-ath__name{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.03em; font-weight:600; font-size:16px; color:var(--ink-900); }
.cb-ath__lv{ font-family:var(--font-body); font-size:12.5px; color:var(--ink-500); }
.cb-code{ display:inline-flex; align-items:center; gap:5px; font-family:var(--font-cond); letter-spacing:.18em; font-weight:600; font-size:13px; color:var(--scarlet-600); background:var(--scarlet-100); border:1px solid var(--scarlet-200); border-radius:8px; padding:7px 10px; cursor:pointer; }
.cb-ath__assign{ display:flex; align-items:center; gap:10px; }
.cb-select{ flex:1; font-family:var(--font-body); font-size:14px; color:var(--ink-900); background:var(--bone-100); border:1.5px solid var(--border-field); border-radius:var(--radius-md); padding:10px 12px; }
.cb-select:focus{ outline:none; border-color:var(--scarlet-500); }
.cb-ath__rm{ align-self:flex-start; background:none; border:none; cursor:pointer; color:var(--ink-400); font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:600; display:inline-flex; align-items:center; gap:5px; }
.cb-ath__actions{ display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--border-soft); padding-top:10px; }
.cb-ath__logs{ background:none; border:none; cursor:pointer; color:var(--ink-800); font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:700; display:inline-flex; align-items:center; gap:5px; }
.cb-ath__actions .cb-ath__rm{ align-self:auto; }
/* coach: athlete log review */
.cb-log{ background:var(--surface-card); border:1px solid var(--bone-300); border-radius:var(--radius-lg); padding:14px; margin-bottom:12px; }
.cb-log__h{ display:flex; align-items:center; gap:10px; padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid var(--border-soft); }
.cb-log__date{ font-family:var(--font-cond); font-weight:700; font-size:13px; color:var(--scarlet-500); white-space:nowrap; }
.cb-log__title{ flex:1; font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.02em; font-weight:600; font-size:14px; color:var(--ink-900); }
.cb-log__ex{ margin-top:10px; }
.cb-log__exlabel{ font-weight:700; font-size:14px; color:var(--ink-900); margin-bottom:6px; }
.cb-log__notes{ font-size:13px; font-style:italic; color:var(--ink-500); margin-top:6px; }

.cb-tabbar{ background:var(--ink-900); }
.cb-tabbar .aa-tab{ color:var(--bone-300); }
.cb-tabbar .aa-tab--active{ color:var(--scarlet-400); }

/* ---------- sessions grouped by client ---------- */
.cb-group{ display:flex; flex-direction:column; gap:12px; margin-bottom:18px; }
.cb-group__h{ display:flex; align-items:center; gap:8px; width:100%; padding:6px 2px; background:none; border:0; border-bottom:var(--border-width) solid var(--border-strong); cursor:pointer; text-align:left; -webkit-tap-highlight-color:transparent; }
.cb-group__h > span:nth-child(2){ flex:1; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.01em; font-size:18px; color:var(--ink-900); }
.cb-group__chev{ display:inline-flex; color:var(--ink-400); transition:transform .18s ease; }
.cb-group__h--open .cb-group__chev{ transform:rotate(90deg); }
.cb-group__n{ font-family:var(--font-cond); font-weight:600; font-size:13px; color:var(--ink-400); }

/* ---------- schedule / week view ---------- */
.sch-weeknav{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sch-weeknav button{ width:38px; height:36px; border-radius:9px; border:1px solid var(--bone-300); background:var(--surface-card); color:var(--ink-700); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.sch-range{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.08em; font-weight:600; font-size:14px; color:var(--ink-900); }
.sch-strip{ display:flex; gap:6px; }
.sch-day{ flex:1; position:relative; display:flex; flex-direction:column; align-items:center; gap:2px; padding:9px 0 10px; border-radius:10px; border:1px solid var(--bone-300); background:var(--surface-card); cursor:pointer; }
.sch-day__wd{ font-family:var(--font-cond); text-transform:uppercase; letter-spacing:.06em; font-size:10px; color:var(--ink-400); font-weight:600; }
.sch-day__n{ font-family:var(--font-display); font-size:18px; color:var(--ink-900); line-height:1; }
.sch-day--today{ border-color:var(--ink-900); }
.sch-day--sel{ background:var(--ink-900); border-color:var(--ink-900); }
.sch-day--sel .sch-day__wd{ color:var(--scarlet-400); }
.sch-day--sel .sch-day__n{ color:var(--bone-50); }
.sch-day__dot{ position:absolute; bottom:4px; width:5px; height:5px; border-radius:999px; background:var(--scarlet-500); }
.sch-day--sel .sch-day__dot{ background:var(--scarlet-400); }
