/* BHA ERP V159 Inventory Dashboard */
.v159-dashboard{display:grid;gap:16px}.v159-kpis,.v159-flow-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.v159-kpi{background:#fff;border:1px solid #e2e8f3;border-radius:14px;padding:15px 16px;box-shadow:0 5px 18px rgba(32,59,105,.06);min-width:0}.v159-kpi-top{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;color:#526681}.v159-kpi-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eef5ff;color:#1264d6;font-size:17px}.v159-kpi strong{display:block;margin-top:9px;color:#10244a;font-size:23px;line-height:1}.v159-kpi strong small{font-size:12px;font-weight:800}.v159-kpi-sub{margin-top:8px;font-size:10px;color:#8a98ad}.v159-kpi.fz .v159-kpi-icon{background:#f2edff;color:#7a43f4}.v159-kpi.wh .v159-kpi-icon{background:#fff2e8;color:#ff7a1a}.v159-kpi.in .v159-kpi-icon,.v159-kpi.total .v159-kpi-icon{background:#e8fbf8;color:#11a88f}.v159-kpi.out .v159-kpi-icon{background:#fff0f3;color:#ee4162}.v159-grid{display:grid;gap:14px}.v159-grid.charts{grid-template-columns:1fr 1.08fr 1fr}.v159-grid.lower{grid-template-columns:1.65fr .75fr}.v159-card{background:#fff;border:1px solid #e1e8f2;border-radius:15px;box-shadow:0 7px 24px rgba(37,57,90,.06);padding:16px;min-width:0}.v159-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.v159-card h3{margin:0;color:#15294f;font-size:14px}.v159-card header span{font-size:11px;color:#74859d}.v159-donut-wrap{display:grid;grid-template-columns:210px 1fr;align-items:center;gap:14px}.v159-donut{width:190px;height:190px;border-radius:50%;background:conic-gradient(#0b61d8 0 var(--a),#8150ee var(--a) var(--b),#24b994 var(--b) 100%);display:grid;place-items:center;position:relative;margin:auto}.v159-donut:after{content:"";position:absolute;width:104px;height:104px;border-radius:50%;background:#fff}.v159-donut>div{position:relative;z-index:2;text-align:center}.v159-donut strong{display:block;font-size:22px;color:#10244a}.v159-donut span{font-size:11px;color:#607189}.v159-legend{display:grid;gap:12px}.v159-legend>div{display:grid;grid-template-columns:10px 1fr auto auto;gap:8px;align-items:center;border-bottom:1px solid #edf1f6;padding-bottom:8px;font-size:11px}.v159-legend i{width:9px;height:9px;border-radius:50%}.v159-legend i.port{background:#0b61d8}.v159-legend i.fz{background:#8150ee}.v159-legend i.wh{background:#24b994}.v159-legend b{color:#162b50}.v159-legend em{font-style:normal;color:#7f8da2}.v159-bars{height:190px;display:flex;align-items:end;justify-content:space-around;gap:14px;padding:18px 8px 0;border-bottom:1px solid #dce5ef;background:linear-gradient(to top,rgba(232,238,247,.55) 1px,transparent 1px);background-size:100% 42px}.v159-bar-group{text-align:center;min-width:70px}.v159-bar-pair{height:154px;display:flex;gap:7px;align-items:end;justify-content:center}.v159-bar-pair span{width:30px;border-radius:5px 5px 0 0;position:relative;min-height:3px}.v159-bar-pair span.in{background:#20b88c}.v159-bar-pair span.out{background:#2d7be8}.v159-bar-pair b{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:9px;color:#30415e;white-space:nowrap}.v159-bar-group small{display:block;margin-top:8px;color:#61738d;font-size:10px}.v159-chart-legend{display:flex;justify-content:center;gap:18px;margin-top:11px;font-size:10px;color:#6b7c92}.v159-chart-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px}.v159-chart-legend i.in{background:#20b88c}.v159-chart-legend i.out{background:#2d7be8}.v159-chart-legend i.stock{background:#105ed1}.v159-trend{width:100%;height:210px;overflow:visible}.v159-trend path{fill:none;stroke-width:3}.v159-trend path.grid{stroke:#e7edf5;stroke-width:1}.v159-trend path.stock{stroke:#105ed1}.v159-trend path.in{stroke:#1db58f}.v159-trend path.out{stroke:#8353eb}.v159-trend text{fill:#7f8da1;font-size:9px}.v159-flow-kpis .v159-kpi{padding:12px}.v159-flow-kpis .v159-kpi strong{font-size:19px}.v159-side-stack{display:grid;gap:14px}.v159-card.summary>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1f6;padding:10px 2px;font-size:11px;color:#677a93}.v159-card.summary>div b{font-size:15px;color:#132a50}.v159-table-wrap{overflow:auto}.v159-card table{width:100%;border-collapse:collapse;font-size:10px}.v159-card th{background:#f4f7fb;color:#53657e;font-weight:800;text-align:left;padding:9px;border-bottom:1px solid #dfe7f1}.v159-card td{padding:9px;border-bottom:1px solid #edf2f7;color:#30435f;white-space:nowrap}.v159-badge{display:inline-flex;padding:4px 9px;border-radius:999px;font-size:9px;font-weight:800}.v159-badge.ok{background:#e4f7ec;color:#238a54}.v159-badge.warn{background:#fff0e6;color:#d76818}.v159-muted{text-align:center!important;color:#8a98ad!important;padding:20px!important}.v159-export{position:relative}.v159-export>button{border:0;background:#122a52;color:#fff;border-radius:9px;padding:10px 14px;font-weight:800}.v159-export #v159-export-menu{display:none;position:absolute;right:0;top:44px;z-index:100;background:#fff;border:1px solid #dfe6f0;border-radius:10px;box-shadow:0 14px 35px rgba(24,43,78,.18);min-width:150px;padding:6px}.v159-export #v159-export-menu.open{display:grid}.v159-export #v159-export-menu button{border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;color:#2e405e}.v159-export #v159-export-menu button:hover{background:#f2f6fb}.v159-loading{padding:40px;text-align:center;color:#6a7c94}.v159-empty{height:180px;display:grid;place-items:center;color:#8a98ad}
@media(max-width:1450px){.v159-kpis,.v159-flow-kpis{grid-template-columns:repeat(3,1fr)}.v159-grid.charts{grid-template-columns:1fr 1fr}.v159-grid.charts>.v159-card:last-child{grid-column:1/-1}}
@media(max-width:900px){.v159-kpis,.v159-flow-kpis{grid-template-columns:repeat(2,1fr)}.v159-grid.charts,.v159-grid.lower{grid-template-columns:1fr}.v159-donut-wrap{grid-template-columns:1fr}.v159-donut{width:165px;height:165px}.v159-donut:after{width:92px;height:92px}}
@media print{#sidebar,.topbar,.page-head .actions,.bottom{display:none!important}.page{padding:0!important}.v159-dashboard{gap:8px}.v159-card,.v159-kpi{box-shadow:none!important;break-inside:avoid}.v159-kpis,.v159-flow-kpis{grid-template-columns:repeat(3,1fr)}.v159-grid.charts{grid-template-columns:1fr 1fr}.v159-grid.lower{grid-template-columns:1fr}}
