/* ADI Teaching Desk — uses the portal tokens (navy, gold, line, soft) */
.td-kicker{font:700 .72rem/1.3 var(--ui,var(--body));letter-spacing:.14em;text-transform:uppercase;color:var(--crimson);margin:0 0 6px}
.td-hero{border:1px solid var(--line);border-radius:14px;padding:16px 16px 14px;background:linear-gradient(135deg,var(--card),var(--soft));box-shadow:0 12px 32px rgba(11,37,89,.07)}
.td-hero h2{margin:0 0 6px;color:var(--navy)}
.td-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 0}
.td-kpi{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--card)}
.td-kpi b{display:block;font-size:1.5rem;line-height:1.1;color:var(--navy)}
.td-kpi span{color:var(--muted);font-size:.82rem}
.td-bar{height:6px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:6px}
.td-bar i{display:block;height:100%;background:var(--gold)}
.td-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end}
.td-bulk{position:sticky;bottom:8px;z-index:30;border:1px solid var(--navy);border-radius:14px;background:var(--card);box-shadow:0 14px 40px rgba(11,37,89,.22);padding:12px 14px;margin-top:12px}
.td-bulk .row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:4px 0}
.td-bulk select{width:auto;min-width:200px;flex:1 1 200px;max-width:340px}
table.nopage select[data-td]{min-width:150px;width:100%}
table.nopage td:first-child,table.nopage th:first-child{width:34px}
.td-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--soft);border-radius:99px;padding:2px 4px 2px 10px;font-size:.82rem;margin:0 4px 4px 0}
.td-chip button{border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:1rem;line-height:1;padding:0 6px;border-radius:99px}
.td-chip button:hover{color:var(--crimson)}
.td-act{display:flex;gap:6px;flex-wrap:wrap}
.td-act{margin-top:6px}
.td-act .btn{white-space:nowrap}
.td-prog{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 12px;margin:10px 0}
.td-note-ai{font-size:.86rem;color:var(--muted)}
.td-sub{display:block;color:var(--muted);font-size:.8rem}
@media (max-width:700px){.td-bulk{bottom:0;border-radius:14px 14px 0 0}.td-act .btn{flex:1}}
/* academic group headings: Programme / Faculty or Field / Department or Specialty / Year (Level) · Semester · Academic year */
.td-grp{margin-top:16px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);box-shadow:0 8px 24px rgba(11,37,89,.05)}
.td-gh{padding:14px 16px 12px;background:linear-gradient(135deg,var(--navy),#16397d);color:#fff;border-bottom:3px solid var(--gold)}
.td-gl{display:grid;gap:3px}
.td-l{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:.84rem;letter-spacing:.04em}
.td-l span{min-width:104px;font-weight:600;letter-spacing:.14em;font-size:.7rem;color:var(--gold);text-transform:uppercase}
.td-l b{font-weight:700;color:#fff}
.td-gy{display:flex;justify-content:flex-start;gap:10px;flex-wrap:wrap;align-items:baseline;margin-top:10px;padding-top:9px;border-top:1px solid rgba(255,255,255,.25)}
.td-gy b{font-size:1rem;font-family:var(--serif,inherit)}
.td-gy .small,.td-gy .muted{color:rgba(255,255,255,.82)}
.td-gy a{color:#fff;text-decoration:underline}
.td-grp table{margin:0;border:0}
@media (max-width:700px){.td-l span{min-width:0;width:100%}.td-gh{padding:12px}}
/* course finder: the six steps of the academic structure, then secondary filters */
.td-nav{margin-top:16px}
.td-navh{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
.td-navh h3{margin:2px 0 0;color:var(--navy);font-size:1.15rem}
.td-crumb{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.82rem;color:var(--navy)}
.td-crumb span{background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-weight:600}
.td-crumb em{color:var(--muted);font-style:normal}
.td-crumb a{margin-left:6px;font-size:.8rem}
.td-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--soft),var(--card))}
.td-step label.f{display:flex;align-items:center;gap:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.td-step label.f i{flex:none;display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;font:700 .7rem/1 var(--ui,inherit);font-style:normal;letter-spacing:0}
.td-step select{width:100%}
.td-step select:disabled{opacity:.85;background:var(--soft)}
.td-sec{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px;margin:14px 0 8px}
.td-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:16px}
.td-tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--line);border-top:4px solid var(--gold);border-radius:14px;background:var(--card);box-shadow:0 8px 24px rgba(11,37,89,.06);transition:transform .15s,box-shadow .15s}
.td-tile:hover,.td-tile:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px rgba(11,37,89,.14);outline:2px solid var(--navy);outline-offset:2px}
.td-tile b{font-size:1.35rem;color:var(--navy);line-height:1.2}
.td-tk{font:700 .68rem/1 var(--ui,inherit);letter-spacing:.16em;text-transform:uppercase;color:var(--crimson)}
.td-ts{color:var(--muted);font-size:.86rem}
.td-tm{display:block;font-size:.8rem;color:var(--muted)}
.td-tm .td-bar{display:block;height:5px;border-radius:99px;background:var(--line);overflow:hidden;margin-top:3px}
.td-tm .td-bar i{display:block;height:100%;background:var(--gold)}
.td-tgo{margin-top:6px;font-weight:700;color:var(--navy);font-size:.88rem}
@media (max-width:900px){.td-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.td-steps{grid-template-columns:1fr}}
.td-sec input,.td-step input{width:100%;box-sizing:border-box}
/* dark theme: readable text colours for the studio headings and figures */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .td-kicker,:root:not([data-theme="light"]) .td-tk{color:var(--warn,#F4C763)}:root:not([data-theme="light"]) .td-hero h2,:root:not([data-theme="light"]) .td-kpi b,:root:not([data-theme="light"]) .td-navh h3,:root:not([data-theme="light"]) .td-crumb,:root:not([data-theme="light"]) .td-tile b,:root:not([data-theme="light"]) .td-tgo{color:var(--ink,#E7ECF8)}}
:root[data-theme="dark"] .td-kicker,:root[data-theme="dark"] .td-tk{color:var(--warn,#F4C763)}:root[data-theme="dark"] .td-hero h2,:root[data-theme="dark"] .td-kpi b,:root[data-theme="dark"] .td-navh h3,:root[data-theme="dark"] .td-crumb,:root[data-theme="dark"] .td-tile b,:root[data-theme="dark"] .td-tgo{color:var(--ink,#E7ECF8)}
