/* FitClub 43-009 - cổng thành viên & trang giới thiệu
   Màu lấy từ ảnh phòng tập: nền xanh lục đậm, ánh đèn cam trên tạ. */
:root {
    /* Bảng màu giống app FitClub 43-009 (cổng 3008): navy - cam - xanh tương tác */
    --ink: #0F2D4A;          /* navy: sidebar, tiêu đề */
    --teal: #2563EB;         /* xanh tương tác: nút, liên kết, biểu đồ */
    --teal-soft: #EFF6FF;
    --mist: #F8FAFC;         /* nền ứng dụng */
    --paper: #FFFFFF;
    --ember: #FF8A00;        /* cam điểm nhấn */
    --ember-dark: #E07800;
    --blue: #2563EB;
    --text: #0F172A;
    --muted: #64748B;
    --line: #E2E8F0;
    --good: #16A34A;
    --bad: #DC2626;
    --font: "Inter", "Segoe UI", system-ui, -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: var(--font); color: var(--text); background: var(--paper); line-height: 1.55; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
a { color: var(--teal); }
:focus-visible { outline: 3px solid var(--ember); outline-offset: 2px; }
h1, h2, h3 { margin: 0; line-height: 1.15; }
p { margin: 0; }
.btn {
    font: inherit; font-weight: 650; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 12px 22px; border-radius: 10px; border: 0; cursor: pointer; text-decoration: none;
    background: var(--ember); color: #fff;
}
.btn:hover { background: var(--ember-dark); color: #fff; }
.btn:disabled { opacity: .6; cursor: progress; }
.btn-ghost { background: transparent; color: inherit; border: 1.5px solid currentColor; }
.btn-ghost:hover { background: rgba(255,255,255,.08); color: inherit; }
input, select, textarea {
    font: inherit; width: 100%; padding: 12px 14px; border-radius: 10px; border: 1.5px solid var(--line);
    background: #fff; color: var(--text);
}
textarea { min-height: 120px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--teal); outline: none; }
label { display: block; font-weight: 600; font-size: .9rem; margin: 14px 0 6px; }
.error { color: var(--bad); font-size: .9rem; min-height: 1.4em; margin-top: 10px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
