/* HAMEC · Giao diện mới (03/10) theo bản đặc tả "Buil app".
   Chỉ có hiệu lực khi <html class="gd-moi"> (bật bằng ?giaodien=moi, tắt bằng ?giaodien=cu).
   Không đổi API, không đổi router: chỉ lớp trình bày + vài khung mới do ui.js vẽ. */

/* ===== Giai đoạn 1 · Tokens ===== */
:root.gd-moi{
  --c-primary:#2E7D32; --c-primary-2:#1B5E20; --c-primary-soft:#E8F3E8; --c-on-primary:#fff;
  --c-bg:#F7FAF5; --c-surface:#FFFFFF; --c-surface-2:#F0F5EE; --c-text:#1F2A1F; --c-text-2:#667066; --c-line:#E3EBE1;
  --c-warn:#F59E0B; --c-warn-soft:#FEF3DC; --c-danger:#E53935; --c-danger-soft:#FDECEC; --c-pink:#E8754A; --c-pink-soft:#FDEFE8;
  --r-10:10px; --r-12:12px; --r-16:16px; --r-20:20px; --r-24:24px;
  --s-4:4px; --s-8:8px; --s-12:12px; --s-16:16px; --s-20:20px; --s-24:24px; --s-32:32px; --s-40:40px; --s-48:48px;
  --sh-1:0 1px 2px rgba(31,42,31,.05),0 4px 16px rgba(31,42,31,.06);
  /* ánh xạ biến cũ → token mới: toàn bộ trang cũ đổi màu theo, không phải sửa từng chỗ */
  --bg:var(--c-bg); --card:var(--c-surface); --ink:var(--c-text); --muted:var(--c-text-2); --line:var(--c-line);
  --brand:var(--c-primary); --brand-2:var(--c-primary-2); --brand-ink:var(--c-on-primary); --brand-soft:var(--c-primary-soft);
  --warn:#B45309; --warn-soft:var(--c-warn-soft);
}
@media (prefers-color-scheme:dark){:root.gd-moi:not([data-theme="light"]){
  --c-primary:#72C276; --c-primary-2:#2E7D32; --c-primary-soft:#1D321E; --c-on-primary:#0C180C;
  --c-bg:#101510; --c-surface:#192019; --c-surface-2:#202920; --c-text:#E8F0E7; --c-text-2:#A2B1A1; --c-line:#2B372A;
  --c-warn-soft:#3A2A1B; --c-danger-soft:#3A1E1E; --c-pink-soft:#3A2C26; --sh-1:none; --warn:#F0A660;
}}
:root.gd-moi[data-theme="dark"]{
  --c-primary:#72C276; --c-primary-2:#2E7D32; --c-primary-soft:#1D321E; --c-on-primary:#0C180C;
  --c-bg:#101510; --c-surface:#192019; --c-surface-2:#202920; --c-text:#E8F0E7; --c-text-2:#A2B1A1; --c-line:#2B372A;
  --c-warn-soft:#3A2A1B; --c-danger-soft:#3A1E1E; --c-pink-soft:#3A2C26; --sh-1:none; --warn:#F0A660;
}
.gd-moi body{font-size:16px;line-height:1.55;background:var(--c-bg)}
.gd-moi h1{font-size:28px;font-weight:700;line-height:1.25}
.gd-moi h2{font-size:22px;font-weight:700}
.gd-moi h3{font-size:18px;font-weight:600}
.gd-moi .card{border-radius:var(--r-20);box-shadow:var(--sh-1);border-color:var(--c-line)}
.gd-moi .btn{border-radius:var(--r-12);font-size:16px;font-weight:600;min-height:48px}

/* Ẩn bộ khung cũ khi dùng giao diện mới */
.gd-moi #botnav,.gd-moi .topbar .topnav,.gd-moi #dau{display:none!important}

