/* Global Typography — Times New Roman */
:root {
  --font-ui: 'Times New Roman', Times, serif;
  --font-mono: 'Times New Roman', Times, serif;
  --font-weight-light: 300;
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
}

html {
  font-family: var(--font-ui);
  font-weight: var(--font-weight-normal);
  line-height: 1.5;
}

body {
  font-family: var(--font-ui) !important;
  font-weight: var(--font-weight-normal) !important;
}

.font-ui { font-family: var(--font-ui) !important; }
.font-mono { font-family: var(--font-mono) !important; }

.font-light { font-weight: var(--font-weight-light) !important; }
.font-normal { font-weight: var(--font-weight-normal) !important; }
.font-medium { font-weight: var(--font-weight-medium) !important; }
.font-semibold { font-weight: var(--font-weight-semibold) !important; }
.font-bold { font-weight: var(--font-weight-bold) !important; }
.font-extrabold { font-weight: var(--font-weight-extrabold) !important; }

.price-display,
.symbol-display,
.percentage-display,
.data-cell,
.numeric-cell,
input[type="number"],
.number-input,
.stat b,
.stats b,
#bo-session-id,
#bo-timer,
.ma-legend b,
.technical-indicators b,
.time-val,
.volume-info b {
  font-family: var(--font-mono) !important;
}

input, textarea, select,
button, .btn,
table, .table, th, td,
h1, h2, h3, h4, h5, h6,
nav, .nav, .menu,
ion-content, ion-header, ion-toolbar, ion-title,
.el-button, .layui-btn, .ant-btn {
  font-family: var(--font-ui) !important;
}

/* Universal text override (exclude icon fonts) */
html, body,
button, input, select, textarea,
h1, h2, h3, h4, h5, h6,
p, span, a, div, li, td, th, label,
ion-content, ion-header, ion-toolbar, ion-title, ion-label, ion-button,
.el-button, .layui-btn, .ant-btn, .btn,
.panel, .modal, .form-control {
  font-family: 'Times New Roman', Times, serif !important;
}

/* Preserve icon fonts */
.fa, .fas, .far, .fab, .fal,
i[class*="fa-"],
.icon, [class^="icon-"], [class*=" icon-"],
ion-icon, .ionicon,
.layui-icon, [class*="layui-icon-"] {
  font-family: FontAwesome, 'Font Awesome 5 Free', 'Font Awesome 5 Brands', Ionicons, layui-icon !important;
}

@media (max-width: 768px) {
  body { font-size: 14px; }
}

@media (min-width: 769px) {
  body { font-size: 15px; }
}
