:root{
 --t900:#062b33;--t800:#07414c;--t700:#045864;--t600:#067686;--t500:#0b8fa1;
 --t100:#d9ebee;--t50:#eef6f8;--cam:#f9a41c;--cam-dam:#dd8b05;--cam-nhat:#fff6e6;
 --xanh:#12855a;--xanh-nhat:#e6f5ee;--do:#c93b3b;--do-nhat:#fdedec;
 --muc:#16262e;--muc2:#5c7079;--muc3:#8b9ba3;--vien:#e5ecee;--vien-dam:#d3dfe2;
 --nen:#f6f9fa;--trang:#fff;--r-lg:16px;--r-md:12px;--r-sm:9px;
 --b1:0 1px 2px rgba(16,38,46,.05),0 1px 3px rgba(16,38,46,.05);
 --b2:0 2px 4px -1px rgba(16,38,46,.05),0 14px 28px -10px rgba(6,118,134,.26);
 --b3:0 24px 60px -18px rgba(6,43,51,.45);--nhip:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Be Vietnam Pro","Segoe UI",system-ui,sans-serif;background:var(--nen);color:var(--muc);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
::selection{background:var(--t600);color:#fff}
:focus-visible{outline:2.5px solid var(--t500);outline-offset:2px;border-radius:4px}
.an{display:none!important}
.kho-icon{position:absolute}
svg.ic{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;display:block;flex:none}
.ic-sm{width:17px!important;height:17px!important;stroke-width:1.9!important}
.app{width:100%;max-width:480px;min-height:100vh;margin:auto;background:var(--nen);box-shadow:0 0 0 1px var(--vien),var(--b3)}
header{background:radial-gradient(600px 220px at 15% -40%,rgba(11,143,161,.55),transparent 70%),radial-gradient(420px 220px at 92% 0%,rgba(249,164,28,.20),transparent 68%),linear-gradient(140deg,#062b33,#07414c 52%,#065c69);color:#fff;padding:13px;position:relative;overflow:hidden}
header:before{content:"";position:absolute;inset:0;opacity:.5;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.hwrap{display:flex;align-items:center;gap:6px;position:relative;z-index:1}
.logo-badge{background:#fff;border-radius:10px;padding:5px 8px;display:flex;align-items:center;box-shadow:0 6px 18px rgba(0,0,0,.22);flex:none}
.logo-badge img{height:19px;max-width:76px;object-fit:contain}
.htitle{flex:1;min-width:0}
.htitle h1{margin:0;font-size:15px;font-weight:800;letter-spacing:-.35px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.htitle .sub{display:none}
.chip-me{display:flex;align-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.18);border-radius:50%;padding:2px}
.tk-ava{width:30px;height:30px;border-radius:50%;background:linear-gradient(150deg,var(--cam),#f5872a);color:#40260a;font-weight:800;font-size:11.5px;display:grid;place-items:center}
.thanh{position:sticky;top:0;z-index:30;background:rgba(246,249,250,.92);backdrop-filter:saturate(180%) blur(12px);padding:8px 12px 12px;border-bottom:1px solid var(--vien)}
.chips{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:6px 2px 16px;margin:-6px -2px -16px}
.chips::-webkit-scrollbar{display:none}
.chip{min-height:34px;background:#fff;border:1px solid var(--vien);border-radius:24px;padding:6px 10px 6px 6px;font-size:12px;font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:6px;box-shadow:var(--b1);transition:.18s var(--nhip)}
.chip .ic{width:12px;height:12px;color:#fff;background:linear-gradient(145deg,var(--m),var(--m2));border-radius:50%;padding:4px;box-sizing:content-box}
.chip.chon{background:linear-gradient(145deg,var(--m),var(--m2));border-color:var(--m2);color:#fff;font-weight:700}
.chip.chon .ic{background:rgba(255,255,255,.22)}
main{padding:11px 12px 110px}
.the{background:#fff;border:1px solid var(--vien);border-radius:14px;padding:14px;margin-bottom:13px;box-shadow:var(--b1)}
.the h2{margin:0 0 3px;font-size:16px;font-weight:800;letter-spacing:-.25px}
.the .mo-ta{margin:0 0 13px;font-size:12.5px;color:var(--muc2)}
.tieu-de{margin:0 0 11px;font-size:21px;font-weight:800;letter-spacing:-.35px;line-height:1.2}
.hang{display:flex;align-items:center;gap:9px}
.giua{justify-content:center}
.tach{justify-content:space-between}
.xuong{flex-wrap:wrap}
.luoi{display:grid;gap:9px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g5{grid-template-columns:repeat(5,minmax(0,1fr))}
.nut-cam,.nut-phu,.nut-teal{min-height:44px;border-radius:11px;padding:9px 13px;font-size:13.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:.18s var(--nhip)}
.nut-cam{background:var(--cam);color:#40260a;border:0;box-shadow:0 4px 14px -4px rgba(249,164,28,.7)}
.nut-cam:hover,.nut-phu:hover,.nut-teal:hover{transform:translateY(-1px)}
.nut-cam:disabled,.nut-phu:disabled{opacity:.48;cursor:not-allowed;transform:none}
.nut-phu{background:#fff;color:var(--t700);border:1.5px solid var(--vien-dam)}
.nut-teal{background:var(--t600);color:#fff;border:0}
.rong,.dang-tai{text-align:center;padding:26px 13px;color:var(--muc2)}
.rong .ic{margin:0 auto 9px;color:var(--t600)}
.khung-tho{height:84px;border-radius:12px;background:linear-gradient(90deg,#edf3f4,#fff,#edf3f4);background-size:220% 100%;animation:tho 1.3s ease-in-out infinite}
@keyframes tho{0%,100%{background-position:0 0;opacity:.6}50%{background-position:100% 0;opacity:1}}
.loi-to,.canh-bao,.ghi-chu{border-left:3px solid;padding:11px 13px;border-radius:0 11px 11px 0;margin-bottom:13px;font-size:13.5px}
.loi-to{background:var(--do-nhat);border-color:var(--do);color:#a02222}
.canh-bao{background:var(--cam-nhat);border-color:var(--cam)}
.ghi-chu{background:var(--t50);border-color:var(--t500);font-size:12.5px;color:#325058}
.chip-nguon{display:inline-block;padding:2px 8px;border-radius:11px;font-size:11.5px;font-weight:700}
.dat{background:var(--xanh-nhat);color:#116b41}
.hong{background:var(--do-nhat);color:#a02222}
.cho{background:#eaf0f2;color:var(--muc2)}
.buoc{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px}
.so-buoc{width:34px;height:34px;border-radius:50%;background:var(--t600);color:#fff;display:grid;place-items:center;font-size:13.5px;font-weight:800;flex:none}
.huong-dan{padding:11px;border:1px solid var(--vien);border-radius:12px}
.ma-so{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:13px 0}
.ma-so input{width:100%;height:48px;border:1.5px solid var(--vien-dam);border-radius:9px;text-align:center;font-size:21px;font-weight:800;background:#fff}
.camera-gia{position:relative;min-height:420px;border-radius:16px;background:radial-gradient(circle at 50% 35%,#38545c,#12272e 65%,#08171c);overflow:hidden;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.camera-gia.toan{position:fixed;inset:0;z-index:60;width:100%;height:100dvh;min-height:100dvh;border-radius:0;margin:0}
.camera-gia video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.camera-gia canvas{position:absolute;inset:0}
.oval{position:relative;z-index:1;width:190px;height:250px;border:3px solid rgba(255,255,255,.86);border-radius:50%;box-shadow:0 0 0 999px rgba(0,0,0,.16)}
.camera-note{position:absolute;z-index:2;left:13px;right:13px;bottom:16px;text-align:center;background:rgba(6,43,51,.82);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:11px;font-size:13.5px}
.camera-note.dat{color:#d8ffe9;border-color:var(--xanh)}
.camera-note.hong{color:#ffd6d6;border-color:var(--do)}
.cham-tien-do{display:flex;justify-content:space-between;gap:5px;margin:13px 0}
.cham-tien-do span{flex:1;text-align:center;font-size:11px;color:var(--muc2)}
.cham-tien-do i{display:block;width:11px;height:11px;border-radius:50%;background:var(--vien-dam);margin:0 auto 5px}
.cham-tien-do .ok i{background:var(--xanh)}
.dong-ho{font-size:40px;font-weight:800;line-height:1.2;letter-spacing:-.5px;font-variant-numeric:tabular-nums;text-align:center;color:var(--t800)}
.ngay{text-align:center;color:var(--muc2);font-size:13.5px}
.nhan-nho{text-align:center;font-size:11.5px;font-weight:700;color:var(--t600)}
.cham-cong{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.cham-cong button{min-height:56px}
.hom-nay{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.o-gio{padding:11px;background:var(--t50);border-radius:12px}
.o-gio b{display:block;font-size:21px;font-variant-numeric:tabular-nums;color:var(--t700)}
.vi-tri{display:flex;align-items:center;gap:8px}
.anh-mau{width:100%;max-width:250px;margin:auto;aspect-ratio:3/4;overflow:hidden;border-radius:14px;background:var(--t50)}
.anh-mau img{width:100%;height:100%;display:block;object-fit:cover}
.ket-qua{text-align:center}
.gio-to{font-size:21px;font-weight:800;color:var(--t700);font-variant-numeric:tabular-nums}
.so-lon{background:#fff;border:1px solid var(--vien);border-radius:15px;padding:11px;box-shadow:var(--b1);min-width:0;min-height:106px;display:flex;flex-direction:column;justify-content:center}
.so-lon .nhan{font-size:11px;color:var(--muc2);font-weight:700;text-transform:uppercase;letter-spacing:.55px;white-space:nowrap}
.so-lon .gt{font-size:21px;font-weight:800;color:var(--t700);margin:5px 0 2px;font-variant-numeric:tabular-nums;white-space:nowrap}
.so-lon .phu{font-size:12px;color:var(--muc2)}
.kpi{grid-template-columns:repeat(3,minmax(0,1fr))}
.lich{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.lich .thu{text-align:center;font-size:11px;font-weight:800;color:var(--muc2);padding:5px 0}
.ngay-o{min-height:52px;border:1px solid var(--vien);border-radius:9px;background:#fff;padding:5px;text-align:left;font-size:11.5px}
.ngay-o.chon{border-color:var(--t600);box-shadow:0 0 0 2px var(--t100)}
.ky{display:block;width:max-content;max-width:100%;margin-top:3px;padding:1px 4px;border-radius:9px;background:var(--t50);color:var(--t700);font-size:11px;font-weight:700}
.ky.tre{background:var(--cam-nhat);color:#8a5500}
.ky.thieu,.ky.vang{background:var(--do-nhat);color:#a02222}
.ky.phep{background:#e6f5ea;color:#166534}
.ky.cho{background:#ecedfd;color:#3f37c9}
.chu-giai{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.chu-giai span{font-size:11.5px;background:var(--t50);border-radius:11px;padding:3px 6px}
.anh-doi{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.anh-doi .anh-mau{max-width:150px}
.don{border-left:3px solid var(--t500)}
.don h3{margin:0;font-size:13.5px}
.don p{margin:5px 0;font-size:12.5px;color:var(--muc2)}
.dan-pill{display:flex;gap:5px;overflow-x:auto;padding-bottom:5px}
.dan-pill button{min-height:34px;white-space:nowrap;border:1px solid var(--vien);background:#fff;border-radius:20px;padding:6px 9px;font-size:12px;font-weight:700}
.dan-pill button.chon{background:var(--t600);color:#fff}
label{display:block;font-size:12.5px;font-weight:700;margin:9px 0 5px}
input,select,textarea{width:100%;border:1.5px solid var(--vien-dam);border-radius:11px;padding:9px;background:#fff;font-size:13px}
textarea{min-height:78px;resize:vertical}
details{background:#fff;border:1px solid var(--vien);border-radius:12px;margin-bottom:8px;padding:0 11px}
summary{min-height:44px;cursor:pointer;font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:9px}
details p{font-size:12.5px;color:var(--muc2);margin:0 0 11px;white-space:pre-wrap}
.phu-de{font-size:12.5px;color:var(--muc2)}
.lien-ket{border:0;background:none;color:var(--t600);font-size:12.5px;font-weight:700;text-decoration:underline;padding:8px}
.dong-y-chon{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;font-weight:600;margin:13px 0}
.dong-y-chon input{width:20px;height:20px;margin:2px 0 0;flex:none}
.overlay{position:fixed;inset:0;z-index:70;background:rgba(6,43,51,.46);display:none;align-items:flex-end;justify-content:center}
.overlay.mo{display:flex}
.sheet{width:min(480px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px 20px 0 0;padding:16px;animation:troi .26s var(--nhip)}
@keyframes troi{from{transform:translateY(14px) scale(.97);opacity:0}}
.anim{animation:len .45s var(--nhip) backwards}
@keyframes len{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(min-width:701px){
 body{padding:22px}
 body.camera-mo{padding:0}
 .app{border-radius:18px;overflow:hidden}
 body.camera-mo .app{max-width:none;min-height:100dvh;border-radius:0;box-shadow:none}
}
@media(max-width:480px){
 .kpi{grid-template-columns:repeat(6,minmax(0,1fr))}
 .kpi .so-lon:nth-child(-n+3){grid-column:span 2}
 .kpi .so-lon:nth-child(n+4){grid-column:span 3}
}
@media(max-width:380px){.g2{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ── Đăng nhập — chép nguyên khung app Đối soát doanh thu (ÁP), không chế da mới ── */
#manDangNhap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;
  position:relative;overflow:hidden;background:
    radial-gradient(1100px 320px at 15% -40%, rgba(11,143,161,.55), transparent 70%),
    radial-gradient(680px 300px at 92% 0%, rgba(249,164,28,.20), transparent 68%),
    linear-gradient(140deg,#062b33 0%,#07414c 52%,#065c69 100%)}
#manDangNhap::before{content:"";position:absolute;inset:0;opacity:.5;
  background-image:radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
  background-size:22px 22px;
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 78%);
  mask-image:linear-gradient(to bottom,#000,transparent 78%)}
.hop-dn{position:relative;z-index:1;background:var(--trang);border-radius:20px;padding:26px 24px;
  width:100%;max-width:400px;box-shadow:var(--b3,0 24px 60px -18px rgba(6,43,51,.45));animation:trolen .26s var(--nhip)}
@keyframes trolen{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.hop-dn h1{margin:0 0 4px;font-size:21px;font-weight:800;letter-spacing:-.35px;color:var(--muc)}
.hop-dn .phu{margin:0 0 20px;color:var(--muc2);font-size:12.5px}
.hop-dn label{display:block;font-weight:700;font-size:13.5px;margin:13px 0 5px}
.hop-dn input{width:100%;padding:11px 13px;border:1.5px solid var(--vien-dam);border-radius:13px;
  background:var(--trang);color:var(--muc);outline:none;font:inherit;
  transition:border-color .18s var(--nhip),box-shadow .18s var(--nhip)}
.hop-dn input:focus{border-color:var(--t500,#0b8fa1);box-shadow:0 0 0 4px rgba(11,143,161,.13)}
.nut-chinh{width:100%;margin-top:16px;padding:12px 18px;background:var(--cam);color:#40260a;
  border:none;border-radius:11px;font-weight:700;font-size:13.5px;font-family:inherit;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  box-shadow:0 4px 14px -4px rgba(249,164,28,.7);
  transition:transform .18s var(--nhip),background .18s}
.nut-chinh:hover{background:var(--cam-dam,#dd8b05);transform:translateY(-1px)}
.nut-chinh:disabled{opacity:.55;cursor:wait;transform:none}
.hop-dn .loi{margin-top:14px;padding:10px 12px;background:var(--do-nhat);color:#a02222;border-radius:11px;font-size:13.5px}
.o-mk{position:relative}
.o-mk input{padding-right:44px}
.o-mk button{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;
  border:none;color:var(--muc3);padding:6px;line-height:0;border-radius:8px;display:flex;cursor:pointer}
.o-mk button:hover{color:var(--muc);background:var(--t50)}
