/* ---------- Hệ thống tài khoản: đăng nhập / HM / HP / admin ---------- */
.tk-form{display:flex;flex-direction:column;gap:10px}
.tk-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.tk-f input,.tk-f select,.tk-hm-row input{border:1px solid var(--line);border-radius:8px;padding:9px 10px;font-size:13.5px;background:#fff;width:100%;box-sizing:border-box;font-family:inherit}
.tk-f input:focus,.tk-f select:focus{outline:2px solid var(--ui-soft);border-color:var(--ui)}
.tk-form button.btn{cursor:pointer;font-family:inherit}
.btn.sm{padding:4px 10px;font-size:12px}
.btn.danger{border-color:var(--danger);color:var(--danger)}
button.btn{cursor:pointer;font-family:inherit;background:#fff}button.btn.fill{background:var(--ink)}
.center{text-align:center}.row.center{justify-content:center}
.tk-msg{border-radius:8px;padding:9px 12px;font-size:13px;border:1px solid}
.tk-msg.ok{background:#eaf7ee;border-color:#b7e0c3;color:#1b6b34}.tk-msg.err{background:#fdecec;border-color:#f3b4b4;color:#a12020}.tk-msg.warn{background:#fff6e0;border-color:#f3d58a;color:#7a4e00}
.tk-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:15px;letter-spacing:1px;background:#fff;padding:2px 8px;border-radius:6px;border:1px solid var(--line)}
.tk-mau{font-size:12px;background:#f6f3ff;border:1px dashed #b7a6f0;border-radius:8px;padding:8px 10px;line-height:1.6}
.tk-cb{border-radius:10px;padding:12px 14px;font-size:13.5px;font-weight:600;border:1px solid}
.tk-cb.sap{background:#fff6e0;border-color:#f3d58a;color:#7a4e00}.tk-cb.gap{background:#ffe9d6;border-color:#f6b27a;color:#8a3b00}.tk-cb.het{background:#fdecec;border-color:#f3b4b4;color:#a12020}
.tk-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.mobile .tk-cards{grid-template-columns:1fr 1fr}
.tk-card{border:1px solid var(--line);border-radius:12px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:4px;min-width:0}
.tk-card b{font-size:16px}.tk-card b.big{font-size:28px;line-height:1.1}
.tk-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tk-bar>b{font-size:17px}.tk-bar>.btn{margin-left:auto}
.tk-bcbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.tk-bcbar .tk-f{min-width:220px}
.tk-ky{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.tk-ky input{border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13.5px;background:#fff;font-family:inherit}
.tk-nhom{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mobile .tk-nhom{grid-template-columns:1fr 1fr}
.tk-nb{border:1px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;font-family:inherit;font-size:13px;color:var(--ink);min-width:0}
.tk-nb b{font-size:24px;line-height:1.1}.tk-nb i{font-style:normal;font-size:11.5px;color:var(--muted)}
.tk-nb.on{border-color:var(--ui);background:var(--ui-soft);color:var(--ui)}.tk-nb:hover{border-color:var(--ui)}
.tk-tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:#fff}
.tk-tbl{width:100%;border-collapse:collapse;font-size:13px}
.tk-tbl th,.tk-tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.tk-tbl th{background:var(--paper);font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}
.tk-tbl tr:last-child td{border-bottom:0}.tk-tbl td.r{text-align:right;white-space:nowrap}.tk-tbl td.nw{white-space:nowrap}
.tk-tbl .small.danger{color:var(--danger)}
.tk-hm-row{display:flex;gap:4px;align-items:center}.tk-hm-row input{width:90px;padding:4px 6px;font-size:12.5px}
.tk-tt{display:inline-block;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:600;white-space:nowrap}
.tk-tt.hoat{background:#eaf7ee;color:#1b6b34}.tk-tt.cho{background:#fff6e0;color:#7a4e00}.tk-tt.het{background:#fdecec;color:#a12020}.tk-tt.khoa{background:#ececec;color:#555}.tk-tt.tuchoi{background:#ececec;color:#555}
.tk-cnt{display:inline-block;background:var(--danger);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px;margin-left:4px}
.tk-inline{border:1px dashed var(--ui);border-radius:10px;padding:12px;background:var(--ui-soft);margin:8px 0}
.tk-acts{max-width:420px;white-space:normal!important}.tk-acts .btn{margin:2px 0}
.fgrid.g3{grid-template-columns:1fr 1fr 1fr}.mobile .fgrid.g3{grid-template-columns:1fr}
.ac-nav [data-tab]{user-select:none}
.mobile .tk-bar>.btn{margin-left:0}
.mobile .tk-tbl{font-size:12px}.mobile .tk-tbl th,.mobile .tk-tbl td{padding:6px 7px}

/* ---------- Bản nối máy chủ thật (05/10/2026) ---------- */
.tk-dang{padding:18px;color:var(--muted);font-size:13px}
.tk-trong{padding:14px;border:1px dashed var(--line);border-radius:10px;background:#fff}
.tk-mk{position:relative;display:block}.tk-mk input{padding-right:40px!important}
.tk-hien{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:15px;padding:4px 6px;opacity:.7}.tk-hien:hover{opacity:1}
.tk-av{width:36px;height:36px;border-radius:50%;object-fit:cover;flex:none;display:inline-flex;align-items:center;justify-content:center;background:var(--ui-soft);color:var(--ui);font-weight:700;font-size:15px;border:1px solid var(--line);box-sizing:border-box}
.tk-av.lg{width:56px;height:56px;font-size:22px}.tk-av.xl{width:96px;height:96px;font-size:36px}
.ac-user .tk-av{width:48px;height:48px;font-size:19px}
.tk-ten{display:inline-flex;align-items:center;gap:8px}.tk-ten .tk-av{width:30px;height:30px;font-size:13px}
.tk-dau{display:flex;gap:12px;align-items:center}.tk-dau b{font-size:17px}
.tk-han{display:inline-block;margin-top:4px;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;background:#eaf7ee;color:#1b6b34}
.tk-han.sap{background:#fff6e0;color:#7a4e00}.tk-han.het{background:#fdecec;color:#a12020}
.tk-nut-doc{flex-wrap:wrap;gap:8px}
.tk-card.sap{border-color:#f3d58a;background:#fffaf0}.tk-card.het{border-color:#f3b4b4;background:#fff5f5}
.tk-tt.sap{background:#fff6e0;color:#7a4e00}
.tk-nav-khoa{opacity:.55}
.tk-khoa{border-style:dashed}
.tk-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 12px;font-size:12.5px;cursor:pointer;font-family:inherit;color:var(--ink);display:inline-flex;align-items:center;gap:6px}
.tk-chip:hover{border-color:var(--ui)}.tk-chip.on{background:var(--ui);border-color:var(--ui);color:#fff}
.tk-chip i{font-style:normal;font-size:11px;opacity:.75}
.tk-ky{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.tk-ky input{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font-family:inherit;font-size:13px}
.tk-loc{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tk-loc input,.tk-loc select,.tk-tim{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:13px;background:#fff;min-width:0}
.tk-loc input[name=q]{flex:1;min-width:180px}.tk-tim{min-width:200px}
.tk-seg{display:inline-flex;gap:6px;flex-wrap:wrap}
.tk-tbl input:not([type=checkbox]){border:1px solid var(--line);border-radius:6px;padding:5px 7px;font-family:inherit;font-size:13px;width:100%;box-sizing:border-box;min-width:70px}
.tk-tbl tr.tk-tong td{background:var(--paper);font-weight:600}.tk-tbl tr.tk-mo td{opacity:.6}
.tk-tbl tr.tk-mo-dong>td{background:#fbfcfe}
.tk-thanh{height:8px;background:#eef1f5;border-radius:999px;overflow:hidden;min-width:90px;margin-bottom:2px}.tk-thanh i{display:block;height:100%;background:var(--ui);border-radius:999px}
.tk-tn{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mobile .tk-tn{grid-template-columns:1fr}
.tk-tn-o{border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;background:#fff}
.tk-tn-o.khoa{opacity:.65}.tk-tn-o.sap{border-style:dashed;background:var(--paper)}
.tk-hoso-anh{display:flex;gap:16px;align-items:center}.tk-hoso-nut{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.tk-hoso-nut label.btn{cursor:pointer}
.tk-dk{gap:6px}.tk-dk-dau{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:4px 0}
.tk-goi-chon{display:flex;gap:6px;flex-wrap:wrap}.tk-goi-chon .tk-chip{border-radius:10px;flex-direction:column;align-items:flex-start;gap:0;padding:6px 12px}
.tk-xem-truoc{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.tk-dong{margin:8px 0 2px}
.tk-hp-con{display:flex;flex-direction:column;gap:4px}
.tk-2b{display:flex;flex-direction:column;gap:8px}.tk-2b .tk-code{align-self:flex-start;font-size:16px}
.tk-cauhinh{margin-top:16px;border:1px dashed #b7a6f0;background:#f6f3ff;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.tk-cauhinh-dong{display:flex;gap:6px;flex-wrap:wrap}.tk-cauhinh-dong input{flex:1;min-width:240px;border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-family:ui-monospace,Consolas,monospace;font-size:13px}
.tk-hop{position:fixed;inset:0;background:rgba(20,28,40,.45);display:flex;align-items:center;justify-content:center;z-index:99999;padding:16px}
.tk-hop-the{background:#fff;border-radius:16px;max-width:440px;width:100%;padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;text-align:center;box-shadow:0 20px 50px rgba(0,0,0,.25);border-top:6px solid var(--ui)}
.tk-hop-the.sap{border-top-color:#e8a317}.tk-hop-the.het{border-top-color:var(--danger)}
.tk-hop-the b{font-size:18px}.tk-hop-the p{margin:0;font-size:14px;line-height:1.55;color:var(--ink)}
.tk-hop-icon{font-size:34px;line-height:1}
.tk-hop .row{gap:8px;flex-wrap:wrap}.tk-hop a.btn{text-decoration:none;color:inherit}
.danger{color:var(--danger)}
.mobile .tk-cards{grid-template-columns:1fr 1fr}.mobile .tk-hoso-anh{flex-direction:column;align-items:flex-start}
/* phân nhánh SM → HM → HP (admin) */
.tk-nhanh{display:inline-flex;align-items:center;gap:4px;margin-top:3px}select.tk-nhanh,.tk-nhanh select{font-size:12px;padding:3px 6px;border:1px solid #cbd5e1;border-radius:6px;max-width:220px;background:#fff}
/* dùng thử */
.tk-tt.thu{background:#ede9fe;color:#6d28d9}.tk-han.thu{background:#ede9fe;color:#6d28d9}
