.coach-report-toolbar {
  display: grid;
  grid-template-columns: minmax(220px, 360px) 1fr;
  align-items: end;
  gap: 14px;
  margin: 14px 0;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #f8f9fc;
}
.coach-report-toolbar .heading-tools { justify-content: flex-end; flex-wrap: wrap; }
.activity-section-heading {
  margin: 20px 0 12px;
  padding: 10px 13px;
  border-left: 4px solid var(--indigo);
  border-radius: 9px;
  background: #f4f2ff;
}
.activity-section-heading.past { margin-top: 28px; border-left-color: #7a8295; background: #f4f5f8; }
.activity-section-heading h4 { margin: 0; font-size: 15px; }
.notification-popover-wrap { position: relative; }
.notification-bell {
  position: relative;
  width: 42px;
  height: 42px;
  border: 1px solid #e1e4ec;
  border-radius: 12px;
  background: #fff;
  font-size: 18px;
}
.notification-bell b,.notification-nav b {
  display: grid;
  place-items: center;
  min-width: 19px;
  height: 19px;
  padding: 0 5px;
  border-radius: 999px;
  color: #fff;
  background: #d9515d;
  font-size: 9px;
}
.notification-bell b { position: absolute; top: -6px; right: -6px; }
.notification-nav b { margin-left: auto; }
.notification-popup {
  position: absolute;
  z-index: 90;
  top: 50px;
  right: 0;
  width: min(390px, calc(100vw - 30px));
  max-height: 520px;
  border: 1px solid #e1e4ec;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 20px 60px #17203a29;
  overflow: auto;
}
.notification-popup-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 14px; border-bottom: 1px solid var(--line); }
.notification-popup-head button,.notification-popup-all { border: 0; color: var(--indigo); background: transparent; font-size: 10px; font-weight: 800; }
.notification-popup-all { width: 100%; padding: 13px; border-top: 1px solid var(--line); }
.notification-center-list { display: grid; gap: 9px; }
.notification-item {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: start;
  gap: 10px;
  width: 100%;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink);
  text-align: left;
  background: #fff;
}
.notification-item.compact { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.notification-item.unread { border-color: #c9c3ff; background: #f7f5ff; }
.notification-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 11px; background: #ece9ff; }
.notification-item>span:last-child { display: grid; gap: 4px; }
.notification-item strong { font-size: 12px; }
.notification-item small { color: var(--muted); font-size: 11px; line-height: 1.45; }
.notification-item time { color: #9299aa; font-size: 9px; }
.manual-password-box { display: grid; gap: 7px; margin-top: 5px; padding: 11px; border: 1px solid #e5e2fa; border-radius: 10px; background: #f8f7ff; }
.manual-password-box label { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.manual-password-box input { width: 100%; }
.manual-password-box .primary-btn { justify-self: stretch; }
.sidebar-dismiss { position: fixed; inset: 0; z-index: 60; border: 0; background: rgba(8,14,33,.48); backdrop-filter: blur(1px); }
.fee-month-picker { min-width: 190px; }
.fee-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin: 17px 0; }
.fee-summary-card { display: grid; gap: 5px; padding: 16px; border: 1px solid var(--line); border-radius: 13px; background: #fafbfe; }
.fee-summary-card span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.fee-summary-card strong { font-size: 21px; }
.fee-summary-card.due { border-color: #f0c98e; background: #fff8ed; }
.fee-summary-card.paid { border-color: #a8dec9; background: #effaf6; }
.fee-month-alert { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 15px 0; padding: 14px 16px; border-left: 4px solid var(--amber); border-radius: 11px; background: #fff7e9; }
.fee-month-alert strong,.fee-month-alert span { display: block; }
.fee-month-alert span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.fee-rate-editor { display: grid; grid-template-columns: minmax(105px,1fr) minmax(135px,1fr) auto; gap: 7px; align-items: end; min-width: 390px; }
.fee-rate-editor label { font-size: 9px; }
.fee-rate-editor input { padding: 8px 9px; font-size: 11px; }
.fee-rate-editor .small-btn { height: 34px; }
.fee-status-paid { color: #157a59; font-weight: 800; }
.fee-status-due { color: #a46517; font-weight: 800; }
.fee-rate-editor .fee-clear-button { grid-column: 1/-1; justify-self: start; }
.content-search-extended { grid-template-columns: minmax(220px,1.6fr) repeat(3,minmax(145px,1fr)); }
.track-badge.grade { color: #235a76; background: #e8f5fb; }
.topic-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; width: 100%; }
.topic-picker label { min-width: 0; }
.topic-picker small { grid-column: 1/-1; color: var(--muted); font-size: 10px; }
.batch-subject-fields .topic-picker { grid-column: 1/-1; }
.random-youtube-suggestion { display: grid; grid-template-columns: 220px 1fr; align-items: stretch; gap: 17px; min-height: 130px; margin: 15px 0; padding: 13px; border: 1px solid #ead7d7; border-radius: 16px; color: var(--ink); background: linear-gradient(135deg,#fff7f7,#fff); text-decoration: none; overflow: hidden; }
.random-youtube-thumbnail { position: relative; display: grid; place-items: center; min-height: 120px; border-radius: 12px; background: #191919 center/cover no-repeat; overflow: hidden; }
.random-youtube-thumbnail:after { content: ''; position: absolute; inset: 0; background: linear-gradient(#0001,#0005); }
.random-youtube-thumbnail i { position: relative; z-index: 1; display: grid; place-items: center; width: 48px; height: 34px; border-radius: 10px; color: #fff; background: #f00; font-style: normal; box-shadow: 0 8px 24px #0005; }
.random-youtube-copy { display: flex; flex-direction: column; justify-content: center; gap: 7px; min-width: 0; }
.random-youtube-copy small { color: #c94343; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.random-youtube-copy strong,.random-youtube-copy h4 { margin: 0; font-size: 17px; line-height: 1.35; }
.random-youtube-copy p { margin: 0; color: var(--muted); font-size: 12px; }
.random-youtube-copy em { color: #5f6680; font-size: 11px; font-style: normal; font-weight: 700; }
.random-youtube-suggestion>.primary-btn { align-self: center; justify-self: end; }
.agenda-layout { display: grid; grid-template-columns: minmax(280px,360px) minmax(0,1fr); gap: 18px; align-items: start; }
.agenda-editor { position: sticky; top: 18px; }
.agenda-form-actions { display: flex; justify-content: flex-end; gap: 9px; }
.agenda-filter { min-width: 180px; }
.agenda-list { display: grid; gap: 10px; }
.agenda-note { display: grid; grid-template-columns: 105px minmax(0,1fr) auto auto; align-items: start; gap: 13px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.agenda-note time { color: var(--indigo); font-size: 12px; font-weight: 900; }
.agenda-note p { margin: 6px 0 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.agenda-note.done { opacity: .68; background: #f7f8fa; }
.agenda-note.done strong { text-decoration: line-through; }
@media (max-width: 800px) {
  body.sidebar-open { overflow: hidden; }
  .coach-report-toolbar { grid-template-columns: 1fr; }
  .coach-report-toolbar .heading-tools { display: grid; grid-template-columns: 1fr; }
  .notification-popup { position: fixed; top: 75px; right: 15px; }
  .readonly-pill { display: none; }
  .fee-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fee-rate-editor { min-width: 320px; grid-template-columns: 1fr 1fr; }
  .fee-rate-editor .small-btn { grid-column: 1/-1; }
  .content-search-extended,.agenda-layout { grid-template-columns: 1fr; }
  .agenda-editor { position: static; }
  .agenda-note { grid-template-columns: 1fr auto; }
  .agenda-note>div:first-of-type,.agenda-note .table-actions { grid-column: 1/-1; }
  .topic-picker { grid-template-columns: 1fr; }
  .topic-picker small { grid-column: auto; }
  .random-youtube-suggestion { grid-template-columns: 145px 1fr; }
}
@media (min-width: 781px) { .sidebar-dismiss { display: none!important; } }
@media (max-width: 480px) { .fee-summary-grid { grid-template-columns: 1fr; }.random-youtube-suggestion{grid-template-columns:1fr}.random-youtube-thumbnail{min-height:165px} }
.mobile-apps-dock{position:fixed;right:0;top:50%;z-index:1200;transform:translateY(-50%);filter:drop-shadow(0 14px 28px rgba(17,25,54,.2))}
.mobile-apps-dock details{position:relative}
.mobile-apps-dock summary{display:flex;align-items:center;gap:8px;max-width:58px;padding:12px 10px;border-radius:16px 0 0 16px;background:linear-gradient(145deg,#6656e8,#4334c7);color:#fff;cursor:pointer;list-style:none;writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:.04em}
.mobile-apps-dock summary::-webkit-details-marker{display:none}
.mobile-apps-dock summary span{font-size:18px}
.mobile-apps-dock details[open] summary{position:absolute;right:318px;top:50%;transform:translateY(-50%) rotate(180deg)}
.mobile-apps-panel{position:absolute;right:0;top:50%;width:min(318px,calc(100vw - 56px));padding:16px;transform:translateY(-50%);border:1px solid #dedaf8;border-radius:18px 0 0 18px;background:#fff;color:#111936;display:grid;gap:11px}
.mobile-apps-head{display:grid;gap:3px;padding-bottom:8px;border-bottom:1px solid #eceaf7}.mobile-apps-head span{font-size:9px;font-weight:900;letter-spacing:.14em;color:#6656e8}.mobile-apps-head strong{font-size:16px}
.mobile-apps-panel article{display:grid;gap:8px;padding:11px;border-radius:13px;background:#f7f6ff}.mobile-apps-panel article b{font-size:12px;line-height:1.35}.mobile-apps-panel article div{display:flex;gap:7px}.mobile-apps-panel article a{flex:1;padding:8px 10px;border-radius:9px;background:#fff;border:1px solid #d8d4f5;color:#4334c7;text-align:center;font-size:10px;font-weight:900;text-decoration:none}.mobile-apps-panel article a:hover{background:#edeaff}.mobile-apps-panel article small{color:#777f91;font-size:9px}
@media(max-width:780px){.mobile-apps-dock{top:auto;bottom:92px;transform:none}.mobile-apps-dock details[open] summary{right:min(318px,calc(100vw - 56px))}.mobile-apps-panel{top:auto;bottom:0;transform:none}}
.right-drawer-stack{position:fixed;right:0;top:50%;z-index:1200;display:grid;gap:10px;transform:translateY(-50%);filter:drop-shadow(0 14px 28px rgba(17,25,54,.2));isolation:isolate}
.right-drawer{position:relative}.right-drawer summary{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;width:48px;min-height:150px;padding:12px 8px;border-radius:16px 0 0 16px;color:#fff;cursor:pointer;list-style:none;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.04em;transition:filter .25s ease,transform .25s ease}.right-drawer summary::-webkit-details-marker{display:none}.right-drawer summary span{font-size:17px}.right-drawer[open] summary{filter:brightness(1.08);transform:rotate(180deg) scale(.98)}.mobile-apps-drawer summary{background:linear-gradient(145deg,#6656e8,#4334c7)}.social-drawer summary{background:linear-gradient(145deg,#ee4a7b,#c02865)}
.right-drawer>.right-drawer-panel{position:fixed;right:58px;top:50%;z-index:2;display:grid!important;width:min(318px,calc(100vw - 70px));max-height:calc(100vh - 32px);overflow:auto;padding:16px;gap:11px;border:1px solid #dedaf8;border-radius:18px;background:#fff;color:#111936;opacity:0;visibility:hidden;pointer-events:none;transform:translate(28px,-50%);transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility 0s;will-change:transform,opacity}.right-drawer[open]>.right-drawer-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0,-50%);transition:transform .42s cubic-bezier(.22,1,.36,1),opacity .3s ease,visibility 0s}
.mobile-apps-panel article{grid-template-columns:48px 1fr;align-items:center}.mobile-apps-panel article>img{width:48px;height:48px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(17,25,54,.13)}.mobile-apps-panel article section{display:grid;gap:7px;min-width:0}.mobile-apps-panel article section div{display:flex;gap:7px}
.social-panel>a{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:11px;padding:10px;border-radius:13px;background:#f7f6ff;color:#111936;text-decoration:none}.social-panel>a:hover{background:#efedff}.social-panel>a>img{width:42px;height:42px;border-radius:11px}.social-panel>a>span{display:grid;gap:2px}.social-panel>a b{font-size:12px}.social-panel>a small{font-size:9px;color:#777f91}
@media(max-width:780px){.right-drawer-stack{top:auto;bottom:86px;transform:none}.right-drawer summary{min-height:126px}.right-drawer>.right-drawer-panel{right:56px;top:auto;bottom:18px;max-height:calc(100vh - 36px);transform:translateX(28px)}.right-drawer[open]>.right-drawer-panel{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.right-drawer summary,.right-drawer>.right-drawer-panel,.right-drawer[open]>.right-drawer-panel{transition:none}}
.feedback-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,320px);gap:18px;align-items:stretch}.feedback-card textarea{min-height:190px;resize:vertical}.feedback-count{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.feedback-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:28px;border-radius:20px;background:linear-gradient(145deg,#161f43,#5747dc);color:#fff}.feedback-info>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(255,255,255,.14);font-size:24px}.feedback-info h3,.feedback-info p{margin:0}.feedback-info p{color:#d9dcf1;line-height:1.6}.feedback-info strong{font-size:12px}
@media(max-width:780px){.feedback-layout{grid-template-columns:1fr}.feedback-info{padding:22px}.feedback-count{flex-direction:column}}
