/* Teacher affiliation management: compact rows, explicit primary/cross scopes. */
.affiliation-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.affiliation-top p{font-size:12px;color:var(--muted);margin-top:4px}.affiliation-panel .toolbar{flex-wrap:wrap}.affiliation-panel .search{max-width:290px}.affiliation-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted);margin:12px 0}.affiliation-table th{vertical-align:top;color:#5f6d80}.affiliation-table th small{display:block;font-size:11px;font-weight:400;color:var(--muted)}.affiliation-table th:first-child{width:36px}.affiliation-table input[type=checkbox]{width:16px;height:16px;min-height:16px;accent-color:var(--accent);margin:0;vertical-align:middle}.affiliation-table td{padding:10px 12px}.affiliation-table .aff-person{min-width:96px}.aff-person b{font-weight:650}.aff-home{font-weight:600;color:var(--text);white-space:nowrap}.aff-pending{color:var(--amber);background:var(--amber-soft);padding:3px 7px;font-size:12px;border-radius:4px}.aff-cross{display:flex;gap:5px;flex-wrap:wrap}.aff-cross>span:not(.aff-none){padding:3px 7px;background:#f0f3f7;color:#56657a;border-radius:4px;font-size:12px}.aff-none{color:var(--muted);font-size:12px}.aff-protected{display:inline-flex;gap:4px;align-items:center;color:#347557;border:0;background:none;padding:2px;min-height:28px;font-size:12px;font-weight:500;white-space:nowrap}.aff-protected svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.aff-protection-list{display:grid;gap:12px}.aff-protection-list small{display:block;color:var(--muted);margin-top:4px}.aff-batchbar{position:sticky;bottom:14px;z-index:5;display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 16px #2633460b;margin-top:16px}.aff-batchbar>span{margin-right:auto}.aff-batchbar b{font-variant-numeric:tabular-nums;color:var(--accent);font-size:17px}.aff-history{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.aff-history summary{cursor:pointer;color:var(--muted);font-size:12px}.aff-history-row{display:flex;gap:18px;justify-content:space-between;font-size:12px;color:var(--muted);padding:10px 0;border-bottom:1px solid #edf0f4}.aff-cross-editor .check-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:13px}.aff-cross-editor .soft-note{margin:9px 0}#aff-edit>label{margin-bottom:16px}#aff-edit>.soft-note{margin:16px 0 0}.aff-confirm-note{font-size:12px;color:var(--muted)}.aff-plan-list{max-height:48vh;overflow:auto;overscroll-behavior:contain}.aff-plan-list article{padding:12px 0;border-bottom:1px solid var(--line)}.aff-plan-list article:first-child{padding-top:0}.aff-plan-list article>b{font-size:14px;display:block;margin-bottom:6px}.aff-plan-list article>div{display:grid;grid-template-columns:58px 1fr;gap:8px;margin-top:5px;font-size:12px}.aff-plan-list small{color:var(--muted)}.aff-plan-list strong{font-weight:650}.aff-kept{display:inline-flex;font-size:11px;color:var(--green);margin-top:6px}.affiliation-panel button:focus-visible,.affiliation-panel input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){.affiliation-top{align-items:flex-start;gap:10px}.affiliation-top p{line-height:1.7;font-size:11px}.affiliation-top button{flex-shrink:0;padding:6px 9px;font-size:11px}.affiliation-panel .toolbar .search{flex:1 0 100%;max-width:none}.affiliation-panel .toolbar select{flex:1;min-width:0;max-width:100%;font-size:12px}.affiliation-summary{align-items:flex-start;font-size:11px;gap:8px}.affiliation-summary .text-button{font-size:11px}.affiliation-table thead{display:none}.affiliation-table tbody{display:block}.affiliation-table tr{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:6px 8px;padding:12px 0;border-bottom:1px solid var(--line)}.affiliation-table td{border:0;padding:0;min-width:0}.affiliation-table .aff-check{grid-column:1;grid-row:1;align-self:center}.affiliation-table .aff-person{grid-column:2;grid-row:1;display:flex;align-items:center;gap:8px}.affiliation-table .aff-person small{display:inline}.affiliation-table .actions-column{grid-column:3;grid-row:1}.affiliation-table td[data-label=主归属],.affiliation-table td[data-label=跨头任教],.affiliation-table td[data-label=原有范围],.affiliation-table td[data-label=职务权限]{grid-column:2/-1;display:flex;align-items:center;gap:10px;font-size:12px}.affiliation-table td[data-label=主归属]:before,.affiliation-table td[data-label=跨头任教]:before,.affiliation-table td[data-label=原有范围]:before,.affiliation-table td[data-label=职务权限]:before{content:attr(data-label);font-size:11px;color:var(--muted);flex:0 0 48px}.aff-batchbar{bottom:8px;padding:10px;gap:8px;font-size:12px}.aff-batchbar .primary{font-size:12px;padding:7px 10px}.aff-plan-list article>div{grid-template-columns:52px 1fr}.aff-history-row{gap:8px;flex-wrap:wrap}}
.aff-cross .aff-legacy-hint{flex:0 0 100%;font-size:10px;color:var(--muted);font-weight:400;margin-top:1px}
.affiliation-top>.soft-note{margin:0}.aff-lifecycle-tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.aff-transfer-note{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f2f6fa;border-radius:7px;font-size:12px;margin-bottom:14px;color:#536176}#aff-transfer-form>label{margin-bottom:14px}@media(max-width:700px){.affiliation-top{display:block}.affiliation-top>.soft-note{font-size:11px}.aff-lifecycle-tools{margin-top:10px;justify-content:flex-start;display:grid;grid-template-columns:1.2fr 1fr}.aff-lifecycle-tools button{font-size:11px;padding:7px}.aff-transfer-note{flex-wrap:wrap;font-size:11px}}
.aff-history-entry{border-bottom:1px solid var(--line);padding:10px 0}.aff-history-entry summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none}.aff-history-entry summary:after{content:'展开';color:var(--accent);margin-left:auto}.aff-history-entry[open] summary:after{content:'收起'}.aff-history-entry>small{display:block;color:var(--muted);font-size:11px;margin:9px 0}.aff-history-entry>div{display:grid;grid-template-columns:minmax(90px,1fr) 2fr;gap:5px 12px;padding:8px 0;font-size:12px}.aff-history-entry>div small{grid-column:1/-1;color:var(--muted);font-size:11px}.aff-history-entry b{font-weight:600}.aff-history-entry summary time{font-variant-numeric:tabular-nums}@media(max-width:700px){.aff-history-entry summary{flex-wrap:wrap;gap:5px;font-size:11px}.aff-history-entry summary time{flex-basis:100%}.aff-history-entry>div{grid-template-columns:1fr;gap:4px}}
.nav-short-label{display:none}@media(max-width:700px){.sidebar nav{grid-template-columns:repeat(4,minmax(0,1fr))}.sidebar nav button{font-size:11px;gap:4px;padding:7px 2px}.sidebar nav svg{width:14px;height:14px}.nav-full-label{display:none}.nav-short-label{display:inline}#main-content:has(.affiliation-panel) .page-heading p{max-width:none}}
@media(max-width:700px){.affiliation-table .aff-check input{min-width:24px;min-height:24px;width:24px;height:24px}}
@media(max-width:700px){.affiliation-table tr{grid-template-columns:24px repeat(2,minmax(0,1fr))}.affiliation-table .aff-person{min-width:0}.affiliation-table td[data-label=主归属]{grid-column:2;grid-row:2}.affiliation-table td[data-label=跨头任教],.affiliation-table td[data-label=原有范围]{grid-column:3;grid-row:2}.affiliation-table td[data-label=主归属],.affiliation-table td[data-label=跨头任教],.affiliation-table td[data-label=原有范围]{gap:6px;align-items:flex-start}.affiliation-table td[data-label=主归属]:before,.affiliation-table td[data-label=跨头任教]:before,.affiliation-table td[data-label=原有范围]:before{flex-basis:44px;line-height:24px}.affiliation-table td[data-label=职务权限]:has(.aff-none){display:none}.affiliation-table .aff-home{white-space:normal;font-size:12px;line-height:24px}.affiliation-table .aff-cross{min-width:0}.affiliation-table .aff-cross>span{overflow-wrap:anywhere}}
/* Shared baselines for the compact affiliation toolbar. */
.is-affiliations .page-heading{align-items:flex-end;margin-bottom:16px}.is-affiliations .legacy-link{display:inline-flex;align-items:center;min-height:36px;margin-top:0}.affiliation-panel .toolbar{display:grid;grid-template-columns:minmax(160px,1fr) 146px 116px auto auto;gap:8px;align-items:center}.affiliation-panel .toolbar .search{min-width:0;max-width:none}.affiliation-panel .toolbar select{width:100%;min-width:0;max-width:none}.affiliation-panel .toolbar input,.affiliation-panel .toolbar select,.affiliation-panel .toolbar button{height:36px;min-height:36px;box-sizing:border-box}.aff-lifecycle-tools{display:flex;gap:8px;flex-wrap:nowrap;margin:0}.aff-lifecycle-tools button{white-space:nowrap}.affiliation-table th{vertical-align:middle;white-space:nowrap}.aff-kept{margin:0 0 0 8px;vertical-align:middle;font-weight:400}
@media(min-width:701px) and (max-width:1180px){.affiliation-panel .toolbar{grid-template-columns:minmax(160px,1fr) 146px 116px auto}.aff-lifecycle-tools{grid-column:1/-1;justify-content:flex-end}}
@media(max-width:700px){.affiliation-panel .toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.affiliation-panel .toolbar .search{grid-column:1/-1}.aff-lifecycle-tools{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin:0}.aff-lifecycle-tools button{font-size:12px}.is-affiliations .legacy-link{min-height:28px}.affiliation-summary{align-items:center}.affiliation-table th{white-space:normal}}
