/* Normal body text is 16px. Secondary text is 14px, captions at least 12px. */
html{--text-body:16px;--text-secondary:14px;--text-caption:12px;--text-heading:26px;--avatar-size:44px;--corner-size:18px}
html[data-text-size="medium"]{--text-body:18px;--text-secondary:16px;--text-caption:14px;--text-heading:28px;--avatar-size:52px;--corner-size:20px}
html[data-text-size="large"]{--text-body:20px;--text-secondary:18px;--text-caption:16px;--text-heading:30px;--avatar-size:60px;--corner-size:22px}
body,input,select,textarea,button,.button{font-size:var(--text-body)}
h1,.page-heading h1{font-size:var(--text-heading)}
.student-name,.drawer-links a,.form-section label,.field label,.toolbar button,.toolbar .button,.pill-link{font-size:var(--text-body)}
.student-meta,.student-foreign,.compact-data,.page-heading p,.form-section>summary small,.field small,small,.small{font-size:var(--text-secondary)}
.student-state,.list-hint,.tag,.eyebrow{font-size:var(--text-caption)}
.student-row>summary{min-height:calc(var(--avatar-size) + 28px)}
.student-avatar{width:var(--avatar-size);height:var(--avatar-size);flex-basis:var(--avatar-size)}
.avatar-photo{width:calc(var(--avatar-size) - 4px);height:calc(var(--avatar-size) - 4px)}
.avatar-badge{min-width:var(--corner-size);height:var(--corner-size)}
.avatar-badge.top-left,.avatar-badge.top-right{max-width:calc(var(--avatar-size) / 2 + 4px);font-size:var(--text-caption)}
.gender-badge{font-size:var(--text-secondary)}
.avatar-badge.vacant{min-width:8px;width:8px;height:8px}
.nationality-badge{width:calc(var(--corner-size) + 5px)}
.nationality-badge img{width:calc(var(--corner-size) + 1px);height:calc(var(--corner-size) - 5px)}
.student-meta{font-variant-numeric:tabular-nums}
.field label,.form-section>summary,.record-row>summary>span,.drawer-links a,.menu-item{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.page-heading p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.section-heading a{white-space:nowrap;flex-shrink:0}
.list-hint>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.gender-legend{flex-shrink:0}
.student-number-short{display:none}
.compact-data{grid-template-columns:minmax(70px,35%) minmax(0,1fr)}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.topbar{gap:10px}.topbar .brand{min-width:0}.brand-wordmark{display:block;min-width:0}
.brand-title,.brand small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.top-actions{gap:8px;flex-shrink:0}.top-actions select{width:110px}
.font-size-control{min-height:42px;padding:5px 9px;border:1px solid #d4e5e3;background:#f2f8f6;color:#355f66;gap:5px;flex-shrink:0;font-size:var(--text-secondary)}
.font-size-control .font-symbol{font-size:13px;letter-spacing:-2px;padding-right:2px}
.topbar .icon-link{display:none}
@media(max-width:700px){
  .topbar{padding:0 10px;gap:7px}.topbar .brand{flex:1;font-size:var(--text-secondary)}.brand-wordmark{width:100%}
  .brand small{font-size:var(--text-caption);max-width:110px}.top-actions{gap:5px}.top-actions select{width:78px;font-size:var(--text-secondary);padding:5px}
  .font-size-control{padding:4px 7px;gap:3px}.font-size-control .font-symbol{display:none}
  .form-grid{grid-template-columns:minmax(0,1fr)}
  .student-row>summary{gap:10px;padding:13px 12px}.student-summary{gap:8px}.student-meta{font-size:var(--text-secondary)}
  .summary-meta{max-width:35%}.record-row>summary{gap:7px}
  .search form select{min-width:0}
}
@media(max-width:360px){.top-actions select{width:68px}.topbar .menu-button{width:38px}.student-row>summary{padding:12px 10px;gap:8px}}
@media(max-width:360px){.student-number-full{display:none}.student-number-short{display:inline}}

html[data-text-size="normal"]{--fs-8:12px;--fs-9:12px;--fs-10:12px;--fs-11:12px;--fs-12:14px;--fs-13:14px;--fs-14:16px;--fs-15:16px;--fs-16:18px;--fs-17:18px;--fs-18:20px;--fs-19:20px;--fs-20:22px;--fs-21:22px;--fs-22:24px;--fs-23:24px;--fs-24:26px;--fs-25:26px;--fs-26:28px;--fs-27:28px;--fs-28:30px;--fs-29:30px;--fs-30:32px;--fs-31:32px;--fs-32:34px;--fs-35:36px;--fs-36:38px;--fs-40:40px;--fs-42:42px;}

html[data-text-size="medium"]{--fs-8:14px;--fs-9:14px;--fs-10:14px;--fs-11:14px;--fs-12:16px;--fs-13:16px;--fs-14:18px;--fs-15:18px;--fs-16:20px;--fs-17:20px;--fs-18:22px;--fs-19:22px;--fs-20:24px;--fs-21:24px;--fs-22:26px;--fs-23:26px;--fs-24:28px;--fs-25:28px;--fs-26:30px;--fs-27:30px;--fs-28:32px;--fs-29:32px;--fs-30:34px;--fs-31:34px;--fs-32:36px;--fs-35:38px;--fs-36:40px;--fs-40:42px;--fs-42:44px;}

html[data-text-size="large"]{--fs-8:16px;--fs-9:16px;--fs-10:16px;--fs-11:16px;--fs-12:18px;--fs-13:18px;--fs-14:20px;--fs-15:20px;--fs-16:22px;--fs-17:22px;--fs-18:24px;--fs-19:24px;--fs-20:26px;--fs-21:26px;--fs-22:28px;--fs-23:28px;--fs-24:30px;--fs-25:30px;--fs-26:32px;--fs-27:32px;--fs-28:34px;--fs-29:34px;--fs-30:36px;--fs-31:36px;--fs-32:38px;--fs-35:40px;--fs-36:42px;--fs-40:44px;--fs-42:46px;}
