/* IPA BOM Service — Dashboard Lubricant corporate visual fix R8.3
   Standalone fallback: includes all R7 dashboard styles independent of assets/style.css.
   Read-only presentation layer; no SOH calculations changed. */

/* R7: standalone lubricant stock dashboard, same corporate palette as BOM table */
.bom-view-nav{display:flex;align-items:center;gap:4px;padding:7px 13px;background:#f5f9fc;border-bottom:1px solid #d8e5ee}
.bom-view-tab{border:1px solid transparent;background:transparent;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:750;color:#527184;min-height:34px}
.bom-view-tab:hover{background:#e9f3f8}
.bom-view-tab.active{color:#123e5a;background:white;border-color:#cadeeb;box-shadow:0 1px 4px #122e4310}
.lub-dashboard{padding:14px 15px 18px;background:#f4f8fb;color:#183b52}
.lub-dash-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(104deg,#11314c,#1b5271);color:white;padding:17px 19px;border-radius:10px}
.lub-dash-banner h1{font-size:22px;line-height:1.2;margin:4px 0 5px;letter-spacing:-.02em}
.lub-dash-banner p{font-size:11.5px;color:#cbe0ec;margin:0}
.lub-dash-eyebrow{font-size:9px;font-weight:800;letter-spacing:.17em;color:#8fd9cb}
.lub-live-state{background:#48667d;color:white;border:1px solid #7a98ab;font-size:10px;font-weight:800;border-radius:16px;padding:6px 10px;white-space:nowrap}
.lub-live-state[data-mode=live]{background:#176f64;border-color:#4fcbae}.lub-live-state[data-mode=campuran]{background:#80632b;border-color:#e0b25b}
.lub-dash-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px 0 9px}
.lub-dash-toolbar label{font-size:10.5px;font-weight:750;color:#49677d;display:flex;flex-direction:column;gap:4px}
.lub-dash-toolbar select,.lub-dash-toolbar input{height:34px;background:white;border:1px solid #cbdde9;border-radius:7px;padding:0 10px;min-width:170px;font-size:11.5px;color:#1e425a}
.lub-dash-search-label{flex:1;min-width:160px}.lub-dash-search-label input{width:100%}
.lub-dash-refresh{height:34px;padding:0 14px;border:1px solid #bad2e0;background:#fff;color:#145b7c;border-radius:7px;font-size:11px;font-weight:800}
.lub-dash-status{font-size:10px;color:#5b7689;padding:0 0 11px;line-height:1.5}
.lub-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.lub-kpi{background:#fff;border:1px solid #dce7f0;border-radius:9px;padding:13px 14px;min-width:0;box-shadow:0 1px 2px #11334b05}
.lub-kpi>span{display:block;color:#547184;font-size:10px;font-weight:750}.lub-kpi-value{margin-top:6px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;color:#133d5a}
.lub-kpi-value strong{font-size:24px;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums}.lub-kpi-value small{font-size:11px;font-weight:700;color:#638196}
.lub-kpi>small{display:block;color:#768e9d;font-size:9.5px;margin-top:7px}
.lub-dashboard-panels{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.9fr);gap:10px;margin-top:10px}
.lub-panel{border:1px solid #dce7f0;background:#fff;border-radius:9px;padding:15px;min-width:0}
.lub-panel-top{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:13px}
.lub-panel-top h2{font-size:13px;margin:0;color:#1c455e}.lub-panel-top p{font-size:10px;line-height:1.4;color:#7690a1;margin:4px 0 0}
.lub-chart-legend{display:flex;gap:12px;font-size:10px;font-weight:700;color:#557388;white-space:nowrap}
.lub-chart-legend span:before{content:'';display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;background:#166d96}
.lub-chart-legend .lub-legend-zebra:before{background:#18a58f}
.lub-chart{display:flex;flex-direction:column;gap:10px;min-height:170px}
.lub-chart-row{display:grid;grid-template-columns:minmax(88px,145px) minmax(0,1fr);gap:8px;align-items:center}
.lub-chart-grade{font-size:10.5px;font-weight:730;color:#3d5c72;overflow-wrap:anywhere}
.lub-chart-bars{display:flex;flex-direction:column;gap:4px}
.lub-chart-barline{display:grid;grid-template-columns:14px minmax(0,1fr) 56px;gap:5px;align-items:center}
.lub-chart-bar-name{font-size:9px;color:#8aa0ad;font-weight:850}.lub-chart-track{height:11px;background:#edf4f7;border-radius:3px;overflow:hidden}
.lub-chart-fill{height:100%;display:block;min-width:0;border-radius:2px}.lub-chart-utara{background:#1b719a}.lub-chart-zebra{background:#12a38c}
.lub-chart-amount{text-align:right;font-size:10px;color:#274b63;font-variant-numeric:tabular-nums;font-weight:750}
.lub-insights{border-top:1px solid #eef2f6}.lub-insight-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid #edf2f5;font-size:10.5px;color:#526d80}
.lub-insight-row strong{font-size:13px;color:#1b465f;font-variant-numeric:tabular-nums}.lub-insight-footnote{font-size:10px;color:#678397;line-height:1.5;margin:13px 0}
.lub-target-note{border:1px dashed #c9dce9;background:#f6fafc;border-radius:7px;padding:10px;margin-top:10px}.lub-target-note strong{font-size:11px}.lub-target-note p{font-size:10px;line-height:1.5;color:#667f91;margin:4px 0 0}.lub-target-note code{overflow-wrap:anywhere}
.lub-detail-panel{margin-top:10px}.lub-row-count{font-size:10px;color:#7290a0;white-space:nowrap}
.lub-data-scroll{max-width:100%;overflow-x:auto}.lub-data-table{border-collapse:collapse;min-width:830px;width:100%;font-size:11px}
.lub-data-table th{text-align:left;background:#f0f6f9;color:#48677b;padding:9px 10px;border-bottom:1px solid #cfdfe9;font-size:10px;white-space:nowrap}
.lub-data-table td{padding:9px 10px;border-bottom:1px solid #e8eff4;color:#315269;vertical-align:top;font-variant-numeric:tabular-nums}
.lub-data-table tbody tr:nth-child(even){background:#f9fbfd}.lub-data-table td strong{font-weight:800;color:#133b56}.lub-data-table td small{color:#8194a2;font-size:9px}
.lub-grade-cell{min-width:180px}.lub-grade-cell details>summary{font-weight:800;color:#154b6b;cursor:pointer}.lub-grade-cell summary:hover{text-decoration:underline}
.lub-code-details{padding:8px 4px 3px;min-width:310px}.lub-code-entry{padding:6px 0;border-top:1px solid #edf1f5;display:flex;gap:12px;justify-content:space-between}
.lub-code-entry>div:first-child{min-width:0;max-width:230px}.lub-code-entry strong{display:block;font-size:10px;overflow-wrap:anywhere}.lub-code-entry small{display:block;margin-top:3px}
.lub-code-stock{flex-shrink:0;font-size:10px;line-height:1.5}.lub-code-stock span{color:#7c93a3}
.lub-target-sub{display:block;margin-top:2px}.lub-dash-muted{font-size:10px;color:#8d9fac}
.lub-status-tag{display:inline-block;font-size:9px;font-weight:800;padding:4px 7px;border-radius:5px;max-width:175px;line-height:1.4}
.lub-available,.lub-enough{background:#e4f5ec;color:#176c4b}.lub-low{background:#fff3dc;color:#9a6413}.lub-empty,.lub-negative{background:#ffebeb;color:#ad3737}.lub-unknown,.lub-neutral{background:#ecf1f5;color:#5f7888}
.lub-dash-disclaimer{margin-top:10px;border:1px solid #d9e5ed;border-radius:8px;background:#fff;color:#698295;font-size:10px;line-height:1.6;padding:12px 14px}
.lub-dash-disclaimer strong{color:#385f76}.lub-empty-message{padding:24px 8px;text-align:center;font-size:11px;color:#778e9d}
@media(max-width:1100px){.lub-dashboard-panels{grid-template-columns:minmax(0,1fr)}.lub-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.bom-view-nav{padding:6px;gap:4px}.bom-view-tab{flex:1;font-size:10.5px;padding:7px 6px}.lub-dashboard{padding:8px}.lub-dash-banner{padding:12px 13px}.lub-dash-banner h1{font-size:16px}.lub-dash-banner p{font-size:10px}.lub-dash-toolbar{gap:7px}.lub-dash-toolbar label{flex:1;min-width:125px}.lub-dash-toolbar select,.lub-dash-toolbar input{min-width:0;width:100%}.lub-dash-search-label{flex:1 1 100%}.lub-dash-refresh{width:100%}.lub-kpi-grid{gap:6px}.lub-kpi{padding:10px}.lub-kpi-value strong{font-size:19px}.lub-kpi>small{font-size:9px}.lub-panel{padding:10px}.lub-chart-row{grid-template-columns:minmax(78px,96px) minmax(0,1fr);gap:5px}.lub-chart-grade{font-size:9.5px}.lub-chart-barline{grid-template-columns:11px minmax(0,1fr) 46px;gap:3px}.lub-chart-amount{font-size:9px}.lub-live-state{font-size:9px;padding:5px 7px}}
@media print{.bom-view-nav,.lub-dash-toolbar,.lub-dash-refresh{display:none!important}.lub-dashboard:not([hidden]){display:block!important}.lub-dashboard .lub-dashboard-panels{grid-template-columns:1fr 1fr}.lub-data-scroll{overflow:visible}.lub-data-table{min-width:0;font-size:9px}.lub-data-table th,.lub-data-table td{padding:5px}}


/* R8.3 — Corporate navy / jade visual hierarchy, scoped to Dashboard Lubricant */
.bom-view-nav{background:#eef5f9;border-bottom:1px solid #cbdde9;padding:9px 14px}
.bom-view-tab{font-weight:800;letter-spacing:.01em}
.bom-view-tab.active{background:#173b58;color:#fff;border-color:#173b58;box-shadow:0 2px 8px #0c35501c}
.bom-view-tab.active:hover{background:#1c4a6e}
.lub-dashboard{background:#eaf2f7;padding:17px 18px 20px;color:#173950}
.lub-dash-banner{position:relative;overflow:hidden;background:linear-gradient(107deg,#102e48 0%,#18516e 77%,#1c6c73 100%);border:1px solid #205771;border-radius:11px;box-shadow:0 6px 15px #163d5619;padding:20px 23px}
.lub-dash-banner::before{content:'';display:block;position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#2acba5,#9debd9)}
.lub-dash-eyebrow{color:#95e4ce;letter-spacing:.18em}
.lub-dash-banner h1{font-size:22px;letter-spacing:-.027em}
.lub-dash-banner p{color:#d3e6ed;font-size:11.5px}
.lub-live-state{box-shadow:0 0 0 3px #ffffff10}
.lub-dash-toolbar{background:#f8fbfd;border:1px solid #cfdee9;border-radius:10px;margin:11px 0 8px;padding:10px 13px;align-items:flex-end}
.lub-dash-toolbar label{color:#42657a}
.lub-dash-refresh{background:#146783;color:#fff;border-color:#146783;transition:background .15s ease}
.lub-dash-refresh:hover{background:#10536f}
.lub-dash-status{font-size:10.5px;color:#496b7f;padding:3px 2px 10px}
.lub-kpi-grid{gap:11px}
.lub-kpi{background:linear-gradient(145deg,#183c58,#204c6b);border:1px solid #315c78;border-top:3px solid #38bfa7;border-radius:10px;box-shadow:0 4px 12px #143d5817;padding:15px 16px;min-height:108px}
.lub-kpi>span{color:#c7dfeb;font-size:10.5px}
.lub-kpi-value,.lub-kpi-value strong{color:#fff}
.lub-kpi-value strong{font-size:25px;letter-spacing:-.035em}
.lub-kpi-value small{color:#bfebdf}
.lub-kpi>small{color:#c4dbe6;font-size:9.5px}
.lub-kpi-1{border-top-color:#4aa9e2}
.lub-kpi-2{border-top-color:#30d0b1}
.lub-kpi-3{border-top-color:#c1e48d}
.lub-dashboard-panels{gap:11px;margin-top:11px;grid-template-columns:minmax(0,1.6fr) minmax(290px,.85fr)}
.lub-panel{border:1px solid #d2e1eb;background:#fff;border-radius:10px;padding:16px;box-shadow:0 3px 12px #15395409}
.lub-dashboard-panels>.lub-panel{background:linear-gradient(145deg,#12334c,#1a455f);border-color:#2d5871;color:#e1eef5;box-shadow:0 4px 15px #14364d18}
.lub-dashboard-panels .lub-panel-top h2{color:#fff;font-size:14px}
.lub-dashboard-panels .lub-panel-top p{color:#b8d5e4}
.lub-dashboard-panels .lub-chart-legend{color:#d6e8f0}
.lub-dashboard-panels .lub-chart-grade{color:#e1eef4;font-size:10.5px}
.lub-dashboard-panels .lub-chart-amount{color:#e7f6f8}
.lub-dashboard-panels .lub-chart-bar-name{color:#a4c5d7}
.lub-dashboard-panels .lub-chart-track{height:12px;background:#2d5970;border:1px solid #ffffff15;border-radius:4px}
.lub-dashboard-panels .lub-chart-utara{background:#69b8ed}
.lub-dashboard-panels .lub-chart-zebra{background:#49d9b4}
.lub-dashboard-panels .lub-chart-legend .lub-legend-utara:before{background:#69b8ed}
.lub-dashboard-panels .lub-chart-legend .lub-legend-zebra:before{background:#49d9b4}
.lub-dashboard-panels .lub-insights{border-top-color:#45677a}
.lub-dashboard-panels .lub-insight-row{color:#d7e9f0;border-bottom-color:#375b71;font-size:11px}
.lub-dashboard-panels .lub-insight-row strong{color:#fff;font-size:14px}
.lub-dashboard-panels .lub-insight-footnote{color:#c0d8e4}
.lub-dashboard-panels .lub-target-note{border:1px solid #456d80;background:#1c4c66;color:#e3f2f7}
.lub-dashboard-panels .lub-target-note p{color:#c1dce8}
.lub-dashboard-panels .lub-target-note code{color:#d2ebf1}
.lub-detail-panel{margin-top:11px;background:#fff}
.lub-detail-panel .lub-panel-top{align-items:center}
.lub-detail-panel .lub-panel-top h2{color:#173e59;font-size:14px}
.lub-detail-panel .lub-panel-top p{font-size:10.5px;color:#698598}
.lub-data-table{font-size:11px}
.lub-data-table th{background:#1b4763;color:#fff;border-bottom:1px solid #1b4763;font-size:10.5px;letter-spacing:.015em;padding:11px 10px}
.lub-data-table td{padding:10px 10px;border-bottom:1px solid #deebf1}
.lub-data-table tbody tr:nth-child(even){background:#f2f7fa}
.lub-data-table tbody tr:hover{background:#e8f3f7}
.lub-data-table td strong{color:#123e59}
.lub-grade-cell details>summary{color:#145778}
.lub-dash-disclaimer{color:#557488;background:#f8fbfd;font-size:10px;border-color:#cfdee7}
.lub-dash-disclaimer strong{color:#254e68}
@media(max-width:1100px){.lub-dashboard-panels{grid-template-columns:1fr}}
@media(max-width:650px){
 .lub-dashboard{padding:8px}
 .lub-dash-banner{padding:16px 14px}
 .lub-dash-banner h1{font-size:18px}
 .lub-dash-toolbar{padding:9px}
 .lub-kpi-grid{gap:7px}
 .lub-kpi{padding:12px;min-height:94px}
 .lub-kpi-value strong{font-size:20px}
 .lub-panel{padding:11px}
 .lub-dashboard-panels .lub-chart-grade{font-size:9px}
 .lub-data-table th,.lub-data-table td{padding:8px 9px}
}
@media print{
 .lub-dashboard{background:#fff!important}
 .lub-kpi,.lub-dashboard-panels>.lub-panel{background:#fff!important;color:#173950!important;border-color:#a8c1d0!important;box-shadow:none!important}
 .lub-kpi>span,.lub-kpi-value,.lub-kpi-value strong,.lub-kpi-value small,.lub-kpi>small,.lub-dashboard-panels .lub-panel-top h2,.lub-dashboard-panels .lub-panel-top p,.lub-dashboard-panels .lub-chart-grade,.lub-dashboard-panels .lub-chart-amount,.lub-dashboard-panels .lub-insight-row,.lub-dashboard-panels .lub-insight-row strong{color:#173950!important}
}
