/* V28.7.113 — Diamond Edu global typography/readability system
   Scope: typography only. No layout, data, permission or workflow changes. */

:root{
  --de-text-primary:#172033;
  --de-text-body:#344054;
  --de-text-secondary:#667085;
  --de-text-tertiary:#7a8497;
  --muted:#667085;
}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  font-kerning:normal;
}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:15px;
  line-height:1.5;
  color:var(--de-text-primary);
  text-rendering:optimizeLegibility;
}
button,input,select,textarea{
  font-family:inherit;
}
p,li{
  line-height:1.55;
}
small{
  font-size:12px!important;
  line-height:1.42!important;
}
input,select,textarea{
  font-size:14px;
  line-height:1.4;
  color:var(--de-text-body);
}
button,.btn{
  font-size:13px;
  line-height:1.35;
}
::placeholder{
  color:#8a94a6;
  opacity:1;
}

/* Shared text hierarchy */
.muted,.table-sub{
  color:var(--de-text-secondary)!important;
}
.eyebrow,.overline,
[class*="-kicker"],
[class*="-badge"],
[class*="-pill"],
[class*="-chip"],
[class*="-tag"]{
  font-size:11px!important;
  line-height:1.3!important;
}
[class*="-kicker"],.eyebrow,.overline{
  letter-spacing:.08em!important;
}
[class*="-badge"],
[class*="-pill"],
[class*="-chip"],
[class*="-tag"]{
  font-weight:750!important;
}

/* Data tables: compact but comfortably readable */
.admin-table,
.teacher66-table-card table,
.teacher111-table table,
.live100-roster{
  font-size:13px!important;
  line-height:1.42!important;
}
.admin-table th,
.teacher66-table-card th,
.teacher111-table th,
.live100-roster th{
  font-size:11px!important;
  line-height:1.3!important;
  color:#667085!important;
  letter-spacing:.035em!important;
  font-weight:800!important;
}
.admin-table td,
.teacher66-table-card td,
.teacher111-table td,
.live100-roster td{
  font-size:13px!important;
  line-height:1.45!important;
  color:#344054;
}
.admin-table td small,
.teacher66-table-card td small,
.teacher111-table td small,
.live100-roster td small{
  font-size:12px!important;
  color:#667085!important;
}

/* Admin */
.v28773-admin-area .admin-title>div>span,
.v28773-admin-area .v287108-kicker,
.v28773-admin-area .v287108-detail-head span{
  font-size:11px!important;
}
.v28773-admin-area .admin-title p,
.v28773-admin-area .box-head p{
  font-size:14px!important;
  color:#667085!important;
}
.v28773-admin-area .admin-kpi small{
  font-size:11px!important;
  color:#667085!important;
}
.v28773-admin-area .admin-kpi span{
  font-size:12px!important;
  color:#667085!important;
}
.v28773-admin-area .quick-grid small,
.v28773-admin-area .compact-list small,
.v28773-admin-area .v287107-crm-viewbar span,
.v28773-admin-area .v287107-crm-locked-note span,
.v28773-admin-area .v28786-permission-copy small,
.v28773-admin-area .v28786-action-bar>span small,
.v28773-admin-area .v28798-storage-kpis small{
  font-size:12px!important;
  color:#667085!important;
}
.v28773-admin-area .compact-list b{
  font-size:13px!important;
}
.v28773-admin-area .admin-form-grid label,
.v28773-admin-area .v28744-action-form label,
.v28773-admin-area .v28786-basic-grid label{
  font-size:13px!important;
  color:#475467!important;
}
.v28773-admin-area .admin-form-grid input,
.v28773-admin-area .admin-form-grid select,
.v28773-admin-area .admin-form-grid textarea,
.v28773-admin-area .test-filters input,
.v28773-admin-area .test-filters select{
  font-size:14px!important;
}
.v28773-admin-area .admin-side-head small,
.v28773-admin-area .admin-side-foot small,
.v28773-admin-area .admin-nav-group-toggle{
  font-size:11px!important;
  color:#aeb8ce!important;
}
.v28773-admin-area .admin-nav-group-items>button{
  font-size:13px!important;
}
.v28773-admin-area .status-btn,
.v28773-admin-area .actions a,
.v28773-admin-area .v287105-column-reset,
.v28773-admin-area .v287105-crm-column-reset,
.v28773-admin-area .v287105-manual-pay-open,
.v28773-admin-area .v287106-crm-delete-open{
  font-size:12px!important;
}
.v28773-admin-area .v287108-mini,
.v28773-admin-area .v287108-pill,
.v28773-admin-area .v287111-priority,
.v28773-admin-area .v287111-status,
.v28773-admin-area .v287112-stage,
.v28773-admin-area .v287112-care-kpis span,
.v28773-admin-area .v287111-admin-kpis span,
.v28773-admin-area .v287111-detail-kpis span{
  font-size:11px!important;
}
.v28773-admin-area .v287112-care-status-form select{
  font-size:12px!important;
}
.v28773-admin-area .v28781-skill-block>small,
.v28773-admin-area .v28781-course-card .v28736-skills span,
.v28773-admin-area .v28781-dialog-head p,
.v28773-admin-area .v28781-section-head p,
.v28773-admin-area .v28781-wide-form label,
.v28773-admin-area .v28781-description-form label,
.v28773-admin-area .v28781-access-form label,
.v28773-admin-area .v28781-feature-empty{
  font-size:12px!important;
  color:#667085!important;
}
.v28773-admin-area .v28781-card-actions .btn,
.v28773-admin-area .v28781-card-actions .v28736-manage-btn{
  font-size:12px!important;
}

