/* Uses ForeverCraft's inherited typography and design tokens. */
.tr-tabs #tr-tab-teachers{min-width:0}
.teachers-panel{padding-top:4px}
.teachers-source{font-size:.84rem;line-height:1.55;color:var(--text-2);margin:8px 0 14px;padding:10px 12px;border-left:2px solid var(--accent);background:rgba(209,170,96,.05)}
.teachers-filter-grid{display:grid;grid-template-columns:1fr;gap:0}
/* max-width:none: the route form's phone rule (transport.css ≤520 px, .tr-field .dd{max-width:65%}) is for a caption beside its
   field; here the caption stands above the field and the list takes the whole column */
.teachers-panel .tr-field input,.teachers-panel .tr-field select,.teachers-panel .tr-field .dd,.teachers-panel .tr-field .dd-btn{width:100%;max-width:none;min-width:0;box-sizing:border-box}
.teachers-check{font-size:.88rem}
.teachers-count{color:var(--text-2);font-size:.84rem;margin:14px 0 8px}
.teachers-offmap{font-size:.84rem;color:var(--text-2);margin:0 0 10px}.teachers-offmap p{margin-bottom:6px}.teachers-offmap .btn{white-space:normal}
.teachers-list{display:grid;gap:6px;max-height:530px;overflow:auto;overscroll-behavior:contain}
.teachers-row{display:block;text-align:left;width:100%;padding:10px 12px;background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:7px;color:var(--text);font:inherit;cursor:pointer}
.teachers-row:focus-visible,.teachers-row[aria-pressed=true]{border-color:var(--accent);background:rgba(209,170,96,.07);outline-offset:2px}@media(hover:hover){.teachers-row:hover{border-color:var(--accent);background:rgba(209,170,96,.07);outline-offset:2px}}
.teachers-row strong{display:block;font-size:.88rem;line-height:1.4;overflow-wrap:anywhere}
.teachers-row small{display:block;color:var(--text-2);font-size:.8rem;line-height:1.5;margin-top:3px}
#teachers-more{width:100%;margin-top:9px}
.teacher-marker{cursor:pointer;outline:none}
.teacher-marker .teacher-shape{fill:#171d26;stroke:#d1aa60;stroke-width:1.8;vector-effect:non-scaling-stroke}
.teacher-marker[data-faction="1"] .teacher-shape{stroke:#83baf0}
.teacher-marker[data-faction="2"] .teacher-shape{stroke:#d88679}
.teacher-marker:focus-visible .teacher-shape,.teacher-marker.is-selected .teacher-shape{fill:#514126;stroke:#f4d7a0;stroke-width:2.8}@media(hover:hover){.teacher-marker:hover .teacher-shape{fill:#514126;stroke:#f4d7a0;stroke-width:2.8}}
.teacher-marker .teacher-symbol{fill:none;stroke:#eadfca;stroke-width:1.1;vector-effect:non-scaling-stroke;pointer-events:none}
.teacher-marker text{fill:#f6e5c5;text-anchor:middle;dominant-baseline:central;font-family:inherit;font-weight:600;pointer-events:none}
/* small world / continent maps of a ?teach= link: one pin per zone, standing inside it (trainers.js byArea). On touch screens it is
   a label — the tap goes to the zone under the finger, so no pin takes a neighbouring zone away; mouse and keyboard keep the pin
   (press = open its zone) */
@media(hover:none) and (pointer:coarse){.teacher-marker.is-area{pointer-events:none}}
.teachers-card{margin-top:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:16px 18px}
.teachers-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.teachers-card h3{font-family:inherit;margin:0 0 6px;font-size:1rem;overflow-wrap:anywhere}
.teachers-card p{font-size:.86rem;line-height:1.6;margin:8px 0}
.teachers-card .teachers-card-meta{color:var(--text-2);font-size:.8rem}
.teachers-card .teachers-card-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.teachers-cluster-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;margin-top:12px}
.teachers-coords{font-variant-numeric:tabular-nums;color:var(--accent)}
.teachers-card li{font-size:.84rem;line-height:1.55}
@media(max-width:700px){.teachers-filter-grid{grid-template-columns:1fr 1fr;gap:8px}.teachers-list{max-height:min(420px,56vh)}.teachers-card{padding:13px}.teachers-panel .tr-field>span{font-size:.84rem}.teachers-cluster-list{grid-template-columns:1fr}}

.teachers-panel .tr-field{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;margin-bottom:12px;justify-content:stretch;grid-column:auto}.teachers-panel .tr-field select{max-width:100%}.teachers-panel .tr-field input{font:inherit;font-size:.9rem;min-height:38px;padding:7px 10px;background:var(--bg);color:var(--text);border:1px solid var(--line-2);border-radius:6px;outline:none}.teachers-panel .tr-field input:focus{border-color:var(--accent-dim)}.teachers-panel{padding:4px 14px 12px}
