.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.stat{padding:16px 18px}
.stat b{display:block;font-size:30px;font-weight:800;color:var(--navy);line-height:1.1}
.stat span{font-size:12.5px;color:var(--mut);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:14px;border:1px solid #fff;background:#ffffffb8}
table.tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.tbl th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);padding:10px 12px;background:#ecfafbcc;position:sticky;top:0}
.tbl td{padding:10px 12px;border-top:1px solid #0c7a8714;vertical-align:top}
.tbl tr.click{cursor:pointer}.tbl tr.click:hover td{background:#ecfafb}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}
.bar-row{display:grid;grid-template-columns:130px 1fr 36px;gap:8px;align-items:center;font-size:13px;margin:5px 0}
.bar-row i{display:block;height:10px;border-radius:9px;background:linear-gradient(90deg,var(--teal),var(--aqua))}
.grid2{display:grid;gap:16px}@media(min-width:900px){.grid2{grid-template-columns:1fr 1fr}}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.toolbar .in{flex:1 1 200px;min-height:42px}
.keybox{background:#0b1f33;color:#bdf3f7;border-radius:14px;padding:14px;word-break:break-all;font-family:ui-monospace,monospace;font-size:13.5px}
dialog{border:0;border-radius:20px;padding:0;max-width:min(680px,94vw);width:100%;box-shadow:0 30px 80px -20px #000a}
dialog::backdrop{background:#0b1f33aa;backdrop-filter:blur(3px)}
dialog .pad{max-height:84vh;overflow:auto}
.top .toplink{background:#ffffff22;border:1px solid #ffffff55;color:#fff;border-radius:999px;padding:7px 14px;font-weight:600;font-size:13px;text-decoration:none;margin-right:8px;white-space:nowrap}
.sf-pw{display:flex;gap:8px}.sf-pw .in{flex:1}
.lockbadge{margin-left:6px}
@media(max-width:480px){.top .ttl{display:none}.top .toplink{padding:6px 11px;font-size:12.5px;margin-right:6px}}
.whoami{margin:-6px 0 12px}
/* d24: Du khách – nút "Xem hồ sơ" + bảng dạng thẻ trên màn hình hẹp (iPhone) */
.vbtn{white-space:nowrap}
@media(max-width:640px){table.tbl.cards{min-width:0}.tbl.cards thead{display:none}.tbl.cards tr{display:block;border-top:1px solid #0c7a8722;padding:8px 0}.tbl.cards tr:first-child{border-top:0}
.tbl.cards td{display:flex;justify-content:space-between;gap:12px;border:0;padding:3px 12px;text-align:right}.tbl.cards td::before{content:attr(data-l);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);text-align:left}
.tbl.cards td:not([data-l]){display:block;padding:8px 12px 4px}.tbl.cards td:not([data-l])::before{content:none}.tbl.cards .vbtn{width:100%;min-height:44px}}
.a-photo{margin:6px 0 10px}.a-imgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:8px}
.a-imgs figure{margin:0;background:#fff;border-radius:12px;padding:6px;border:1px solid #0c7a8722}.a-imgs img{display:block;width:100%;height:auto;border-radius:8px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.a-imgs figcaption{font-size:12px;color:var(--mut);margin-top:4px}
