/* Khung quản lý của cổng khách NBK Click Shield (/appID): menu trái, thanh trên, nội dung. Nạp sau site.css và id.css. */
.idx{margin:0;background:#f6f1eb;color:#2b1a12;font-family:'Be Vietnam Pro',system-ui,sans-serif;min-height:100vh}
.idx *{box-sizing:border-box}

/* ---- khung đăng nhập / đăng ký ---- */
.idx-auth{background:linear-gradient(135deg,#fff4e8 0,#f6e7d6 50%,#f1dcc4 100%)}
.idx-authwrap{max-width:520px;margin:0 auto;padding:34px 18px 40px;display:grid;gap:18px}
.idx-authlogo{display:flex;align-items:center;gap:12px;justify-self:center;text-decoration:none;color:#2b1a12;font-weight:800;font-size:19px}
.idx-authlogo img{height:38px;width:auto}
.idx-authlogo span{padding:4px 12px;border-radius:99px;background:#2b1a12;color:#ffe3c9;font-size:13px;letter-spacing:.03em}
.idx-auth .idp{max-width:none}
.idx-auth .idp-card{max-width:none;margin:0;box-shadow:0 24px 60px rgba(43,26,18,.14);border-radius:22px;padding:30px}
.idx-authfoot{text-align:center;font-size:13.5px;color:#7a6657;margin:0}.idx-authfoot a{color:#b04a0a;text-decoration:none;font-weight:600}.idx-authfoot a:hover{text-decoration:underline}

/* ---- khung quản lý ---- */
.idx-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh}
.idx-side{position:sticky;top:0;height:100vh;background:#2b1a12;color:#e9d9c9;display:flex;flex-direction:column;padding:20px 14px;z-index:60}
.idx-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;padding:2px 8px 20px}
.idx-brand img{height:30px;width:auto}.idx-brand span{font-weight:800;font-size:13px;padding:3px 10px;border-radius:99px;background:rgba(255,255,255,.12);color:#ffd9b8}
.idx-nav{display:grid;gap:4px}
.idx-nav a,.idx-sidefoot a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:12px;color:#d9c6b3;text-decoration:none;font-weight:600;font-size:14.5px;transition:background .15s,color .15s}
.idx-nav a:hover,.idx-sidefoot a:hover{background:rgba(255,255,255,.08);color:#fff}
.idx-nav a.on{background:linear-gradient(90deg,#ed721e,#f08a3e);color:#fff;box-shadow:0 8px 20px rgba(237,114,30,.35)}
.idx-sidefoot{margin-top:auto;display:grid;gap:2px;border-top:1px solid rgba(255,255,255,.1);padding-top:12px}
.idx-sidefoot a{font-weight:500;font-size:13.5px;padding:9px 12px}
.idx-main{min-width:0;display:flex;flex-direction:column}
.idx-top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:14px 28px;background:rgba(246,241,235,.92);backdrop-filter:blur(8px);border-bottom:1px solid #e9ddd0}
.idx-top h1{margin:0;font-size:21px;font-weight:800;letter-spacing:-.01em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idx-burger{display:none;border:1px solid #e0d2c4;background:#fff;border-radius:10px;padding:8px;cursor:pointer;color:#2b1a12}
.idx-user{display:flex;align-items:center;gap:10px}
.idx-av{width:38px;height:38px;border-radius:50%;background:#2b1a12;color:#ffd9b8;display:grid;place-items:center;font-weight:800}
.idx-ue{display:grid;line-height:1.25;max-width:230px}.idx-ue b{font-size:14px}.idx-ue em{font-style:normal;font-size:12px;color:#7a6657;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.idx-out{display:flex;align-items:center;gap:7px;border:1px solid #e0d2c4;background:#fff;border-radius:10px;padding:8px 12px;font:inherit;font-size:13.5px;font-weight:600;color:#2b1a12;cursor:pointer}.idx-out:hover{border-color:#ed721e;color:#b04a0a}
.idx-content{padding:26px 28px 48px}
.idx-content .idp{max-width:1180px;margin:0}
.idx-backdrop{display:none}

/* ---- thành phần trong trang ---- */
.idx-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 18px}
.idx-kpi{background:#fff;border:1px solid #ecdfd2;border-radius:16px;padding:16px 18px;display:grid;gap:4px;border-top:3px solid var(--c,#ed721e)}
.idx-kpi span{font-size:12.5px;color:#7a6657;font-weight:600}.idx-kpi b{font-size:28px;line-height:1.1;font-weight:800;letter-spacing:-.02em}.idx-kpi small{font-size:12px;color:#8a7a6c}
.idx-grid2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;margin-bottom:18px}
.idx-card{background:#fff;border:1px solid #ecdfd2;border-radius:18px;padding:20px 22px;box-shadow:0 6px 22px rgba(43,26,18,.04)}
.idx-card h2{margin:0 0 12px;font-size:16.5px;font-weight:800;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.idx-card h2 .idp-badge{margin-left:auto}
.idx-card p{margin:0 0 10px;line-height:1.6}.idx-card p:last-child{margin-bottom:0}
.idx-bar{height:8px;border-radius:99px;background:#f1e6da;overflow:hidden;margin:10px 0 12px}.idx-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#34c38a,#ed721e)}
.idx-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.idx-steps li{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:#faf6f1}
.idx-steps .n{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:800;background:#e8dccf;color:#7a6657}
.idx-steps .done .n{background:#dff5ea;color:#0a7a50}.idx-steps .done{opacity:.8}.idx-steps .done span{text-decoration:line-through;text-decoration-color:#b8a898}
.idx-steps a{margin-left:auto;font-weight:700;font-size:13px;color:#b04a0a;text-decoration:none;white-space:nowrap}.idx-steps a:hover{text-decoration:underline}
.idx-dl{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;margin:0}.idx-dl dt{color:#7a6657;font-size:13.5px}.idx-dl dd{margin:0;font-weight:600;word-break:break-word}
.idx-empty{text-align:center;padding:30px 10px;color:#7a6657}
.idx-content .idp-head{margin-top:0}
.idx-content .idp-crumb a{color:#b04a0a;text-decoration:none;font-weight:600}
.idx-content .idp-box,.idx-content .idp-tbl{background:#fff}
.idx-content .idp-tbl{border:1px solid #ecdfd2;border-radius:16px;padding:6px 10px}
.idx-content .idp-msg{max-width:none}
.idx-content table{background:transparent}

@media (max-width:1100px){.idx-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.idx-grid2{grid-template-columns:1fr}}
@media (max-width:900px){
	.idx-shell{grid-template-columns:1fr}
	.idx-side{position:fixed;left:0;top:0;width:264px;transform:translateX(-102%);transition:transform .22s ease;box-shadow:12px 0 40px rgba(0,0,0,.3)}
	.idx-shell.open .idx-side{transform:none}
	.idx-shell.open .idx-backdrop{display:block;position:fixed;inset:0;background:rgba(43,26,18,.5);z-index:50}
	.idx-burger{display:grid;place-items:center}
	.idx-top{padding:12px 16px}.idx-content{padding:18px 16px 40px}
	.idx-ue,.idx-out span{display:none}
}
@media (max-width:520px){.idx-kpis{grid-template-columns:1fr 1fr;gap:10px}.idx-kpi b{font-size:23px}.idx-dl{grid-template-columns:1fr}.idx-top h1{font-size:18px}}
.idx-brand span{white-space:nowrap}.idx-brand{flex-wrap:nowrap;gap:8px}.idx-brand img{height:28px}
.idx-grp{display:block;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8d7762;padding:14px 12px 4px}

/* Hộp thông tin liên hệ */
.idx-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(43,26,18,.6);backdrop-filter:blur(3px)}
.idx-modal[hidden]{display:none}
.idx-mbox{position:relative;width:100%;max-width:480px;max-height:92vh;overflow:auto;background:#fff;border-radius:22px;padding:28px 26px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.idx-mbox h2{margin:0 0 6px;font-size:22px;font-weight:800}.idx-mbox>p{margin:0 0 16px}
.idx-mx{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;border:0;background:#f4ece3;font-size:22px;line-height:1;cursor:pointer;color:#6b5a4d}.idx-mx:hover{background:#ead9c8}
.idx-clist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.idx-clist li{display:flex;gap:12px;align-items:center;padding:11px 12px;border:1px solid #efe3d6;border-radius:14px;background:#fdfaf6}
.idx-clist .ci{flex:none;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#ffe9d6;color:#b04a0a;font-weight:800;font-size:18px}
.idx-clist .ci.zl{background:#e5f0ff;color:#0a64d8}.idx-clist .ci.ms{background:#ece6ff;color:#6a3df0}
.idx-clist li>div{flex:1;min-width:0;display:grid;line-height:1.35}.idx-clist small{font-size:12px;color:#7a6657}
.idx-clist a:not(.btn){color:#2b1a12;font-weight:700;text-decoration:none;word-break:break-word}.idx-clist b{font-weight:600;font-size:14px}
.idx-clist .btn{white-space:nowrap;padding:8px 14px;font-size:13.5px}

/* Báo cáo chi tiết */
.idx-tools{display:flex;gap:10px;align-items:center}
.idx-kpis6{grid-template-columns:repeat(6,minmax(0,1fr))}
.idx-kpis6 .idx-kpi b{font-size:24px}
.idx-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.idx-content .idx-card{margin-bottom:16px}
.idx-bars{display:grid;gap:8px}
.idx-bar2{display:grid;grid-template-columns:minmax(70px,34%) 1fr auto;gap:10px;align-items:center;font-size:13.5px}
.idx-bar2 .l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.idx-bar2 .b{height:9px;border-radius:99px;background:#f1e6da;overflow:hidden}.idx-bar2 .b i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#f0a15e,#ed721e)}
.idx-bar2 .v{font-weight:700;white-space:nowrap}.idx-bar2 em{font-style:normal;font-weight:600;font-size:11.5px;color:#c0392b;margin-left:4px}
.idx-chart{display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:6px}
.idx-chart>div{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}
.idx-chart>div>i{width:100%;max-width:34px;border-radius:6px 6px 2px 2px;background:#f4b886;display:flex;align-items:flex-end;overflow:hidden;min-height:3px}
.idx-chart>div>i>b{display:block;width:100%;background:#c0392b}
.idx-chart span{font-size:10.5px;color:#8a7a6c;white-space:nowrap}
.idx-hours{height:110px;gap:3px}.idx-hours>div>i{background:#ed721e;border-radius:4px 4px 1px 1px;max-width:none}
.idx-lg{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:middle}
.idx-visits{display:grid;gap:8px}
.idx-visit{border:1px solid #efe3d6;border-radius:14px;background:#fff}
.idx-visit[open]{border-color:#f0c9a6;box-shadow:0 8px 24px rgba(43,26,18,.07)}
.idx-visit summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:104px 118px minmax(120px,1.5fr) minmax(120px,1.2fr) 112px 44px;gap:10px;align-items:center;padding:11px 14px;font-size:13px}
.idx-visit summary::-webkit-details-marker{display:none}
.idx-visit summary .kw{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idx-visit summary em{font-style:normal;font-weight:500;color:#8a7a6c}
.idx-visit summary .dv,.idx-visit summary .t,.idx-visit summary .st{color:#6b5a4d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.idx-vd{padding:4px 16px 16px;border-top:1px dashed #efe3d6}
.idx-fl{margin:12px 0 4px;padding:9px 12px;border-radius:10px;background:#fff1ef;border:1px solid #f2c6c0;color:#a52a1d;font-weight:600;font-size:13.5px}
.idx-vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:12px}
.idx-vgrid dl{margin:0;display:grid;gap:6px;align-content:start}.idx-vgrid h4{margin:0 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#b04a0a}
.idx-vgrid dl>div{display:grid;grid-template-columns:42% 1fr;gap:8px;font-size:12.5px;padding:4px 0;border-bottom:1px solid #f6efe7}
.idx-vgrid dt{color:#7a6657}.idx-vgrid dd{margin:0;font-weight:600;word-break:break-word}
@media (max-width:1100px){.idx-kpis6{grid-template-columns:repeat(3,minmax(0,1fr))}.idx-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}.idx-vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.idx-kpis6{grid-template-columns:repeat(2,minmax(0,1fr))}.idx-grid3,.idx-vgrid{grid-template-columns:1fr}.idx-visit summary{grid-template-columns:1fr auto;row-gap:4px}.idx-visit summary .ip,.idx-visit summary .dv{grid-column:1/-1}.idx-visit summary .sc{grid-row:1;grid-column:2}}

/* Dịch vụ (mô-đun) */
.idx-h3{margin:4px 0 12px;font-size:15px;font-weight:800;color:#2b1a12}
.idx-svc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}
.idx-svc-c{display:grid;gap:8px;align-content:start;background:#fff;border:1px solid #ecdfd2;border-radius:16px;padding:16px 18px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.idx-svc-c:hover{box-shadow:0 12px 30px rgba(43,26,18,.1);transform:translateY(-2px)}.idx-svc-c.off{background:#faf6f1}
.idx-svc-h{display:grid;gap:6px}.idx-svc-h b{font-size:15px;line-height:1.3}.idx-svc-h .idp-badge{justify-self:start}
.idx-svc-d{font-size:13px;color:#6b5a4d;line-height:1.55}.idx-svc-go{font-size:13px;font-weight:700;color:#b04a0a;margin-top:2px}
.idx-tag{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.14);color:#ffd9b8;white-space:nowrap}
.idx-nav a.on .idx-tag{background:rgba(255,255,255,.28);color:#fff}
.idx-hero p{max-width:760px}
.idx-plans{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.idx-plan{display:grid;gap:6px;align-content:start;border:1px solid #ecdfd2;border-radius:16px;padding:16px 18px;background:#fffdfa}.idx-plan.pop{border:2px solid #ed721e}
.idx-plan b{font-size:16px}.idx-plan strong{font-size:26px;letter-spacing:-.02em}.idx-plan strong small{font-size:13px;font-weight:600;color:#7a6657}.idx-plan em{font-style:normal;font-size:13px;color:#2b1a12}
@media (max-width:1100px){.idx-svc{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.idx-svc{grid-template-columns:1fr}}
.idx-nav a{flex-wrap:nowrap}.idx-nav a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idx-tag{flex:none;font-size:10px;padding:2px 7px}
.idx-nav{grid-template-columns:minmax(0,1fr)}.idx-nav a{min-width:0}
.idx-dot{flex:none;margin-left:auto;width:9px;height:9px;border-radius:50%;background:#8d7762}.idx-dot.d-trial{background:#f5a35c}.idx-dot.d-on{background:#34c38a}.idx-dot.d-bad{background:#e0584a}.idx-nav a.on .idx-dot{box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.idx-nav a span{flex:1}
.idx-shell{grid-template-columns:268px minmax(0,1fr)}.idx-nav a{font-size:14px;gap:10px}
@media (max-width:900px){.idx-shell{grid-template-columns:1fr}}
