﻿/* Khung nền: mobile là gốc, màn rộng căn giữa (responsive) */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; min-height: 100%; }
body {
  background: var(--screen-bg);
  color: var(--text-primary);
  font-family: var(--font-base);
  font-size: 16px;
  line-height: 19.09px;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
}
img { display: block; }
button, input { font-family: inherit; }

.app-shell { width: 100%; min-height: 100vh; margin: 0 auto; }
.app-main { min-height: 100vh; }

.ajax-loader { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, .25); }
.ajax-loader-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--brand-primary); }