/* Teacher Workspace */
.teacher66-layout{
  font-size:14px;
}
.teacher66-brand small,
.teacher66-side-foot span,
.teacher66-side-foot small,
.teacher66-eyebrow,
.teacher66-date{
  font-size:12px!important;
}
.teacher66-sidebar nav a{
  font-size:14px!important;
}
.teacher66-sidebar nav a i{
  font-size:11px!important;
}
.teacher66-class-top span,
.teacher66-class-top strong,
.teacher66-class-stats small,
.teacher66-card-actions a,
.teacher66-primary,
.teacher66-history-grid p,
.teacher66-history-grid footer a,
.teacher66-notes small,
.teacher66-resource>small{
  font-size:12px!important;
}
.teacher66-class-card>p,
.teacher66-alert span,
.teacher66-resource p{
  font-size:13px!important;
  color:#667085!important;
}
.teacher111-kpi span{
  font-size:12px!important;
  color:#667085!important;
}
.teacher111-priority,
.teacher111-status,
.teacher111-stage{
  font-size:11px!important;
}
.teacher111-status-form select{
  font-size:12px!important;
}
.teacher110-action-note span{
  font-size:10.5px!important;
}
.teacher110-action-note strong{
  font-size:12px!important;
}
.teacher110-action-note small,
.teacher108-contacted small,
.teacher66-assisted-badge,
.live100-next-session span,
.live100-teacher-info span,
.live100-class-facts span{
  font-size:11px!important;
}
.teacher109-class-date,
.teacher109-exam-pill,
.teacher109-empty-value,
.teacher108-contact-btn,
.teacher108-contacted>span,
.teacher108-active-state{
  font-size:11.5px!important;
}

/* Online class / learning operations */
.live100-kicker,
.live100-stat small,
.live100-pill,
.live100-roster th,
.live102-tabs button span,
.live102-session-flags i,
.live102-student-flags i,
.live102-dashboard-footer small,
.v287103-sandbox-badge{
  font-size:11px!important;
}
.live100-form label,
.live100-session-title span,
.live100-session-links a,
.live102-work-block>summary span,
.live102-attendance>summary span,
.live102-meet-pending,
.live102-inline-pending,
.v287103-program-actions a,
.v287103-program-actions span,
.v287103-teacher-course-grid li,
.v287103-test-grid article p{
  font-size:12px!important;
}
.live100-dashboard-card p,
.live100-card>p,
.live100-muted{
  color:#667085!important;
}

/* Student dashboard / course cards */
.dash-stats span,
.locked-note,
.lesson-body p,
.sidebar-card a span,
.history-card p,
.history-muted,
.rc22-card-top p,
.rc22-card-facts small,
.rc22-upsell-benefits span,
.rc22-promo-text,
.rc22-inline-progress>div{
  font-size:12px!important;
  color:#667085!important;
}
.skill-links a span,
.lesson-actions a,
.complete-btn,
.sidebar-card a b,
.enter-course,
.rc22-program-chip,
.rc22-recommend-badge,
.rc22-sales-badge,
.rc22-preview-kicker,
.rc22-preview-grid small,
.rc22-preview-grid b,
.rc22-preview-rights,
.rc22-preview-actions a{
  font-size:11.5px!important;
}

/* Exam / practice / result screens */
.exam-brand span,
.timer-card small,
.exam-mode,
.q-number,
.engine-timer small,
.part-head>span,
.spec-badges span,
.answer-wordcount,
.rubric-mini small,
.score-help,
.review-task-head span{
  font-size:11px!important;
}
.exam-legend,
.submit-zone span,
.review-meta span,
.word-badge,
.review-prompt span,
.review-prompt b,
.feedback-label{
  font-size:12px!important;
}
.passage-text,
.student-answer,
.student-answer-block>div{
  color:#25324a!important;
}
.engine-top p,
.part-head p,
.exam-title-row p,
.review-task-head p,
.student-rubric p,
.teacher-feedback p{
  color:#667085!important;
}

/* Public / sales */
.course-program,
.test-tile>span,
.dash-section-title span,
.program-kpis span,
.mock-course span,
.mock-course i,
.sales-top,
.course-side-card small,
.progress-ring span{
  font-size:11px!important;
}
.footer-grid p,.footer-grid a{
  font-size:13px!important;
  color:#aeb8ce!important;
}

/* Prevent low-opacity text from becoming unreadable while keeping disabled controls visually distinct */
.course-locked{
  opacity:.72!important;
}
button:disabled,
input:disabled,
select:disabled,
textarea:disabled{
  opacity:.62;
}

/* Mobile: Facebook-like comfortable reading size, especially forms */
@media(max-width:760px){
  body{
    font-size:15px;
    line-height:1.52;
  }
  input,select,textarea{
    font-size:16px!important;
  }
  button,.btn{
    font-size:13px;
  }
  .admin-table th,
  .teacher66-table-card th,
  .teacher111-table th,
  .live100-roster th{
    font-size:11px!important;
  }
  .admin-table td,
  .teacher66-table-card td,
  .teacher111-table td,
  .live100-roster td{
    font-size:13px!important;
  }
  .v2873-mainnav>.v2873-nav-link,
  .v2873-mainnav>.v287-menu-item>.v287-menu-trigger{
    font-size:14px!important;
  }
}
