:root{
  --soa-font-body:14px;
  --soa-font-label:12px;
  --soa-font-title:20px;
  --soa-font-title-mobile:18px;
  --soa-font-section:13px;
  --soa-font-table-head:11px;
  --soa-font-table-cell:11px;
  --soa-font-button:12px;
}

body,
input,
select,
textarea,
button{
  font-family:"Segoe UI", Tahoma, Arial, sans-serif !important;
}

body{
  font-size:var(--soa-font-body) !important;
}

label,
.label,
.status-info-label,
.field label,
.form-field label,
.upload-title,
.upload-hint,
.helper-text,
.page-subtitle,
small,
small *,
.form-note,
.note,
.switch-copy,
.upload-box p,
.upload-box span{
  font-size:var(--soa-font-label) !important;
  line-height:1.4 !important;
}

label,
.label,
.status-info-label,
.field label,
.form-field label{
  color:#6f7b94 !important;
  font-weight:600 !important;
}

h1,
.screen-title,
.page-title,
.panel-title,
.modal-title,
.topbar-title h2,
.brand-text h1{
  font-size:var(--soa-font-title) !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  line-height:1.2 !important;
}

h2,
.section-title,
.table-title,
.status-section-title,
.card-title,
.summary-title,
.widget-title{
  font-size:var(--soa-font-section) !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  line-height:1.25 !important;
  color:#4a5470 !important;
}

h3,
h4,
h5,
h6{
  font-size:var(--soa-font-section) !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  line-height:1.25 !important;
}

.btn,
button,
input[type="button"],
input[type="submit"],
.action-link,
.reset-link,
.logout-link,
.menu-link,
.menu-group-toggle,
.status-pill{
  font-size:var(--soa-font-button) !important;
}

thead th,
.table-wrap thead th,
.table thead th{
  font-size:var(--soa-font-table-head) !important;
  line-height:1.35 !important;
}

tbody td,
.table-wrap tbody td,
.table tbody td{
  font-size:var(--soa-font-table-cell) !important;
  line-height:1.4 !important;
}

input,
select,
textarea,
.input,
.select,
.textarea,
.search-input{
  font-size:var(--soa-font-label) !important;
}

.user-badge strong,
.kpi-card span,
.topbar-title p,
.brand-text p{
  font-size:var(--soa-font-label) !important;
}

@media (max-width: 768px){
  h1,
  .screen-title,
  .page-title,
  .panel-title,
  .modal-title,
  .topbar-title h2,
  .brand-text h1{
    font-size:var(--soa-font-title-mobile) !important;
  }
}
