.dash-page{display:grid;gap:15px}
.dash-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.dash-heading .page-title{margin:0 0 4px}.dash-heading p,.dash-note{font-size:12px;color:#687991;margin:0}
.dash-local{font-size:11px;color:#325aa9;background:#eaf0ff;border:1px solid #d9e5fc;border-radius:3px;padding:6px 9px;white-space:nowrap}
.dash-controls{padding:13px 16px;display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap}
.dash-presets{display:flex;flex-wrap:wrap;gap:6px}.dash-selected{background:#eaf0ff;color:#2352ae;border-color:#7797d4}
#dash-filter{display:flex;align-items:end;gap:8px;flex-wrap:wrap}#dash-filter label{display:grid;gap:4px;color:#63718b;font-size:11px}#dash-filter .input{font-size:12px;height:32px}
.dash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dash-kpi{min-width:0;display:grid;gap:4px;padding:18px;background:#fff;border:1px solid #e3e8f0;border-left:4px solid #4776d5;border-radius:2px;box-shadow:0 2px 10px #3449630e}
.dash-kpi:hover{border-color:#6d91d9;box-shadow:0 4px 14px #34496322}.dash-kpi strong{font-size:29px;line-height:1;color:#2c60bd}.dash-kpi span{font-size:13px;font-weight:600;color:#354561}.dash-kpi small{font-size:11px;color:#7d899c}
.dash-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dash-panel{min-width:0;padding:17px 19px}.dash-panel h2,.dash-links h2{font-size:15px;margin:0 0 15px;color:#30425f}
.dash-dist{display:grid;gap:11px}.dash-dist-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(70px,3fr) 38px;align-items:center;gap:9px;font-size:12px;color:#5b6b84}.dash-dist-row b{text-align:right;font-weight:600;color:#33445f}
.dash-track{height:9px;background:#edf0f5;border-radius:99px;overflow:hidden}.dash-track i{display:block;height:100%;border-radius:99px;min-width:0}
.dash-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.dash-panel-head span{font-size:11px;color:#7c889b}
.dash-chart{height:132px;display:flex;align-items:end;gap:3px;border-bottom:1px solid #dce3ed;overflow:hidden}.dash-bar-wrap{flex:1;height:100%;min-width:3px;display:flex;align-items:end}.dash-bar-wrap i{display:block;width:100%;background:#5b83d7;border-radius:2px 2px 0 0}.dash-bar-wrap i.dash-zero{background:#dce4f1}.dash-chart-axis{display:flex;justify-content:space-between;color:#818da0;font-size:11px;margin-top:6px}
.dash-links{padding:17px 19px}.dash-links nav{display:flex;flex-wrap:wrap;gap:8px}.dash-links a{font-size:12px;color:#235abd;background:#f0f5ff;border:1px solid #dfe8fb;padding:7px 10px;border-radius:2px}.dash-links a:hover{background:#e2edff}.dash-empty{color:#748096;font-size:13px;padding:20px}
@media(max-width:1050px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:780px){.dash-two{grid-template-columns:1fr}.dash-heading{flex-wrap:wrap}}
@media(max-width:520px){.dash-kpis{grid-template-columns:1fr}.dash-dist-row{grid-template-columns:minmax(90px,1.2fr) minmax(50px,2fr) 28px}.dash-controls{padding:12px}#dash-filter label{flex:1 1 120px}#dash-filter .input{width:100%}}

/* EGESOFT metric layout for the BI dashboard. */
.dash-page-bi{display:grid;gap:13px;min-width:0;padding:0 0 30px;color:#344d59}
.dash-page-bi .dash-heading-bi{min-height:78px;align-items:flex-end;padding:3px 2px 1px}
.dash-page-bi .dash-kicker,.dash-page-bi .dash-section-kicker{display:flex;align-items:center;gap:7px;color:#789097;font-size:8px;font-weight:700;letter-spacing:.13em}
.dash-page-bi .dash-kicker i{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:#3caaa0;box-shadow:0 0 0 3px #e4f4f1}
.dash-page-bi .dash-kicker b{color:#c0cccf;font-size:8px}
.dash-page-bi .dash-heading .page-title{margin:7px 0 3px;color:#142f3f;font-size:25px;font-weight:650;letter-spacing:-.04em}
.dash-page-bi .dash-heading p{margin:0;color:#778b93;font-size:11px;line-height:1.6}
.dash-page-bi .dash-heading-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:7px}
.dash-page-bi .dash-heading-actions .btn{min-height:33px;padding:0 12px;border:1px solid #dfe9ea;border-radius:8px;color:#506a73;background:#fff;font-size:9px;font-weight:650}
.dash-page-bi .dash-heading-actions .btn:hover:not(:disabled){border-color:#acd4d0;color:#176f70;background:#f5fbfa}
.dash-page-bi .dash-heading-actions .btn:disabled{opacity:.65}
.dash-page-bi .dash-local{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid #d8ece4;border-radius:999px;color:#38745c;background:#f0f8f4;font-size:9px;font-weight:650}
.dash-page-bi .dash-local i{width:6px;height:6px;border-radius:50%;background:#48a87e;box-shadow:0 0 0 3px #d9eee3}
.dash-page-bi .dash-controls-bi{display:block;min-width:0;padding:12px 15px;border:1px solid #e3eaec;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgb(25 49 62 / 3%)}
.dash-page-bi .dash-controls-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.dash-page-bi .dash-controls-head h2{margin:3px 0 0;color:#1b3948;font-size:12px;font-weight:650}
.dash-page-bi .dash-range,.dash-page-bi .dash-panel-total{padding:5px 8px;border:1px solid #e4eded;border-radius:999px;color:#567078;background:#f7fbfa;font-size:9px;font-weight:650;white-space:nowrap}
.dash-page-bi .dash-controls-body{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.dash-page-bi .dash-presets{display:flex;flex-wrap:wrap;gap:6px}
.dash-page-bi .dash-presets .btn{min-height:29px;padding:0 10px;border:1px solid #e0e8e9;border-radius:7px;color:#60777e;background:#fff;font-size:9px;font-weight:600}
.dash-page-bi .dash-presets .btn:hover:not(:disabled){border-color:#b8d8d4;color:#176f70;background:#f3f9f8}
.dash-page-bi .dash-presets .dash-selected{border-color:#c5e3df;color:#176f70;background:#eff8f6}
.dash-page-bi .dash-presets .btn:disabled{opacity:.6}
.dash-page-bi #dash-filter{display:flex;align-items:flex-end;flex-wrap:wrap;gap:8px}
.dash-page-bi #dash-filter label{display:grid;gap:5px;min-width:130px;color:#627880;font-size:9px;font-weight:650}
.dash-page-bi #dash-filter .input{width:100%;min-height:34px;border:1px solid #dce6e8;border-radius:7px;color:#405a64;font-size:10px}
.dash-page-bi #dash-filter .input:focus{border-color:#69bdb6;box-shadow:0 0 0 3px rgb(76 190 183 / 11%)}
.dash-page-bi #dash-filter .btn{min-height:34px;padding:0 10px;border:1px solid #16837e;border-radius:7px;color:#fff;background:#168b84;font-size:9px;font-weight:650}
.dash-page-bi #dash-filter .btn:hover:not(:disabled){border-color:#116f6b;background:#117872}
.dash-page-bi .dash-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;min-width:0}
.dash-page-bi .dash-kpi{--dash-metric-color:#168b84;position:relative;min-width:0;min-height:89px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:9px 1fr auto;grid-template-areas:"marker action" "label count" "hint count";align-items:center;gap:5px 8px;padding:10px 12px;overflow:hidden;border:1px solid #e5ecee;border-radius:11px;color:#193746;background:linear-gradient(155deg,#fff,#f9fbfb);box-shadow:0 2px 6px rgb(28 57 69 / 2%);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.dash-page-bi .dash-kpi-teal{--dash-metric-color:#168b84}.dash-page-bi .dash-kpi-blue{--dash-metric-color:#527caa}.dash-page-bi .dash-kpi-amber{--dash-metric-color:#c08a36}.dash-page-bi .dash-kpi-green{--dash-metric-color:#4c9a78}
.dash-page-bi .dash-kpi::after{position:absolute;right:-34px;bottom:-54px;z-index:0;width:90px;height:90px;border:1px solid color-mix(in srgb,var(--dash-metric-color) 13%,white);border-radius:50%;box-shadow:0 0 0 13px color-mix(in srgb,var(--dash-metric-color) 4%,white);content:"";pointer-events:none}
.dash-page-bi .dash-kpi>*{position:relative;z-index:1}
.dash-page-bi .dash-kpi>i{grid-area:marker;width:7px;height:7px;border-radius:50%;background:var(--dash-metric-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--dash-metric-color) 13%,white)}
.dash-page-bi .dash-kpi>span{grid-area:label;min-width:0;overflow:hidden;color:#506772;font-size:9px;font-weight:650;line-height:1.35;text-overflow:ellipsis}
.dash-page-bi .dash-kpi strong{grid-area:count;z-index:1;color:var(--dash-metric-color);font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.dash-page-bi .dash-kpi small{grid-area:hint;overflow:hidden;color:#94a4ab;font-size:8px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.dash-page-bi .dash-kpi>b{grid-area:action;color:#9aabad;font-size:13px;font-weight:500}
.dash-page-bi .dash-kpi:hover{border-color:#a8d8d4;box-shadow:0 7px 16px rgb(33 116 112 / 8%);transform:translateY(-1px)}
.dash-page-bi .dash-kpi:focus-visible{outline:2px solid #53b8b0;outline-offset:2px}
.dash-page-bi .dash-two{gap:10px;min-width:0}
.dash-page-bi .dash-panel{min-width:0;overflow:hidden;padding:0;border:1px solid #e3eaec;border-radius:13px;background:#fff;box-shadow:0 6px 22px rgb(25 49 62 / 4%)}
.dash-page-bi .dash-panel-head-inner{padding:0 14px;border-bottom:1px solid #e7edef}
.dash-page-bi .dash-panel-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.dash-page-bi .dash-panel-head>div{display:grid;gap:3px}
.dash-page-bi .dash-panel h2{margin:0;color:#1b3948;font-size:13px;font-weight:650}
.dash-page-bi .dash-dist{display:grid;gap:0;padding:4px 14px 8px}
.dash-page-bi .dash-dist-row{min-width:0;min-height:34px;display:grid;grid-template-columns:minmax(118px,1.25fr) minmax(60px,2.5fr) 42px;align-items:center;gap:8px;border-bottom:1px solid #eef2f3;color:#526772;font-size:9px}
.dash-page-bi .dash-dist-row:last-child{border-bottom:0}
.dash-page-bi .dash-dist-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dash-page-bi .dash-dist-row>b{color:#344d59;font-size:9px;font-variant-numeric:tabular-nums}
.dash-page-bi .dash-track{height:7px;background:#edf2f3}
.dash-page-bi .dash-track i{border-radius:999px}
.dash-page-bi .dash-trend{padding:0 14px 12px}
.dash-page-bi .dash-trend .dash-panel-head{margin:0 -14px;padding:0 14px;border-bottom:1px solid #e7edef}
.dash-page-bi .dash-chart{height:145px;margin-top:12px;border-bottom-color:#dce8e9}
.dash-page-bi .dash-bar-wrap i{background:#168b84;border-radius:3px 3px 0 0}
.dash-page-bi .dash-bar-wrap i.dash-zero{background:#dcebea}
.dash-page-bi .dash-chart-axis{color:#819198;font-size:9px}
.dash-page-bi .dash-links{padding:12px 14px;border:1px solid #e3eaec;border-radius:11px;background:#fff;box-shadow:0 2px 8px rgb(25 49 62 / 3%)}
.dash-page-bi .dash-links h2{margin:0 0 9px;color:#1b3948;font-size:12px;font-weight:650}
.dash-page-bi .dash-links nav{gap:6px}
.dash-page-bi .dash-links a{border:1px solid #dfe9ea;border-radius:7px;color:#506a73;background:#fff;font-size:9px;font-weight:600;text-decoration:none}
.dash-page-bi .dash-links a:hover{border-color:#acd4d0;color:#176f70;background:#f5fbfa}
.dash-page-bi .dash-note{margin:0;padding:9px 12px;border:1px solid #e6edef;border-radius:8px;color:#697f86;background:#fbfdfd;font-size:9px;line-height:1.6}
.dash-page-bi .dash-empty{padding:14px;border:1px solid #e3eaec;border-radius:10px;color:#74858b;background:#fff;font-size:10px}
@media(max-width:1050px){.dash-page-bi .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-page-bi .dash-controls-body{align-items:flex-start;flex-direction:column}}
@media(max-width:780px){.dash-page-bi .dash-heading-bi{align-items:flex-start;flex-direction:column;gap:12px}.dash-page-bi .dash-heading-actions{width:100%;justify-content:flex-end}}
@media(max-width:540px){.dash-page-bi .dash-controls-head{align-items:flex-start;flex-direction:column;gap:7px}.dash-page-bi .dash-presets{width:100%}.dash-page-bi #dash-filter{width:100%}.dash-page-bi #dash-filter label{flex:1 1 130px;min-width:0}.dash-page-bi .dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-page-bi .dash-dist-row{grid-template-columns:minmax(90px,1.2fr) minmax(42px,2fr) 34px;gap:6px}}
@media(max-width:390px){.dash-page-bi .dash-kpis{grid-template-columns:1fr}.dash-page-bi .dash-dist-row{grid-template-columns:minmax(82px,1.25fr) minmax(35px,1.5fr) 30px;gap:4px}}
