/* Bảng quản lý nha khoa/labo (nhóm E) */
/* ---- khung bảng quản lý: rộng toàn bề ngang như demo ---- */
main.pnk{max-width:none;padding:0}
.acct .kpi>.tr{display:block;grid-template-columns:none;border:0;background:none;overflow:visible;box-shadow:none;border-radius:0}
.pnk .dgrid2.pnk-split{grid-template-columns:minmax(0,1fr) 340px}
.pnk .tbl td,.pnk .tbl th{vertical-align:middle}
.pnk .tbl td:nth-child(2){min-width:120px}
@media (max-width:960px){.pnk .dgrid2.pnk-split{grid-template-columns:minmax(0,1fr)!important}}
.pnk .tbl td b{white-space:normal}
.pnk .tbl td,.pnk .tbl th{padding-left:9px;padding-right:9px}
.pnk .tbl td:last-child{white-space:nowrap}
.pnk .tbl .code{white-space:nowrap}
.pnk .fgrid{align-items:start}
.pnk .dgrid2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.pnk .dgrid2>*,.pnk .fgrid>*,.pnk .trio>*,.pnk .fl{min-width:0}
.pnk .inp{min-width:0;width:100%}
.pnk .dbody{padding-bottom:90px}
.pnk .dgrid2.stack{grid-template-columns:minmax(0,1fr)}
.pnk .reqs small b{display:inline}
.pnk .galm .ph2 .ac{background:none;border:0;padding:0;width:auto;height:auto;box-shadow:none;display:flex;gap:3px;top:4px;right:4px;left:auto;min-height:0}
.pnk .galm .ph2 .ac form{display:flex;gap:3px;margin:0}
.pnk .ib2{min-width:24px;min-height:24px}
/* tải ảnh */
.pnk .upl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pnk .upl select,.pnk .sel{height:38px;border:1px solid var(--line);border-radius:var(--r-s);background:#fff;padding:0 10px;font:inherit;font-size:13px;color:var(--ink)}
.pnk .drop{flex:1;min-width:220px;display:flex;gap:10px;align-items:center;border:2px dashed #c9d3df;border-radius:var(--r-s);background:#fafbfc;padding:6px 12px;min-height:44px;cursor:pointer;color:var(--ink-2);font-size:13px}
.pnk .drop:hover,.pnk .drop.over{border-color:var(--blue);background:var(--blue-s)}
.pnk .drop i{font-size:20px;color:var(--blue)}
.pnk .drop img{width:36px;height:36px;object-fit:cover;border-radius:4px;display:none}
.pnk .drop.has img{display:block}
.pnk .drop.has i{display:none}
.pnk .tbl select{height:34px;border:1px solid var(--line);border-radius:var(--r-s);padding:0 8px;background:#fff}
/* gợi ý nâng cấp / khoá theo hạng */
.pnk-up{display:flex;gap:9px;align-items:center;background:#fff8e6;border:1px solid #f1deaa;color:#7a5a10;border-radius:var(--r-s);padding:7px 12px;font-size:13px;line-height:1.5}
.pnk-up>i{font-size:17px;color:#d89a14;flex:none}
.pnk-up>span{flex:1;min-width:0}
.pnk-up>a{flex:none;font-weight:var(--fw-semi);color:var(--blue-d);white-space:nowrap;padding:6px 4px}
.pnk-up.lockd{background:var(--bg-2);border-color:var(--line);color:var(--ink-2)}
.pnk-up.lockd>i{color:var(--ink-3)}
.pnk-lockcard .cb{text-align:center;max-width:560px;margin:0 auto;padding:26px 18px}
.pnk-lockcard .lkic{position:relative;width:64px;height:64px;border-radius:50%;background:var(--bg-3);display:grid;place-items:center;margin:0 auto 10px;font-size:30px;color:var(--ink-3)}
.pnk-lockcard .lkx{position:absolute;right:-2px;bottom:-2px;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-size:13px;color:var(--ink-2)}
.pnk-lockcard h2{font-size:18px;margin:4px 0 8px;display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.pnk-lockcard p{margin:0 0 8px;color:var(--ink-2);font-size:13px;line-height:1.65}
.pnk-lockcard .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:12px}
@media (max-width:640px){.pnk-up{flex-wrap:wrap}.pnk-up>a{margin-left:26px}}
/* điện thoại: vùng chạm >= 40px, bảng giờ làm xếp dọc */
@media (max-width:640px){
  .pnk .dside a{min-height:40px}
  .pnk .btn,.pnk .btn-sm,.pnk .seg2 a,.pnk .seg2 button{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
  .pnk .ib,.pnk .iact a,.pnk .ib2,.pnk .dtop .bell{min-width:40px;min-height:40px;width:40px;height:40px}
  .pnk .ib2{min-width:32px;min-height:32px;width:32px;height:32px}
  .pnk .inp,.pnk .hsearch,.pnk select,.pnk .tbl select,.pnk .sel{min-height:40px}
  .pnk .inp input{min-height:38px}
  .pnk .swrow{min-height:44px}
  .pnk .hours2 tr{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:8px 0;border-bottom:1px dashed var(--line-2)}
  .pnk .hours2 td{border:0;padding:0;width:auto!important}
  .pnk .hours2 td:first-child,.pnk .hours2 td:last-child{grid-column:1/-1}
  .pnk .hours2 td:last-child{text-align:left!important}
  .pnk .hours2 td:last-child .swrow{justify-content:flex-start!important}
  .pnk .dtop .sr .hsearch{display:none}
  .pnk .upl .drop{min-width:0;width:100%}
}
@media (max-width:640px){
  .pnk .inp input{min-height:40px}
  .pnk .ib2{min-width:40px;min-height:40px;width:40px;height:40px}
  .pnk .swbtn{padding:10px 6px;min-height:40px;min-width:44px}
}
/* ô soạn giới thiệu + chip tiện ích */
.pnk .rte{min-height:130px;padding:9px 10px;font-size:13px;outline:0;line-height:1.6;overflow-wrap:anywhere}
.pnk .rte:empty:before{content:attr(data-ph);color:var(--ink-4)}
.pnk .rte p{margin:0 0 8px}.pnk .rte ul{margin:0 0 8px;padding-left:20px}
.pnk .rte-tool{display:flex;gap:4px;margin-bottom:6px}
.pnk .rte-tool[hidden],.pnk .rte[hidden]{display:none}
.pnk .rte-tool button{width:34px;height:34px;border:1px solid var(--line);border-radius:var(--r-s);background:#fff;color:var(--ink-2);font-size:16px;cursor:pointer;display:grid;place-items:center;padding:0}
.pnk .pnk-amen button{font:inherit;font-size:12px;font-weight:var(--fw-semi);padding:6px 10px;border-radius:var(--r-s);border:1px solid var(--line);background:#fff;color:var(--ink-2);display:inline-flex;gap:5px;align-items:center;cursor:pointer}
.pnk .pnk-amen button.on{background:var(--mint-s);border-color:#9fdcc8;color:var(--mint-d)}
@media (max-width:640px){.pnk .rte-tool button{width:40px;height:40px}.pnk .pnk-amen button{min-height:40px}}
/* sức chứa theo buổi + ngày nghỉ */
.pnk .capin{width:100%;max-width:120px;height:30px;border:1px solid var(--line);border-radius:var(--r-s);padding:0 8px;font:inherit;font-size:12px;margin-top:4px;background:#fff}
.pnk .defrow td{background:var(--bg-2)}
.pnk .defrow small{display:block}
.pnk .loadgrid td{text-align:center;font-size:12px}
.pnk .loadgrid .full{background:var(--rose-s);color:var(--rose);font-weight:var(--fw-semi)}
.pnk .loadgrid .off{color:var(--ink-4)}
@media (max-width:640px){.pnk .capin{min-height:40px;max-width:none}}

.pnk .rte-tool{flex-wrap:wrap;align-items:center}
.pnk .rte-tool .rte-sep{width:1px;height:22px;background:var(--line);margin:0 3px}
.pnk .rte-tool button[aria-pressed=true]{background:var(--blue-s,#e8f0fd);border-color:var(--blue);color:var(--blue)}
.pnk .rte h3{font-size:15px;line-height:1.35;margin:10px 0 6px;font-weight:var(--fw-semi)}
.pnk .rte blockquote{margin:0 0 8px;padding:4px 12px;border-left:3px solid var(--mint);background:var(--bg-2);color:var(--ink-2)}
.pnk .rte ol{margin:0 0 8px;padding-left:22px}

/* Gợi ý khai trương */
.ktbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:linear-gradient(90deg,#fff4ea,#fff);border:1px solid #f5d2b0;border-radius:var(--r);padding:12px 14px;margin:0 0 14px}
.ktbar>div{flex:1;min-width:200px}
.ktbar b{display:block;font-size:14px}
.ktbar small{display:block;color:var(--ink-2);font-size:12px;margin-top:2px;line-height:1.4}
@media (max-width:760px){.ktbar{padding:10px 12px;gap:8px}.ktbar .btn{flex:1;justify-content:center}}
/* điện thoại: bảng có ô nhập (buổi nhận lịch, bảng giá) giữ bề rộng đủ đọc và cuộn ngang trong thẻ, không bóp ô nhập đến mất chữ */
@media (max-width:640px){.pnk .tscroll .tbl{min-width:520px}.pnk .tscroll .tbl:has(input){min-width:680px}.pnk .tscroll .tbl:has(input) td:first-child{white-space:nowrap}}

/* điện thoại: danh sách lịch hẹn dạng THẺ (tên · trạng thái / dịch vụ / ngày-buổi / mã · nguồn / nút hành động) — nút xác nhận/gọi không còn nằm ngoài màn hình */
@media (max-width:640px){
  .pnk .tscroll .tbl.bk-tbl,.pnk .bk-tbl tbody{display:block;min-width:0}
  .pnk .bk-tbl tr:first-child{display:none}
  .pnk .bk-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name st" "svc svc" "when when" "code src" "act act";gap:5px 10px;padding:12px 4px;border-bottom:1px solid var(--line);align-items:start}
  .pnk .bk-tbl tr.on{background:var(--mint-s)}
  .pnk .bk-tbl td{display:block;padding:0;border:0;min-width:0}
  .pnk .bk-tbl td:nth-child(1){grid-area:name}
  .pnk .bk-tbl td:nth-child(2){grid-area:svc}
  .pnk .bk-tbl td:nth-child(3){grid-area:when}
  .pnk .bk-tbl td:nth-child(4){grid-area:code}
  .pnk .bk-tbl td:nth-child(5){grid-area:src;text-align:right}
  .pnk .bk-tbl td:nth-child(6){grid-area:st;text-align:right}
  .pnk .bk-tbl td:nth-child(7){grid-area:act;margin-top:4px}
  .pnk .bk-tbl td:nth-child(2) small,.pnk .bk-tbl td:nth-child(3) small{display:block}
  .pnk .bk-tbl .iact{display:flex;gap:10px;flex-wrap:wrap}
  .pnk .bk-tbl .iact .ib,.pnk .bk-tbl .iact>a{min-width:44px;min-height:40px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-s);background:#fff}
}

/* điện thoại: bảng ưu đãi dạng thẻ (tên + trạng thái / lượt dùng + hạn / nút Ẩn) */
@media (max-width:640px){
  .pnk .tscroll .tbl.of-tbl,.pnk .of-tbl tbody{display:block;min-width:0}
  .pnk .of-tbl tr:first-child{display:none}
  .pnk .of-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"ttl st" "use end" "claims act";gap:6px 10px;padding:12px 4px;border-bottom:1px solid var(--line);align-items:center}
  .pnk .of-tbl td{display:block;padding:0;border:0;min-width:0}
  .pnk .of-tbl td:nth-child(1){grid-area:ttl}
  .pnk .of-tbl td:nth-child(2){grid-area:claims;font-size:12px;color:var(--ink-3)}
  .pnk .of-tbl td:nth-child(2)::before{content:"Lượt lấy mã: "}
  .pnk .of-tbl td:nth-child(3){grid-area:use}
  .pnk .of-tbl td:nth-child(4){grid-area:end;text-align:right;font-size:13px}
  .pnk .of-tbl td:nth-child(5){grid-area:st;text-align:right}
  .pnk .of-tbl td:nth-child(6){grid-area:act;text-align:right}
}
@media (max-width:640px){.pnk .of-tbl td:nth-child(1){overflow:hidden}.pnk .of-tbl td:nth-child(1) small{display:block;word-break:break-word}}

/* T2-006: "Lịch hẹn do tổng đài chuyển sang" (gói miễn phí) trên điện thoại dạng thẻ — cột Trạng thái/nút không còn nằm ngoài màn hình */
@media (max-width:640px){
  .pnk .tscroll .tbl.tc-tbl,.pnk .tc-tbl tbody{display:block;min-width:0}
  .pnk .tc-tbl tr:first-child{display:none}
  .pnk .tc-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name st" "svc when" "act act";gap:5px 10px;padding:12px 10px;border-bottom:1px solid var(--line);align-items:start}
  .pnk .tc-tbl td{display:block;padding:0;border:0;min-width:0}
  .pnk .tc-tbl td:nth-child(1){grid-area:name}
  .pnk .tc-tbl td:nth-child(2){grid-area:svc}
  .pnk .tc-tbl td:nth-child(3){grid-area:when;text-align:right}
  .pnk .tc-tbl td:nth-child(4){grid-area:st;text-align:right}
  .pnk .tc-tbl td:nth-child(5){grid-area:act}
  .pnk .tc-tbl td:nth-child(5):empty{display:none}
  .pnk .tc-tbl .iact{display:flex;gap:10px}
  .pnk .tc-tbl .iact .ib{min-width:44px;min-height:40px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-s);background:#fff}
}
/* T2-007: bảng chỉ-đọc ≤4 cột (lịch tải theo ngày, hoá đơn gói…) không cần ép rộng 520px trên điện thoại — vừa khít, khỏi cuộn ngang */
@media (max-width:640px){
  .pnk .tscroll .tbl:not(:has(input)):not(:has(select)):not(:has(th:nth-child(5))){min-width:0}
}
@media (max-width:640px){
  .pnk .tbl.inv th,.pnk .tbl.inv td{padding:8px 6px;font-size:13px}
  .pnk .tbl.inv td:nth-child(3){white-space:nowrap}
}

/* Flash Sale: chọn cách có banner (tự tải / nhờ thiết kế) + nhãn trạng thái banner trong danh sách */
.pnk .bnr-opts{display:grid;gap:8px;margin:6px 0 10px}
.pnk .bnr-o{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r);cursor:pointer;background:#fff;font-weight:var(--fw-normal);transition:border-color .15s,background .15s}
.pnk .bnr-o:has(input:checked){border-color:var(--orange);background:#fff8ef}
.pnk .bnr-o input{margin-top:3px;flex:none}
.pnk .bnr-o>span>b:first-child{display:block;font-size:13px;color:var(--ink)}
.pnk .bnr-o small{display:block;margin-top:2px;font-size:12px;line-height:1.5;color:var(--ink-3)}
.pnk .bnr-up{display:flex;gap:12px;align-items:flex-start;margin-bottom:8px}
.pnk .bnr-pv{flex:none;width:84px;aspect-ratio:3/5;border:1px dashed var(--line);border-radius:var(--r-s);display:grid;place-items:center;overflow:hidden;background:var(--bg-2);color:var(--ink-4);font-size:24px}
.pnk .bnr-pv img{width:100%;height:100%;object-fit:cover;display:block}
.pnk .bnr-act{display:grid;gap:6px;justify-items:start;min-width:0}
.pnk .bn-st{display:flex;gap:4px;align-items:center;margin-top:3px;font-size:11px;font-weight:var(--fw-semi);color:var(--orange)}
.pnk .bn-st.ok{color:var(--mint)}
.acct .fgrid3 .full{grid-column:1/-1}
