/* Cổng khách hàng NBK Click Shield (/appID) */
.idp{max-width:1000px}
.idp-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:18px;border:1px solid var(--line-pro,#ecdfd2);border-radius:12px;background:#fff}
.idp-msg{padding:12px 16px;border-radius:12px;margin:0 0 16px;border:1px solid #e4d9cf;background:#fff;line-height:1.55}
.idp-ok{border-color:#9fd5b4;background:#effaf3}.idp-err{border-color:#e9a9a0;background:#fdf1ef}.idp-warn,.idp-msg.idp-warn{color:#8a5a00}.idp-msg.idp-warn{background:#fff7e6;border-color:#f0d49a}
.idp-card{max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--line-pro,#ecdfd2);border-radius:18px;box-shadow:var(--sh-pro,0 12px 34px rgba(43,26,18,.07));padding:28px}
.idp-card h2{margin:0 0 6px}
.idp-card label,.idp-inline label{display:grid;gap:6px;margin:0 0 14px;font-weight:600;font-size:14px}
.idp-card input[type=email],.idp-card input[type=tel],.idp-card input[type=text],.idp-card input[type=password],.idp-inline input[type=text]{width:100%;padding:11px 13px;border:1px solid #d8ccc0;border-radius:10px;font:inherit}
.idp-chk{display:flex!important;grid-template-columns:none;gap:10px;font-weight:400!important;align-items:flex-start}.idp-chk input{margin-top:4px}
.idp-alt{margin:16px 0 0;font-size:14px;color:#6b5a4d}
.idp-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:6px 0 14px}.idp-head h2,.idp-head h3{margin:0}
.idp-badge{display:inline-block;padding:4px 12px;border-radius:99px;font-size:13px;font-weight:700;background:#f3ebe4;color:#6b5a4d;white-space:nowrap}
.idp-badge.ok{background:#e6f6ec;color:#17753f}.idp-badge.bad{background:#fde8e5;color:#b3261e}.idp-badge.mid{background:#fff1d6;color:#8a5a00}
.idp-tbl{overflow-x:auto;margin-bottom:18px}
.idp table{width:100%;border-collapse:collapse;font-size:14px}.idp th,.idp td{text-align:left;padding:9px 10px;border-bottom:1px solid #f0e6dc;vertical-align:top}.idp th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#8a7a6c}
.idp-inline{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:14px 0}.idp-inline label{margin:0;flex:1 1 260px}
.idp-box{background:#fff;border:1px solid var(--line-pro,#ecdfd2);border-radius:16px;padding:20px 22px;margin:18px 0}.idp-box h3{margin:0 0 10px}
.idp-danger{background:#fffaf8}
.idp-steps{margin:0 0 12px;padding-left:20px;display:grid;gap:12px;line-height:1.6}
.idp-code{background:#2b1a12;color:#ffe3c9;padding:12px 14px;border-radius:10px;overflow-x:auto;font-size:13px;margin:8px 0;white-space:pre-wrap;word-break:break-all}
.idp code{background:#f6efe8;padding:1px 6px;border-radius:6px;font-size:13px}.idp pre.idp-code code{background:none;padding:0}
.idp-more{margin-top:10px}.idp-more summary{cursor:pointer;font-weight:600}
.idp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:10px 0 18px}.idp-kpis div{background:#fff;border:1px solid var(--line-pro,#ecdfd2);border-top:3px solid #2F80ED;border-radius:14px;padding:14px 16px;display:grid;gap:4px}.idp-kpis div.bad{border-top-color:#c0392b}.idp-kpis div.mid{border-top-color:#ED721E}.idp-kpis b{font-size:26px}.idp-kpis span{font-size:13px;color:#6b5a4d}
.idp-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.idp-two .idp-box{margin:0}
.idp-flt select{padding:8px 10px;border:1px solid #d8ccc0;border-radius:10px;font:inherit;background:#fff}
.idp-crumb{margin:0 0 6px}
@media(max-width:760px){.idp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.idp-two{grid-template-columns:1fr}.idp-card{padding:20px}}
.idp .btn-line{background:#fff;color:var(--ink,#2b1a12);border:1px solid #d8ccc0;font-weight:600}.idp .btn-line:hover{border-color:#ED721E;color:#b04a0a}

/* cân đối biểu mẫu */
.idp-card form{display:grid;gap:2px}
.idp-card label{margin:0 0 12px}
.idp-chk{margin:2px 0 16px!important;line-height:1.55;font-size:14px}.idp-chk input{flex:none;width:18px;height:18px;margin-top:3px;accent-color:#e2711a}.idp-chk span{flex:1;min-width:0}
.idp-two2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.idp-card .btn-block{width:100%;justify-content:center}
.idp-alt{text-align:center;line-height:1.9}
.idp-card input:focus{outline:0;border-color:#e2711a;box-shadow:0 0 0 3px rgba(226,113,26,.18)}
@media(max-width:520px){.idp-two2{grid-template-columns:1fr}}
.idp-card h2{margin-bottom:8px}.idp-card h2+p{margin:0 0 18px}.idp-card h2+form{margin-top:18px}
