/* Shared roster index; each list owns its sticky host and column layout. */
nav.tc-name-index{position:relative;display:block;padding:0;margin:0;border:0;background:transparent;box-shadow:none;overflow:visible;min-height:0;width:44px}
.tc-name-index,.tc-name-index *{box-sizing:border-box}
.tc-name-index .tc-name-letters{display:grid;grid-template-rows:repeat(var(--tc-name-count),minmax(12px,1fr));height:min(calc(var(--tc-name-count)*24px + 8px),calc(100vh - 120px));height:min(calc(var(--tc-name-count)*24px + 8px),var(--tc-name-height,calc(100dvh - 120px)));border-radius:0;background:transparent;padding:4px 0;touch-action:none;user-select:none;-webkit-user-select:none}
.tc-name-index .tc-name-letters button,body.teacher-mobile-ui .tc-name-index .tc-name-letters button{padding:0;min-height:0;height:100%;max-height:100%;min-width:44px;width:44px;border:0;background:transparent;border-radius:0;color:#477295;font-size:clamp(9px,calc(var(--tc-name-row-height,24px)*.62),12px);font-weight:600;line-height:1;box-shadow:none;transform:none;touch-action:none;-webkit-tap-highlight-color:transparent}
.tc-name-index .tc-name-letters button[aria-current=true],body.teacher-mobile-ui .tc-name-index .tc-name-letters button[aria-current=true]{background-color:transparent;background-image:radial-gradient(circle,#e3efff 66%,transparent 70%);background-position:center;background-repeat:no-repeat;background-size:min(22px,var(--tc-name-row-height,24px)) min(22px,var(--tc-name-row-height,24px));color:var(--tc-brand,var(--brand,#1765b5));font-weight:750;text-decoration:none}
.tc-name-index .tc-name-letters button:focus-visible{outline:2px solid var(--tc-brand,var(--brand,#1765b5));outline-offset:-2px}
.tc-name-index .tc-name-letters button:active{background-color:transparent}
.tc-name-preview{position:absolute;right:48px;top:var(--tc-name-preview-top,4px);display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--tc-brand,var(--brand,#1765b5));color:#fff;font-size:27px;font-weight:650;line-height:1;box-shadow:0 4px 14px #25466a24;pointer-events:none}
.tc-name-preview[hidden]{display:none}

.tc-name-index .tc-name-letters.tc-name-scrollable{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;touch-action:pan-y;overscroll-behavior-y:contain}
.tc-name-index .tc-name-letters.tc-name-scrollable::-webkit-scrollbar{display:none}
.tc-name-index .tc-name-letters.tc-name-scrollable button,body.teacher-mobile-ui .tc-name-index .tc-name-letters.tc-name-scrollable button{touch-action:pan-y}