/* ===== Giai đoạn 2 · Thành phần ===== */
.ui-ic{width:22px;height:22px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ui-sec{margin:var(--s-24) 0 0}
.ui-sec-dau{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-12);margin:0 0 var(--s-12)}
.ui-sec-dau h2{margin:0;font-size:18px;font-weight:700}
.ui-link{border:0;background:none;color:var(--c-primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:4px 0;display:inline-flex;align-items:center;gap:2px}
.ui-link .ui-ic{width:16px;height:16px}
.ui-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-20);padding:var(--s-16);box-shadow:var(--sh-1)}
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-8);min-height:48px;padding:0 var(--s-20);border-radius:var(--r-12);border:0;font:inherit;font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;-webkit-tap-highlight-color:transparent}
.ui-btn-1{background:var(--c-primary);color:var(--c-on-primary)}
.ui-btn-2{background:var(--c-primary-soft);color:var(--c-primary)}
.ui-btn-3{background:transparent;color:var(--c-primary);border:1.5px solid var(--c-line)}
.ui-btn.full{width:100%}
.ui-btn:active,.ui-o:active,.ui-dong:active{transform:scale(.98)}
.ui-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;font-size:13px;font-weight:600;background:var(--c-primary-soft);color:var(--c-primary)}
.ui-chip.warn{background:var(--c-warn-soft);color:var(--warn)}
.ui-chip.danger{background:var(--c-danger-soft);color:var(--c-danger)}
.ui-chip.pink{background:var(--c-pink-soft);color:var(--c-pink)}
/* Hàng danh sách (List row) */
.ui-ds{display:grid;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-20);overflow:hidden;box-shadow:var(--sh-1)}
.ui-dong{display:flex;align-items:center;gap:var(--s-12);width:100%;min-height:60px;padding:var(--s-12) var(--s-16);border:0;border-top:1px solid var(--c-line);background:transparent;color:var(--c-text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ui-ds>.ui-dong:first-child{border-top:0}
.ui-dong .ui-nen{width:40px;height:40px;border-radius:var(--r-12);display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary);flex:none}
.ui-dong .ui-nd{flex:1;min-width:0;display:grid;gap:1px}
.ui-dong .ui-nd b{font-size:16px;font-weight:600}
.ui-dong .ui-nd small{font-size:13.5px;color:var(--c-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-dong>.ui-ic:last-child{color:var(--c-text-2);width:18px;height:18px}
.ui-dem{min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:var(--c-danger);color:#fff;font-size:12px;font-weight:700;display:inline-grid;place-items:center;font-style:normal}
/* Ô thao tác nhanh (Quick action) */
.ui-luoi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s-8)}
.ui-o{display:flex;flex-direction:column;align-items:center;gap:var(--s-8);padding:var(--s-12) 2px;border:0;background:transparent;color:var(--c-text);font:inherit;font-size:13px;font-weight:600;text-align:center;cursor:pointer;line-height:1.3;-webkit-tap-highlight-color:transparent}
.ui-o .ui-nen{width:52px;height:52px;border-radius:var(--r-16);display:grid;place-items:center;background:var(--c-surface);color:var(--c-primary);border:1px solid var(--c-line);box-shadow:var(--sh-1)}
.ui-o .ui-nen .ui-ic{width:24px;height:24px}
/* Thanh tiến độ */
.ui-thanh{height:8px;border-radius:99px;background:var(--c-surface-2);overflow:hidden}
.ui-thanh i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#F7A072,var(--c-pink))}
/* Trạng thái rỗng */
.ui-rong{text-align:center;padding:var(--s-24) var(--s-16);color:var(--c-text-2);font-size:14px}
.ui-rong .ui-ic{width:32px;height:32px;color:var(--c-primary);margin-bottom:var(--s-8)}
/* Khung xương khi đang tải */
.ui-xuong{border-radius:var(--r-12);background:linear-gradient(90deg,var(--c-surface-2),var(--c-line),var(--c-surface-2));background-size:200% 100%;animation:uiXuong 1.2s infinite linear;min-height:16px}
@keyframes uiXuong{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.ui-xuong{animation:none}}

/* ===== Điều hướng 5 tab ===== */
#uiNav{position:fixed;left:0;right:0;bottom:0;z-index:62;display:flex;background:color-mix(in srgb,var(--c-surface) 94%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--c-line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
#uiNav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;border:0;background:transparent;color:var(--c-text-2);font:inherit;font-size:11.5px;font-weight:600;padding:4px 2px;cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:52px}
#uiNav button .ui-ic{width:24px;height:24px;padding:3px 16px;box-sizing:content-box;border-radius:99px;transition:background .2s}
#uiNav button.on{color:var(--c-primary)}
#uiNav button.on .ui-ic{background:var(--c-primary-soft)}
.gd-moi .wrap{padding-bottom:calc(96px + env(safe-area-inset-bottom))}
#uiTop{display:none}
@media (min-width:821px){
  #uiNav{display:none}
  #uiTop{display:flex;gap:4px}
  #uiTop button{border:0;background:transparent;color:var(--c-text-2);font:inherit;font-size:14.5px;font-weight:600;padding:8px 14px;border-radius:99px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
  #uiTop button .ui-ic{width:18px;height:18px}
  #uiTop button.on{background:var(--c-primary-soft);color:var(--c-primary)}
  #uiTop button{white-space:nowrap;padding:8px 10px}
  .gd-moi .topbar .logo{flex:none}
  .gd-moi .topbar .in{max-width:1080px}
  .gd-moi .topbar .hot span{display:none}
  .gd-moi .topbar .hot{padding:9px 11px}
  .gd-moi .wrap{padding-bottom:40px}
}
/* Nút chat nổi (FAB) */
.gd-moi #hc-nut{width:56px!important;height:56px!important;padding:0!important;border-radius:50%!important;justify-content:center;font-size:0!important;box-shadow:0 6px 20px rgba(46,125,50,.35)}
.gd-moi #hc-nut::before{content:"";width:26px;height:26px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22z'/%3E%3C/svg%3E") center/contain no-repeat}
.gd-moi #hc-nut .so{font-size:11px!important;position:absolute;top:-2px;right:-2px}
@media (max-width:820px){.gd-moi #hc-nut{bottom:calc(84px + env(safe-area-inset-bottom))!important;right:16px!important}}

/* ===== Hiện/ẩn các khung mới theo trang ===== */
#uiHome,#uiLK,#uiMB{display:none}
.gd-moi body[data-xem="home"] #uiHome,.gd-moi body[data-xem="lk"] #uiLK,.gd-moi body[data-xem="mb"] #uiMB{display:block}
.gd-moi body[data-xem="lk"] #gioiThieu,.gd-moi body[data-xem="mb"] #gioiThieu,.gd-moi body[data-xem="lk"] #kienThuc,.gd-moi body[data-xem="mb"] #kienThuc{display:none!important}
.gd-moi body[data-xem="home"] #gioiThieu{margin-top:var(--s-32)}

/* ===== Trang chủ ===== */
#uiHome{padding-top:var(--s-16)}
.ui-chao{display:flex;align-items:center;justify-content:space-between;gap:var(--s-12)}
.ui-chao small{display:block;color:var(--c-text-2);font-size:14px}
.ui-chao b{display:block;font-size:22px;font-weight:700;line-height:1.3}
.ui-chuong{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);display:grid;place-items:center;cursor:pointer;flex:none}
.ui-chuong .ui-dem{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;font-size:11px;padding:0 5px}
/* Thẻ trạng thái thai kỳ */
.ui-tt{margin-top:var(--s-16);border-radius:var(--r-24);padding:var(--s-20);color:#fff;background:linear-gradient(140deg,#2E7D32 0%,#1B5E20 60%,#174d1b 100%);position:relative;overflow:hidden}
.ui-tt::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.07)}
.ui-tt .nhan{font-size:13px;opacity:.85}
.ui-tt .lon{font-size:28px;font-weight:700;line-height:1.2;margin:2px 0 var(--s-4)}
.ui-tt .phu{font-size:14px;opacity:.9}
.ui-tt .ui-thanh{background:rgba(255,255,255,.22);margin:var(--s-16) 0 var(--s-8)}
.ui-tt .ui-thanh i{background:linear-gradient(90deg,#FFD08A,#fabd00)}
.ui-tt .moc{display:flex;justify-content:space-between;font-size:12px;opacity:.85}
.ui-tt .ui-btn{margin-top:var(--s-16);background:rgba(255,255,255,.16);color:#fff;min-height:44px;font-size:15px}
.ui-tt.khach{background:linear-gradient(140deg,#2E7D32,#1B5E20)}
.ui-tt.khach .ui-hang{display:flex;gap:var(--s-8);margin-top:var(--s-16);flex-wrap:wrap}
.ui-tt.khach .ui-btn{margin-top:0;flex:1;min-width:140px}
.ui-tt.khach .ui-btn.trang{background:#fff;color:var(--c-primary-2)}
/* Việc hôm nay */
.ui-viec{display:grid;gap:var(--s-8)}
.ui-viec .muc{display:flex;gap:var(--s-12);align-items:flex-start;padding:var(--s-12) var(--s-16);background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-16)}
.ui-viec .muc .ui-nen{width:36px;height:36px;border-radius:var(--r-10);display:grid;place-items:center;flex:none;background:var(--c-primary-soft);color:var(--c-primary)}
.ui-viec .muc.hen .ui-nen{background:var(--c-pink-soft);color:var(--c-pink)}
.ui-viec .muc.nhac .ui-nen{background:var(--c-warn-soft);color:var(--warn)}
.ui-viec .muc .ui-ic{width:20px;height:20px}
.ui-viec .muc div{flex:1;min-width:0}
.ui-viec .muc b{display:block;font-size:15px;font-weight:600;line-height:1.4}
.ui-viec .muc small{display:block;font-size:13.5px;color:var(--c-text-2);margin-top:2px}
.ui-viec .muc button{border:0;background:none;color:var(--c-primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;padding:6px 0;white-space:nowrap;align-self:center}
/* Hành trình (dải giai đoạn) */
.ui-gd{display:flex;gap:var(--s-8);overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:2px 16px 4px;scroll-snap-type:x mandatory}
.ui-gd::-webkit-scrollbar{display:none}
.ui-gd button{flex:0 0 auto;scroll-snap-align:start;min-width:112px;text-align:left;padding:var(--s-12);border-radius:var(--r-16);border:1.5px solid var(--c-line);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer}
.ui-gd button small{display:block;font-size:12px;color:var(--c-text-2)}
.ui-gd button b{display:block;font-size:14.5px;font-weight:600}
.ui-gd button.on{border-color:var(--c-primary);background:var(--c-primary-soft)}
.ui-gd button.qua{opacity:.6}
/* Gợi ý cho mẹ */
.ui-goi{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-12)}
.ui-goi button{display:flex;flex-direction:column;gap:var(--s-8);text-align:left;padding:var(--s-16);border-radius:var(--r-20);border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-text);font:inherit;cursor:pointer;box-shadow:var(--sh-1)}
.ui-goi button .ui-nen{width:40px;height:40px;border-radius:var(--r-12);display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary)}
.ui-goi button b{font-size:15px;font-weight:600;line-height:1.35}
.ui-goi button small{font-size:13px;color:var(--c-text-2);line-height:1.4}
.ui-goi button.mau2 .ui-nen{background:var(--c-pink-soft);color:var(--c-pink)}
.ui-goi button.mau3 .ui-nen{background:var(--c-warn-soft);color:var(--warn)}

/* ===== Trang trung tâm: Lịch khám / Mẹ & Bé ===== */
#uiLK,#uiMB{padding-top:var(--s-16)}
.ui-tieude{font-size:28px;font-weight:700;margin:0 0 var(--s-4)}
.ui-mota{margin:0 0 var(--s-16);color:var(--c-text-2);font-size:15px}
.ui-hen{display:flex;gap:var(--s-16);align-items:center}
.ui-hen .lich{width:64px;flex:none;text-align:center;border-radius:var(--r-16);background:var(--c-primary-soft);color:var(--c-primary);padding:var(--s-8) 0}
.ui-hen .lich small{display:block;font-size:12px;font-weight:600}
.ui-hen .lich b{display:block;font-size:26px;font-weight:700;line-height:1.1}
.ui-hen .nd{flex:1;min-width:0}
.ui-hen .nd b{display:block;font-size:17px;font-weight:600}
.ui-hen .nd small{display:block;color:var(--c-text-2);font-size:14px}
.ui-ke{display:grid;gap:var(--s-12);margin-top:var(--s-16)}
/* Cửa hàng chung: thanh chuyển Thuốc & TPCN ⇄ Đồ mẹ & bé */
.ui-cua{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:var(--r-16);background:var(--c-surface-2);margin:0 0 var(--s-16)}
.ui-cua button{border:0;border-radius:var(--r-12);min-height:44px;font:inherit;font-size:14.5px;font-weight:600;background:transparent;color:var(--c-text-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.ui-cua button .ui-ic{width:18px;height:18px}
.ui-cua button.on{background:var(--c-surface);color:var(--c-primary);box-shadow:var(--sh-1)}
/* Kiến thức: thêm Cẩm nang + Nhạc thai giáo vào thanh chọn */
.gd-moi #kienThuc .seg{display:none!important}   /* thay bằng thanh 4 mục của ui.js */
.gd-moi body[data-xem="pod"] #pgBack,.gd-moi body[data-xem="khoa"] #pgBack{display:none!important}   /* đã là tab gốc, không cần nút quay lại */
.ui-cua button span{white-space:nowrap}
@media (max-width:430px){.ui-cua[style*="repeat(4"] button .ui-ic{display:none}.ui-cua[style*="repeat(4"] button{font-size:14px;padding:0 2px}}
#uiKT1{margin-top:var(--s-16)}

/* Tài khoản: biểu tượng Lucide thay emoji */
.gd-moi #tkMenu .o-ic{width:40px;height:40px;border-radius:var(--r-12);display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary);font-size:0}
.gd-moi #tkMenu .o-ic .ui-ic{width:20px;height:20px}
.gd-moi #tkMenu button{min-height:60px}

@media (min-width:821px){
  .ui-luoi{grid-template-columns:repeat(4,minmax(0,140px));justify-content:start;gap:var(--s-16)}
  .ui-goi{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ui-home-cot{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--s-24);align-items:start}
  .ui-home-cot .ui-sec:first-child{margin-top:var(--s-16)}
}
@media (min-width:1100px){.gd-moi .topbar .hot span{display:inline}.gd-moi .topbar .hot{padding:9px 14px}}
@media (min-width:821px) and (max-width:980px){#uiTop button .ui-ic{display:none}}
