.coaching-page { max-width:1440px; margin:0 auto; }
.coaching-heading,.coaching-actions,.coaching-item-top,.coaching-detail-heading,.coaching-progress { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.coaching-heading { margin-bottom:22px; align-items:flex-start; flex-wrap:wrap; }
.coaching-heading h1 { margin:5px 0 8px; }
.coaching-heading p,.coaching-detail-heading p { color:var(--muted); margin:6px 0 0; }
.coaching-actions { justify-content:flex-end; flex-wrap:wrap; }
.coaching-filters { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.coaching-filters .f { min-width:180px; margin:0; }
.coaching-layout { display:grid; grid-template-columns:minmax(260px,330px) minmax(0,1fr); gap:18px; align-items:start; }
.coaching-sidebar,.coaching-detail { background:#fff; border:1px solid var(--line); border-radius:12px; min-width:0; overflow:hidden; }
.coaching-sidebar { padding:10px; }
.coaching-item { display:flex; flex-direction:column; gap:9px; width:100%; padding:15px 12px; text-align:left; color:inherit; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:7px; cursor:pointer; }
.coaching-item:hover { background:#f3f9fe; }
.coaching-item.selected { background:#e9f5ff; box-shadow:inset 3px 0 #229ed9; }
.coaching-item:focus-visible { outline:2px solid #159bd6; outline-offset:-2px; }
.coaching-item-top { width:100%; align-items:start; }
.coaching-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.55; overflow-wrap:anywhere; }
.coaching-status { display:inline-flex; align-items:center; white-space:nowrap; padding:4px 7px; border-radius:6px; background:#fff2d8; color:#87550e; font-size:11px; font-weight:600; }
.coaching-status.in_progress { background:#e4f2ff; color:#126794; }
.coaching-status.resolved { background:#e8f4ec; color:#317044; }
.coaching-detail { padding:24px; }
.coaching-detail-heading { margin-bottom:22px; align-items:flex-start; }
.coaching-detail-heading h2 { margin:8px 0; }
.coaching-source { padding:16px; border-radius:8px; background:#f2f8fd; margin:16px 0; }
.coaching-source blockquote { margin:10px 0; border:0; padding:0; white-space:pre-wrap; overflow-wrap:anywhere; max-height:180px; overflow:auto; line-height:1.6; }
.coaching-source .btn { margin-left:12px; }
.coaching-feedback h3,.coaching-timeline h3 { font-size:14px; margin:20px 0 10px; }
.coaching-feedback p,.coaching-update p { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; margin:8px 0; }
.coaching-next-step { padding:2px 16px 12px; border-left:3px solid #229ed9; background:#f7fbfe; margin:18px 0; }
.coaching-progress { padding:12px 0 20px; border-bottom:1px solid var(--line); flex-wrap:wrap; }
.coaching-update { margin:16px 0; padding:14px; background:#f6f9fc; border-radius:8px; }
.coaching-update > div { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.coaching-update time { color:var(--muted); font-size:11px; }
.coaching-update.is-event { background:transparent; padding:3px 0; font-size:12px; color:var(--muted); }
.coaching-reply-form { margin-top:24px; }
.coaching-privacy { color:var(--muted); font-size:12px; margin:18px 0; }
.coaching-empty { text-align:center; padding:42px 18px; color:var(--muted); }
.coaching-empty h2,.coaching-empty b { color:var(--text); }
.coaching-empty-icon { display:block; font-size:32px; margin-bottom:16px; }
#coaching-more { padding-top:12px; text-align:center; }
.coaching-create { width:min(660px,100%); }
.coaching-create .f { margin-bottom:12px; }
.coaching-search { display:flex; align-items:flex-end; gap:8px; margin-bottom:12px; }
.coaching-search .f { flex:1; margin:0; }
.coaching-create .coaching-actions { margin-top:18px; }
.coaching-create .coaching-actions .small { flex:1; min-width:160px; }
#coaching-conversation-more,#coaching-message-more { margin-bottom:12px; }
.coaching-message-button { font-size:10px; margin-top:4px; }
@media(max-width:900px) { .coaching-layout { grid-template-columns:1fr; } .coaching-sidebar { max-height:320px; overflow:auto; } .coaching-detail { padding:18px; } }
@media(max-width:500px) { .coaching-source .btn { margin:12px 0 0; display:block; } .coaching-detail-heading { flex-wrap:wrap; } .coaching-filters .f { flex:1; min-width:140px; } }
