/* Mentorship sign-up (0.39.0). Theme colour tokens only. */
.kcm-kinds { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 12px; margin-top: 14px; }
.kcm-kind { display: flex; gap: 12px; align-items: flex-start; padding: 16px; border: 1px solid var(--line-l, #E6DFD2); background: var(--paper, #F6F2EA); cursor: pointer; }
.kcm-kind:has(input:checked) { border-color: var(--teal, #0F6B63); background: var(--teal-tint, #DCEFEC); }
.kcm-kind input { margin-top: 4px; width: 18px; height: 18px; accent-color: var(--teal, #0F6B63); flex-shrink: 0; }
.kcm-kind b { display: block; font-size: 16px; }
.kcm-kind small { display: block; margin-top: 4px; font-size: 13.5px; line-height: 1.5; color: var(--on-paper-mute, #6B6862); }
.kcm-checks { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.kcm .kcm-checks .kc-check { margin: 6px 0 0; font-weight: 500; }
.kcm-kind:focus-within { outline: 2px solid var(--red-on-paper, #C2131A); outline-offset: 2px; }

/* My mentoring (0.40.0) */
.kmtg-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 22px; align-items: start; padding-block: clamp(24px, 3vw, 36px) clamp(40px, 5vw, 56px); }
@media (max-width: 900px) { .kmtg-grid { grid-template-columns: minmax(0, 1fr); } }
.kmtg-col { display: grid; gap: 18px; min-width: 0; }
.kmtg-col > .kc-note { margin: 0; }
.kmtg-alert { border-left: 4px solid #8A5A00; background: #FFF6E5; }
.kmtg-k { display: block; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #8A5A00; }
.kmtg-person { display: flex; gap: 14px; align-items: center; margin-top: 14px; }
.kmtg-person .av { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: var(--teal, #0F6B63); color: #fff; font-weight: 800; font-size: 19px; }
.kmtg-person b { display: block; font-size: 17px; }
.kmtg-person div span { display: block; font-size: 14px; color: var(--on-paper-mute, #6B6862); }
.kmtg-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.kmtg-chips span { font-size: 12px; font-weight: 600; padding: 4px 9px; background: var(--paper, #F6F2EA); border: 1px solid var(--sand, #EDE6D9); }
.kmtg-quote { margin: 12px 0 0; font-family: var(--f-ed, Georgia, serif); font-size: 16.5px; color: #3A3833; }
.kmtg-acts { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 16px; }
.kmtg-f { margin: 0; display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.kmtg-timer { margin: 10px 0 0; font-size: 13px; font-weight: 700; color: #8A5A00; }
.kmtg-slots { display: grid; gap: 8px; margin-top: 14px; }
.kmtg-slot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border: 1px solid var(--line-l, #E6DFD2); background: var(--paper, #F6F2EA); margin-top: 12px; }
.kmtg-slots .kmtg-slot { margin-top: 0; }
.kmtg-slot .when { flex: 1 1 220px; min-width: 0; }
.kmtg-slot .when b, .kmtg-session .when b { display: block; font-variant-numeric: tabular-nums; }
.kmtg-slot .when span { display: block; font-size: 13px; color: var(--on-paper-mute, #6B6862); }
.kmtg-tag { font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; padding: 3px 8px; }
.kmtg-tag.open { background: var(--teal-tint, #DCEFEC); color: #0B4F49; }
.kmtg-tag.req { background: #FFF3DC; color: #8A5A00; }
.kmtg-link { background: none; border: 0; padding: 0; font: inherit; font-size: 14px; font-weight: 700; color: var(--red-on-paper, #C2131A); text-decoration: underline; cursor: pointer; }
.kmtg-empty { margin: 0; font-size: 14px; color: var(--on-paper-mute, #6B6862); }
.kmtg-session { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; padding: 16px; margin-top: 12px; background: var(--ink, #121214); color: var(--on-ink, #EFEDE8); }
.kmtg-session .when { flex: 1 1 240px; min-width: 0; }
.kmtg-session .when b { color: #fff; font-size: 17px; }
.kmtg-session .when span { display: block; font-size: 13px; color: var(--on-ink-mute, #A3A09B); }
.kmtg-session .acts { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.kmtg-session .kmtg-link { color: #fff; }
.kmtg-wait { font-size: 13px; font-weight: 700; color: var(--on-ink-mute, #A3A09B); border: 1px solid currentColor; padding: 8px 12px; }
.kmtg-add { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin-top: 14px; padding: 14px; background: var(--paper, #F6F2EA); border: 1px dashed var(--on-paper-mute, #6B6862); width: 100%; }
.kmtg-add label { display: grid; gap: 4px; font-size: 12px; font-weight: 700; color: var(--on-paper-mute, #6B6862); min-width: 0; }
.kmtg-add input, .kmtg-add select { height: 42px; min-width: 0; width: 100%; }
.kmtg-add .wide { grid-column: 1 / -1; }
.kmtg-small { margin: 0; font-size: 12.5px; color: var(--on-paper-mute, #6B6862); }
.kmtg-steps { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 10px; }
.kmtg-steps li { display: flex; gap: 10px; align-items: center; font-size: 14px; }
.kmtg-steps li i { width: 24px; height: 24px; flex-shrink: 0; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 12px; font-weight: 800; background: var(--sand, #EDE6D9); color: var(--on-paper-mute, #6B6862); }
.kmtg-steps li.done i { background: var(--teal, #0F6B63); color: #fff; }
.kmtg-steps li.now i { background: #8A5A00; color: #fff; }
.kmtg-msgs { display: grid; gap: 10px; margin-top: 14px; max-height: 460px; overflow-y: auto; }
.kmtg-m { max-width: 88%; padding: 10px 12px; font-size: 14px; line-height: 1.5; background: var(--paper, #F6F2EA); border: 1px solid var(--line-l, #E6DFD2); overflow-wrap: anywhere; }
.kmtg-m.me { justify-self: end; background: var(--teal-tint, #DCEFEC); border-color: var(--teal-tint, #DCEFEC); }
.kmtg-m small { display: block; margin-top: 4px; font-size: 11px; color: var(--on-paper-mute, #6B6862); }
.kmtg-f.kmtg-msgf { display: block; }
.kmtg-compose { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; margin-top: 12px; width: 100%; }
.kmtg-compose textarea { width: 100%; min-height: 120px; resize: vertical; font: inherit; font-size: 15px; line-height: 1.5; padding: 10px 12px; }
.kmtg-report textarea { width: 100%; min-height: 90px; font: inherit; }
.kmtg-staff { margin: 12px 0 0; padding: 10px 12px; background: var(--paper, #F6F2EA); border: 1px solid var(--line-l, #E6DFD2); font-size: 12.5px; color: var(--on-paper-mute, #6B6862); }
.kmtg-report { margin-top: 10px; font-size: 13px; }
.kmtg-report summary { cursor: pointer; font-weight: 700; color: var(--red-on-paper, #C2131A); }
.kmtg-report .kmtg-f { display: grid; gap: 8px; margin-top: 8px; }
.kmtg-rules { margin: 10px 0 0; padding-left: 18px; display: grid; gap: 6px; font-size: 14px; color: #3A3833; }
.kmtg-tzf { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line-l, #E6DFD2); }
.kmtg-tz { display: grid; gap: 4px; font-size: 12px; font-weight: 700; color: var(--on-paper-mute, #6B6862); flex: 1 1 200px; min-width: 0; }
.kmtg-tz select { height: 40px; width: 100%; min-width: 0; }
