/* Coaching only: charcoal shell, warm light workspace, one contextual accent. */
.coaching-layout {
  --coaching-accent: #a33355;
  --coaching-accent-hover: #842744;
  --coaching-tint: #f9e9ed;
  --coaching-bright: #f4a8bd;
  --coaching-shell: #242126;
  --coaching-border: #e5ddda;
  margin: 0;
  background: var(--coaching-shell);
  color: #352e32;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  line-height: 1.6;
}
.coaching-layout[data-coaching-layout="administration"] {
  --coaching-accent: #086a98;
  --coaching-accent-hover: #075579;
  --coaching-tint: #e8f3f9;
  --coaching-bright: #9ad7f3;
  --coaching-shell: #22262d;
}
.coaching-header {
  min-height: 80px; padding: 18px 30px; display: flex; align-items: center;
  flex-wrap: wrap; gap: 22px; color: #f7f1ee;
  border-bottom: 1px solid #ffffff12;
  background: linear-gradient(110deg, var(--coaching-shell), #2e2830);
}
.coaching-header > span:first-of-type { color: var(--coaching-bright); font-weight: 600; letter-spacing: .02em; }
.coaching-header > a:last-child { border: 1px solid #ffffff29; border-radius: 9px; padding: 7px 13px; font-size: 12px; }
.coaching-header a:hover { color: var(--coaching-bright); }
.coaching-shell { display: grid; grid-template-columns: clamp(190px, 20vw, 300px) minmax(0, 1fr); min-height: calc(100vh - 80px); }
.coaching-nav { padding: 28px 16px; color: #cec7cb; background: var(--coaching-shell); }
.coaching-nav a { display: block; border-radius: 10px; padding: 11px 14px; margin-bottom: 5px; font-size: 13px; text-decoration: none; border: 1px solid transparent; transition: background .15s; }
.coaching-nav a:hover { background: #ffffff0a; color: #fff; }
.coaching-nav a.active { background: color-mix(in srgb, var(--coaching-accent) 28%, transparent); border-color: color-mix(in srgb, var(--coaching-bright) 25%, transparent); color: var(--coaching-bright); font-weight: 650; }
.coaching-nav h2 { padding: 10px 14px; margin: 15px 0 5px; color: #9f969e; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; }
.coaching-nav > div:first-child h2 { margin-top: 0; }
.coaching-main { min-width: 0; padding: clamp(22px, 3vw, 46px); background: #f5f1ef; border-radius: 24px 0 0 0; }
.coaching-main h1 { color: #322b30; font-size: clamp(24px, 2.4vw, 34px); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; margin: 0 0 12px; }
.coaching-main h2 { color: #3c3238; font-size: 18px; font-weight: 650; line-height: 1.4; margin-bottom: 14px; letter-spacing: -.02em; }
.coaching-main h3 { font-weight: 650; font-size: 13px; margin: 18px 0 10px; }
.coaching-main p { margin-bottom: 12px; }
.coaching-main small { color: #70646b; font-size: 12px; }
.coaching-main a { color: var(--coaching-accent); text-underline-offset: 3px; }
.coaching-main a:hover { text-decoration: underline; }
.coaching-main :is(section, div).bg-white { background: #fffdfb; border: 1px solid var(--coaching-border); box-shadow: 0 3px 15px #33202a04; }
.coaching-main .rounded-2xl { border-radius: 18px; }
.coaching-main .text-emerald-950 { color: #43363d; }
.coaching-main .bg-emerald-50 { background: var(--coaching-tint); }
.coaching-main .bg-emerald-800 { background: var(--coaching-accent); }
.coaching-main .border-stone-200 { border-color: var(--coaching-border); }
.coaching-main aside a.active { background: var(--coaching-tint); border-left: 3px solid var(--coaching-accent); }
.coaching-main label { display: block; font-size: 12px; font-weight: 600; color: #675962; margin: 0 0 7px; }
.coaching-main :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]), select, textarea) {
  width: 100%; color: #3c3238; background: #fffefd; border: 1px solid #dcd2d7;
  border-radius: 9px; padding: 10px 12px; margin-bottom: 14px; font-size: 14px; min-height: 42px;
}
.coaching-main textarea { min-height: 130px; resize: vertical; }
.coaching-main input::placeholder, .coaching-main textarea::placeholder { color: #978b92; }
.coaching-main :is(input, select, textarea, button, a):focus-visible { outline: 3px solid color-mix(in srgb, var(--coaching-accent) 45%, white); outline-offset: 2px; }
.coaching-main :is(button, input[type=submit]) {
  border-radius: 9px; border: 1px solid color-mix(in srgb, var(--coaching-accent) 23%, white);
  background: var(--coaching-tint); color: var(--coaching-accent); cursor: pointer;
  padding: 8px 13px; font-size: 12px; font-weight: 650; line-height: 1.5;
  transition: background .15s; margin: 3px 0;
}
.coaching-main input[type=submit] { width: 100%; background: var(--coaching-accent); color: white; padding: 11px 16px; border-color: transparent; }
.coaching-main :is(button, input[type=submit]):hover { background: var(--coaching-accent-hover); color: white; }
.coaching-main button:disabled { opacity: .45; cursor: not-allowed; }
.coaching-main form.button_to { display: inline-block; margin-right: 5px; }
.coaching-main details { margin: 14px 0; }
.coaching-main summary { cursor: pointer; color: var(--coaching-accent); }
.coaching-main table { width: 100%; border-collapse: collapse; font-size: 13px; }
.coaching-main th { font-size: 11px; font-weight: 650; letter-spacing: .025em; color: #83727c; text-align: left; background: #faf7f5; }
.coaching-main :is(th, td) { padding: 14px 12px; border-bottom: 1px solid #eee7e7; }
.coaching-main tr:last-child td { border-bottom: 0; }
.coaching-main tbody tr:hover { background: #faf7f5; }
.coaching-status { display: inline-flex; align-items: center; gap: 6px; border-radius: 99px; padding: 4px 9px; white-space: nowrap; font-size: 11px; font-weight: 650; }
.coaching-status::before { content: ""; width: 6px; height: 6px; background: currentColor; border-radius: 50%; }
.coaching-status-connected { background: #e6f5eb; color: #21643d; }
.coaching-status-disconnected { background: #fcebea; color: #a92f39; }
.coaching-user-search { position: relative; padding-bottom: 12px; }
.coaching-user-search input { margin-bottom: 4px !important; }
.coaching-search-results { position: absolute; z-index: 20; top: 72px; left: 0; right: 0; max-height: 260px; overflow-y: auto; padding: 5px; background: #fffdfb; border: 1px solid var(--coaching-border); border-radius: 10px; box-shadow: 0 12px 30px #2f1b2a24; }
.coaching-search-results[hidden] { display: none; }
.coaching-search-results button { display: block; width: 100%; text-align: left; margin: 0; border: 0; background: transparent; font-weight: 500; color: #493b44; }
.coaching-search-results button[aria-selected="true"] { background: var(--coaching-tint); color: var(--coaching-accent); }
@media (max-width: 900px) {
  .coaching-shell { grid-template-columns: minmax(0, 1fr); }
  .coaching-nav { display: flex; flex-wrap: wrap; gap: 5px; padding: 14px 16px; }
  .coaching-nav > div { flex: 1 1 180px; }
  .coaching-nav h2 { margin-top: 0; }
  .coaching-nav a { padding: 8px 12px; }
  .coaching-main { padding: 22px 16px; border-radius: 18px 18px 0 0; }
  .coaching-header { padding: 16px; gap: 14px; }
}

.coaching-main .coaching-queue-row { display: block; padding: 16px; border-bottom: 1px solid var(--coaching-border); border-left: 3px solid transparent; text-decoration: none; }
.coaching-queue-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.coaching-queue-heading strong { min-width: 0; overflow-wrap: anywhere; }
.coaching-queue-row small { display: block; margin-top: 5px; }
.coaching-main aside .coaching-queue-row.is-pending { background: #edf9f0; border-left-color: #16a34a; }
.coaching-main aside .coaching-queue-row.active { box-shadow: inset 0 0 0 2px var(--coaching-accent); }
.coaching-main .coaching-queue-row:hover { background: #f5f0f2; }
.coaching-pending-count { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-width: 28px; height: 28px; padding: 0 6px; border-radius: 999px; background: #eee9eb; color: #70646b; font-size: 12px; font-weight: 750; }
.coaching-pending-count.has-pending { background: #15803d; color: white; box-shadow: 0 0 0 3px #dcfce7; }
.coaching-main article[data-attention="pending"] { border-left: 4px solid #16a34a; background: #edf9f0; }

.notification-reminder { border-left: 4px solid var(--coaching-accent); background: var(--coaching-tint); border-radius: 10px; padding: 16px; margin-bottom: 18px; }
.notification-reminder p { margin: 8px 0 0; }
.notification-steps { list-style: decimal; padding-left: 24px; margin: 18px 0; }
.notification-steps li { padding-left: 5px; margin-bottom: 14px; line-height: 1.65; }
.coaching-main .notification-platform { border: 1px solid var(--coaching-border); border-radius: 16px; background: #fffdfb; overflow: hidden; }
.notification-platform summary { padding: 20px; font-size: 18px; font-weight: 650; }
.notification-guide-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; padding: 0 22px 22px; }
.notification-guide-image { display: block; width: 100%; height: auto; border: 1px solid var(--coaching-border); border-radius: 12px; }
.notification-guide-phone { width: min(100%, 250px); margin: 0 auto; }
.notification-guide-grid figcaption { color: #70646b; font-size: 12px; line-height: 1.5; margin-top: 12px; }
@media (max-width: 1100px) { .notification-guide-grid { grid-template-columns: minmax(0, 1fr); } }
