.taAdmin {
  max-width: 780px;
  width: calc(100% - 20px);
  max-height: 92dvh;
}
.taAdmin .taDialogBody {
  max-height: calc(92dvh - 72px);
  padding: 14px;
}
.taAdminToolbar {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
  align-items: center;
}
.taAdminToolbar input {
  min-width: 0;
  flex: 1;
  padding: 10px;
  border: 1px solid #d2dce3;
  border-radius: 8px;
  font: 16px system-ui;
}
.taApplicantRow {
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid #e4e9ef;
  padding: 12px 0;
}
.taApplicantRow > button:first-child {
  flex: 1;
  display: flex;
  gap: 12px;
  align-items: center;
  text-align: left;
  padding: 0;
  border: 0;
  min-width: 0;
  background: none;
}
.taApplicantRow img,
.taAvatarPlaceholder {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  object-fit: cover;
  background: #e7edf3;
  flex-shrink: 0;
}
.taAvatarPlaceholder {
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
}
.taApplicantRow strong {
  display: block;
  font-size: 15px;
}
.taApplicantRow small {
  display: block;
  font-size: 12px;
  color: #667886;
  overflow-wrap: anywhere;
}
.taApplicantRow .taApplicantMeta { font-size: 10px; font-variant-numeric: tabular-nums; }
.taRowActions {
  display: flex;
  gap: 5px;
}
.taRowActions button {
  padding: 8px;
  min-height: 36px;
  font-size: 12px;
}
.taRoot .taIconAction {
  width: 34px;
  min-height: 36px;
  padding: 7px;
  display: inline-grid;
  place-items: center;
  border-color: transparent;
  background: #f2f5f7;
  border-radius: 9px;
}
.taRoot .taDeleteAction {
  color: #a3423d;
}
.taRoot .taDanger {
  background: #a3423d;
  border-color: #a3423d;
  color: #fff;
}
.taListTabs {
  display: flex;
  gap: 4px;
  padding: 3px;
  width: fit-content;
  background: #eef2f4;
  border-radius: 10px;
  margin-bottom: 14px;
}
.taListTabs button {
  min-height: 34px;
  padding: 8px 13px;
  font-size: 13px;
  background: transparent;
  border: 0;
}
.taListTabs button[aria-pressed="true"] {
  background: #fff;
  color: var(--taTeal);
  box-shadow: 0 1px 4px #14233d12;
}
.taTabCount { font-size: 10px; font-weight: 500; margin-left: 3px; font-variant-numeric: tabular-nums; }
.taApplicantRow > button:first-child > span:last-child {
  min-width: 0;
}
.taApplicantRow strong {
  overflow-wrap: anywhere;
}
.taProfileTop {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 0;
}
.taProfileTop .taDp {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  object-fit: cover;
}
.taProfileTop button {
  border: 0;
  padding: 0;
  border-radius: 50%;
  background: none;
}
.taProfileTop h2 {
  margin: 0;
  font-size: 22px;
}
.taProfileTop p {
  margin: 3px 0;
  color: #637481;
  font-size: 13px;
}
.taProfileInfo {
  display: grid;
  grid-template-columns: 145px 1fr;
  gap: 8px 12px;
  font-size: 14px;
}
.taProfileInfo dt {
  font-weight: 600;
}
.taProfileInfo dd {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.taArtworkGrid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  margin-top: 12px;
}
.taArtworkGrid button {
  border: 0;
  padding: 0;
  border-radius: 4px;
  aspect-ratio: 1;
  overflow: hidden;
  background: #edf1f4;
}
.taArtworkGrid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.taArtworkGrid small {
  font-size: 12px;
  color: #60717e;
}
.taAdmin .taForm {
  border: 0;
  padding: 0;
}
.taAdmin .taForm section {
  margin-bottom: 22px;
}
.taEditFooter {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}
.taEditFooter select {
  padding: 10px;
  border: 1px solid #ccd6df;
  border-radius: 8px;
  background: white;
}
.taAdminEmpty {
  padding: 30px 10px;
  text-align: center;
  color: #637583;
}
@media (max-width: 480px) {
  .taApplicantRow {
    gap: 6px;
  }
  .taRowActions {
    gap: 2px;
  }
  .taProfileInfo {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .taProfileInfo dd {
    margin-bottom: 10px;
  }
  .taProfileTop .taDp {
    width: 76px;
    height: 76px;
  }
}

/* A dedicated full-screen application workspace, with its own scroll area. */
dialog.taRoot.taAdmin { margin: 0; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: 100dvh; padding: 0; border: 0; border-radius: 0; overflow: hidden; }
dialog.taRoot.taAdmin[open] { display: grid; grid-template-rows: auto minmax(0,1fr); }
.taAdmin .taDialogTop { padding: max(12px,env(safe-area-inset-top)) 16px 12px; }
.taAdmin .taDialogBody { min-height: 0; max-height: none; overflow: auto; overscroll-behavior: contain; padding: 16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left)); }
#taAdminContent, #taAdminMessage { max-width: 900px; margin-inline: auto; }
.taAdmin .taProfileInfo { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 16px; font-size: 13px; }
.taProfileField { padding: 8px 0; border-bottom: 1px solid #edf1f4; }
.taProfileWide { grid-column: 1 / -1; }
.taProfileField dt { font-size: 11px; color: #687a88; margin-bottom: 3px; }
.taProfileField dd { margin: 0; }
.taProfileField a { color: #176375; text-decoration: underline; text-underline-offset: 3px; }
.taAdmin .taProfileTop { padding: 16px 0 10px; }
.taAdmin .taProfileTop h2 { font-size: 21px; }

/* Fixed list rhythm and a separate shortlist control above the existing actions. */
.taApplicantRow { box-sizing:border-box; height:132px; }
.taApplicantRow strong { line-height:19px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.taApplicantRow small:not(.taApplicantMeta) { line-height:15px; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.taApplicantRow .taApplicantMeta { line-height:14px; }
.taRowControls { flex-shrink:0; display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.taRoot .taShortlistAction { color:#997320; }
.taRoot .taShortlistAction[aria-checked="true"] { background:#fff2c9; }
.taRoot .taCallActive { background:#d9fdd3; color:#087f5b; }
.taContactActions a.taIconAction { height:36px; color:var(--taInk); text-decoration:none; cursor:pointer; }
.taContactActions a.taCallActive { color:#087f5b; }
.taContactActions .taIconAction svg { width:18px; height:18px; }
.taContactActions .taIconAction { position:relative; overflow:visible; }
.taContactBadge { position:absolute; top:-5px; right:-5px; display:flex; align-items:center; justify-content:center; min-width:16px; height:16px; box-sizing:border-box; padding:0 4px; border:1.5px solid #fff; border-radius:9px; background:#008596; color:#fff; font:600 10px/1 "Segoe UI",Arial,sans-serif; pointer-events:none; }
dialog.taRoot.taContactDialog { padding:0; width:calc(100% - 32px); max-width:480px; height:min(560px,80dvh); max-height:calc(100dvh - 24px); border:1px solid #dce4e9; border-radius:14px; overflow:hidden; background:#fff; }
dialog.taRoot.taContactDialog[open] { display:grid; grid-template-rows:auto auto minmax(0,1fr) auto auto; }
.taContactDialog::backdrop { background:#14233d80; }
.taContactDialog .taDialogTop { padding:14px 16px 10px; border-bottom:0; }
.taContactDialog .taDialogTop h2 { font-size:19px; line-height:1.3; overflow-wrap:anywhere; min-width:0; }
.taContactDialog .taDialogTop button { border:0; background:none; flex-shrink:0; padding:6px; min-height:32px; }
.taContactTabs { display:flex; border-bottom:1px solid #dce4e9; padding:0 16px; }
.taContactTabs button { flex:1; border:0; border-bottom:3px solid transparent; border-radius:0; background:none; color:#667781; padding:12px 6px; font-size:15px; }
.taContactTabs button[aria-selected="true"] { border-bottom-color:#008596; color:#008596; font-weight:600; }
#taContactHistory { min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; font-family:"Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif; }
#taContactHistory.taNotesHistory { display:flex; flex-direction:column; align-items:flex-end; gap:4px; background:#efeae2; }
.taNoteBubble { position:relative; flex-shrink:0; max-width:92%; min-width:76px; padding:7px 9px 5px; margin:0 5px 4px 0; border-radius:8px 0 8px 8px; background:#d9fdd3; color:#111b21; box-shadow:0 1px 1px #0b141a18; }
.taNoteBubble::after { content:""; position:absolute; top:0; right:-6px; width:0; height:0; border-top:8px solid #d9fdd3; border-right:6px solid transparent; }
.taNoteText { font-size:15px; font-weight:400; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
.taNoteBubble time { display:block; text-align:right; margin:4px 0 0 12px; color:#667781; font-size:11px; line-height:15px; font-weight:400; }
.taNoteMeta { display:flex; justify-content:flex-end; align-items:center; gap:6px; margin-top:3px; }
.taNoteMeta time { margin:0; }
.taContactDialog .taNoteMeta .taIconAction,.taContactDialog .taCallEntry .taIconAction { width:28px; height:28px; min-height:28px; padding:5px; border:0; background:transparent; opacity:.7; flex-shrink:0; }
.taContactDialog .taNoteMeta .taIconAction:hover,.taContactDialog .taCallEntry .taIconAction:hover { opacity:1; background:#ffffff80; }
.taNoteMeta .taIconAction svg,.taCallEntry .taIconAction svg { width:16px; height:16px; }
.taNoteDay { align-self:center; flex-shrink:0; margin:6px 0 10px; padding:4px 10px; border-radius:7px; background:#ffffffd9; color:#54656f; font-size:11px; box-shadow:0 1px 1px #0b141a12; }
.taCallEntry { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:14px 0; border-bottom:1px solid #e4e9ef; font-size:15px; line-height:1.5; font-variant-numeric:tabular-nums; }
.taContactEmpty { width:100%; text-align:center; color:#667781; font-size:13px; }
.taContactStatus { margin:0; padding:0 14px; font-size:12px; color:#a3423d; background:#fff; overflow-wrap:anywhere; }
.taContactStatus:not(:empty) { padding-block:6px; }
.taRoot .taNoteComposer { display:flex; align-items:flex-end; gap:8px; padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); background:#f0f2f5; }
.taRoot .taNoteComposer[hidden] { display:none; }
.taNoteComposer textarea { flex:1; min-width:0; min-height:42px; max-height:110px; resize:none; border:1px solid #dce4e9; border-radius:20px; padding:10px 14px; font:15px/1.4 "Segoe UI","Helvetica Neue",Helvetica,Arial,sans-serif; color:#111b21; background:white; }
.taRoot .taNoteComposer button { flex-shrink:0; width:42px; height:42px; min-height:42px; padding:10px; border:0; border-radius:50%; color:#fff; background:#008596; }
.taNoteComposer svg { display:block; width:22px; height:22px; }
.taContactHistory .taOlderHistory,.taRoot .taOlderHistory { align-self:center; margin:0 auto 10px; font-size:12px; min-height:32px; }
@media (max-width:480px) {
  .taListTabs { width:100%; box-sizing:border-box; gap:2px; }
  .taListTabs button { flex:1; padding:8px 5px; font-size:12px; }
  .taApplicantRow > button:first-child { gap:8px; }
  .taApplicantRow img,.taApplicantRow .taAvatarPlaceholder { width:38px; height:38px; }
}

/* Gestures belong only to the enlarged teacher application image. */
dialog.taRoot.taImageDialog { width:calc(100% - 20px); max-width:1000px; height:90dvh; max-height:90dvh; padding:0; overflow:hidden; }
dialog.taRoot.taImageDialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr); }
.taImageDialog .taImageStage { min-height:0; display:grid; place-items:center; overflow:hidden; touch-action:none; overscroll-behavior:contain; user-select:none; background:#f4f6f8; }
.taImageDialog .taZoom { display:block; max-width:none; max-height:none; object-fit:contain; transform-origin:center; pointer-events:none; }
.taImageDialog .taImageStage:focus-visible { outline:2px solid #176375; outline-offset:-2px; }
