/* =============================================================================
   accessibility.css — Lớp override a11y (đọc dễ cho người lớn tuổi)
   -----------------------------------------------------------------------------
   NẠP SAU style.css trong _HeadCss.cshtml → thắng cascade toàn site (cả 2 theme:
   tax=light, non-tax wuxia=dark; cả base.cshtml lẫn auth-base.cshtml/login).

   Mục tiêu: body >=16px, text nhỏ nhất >=13-14px, contrast WCAG AA (>=4.5:1
   normal / >=3:1 large), touch target >=44px.

   Quy ước: token --vz-* định nghĩa ở :root (light) + override trong
   [data-theme="dark"] → mọi rule tham chiếu token tự đúng theo từng theme.
   ============================================================================= */

/* ---------- 1. TOKENS (SSOT) ---------- */
:root {
  /* Type-scale (root = 16px) */
  --vz-text-xs: 0.875rem;      /* 14px — SÀN nhãn phụ/đơn vị/badge */
  --vz-text-sm: 0.9375rem;     /* 15px — filter-label, meta card, submenu */
  --vz-text-base: 1rem;        /* 16px — BODY, td/th, menu cha */
  --vz-text-md: 1.125rem;      /* 18px — tên cty/trạm card, số TT1/TT2/GD */
  --vz-text-lg: 1.375rem;      /* 22px — giá trị KPI chính */
  --vz-text-xl: 1.625rem;      /* 26px — số tiền LCD lớn */
  --vz-line-height-base: 1.55;

  /* Màu (light) */
  --vz-color-text: #1f2933;        /* thân bài ~13.5:1 (thay #646B72 "mờ") */
  --vz-color-secondary: #495057;   /* meta quan trọng: tên cty/MST/ngày/MAC ~8.6:1 */
  --vz-color-muted: #4b5563;       /* text-muted phụ chú ~6.4:1 (đậm hơn cho người già) */
  --vz-color-link-active: #c25e00; /* menu active ~4.7:1 (thay #FE9F43 ~2.0:1) */
  --vz-color-sidebar-text: #3a4452;/* nhãn menu ~9.7:1 */
  --vz-color-success: #087d6e;     /* delta tăng ~4.6:1 */
  --vz-color-danger: #d92d20;      /* delta giảm ~4.6:1 */
}

[data-theme="dark"] {
  --vz-color-text: #e6ebf5;        /* ~16:1 trên nền tối */
  --vz-color-secondary: #aab4c2;   /* ~8.5:1 */
  --vz-color-muted: #9aa6bd;       /* ~7.5:1 */
  --vz-color-link-active: #fe9f43; /* cam giữ nguyên ~6:1 trên nền tối */
  --vz-color-sidebar-text: #c3c9d2;/* ~9.5:1 (thay #7A8086 FAIL) */
  --vz-color-success: #2dd4bf;
  --vz-color-danger: #f87171;
}

/* ---------- 1b. color-scheme — native control theo theme trang (KHÔNG theo OS) ----------
   Popup <select>/<option>, scrollbar, date-time picker, autofill là native control do OS vẽ;
   trình duyệt chọn sáng/tối theo `color-scheme`. Thiếu → lấy theo Dark/Light của hệ điều hành
   ⇒ trang light + OS dark = popup nền đen. Ép khớp `data-theme` của <html>.
   Đặt ở đây (nạp qua _HeadCss cho CẢ base.cshtml lẫn auth-base.cshtml/login) để cover luôn trang đăng nhập. */
[data-theme="light"] { color-scheme: light; }
[data-theme="dark"]  { color-scheme: dark; }

/* ---------- 2. BASE — root font + body ---------- */
html {
  font-size: 17px;             /* 16→17px: kéo MỌI cỡ rem lên ~6% toàn site (body, .fs-*, bảng, menu) */
}

body {
  font-size: var(--vz-text-base);          /* 14px → 16px (thắng style.css body{14px}) */
  line-height: var(--vz-line-height-base);
  color: var(--vz-color-text);             /* #646B72 → #1f2933 (light) */
}
/* Dark body: thắng [data-theme=dark] body của style.css (same specificity, nạp sau) */
[data-theme="dark"] body {
  color: var(--vz-color-text);
}

/* ---------- 3. text-muted (token, cả 2 theme) ---------- */
/* style.css:4828 .text-muted{color:#9595b5!important} → cần !important + nạp sau để thắng */
.text-muted {
  color: var(--vz-color-muted) !important;
}

