/* Students: profile header, ID cards, dashboard card. */
.stu-head{overflow:hidden}
.stu-head-in{display:flex;gap:20px;align-items:center;padding:22px 22px 16px;background:linear-gradient(120deg,var(--tint),#fff 70%)}
.stu-head h1{margin:6px 0 6px;font-size:26px}
.stu-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px;color:var(--ink-2)}
.stu-meta .i{width:15px;height:15px;color:var(--brand)}
.stu-meta .adm{font-weight:700;color:var(--ink)}
.stu-bal{display:flex;flex-direction:column;align-items:flex-end;padding:12px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);min-width:160px}
.stu-bal small{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;font-weight:650}
.stu-bal b{font-size:22px;font-variant-numeric:tabular-nums}
.stu-bal.owe b{color:var(--brand)}.stu-bal.clear b{color:var(--green)}.stu-bal.credit b{color:var(--blue)}
.stu-actions{display:flex;gap:8px;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--line-2)}
.wme-adm{display:flex;flex-direction:column;background:var(--tint);border-radius:10px;padding:10px 14px;margin-bottom:14px}
.wme-adm small{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:650}
.wme-adm b{font-size:20px;color:var(--brand)}
.wme .dl{grid-template-columns:110px 1fr;font-size:14px}
/* ---------- ID cards (CR80 85.6 × 54 mm) ---------- */
.idc-bar{display:flex;justify-content:center;gap:14px;align-items:center;margin:12px 0;font-size:14px;color:var(--muted)}
.idc-wrap.a4{width:210mm;margin:0 auto 30px;background:#fff;padding:10mm;display:grid;gap:6mm;box-shadow:0 10px 40px -10px rgba(0,0,0,.25)}
.idc-pair{display:flex;gap:6mm;break-inside:avoid;page-break-inside:avoid}
.idc{width:85.6mm;height:54mm;border-radius:3.2mm;overflow:hidden;position:relative;background:#fff;border:.3mm solid #d9d0cc;color:#222;font-family:var(--font);flex:none}
.idc.front{display:flex;flex-direction:column}
.idc-band{height:13mm;background:linear-gradient(110deg,var(--rail),var(--brand));display:flex;align-items:center;justify-content:space-between;padding:0 3.5mm;color:#fff}
.idc-band img{height:9mm;width:auto}
.idc-band span{font-size:2.6mm;font-weight:800;letter-spacing:.12em;color:var(--accent)}
.idc-body{flex:1;display:flex;gap:3mm;padding:3mm 3.5mm;align-items:center}
.idc-photo{width:22mm;height:27mm;border-radius:1.5mm;overflow:hidden;background:var(--soft);display:grid;place-items:center;flex:none;border:.3mm solid #e2d8d4}
.idc-photo img{width:100%;height:100%;object-fit:cover}
.idc-photo span{font-size:7mm;font-weight:700;color:var(--brand)}
.idc-info{min-width:0;display:flex;flex-direction:column;gap:1mm}
.idc-name{font-size:3.6mm;font-weight:800;line-height:1.15;color:var(--ink);margin-bottom:.6mm}
.idc-row{display:flex;flex-direction:column;line-height:1.15}
.idc-row small{font-size:2mm;text-transform:uppercase;letter-spacing:.08em;color:#888;font-weight:600}
.idc-row b{font-size:2.8mm;font-weight:650;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.idc-row b.mono{font-size:3.1mm;color:var(--brand)}
.idc.back{background:linear-gradient(160deg,#fff 55%,var(--tint))}
.idc-back-in{padding:4mm 4.5mm;height:100%;display:flex;flex-direction:column;font-size:2.4mm;line-height:1.35}
.idc-back-in b{font-size:3mm;color:var(--brand)}
.idc-back-in p{margin:.8mm 0 0}
.idc-found{margin-top:auto;font-size:2.3mm;color:#555;border-top:.3mm solid #e2d8d4;padding-top:1.5mm}
.idc-sign{display:flex;flex-direction:column;align-items:flex-end;position:absolute;right:4.5mm;top:20mm}
.idc-sign span{display:block;width:24mm;border-bottom:.3mm solid #888;height:6mm}
.idc-sign small{font-size:2mm;color:#777}
.idc-code{position:absolute;right:4.5mm;bottom:3.5mm;font-size:2.3mm;color:#999;letter-spacing:.08em}
.idc-wrap.cr80{display:flex;flex-direction:column;align-items:center;gap:8mm;padding:10mm 0}
.idc-wrap.cr80 .idc-pair{flex-direction:column;gap:8mm}
@media (max-width:980px){
  .stu-head-in{flex-wrap:wrap}
  .stu-bal{align-items:flex-start;width:100%}
}
@media (max-width:640px){
  .stu-head-in{padding:18px 16px 12px;gap:14px}
  .stu-head-in>.av.xl{width:72px;height:72px;font-size:24px}
  .stu-head h1{font-size:22px}
  .stu-actions{padding:12px 16px}
  .idc-wrap.a4{width:100%;padding:12px;transform-origin:top left}
  .idc-pair{flex-direction:column}
}
@media print{
  .idc-wrap.a4{width:auto;box-shadow:none;padding:0;margin:0}
  .idc-wrap.cr80{padding:0;gap:0}
  .idc-wrap.cr80 .idc-pair{gap:0}
  .idc-wrap.cr80 .idc{border:0;border-radius:0;page-break-after:always;break-after:page}
  .idc{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .idc-bar{display:none}
}
.dl-tight .dl{grid-template-columns:96px minmax(0,1fr);gap:8px 12px}
.dl-tight .dl dd{overflow-wrap:normal;word-break:normal}
