/* Business Intelligence - isolated admin analytics surface */
.bi-center{
  --bi-bg:#09111f;
  --bi-panel:rgba(13,22,38,.93);
  --bi-panel-2:rgba(18,30,50,.86);
  --bi-border:rgba(148,176,220,.18);
  --bi-text:#eef5ff;
  --bi-muted:#91a6c2;
  --bi-green:#44e1a6;
  --bi-blue:#65a9ff;
  --bi-yellow:#ffd166;
  --bi-red:#ff6f91;
  --bi-purple:#b794ff;
  color:var(--bi-text);
  margin-bottom:30px;
}
.bi-hero{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:22px;
  border:1px solid var(--bi-border);
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(68,225,166,.13),transparent 30%),
    linear-gradient(225deg,rgba(183,148,255,.16),transparent 34%),
    var(--bi-bg);
  box-shadow:0 24px 72px rgba(0,0,0,.34);
}
.bi-eyebrow{
  margin:0 0 6px;
  color:var(--bi-green);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:0;
}
.bi-hero h2{
  margin:0;
  font-size:34px;
  line-height:1.05;
  letter-spacing:0;
}
.bi-subtitle{
  max-width:780px;
  margin:10px 0 0;
  color:var(--bi-muted);
  font-size:14px;
}
.bi-actions,.bi-export-actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.bi-select,.bi-date,.bi-btn,.bi-export{
  min-height:40px;
  border:1px solid var(--bi-border);
  border-radius:10px;
  background:rgba(18,30,50,.94);
  color:var(--bi-text);
  font:inherit;
  font-size:13px;
  font-weight:800;
}
.bi-select{padding:0 12px;min-width:132px}
.bi-date{padding:0 10px;min-width:145px}
.bi-date.hidden{display:none}
.bi-btn,.bi-export{
  padding:0 15px;
  cursor:pointer;
}
.bi-btn{
  background:linear-gradient(135deg,var(--bi-green),var(--bi-blue));
  color:#07111f;
}
.bi-export{
  background:rgba(255,255,255,.06);
}
.bi-toolbar{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin:14px 2px 16px;
  color:var(--bi-muted);
  font-size:12px;
  flex-wrap:wrap;
}
.bi-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:14px;
}
.bi-kpi,.bi-panel{
  border:1px solid var(--bi-border);
  border-radius:12px;
  background:linear-gradient(180deg,var(--bi-panel),rgba(9,16,28,.94));
  box-shadow:0 16px 44px rgba(0,0,0,.24);
}
.bi-kpi{
  position:relative;
  min-height:118px;
  overflow:hidden;
  padding:16px;
}
.bi-kpi:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:var(--kpi-color,var(--bi-blue));
}
.bi-kpi-label{
  color:var(--bi-muted);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.bi-kpi-value{
  margin-top:10px;
  font-size:28px;
  line-height:1;
  font-weight:900;
}
.bi-kpi-foot{
  margin-top:10px;
  color:var(--bi-muted);
  font-size:12px;
}
.bi-grid{
  display:grid;
  gap:14px;
  margin-bottom:14px;
}
.bi-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.bi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.bi-panel{
  padding:16px;
  min-width:0;
}
.bi-panel-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  margin-bottom:14px;
}
.bi-panel-head h3{
  margin:0;
  font-size:15px;
  letter-spacing:0;
}
.bi-panel-head span{
  color:var(--bi-muted);
  font-size:11px;
  white-space:nowrap;
}
.bi-chart{
  min-height:280px;
}
.bi-chart.small{
  min-height:235px;
}
.bi-stack,.bi-rank-list,.bi-insight-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.bi-row,.bi-rank,.bi-insight{
  border:1px solid rgba(148,176,220,.13);
  border-radius:10px;
  background:var(--bi-panel-2);
  padding:11px 12px;
}
.bi-row,.bi-rank{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
}
.bi-row span,.bi-rank span,.bi-insight span{
  color:var(--bi-muted);
  font-size:12px;
}
.bi-row strong,.bi-rank strong,.bi-insight strong{
  font-size:13px;
  font-weight:900;
}
.bi-insight{
  border-left:4px solid var(--bi-green);
}
.bi-table{
  width:100%;
  border-collapse:collapse;
  font-size:12px;
}
.bi-table th,.bi-table td{
  border-bottom:1px solid rgba(148,176,220,.13);
  padding:9px 8px;
  text-align:left;
}
.bi-table th{
  color:var(--bi-muted);
  font-size:11px;
  text-transform:uppercase;
}
.bi-growth-pos{color:var(--bi-green);font-weight:900}
.bi-growth-neg{color:var(--bi-red);font-weight:900}
.bi-heatmap{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
}
.bi-heat-cell{
  min-height:54px;
  border-radius:8px;
  border:1px solid rgba(148,176,220,.12);
  background:rgba(101,169,255,.08);
  padding:8px;
  font-size:11px;
  color:var(--bi-muted);
}
.bi-heat-cell strong{
  display:block;
  margin-top:5px;
  color:var(--bi-text);
  font-size:14px;
}
.bi-empty{
  color:var(--bi-muted);
  font-size:13px;
  padding:12px;
}
.bi-center.is-loading .skeleton{
  background:linear-gradient(90deg,rgba(148,176,220,.08),rgba(148,176,220,.18),rgba(148,176,220,.08));
  background-size:220% 100%;
  animation:biPulse 1.2s infinite linear;
}
@keyframes biPulse{to{background-position:-220% 0}}
@media (max-width:1120px){
  .bi-kpi-grid,.bi-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bi-heatmap{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:760px){
  .bi-hero{flex-direction:column;padding:16px}
  .bi-hero h2{font-size:26px}
  .bi-actions,.bi-select,.bi-date,.bi-btn,.bi-export{width:100%}
  .bi-toolbar{flex-direction:column}
  .bi-kpi-grid,.bi-grid.two,.bi-grid.three{grid-template-columns:1fr}
  .bi-panel-head{flex-direction:column}
  .bi-panel-head span{white-space:normal}
  .bi-table-wrap{overflow-x:auto}
  .bi-heatmap{grid-template-columns:repeat(2,minmax(0,1fr))}
}
