/* ── Inventory Health Dashboard ─────────────────────────────────── */
.ihd-app{padding:18px 20px 60px;max-width:1400px;margin:0 auto;}
.ihd-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px;}
.ihd-toolbar input[type="search"]{flex:1 1 260px;min-width:200px;}
.ihd-toolbar select{min-width:180px;}
.ihd-refresh-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--r-xs);padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;}
.ihd-refresh-btn:hover{background:var(--accent-dk);}

.ihd-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:18px;}
.ihd-kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--sh);}
.ihd-kpi-label{font-size:11.5px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.4px;}
.ihd-kpi-value{font-size:22px;font-weight:700;color:var(--text);margin-top:4px;}
.ihd-kpi-sub{font-size:11.5px;color:var(--muted);margin-top:2px;}
.ihd-kpi.warn .ihd-kpi-value{color:var(--amber);}
.ihd-kpi.danger .ihd-kpi-value{color:var(--red);}
.ihd-kpi.muted .ihd-kpi-value{color:var(--t2);}

.ihd-charts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:20px;}
.ihd-chart-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;box-shadow:var(--sh);}
.ihd-chart-card canvas{max-height:260px;}
.ihd-chart-card h3{font-size:13px;font-weight:700;color:var(--t2);margin-bottom:8px;}
.ihd-slow-movers{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:150px;overflow-y:auto;}
.ihd-slow-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;border-bottom:1px dashed var(--border);padding:3px 0;}
.ihd-slow-name{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--t2);}
.ihd-slow-val{color:var(--muted);font-family:var(--mono);}
.ihd-slow-cov{color:var(--muted);width:70px;text-align:right;font-family:var(--mono);}

.ihd-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;}
.ihd-chip{border:1px solid var(--border);background:var(--surface);border-radius:var(--r-pill);padding:6px 13px;font-size:12px;font-weight:600;color:var(--t2);cursor:pointer;transition:all .12s;}
.ihd-chip:hover{border-color:var(--accent);}
.ihd-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;}

.ihd-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--sh);overflow-x:auto;}
.ihd-table-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 0;}
.ihd-table-head h3{font-size:13px;font-weight:700;color:var(--t2);}
#ihd-table-count{font-size:12px;color:var(--muted);}
table#ihd-table{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:8px;}
#ihd-table thead th{text-align:left;padding:9px 10px;color:var(--muted);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border);cursor:pointer;white-space:nowrap;}
#ihd-table thead th:hover{color:var(--accent);}
#ihd-table tbody td{padding:8px 10px;border-bottom:1px solid var(--s3);vertical-align:top;}
#ihd-table tbody tr:hover{background:var(--s2);}
#ihd-table td.num{text-align:right;font-family:var(--mono);white-space:nowrap;}
.ihd-td-name{max-width:220px;}
.ihd-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ihd-code{font-size:10.5px;color:var(--muted);font-family:var(--mono);}
.ihd-empty{text-align:center;color:var(--muted);padding:22px !important;}

.ihd-flag{display:inline-block;padding:3px 9px;border-radius:var(--r-pill);font-size:11px;font-weight:700;white-space:nowrap;}
.ihd-flag.ok{background:var(--glt);color:var(--green);}
.ihd-flag.warn{background:var(--alt2);color:var(--amber);}
.ihd-flag.muted{background:var(--s3);color:var(--t2);}
.ihd-flag.danger{background:var(--rlt);color:var(--red);}
.ihd-flag.purple{background:var(--purple-lt);color:var(--purple);}
.ihd-flag.grey{background:var(--s3);color:var(--muted);}

@media (max-width:860px){
  .ihd-charts{grid-template-columns:1fr;}
  .ihd-kpis{grid-template-columns:repeat(2,1fr);}
}