/* ---------- 4. Sàn cứng .fs-* nhỏ (chống chữ tí hon) ---------- */
/* style.css: .fs-10=10px(!important) .fs-11=11px .fs-12=12px .fs-13=13px */
.fs-10,
.fs-11 {
  font-size: 0.875rem !important;    /* → ~15px @root17 */
}
.fs-12,
.fs-13 {
  font-size: 0.9375rem !important;   /* → ~16px @root17 */
}

/* ---------- 5. Card cột bơm NON-TAX (.rc-* trong style.css) ---------- */
/* Giữ palette nâu LCD + giữ DSEG7 cho số tiền/lít LỚN; chỉ phóng nhãn nhỏ + đổi
   số đọc-hiểu nhỏ (TT1/TT2/GD) sang mono thường. Bump vừa phải tránh tràn ngang.
   Rule không-media nạp sau style.css → thắng cả base lẫn @media mobile. */
.rc-st { font-size: 12px !important; letter-spacing: 0.5px !important; }   /* trạng thái 9/8.5px → 12px */
.rc-pl .k { font-size: 12px !important; letter-spacing: 0.5px !important; }/* nhãn MONEY/VND 8.5px → 12px */
.rc-ttlbl { font-size: 12px !important; letter-spacing: 0.5px !important; }/* nhãn TT1/TT2/GD 8px → 12px */
.rc-lp { font-size: 12px !important; color: #c4b07a; }                     /* nhãn lamp 9px → 12px, OFF sáng hơn */
.rc-lamp-fb { font-size: 11px !important; }
.rc-tube .pct { font-size: 12px !important; }
.rssi-label { font-size: 11px !important; }
/* Số TT1/TT2/GD: bỏ DSEG7 (khó đọc cỡ nhỏ) → mono thường + to hơn */
.rc-cell .num { font-family: 'Share Tech Mono', ui-monospace, monospace !important; font-size: 13.5px !important; }
.rc-cell.gd .num { font-size: 13.5px !important; }
/* Bar expanded: nhãn + đơn vị rõ hơn */
.rc-x-ms i { font-size: 12px !important; opacity: 1 !important; }
.rc-x-ms b { font-size: 16px !important; }
.rc-x-ms b small { font-size: 11px !important; opacity: 0.8 !important; }
.rc-x-st { font-size: 12px !important; }
/* Touch target: chip % gift + nút lamp */
.rc-pt { height: 34px !important; font-size: 12px !important; }
.rc-lp { padding-top: 9px !important; padding-bottom: 9px !important; }

/* Mã nhiên liệu (.rc-fuel): CHỈ giữ căn trái (sát cột số, giống tax + bar expanded).
   Font family/size/weight KHÔNG đè nữa — dùng của style.css (Poppins 15px / 13.5px mobile)
   để expand ↔ collapse cùng font (từng đè Share Tech Mono 18px → 2 trạng thái lệch nhau). */
.rc-fuel {
  text-align: left;
}

/* ---------- 6. Sidebar menu (style.css 16785-16909, 13792) ---------- */
/* Menu cha: 15px→16px, màu theme-aware đậm hơn (light #3a4452 / dark #c3c9d2) */
.sidebar .sidebar-menu > ul > li > a span,
.settings-sidebar .sidebar-menu > ul > li > a span {
  font-size: 16px;
  color: var(--vz-color-sidebar-text);
}
/* Dark: thắng [data-theme=dark] ... li a span{#7A8086} (same specificity, nạp sau) */
[data-theme="dark"] .sidebar .sidebar-menu > ul > li a span {
  color: var(--vz-color-sidebar-text);
}
/* Submenu (con): 14px→15px, màu đậm hơn */
.sidebar .sidebar-menu > ul > li.submenu ul li a,
.settings-sidebar .sidebar-menu > ul > li.submenu ul li a {
  font-size: 15px;
}
.sidebar .sidebar-menu > ul > li.submenu-open ul li a span,
.settings-sidebar .sidebar-menu > ul > li.submenu-open ul li a span {
  font-size: 15px;
}
/* Active: màu link-active (light #c25e00 ~4.7:1 / dark #fe9f43) + bold + thanh accent trái
   (box-shadow inset → không gây layout shift). ĐẶT SAU dark span để thắng cho item active dark. */
.sidebar .sidebar-menu > ul > li.active a span,
.sidebar .sidebar-menu > ul > li > a.active span,
.settings-sidebar .sidebar-menu > ul > li.active a span,
.settings-sidebar .sidebar-menu > ul > li > a.active span {
  color: var(--vz-color-link-active);
  font-weight: 700;
}
.sidebar .sidebar-menu > ul > li.active a,
.sidebar .sidebar-menu > ul > li > a.active {
  box-shadow: inset 3px 0 0 var(--vz-color-link-active);
}
/* Touch target trên mobile/offcanvas: mỗi hàng >=44px */
@media (max-width: 991.98px) {
  .sidebar .sidebar-menu > ul > li > a,
  .settings-sidebar .sidebar-menu > ul > li > a {
    padding-top: 13px;
    padding-bottom: 13px;
  }
  .sidebar .sidebar-menu > ul > li.submenu ul li a,
  .settings-sidebar .sidebar-menu > ul > li.submenu ul li a {
    padding-top: 11px;
    padding-bottom: 11px;
  }
}

/* ---------- 7. Bảng danh sách + filter-label (style.css 7324/7346/7353, 46692) ---------- */
/* Bảng: 0.813rem(13px) → 0.9375rem(15px); màu thân #646B72 → token (light đậm hơn) */
.table { color: var(--vz-color-text); }
.table th,
.table td {
  font-size: 0.9375rem;
}
/* filter-label mobile: 11px HOA #666 → 15px thường, màu token (theme-aware) */
@media (max-width: 767.98px) {
  .filter-row .filter-label {
    font-size: 0.9375rem;
    color: var(--vz-color-secondary);
    text-transform: none;
    letter-spacing: 0;
  }
}

/* ---------- 8a. Panel expand desktop: bo tròn ĐỦ 4 góc ----------
   Desktop dùng <tr><td> → table border-collapse không bo được trực tiếp lên td.
   Bọc nội dung trong .expand-panel để có viền + bo góc trái/phải/dưới
   (trước đây chỉ có đường accent border-top). Áp cho cả 4 trang. */
.expand-panel {
  border: 2px solid #6366f1;
  border-radius: 12px;
  padding: 14px;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.18);
}
[data-theme="dark"] .expand-panel {
  border-color: #818cf8;
  background: #1b2233;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

/* ---------- 8. Panel SỬA inline khi expand card (mobile) ----------
   Vấn đề: Company/User/Station/Warehouse khi bấm card mở form sửa trên mobile,
   nền detail-row dùng màu cực tối (#0D0D0D / #000000) → input dark-on-dark
   "đen quá đen"; light thì gần trắng trên card trắng → phẳng, khó nhận biết
   đây là vùng đang sửa. Fix: biến detail-row thành 1 SURFACE nổi rõ
   (viền + bóng + accent), input có fill/viền tương phản. Gom 1 chỗ cho cả 4 trang. */
@media (max-width: 767.98px) {
  .company-detail-row,
  .user-detail-row,
  .station-detail-row,
  .wh-detail-row,
  .tank-detail-row,
  .prod-detail-row,
  .pump-detail-row,
  .card-detail-row {
    background: #f4f7fb !important;
    border: 2px solid #6366f1 !important;   /* viền tím rõ ĐỦ 4 cạnh (trước #d4dce6 quá nhạt) */
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(99, 102, 241, 0.18) !important;
    padding: 14px !important;
    margin-bottom: 10px !important;
  }
  /* Input/select: nền trắng + viền rõ, nổi trên panel xám nhạt */
  .company-detail-row .form-control,
  .company-detail-row .form-select,
  .company-detail-row .ts-control,
  .user-detail-row .form-control,
  .user-detail-row .form-select,
  .user-detail-row .ts-control,
  .station-detail-row .form-control,
  .station-detail-row .form-select,
  .station-detail-row .ts-control,
  .wh-detail-row .form-control,
  .wh-detail-row .form-select,
  .wh-detail-row .ts-control,
  .tank-detail-row .form-control,
  .tank-detail-row .form-select,
  .tank-detail-row .ts-control,
  .prod-detail-row .form-control,
  .prod-detail-row .form-select,
  .prod-detail-row .ts-control,
  .pump-detail-row .form-control,
  .pump-detail-row .form-select,
  .pump-detail-row .ts-control,
  .card-detail-row .form-control,
  .card-detail-row .form-select,
  .card-detail-row .ts-control {
    background: #ffffff !important;
    border: 1px solid #b9c3cf !important;
    color: var(--vz-color-text) !important;
    font-size: 16px !important;   /* ≥16px: tránh iOS auto-zoom + dễ đọc */
    min-height: 40px;
  }
  /* Nhãn field: đậm, theme-aware, đủ tương phản */
  .company-detail-row label,
  .company-detail-row .col-form-label,
  .user-detail-row label,
  .user-detail-row .col-form-label,
  .station-detail-row label,
  .station-detail-row .col-form-label,
  .wh-detail-row label,
  .wh-detail-row .col-form-label,
  .tank-detail-row label,
  .tank-detail-row .col-form-label,
  .prod-detail-row label,
  .prod-detail-row .col-form-label,
  .pump-detail-row label,
  .pump-detail-row .col-form-label,
  .card-detail-row label,
  .card-detail-row .col-form-label {
    color: var(--vz-color-secondary) !important;
    font-size: 15px !important;
    font-weight: 600;
  }

  /* ----- Dark theme: surface NỔI (không pure-black), input tối hơn panel ----- */
  [data-theme="dark"] .company-detail-row,
  [data-theme="dark"] .user-detail-row,
  [data-theme="dark"] .station-detail-row,
  [data-theme="dark"] .wh-detail-row,
  [data-theme="dark"] .tank-detail-row,
  [data-theme="dark"] .prod-detail-row,
  [data-theme="dark"] .pump-detail-row,
  [data-theme="dark"] .card-detail-row {
    background: #1b2233 !important;          /* elevated, thay #000/#0D0D0D */
    border: 2px solid #818cf8 !important;    /* viền tím rõ ĐỦ 4 cạnh */
    border-radius: 12px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.55) !important;
  }
  [data-theme="dark"] .company-detail-row .form-control,
  [data-theme="dark"] .company-detail-row .form-select,
  [data-theme="dark"] .company-detail-row .ts-control,
  [data-theme="dark"] .user-detail-row .form-control,
  [data-theme="dark"] .user-detail-row .form-select,
  [data-theme="dark"] .user-detail-row .ts-control,
  [data-theme="dark"] .station-detail-row .form-control,
  [data-theme="dark"] .station-detail-row .form-select,
  [data-theme="dark"] .station-detail-row .ts-control,
  [data-theme="dark"] .wh-detail-row .form-control,
  [data-theme="dark"] .wh-detail-row .form-select,
  [data-theme="dark"] .wh-detail-row .ts-control,
  [data-theme="dark"] .tank-detail-row .form-control,
  [data-theme="dark"] .tank-detail-row .form-select,
  [data-theme="dark"] .tank-detail-row .ts-control,
  [data-theme="dark"] .prod-detail-row .form-control,
  [data-theme="dark"] .prod-detail-row .form-select,
  [data-theme="dark"] .prod-detail-row .ts-control,
  [data-theme="dark"] .pump-detail-row .form-control,
  [data-theme="dark"] .pump-detail-row .form-select,
  [data-theme="dark"] .pump-detail-row .ts-control,
  [data-theme="dark"] .card-detail-row .form-control,
  [data-theme="dark"] .card-detail-row .form-select,
  [data-theme="dark"] .card-detail-row .ts-control {
    background: #0f1420 !important;          /* tối hơn panel → input nổi rõ */
    border: 1px solid #4b5773 !important;
    color: var(--vz-color-text) !important;
  }
  /* TomSelect text/placeholder trong panel tối */
  [data-theme="dark"] .company-detail-row .ts-control .item,
  [data-theme="dark"] .user-detail-row .ts-control .item,
  [data-theme="dark"] .station-detail-row .ts-control .item,
  [data-theme="dark"] .wh-detail-row .ts-control .item,
  [data-theme="dark"] .tank-detail-row .ts-control .item,
  [data-theme="dark"] .prod-detail-row .ts-control .item,
  [data-theme="dark"] .pump-detail-row .ts-control .item,
  [data-theme="dark"] .card-detail-row .ts-control .item,
  [data-theme="dark"] .company-detail-row .ts-control input,
  [data-theme="dark"] .user-detail-row .ts-control input,
  [data-theme="dark"] .station-detail-row .ts-control input,
  [data-theme="dark"] .wh-detail-row .ts-control input,
  [data-theme="dark"] .tank-detail-row .ts-control input,
  [data-theme="dark"] .prod-detail-row .ts-control input,
  [data-theme="dark"] .pump-detail-row .ts-control input,
  [data-theme="dark"] .card-detail-row .ts-control input {
    color: var(--vz-color-text) !important;
  }
}
