/* SobiDesk classic dashboard — modern operations layer */
.dash-v2{--pulse-blue:#38bdf8;--pulse-indigo:#818cf8;--pulse-mint:#34d399;--pulse-gold:#fbbf24}
.dash-insight-deck{display:grid;grid-template-columns:1.05fr 1.5fr .72fr;gap:12px;margin:0 0 14px}
.dash-health-panel,.dash-column-panel,.dash-orbit-stat{position:relative;overflow:hidden;min-height:174px;border:1px solid color-mix(in srgb,var(--border) 82%,var(--accent2));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg2) 96%,var(--accent2)),var(--bg2));box-shadow:0 8px 30px rgba(3,15,35,.1),inset 0 1px rgba(255,255,255,.04)}
.dash-health-panel{display:flex;align-items:center;gap:18px;padding:22px}
.dash-health-panel::after{content:"";position:absolute;width:160px;height:160px;inset-inline-end:-85px;top:-95px;border-radius:50%;background:var(--pulse-blue);filter:blur(50px);opacity:.1}
.dash-health-ring{--health:75;width:112px;height:112px;flex:0 0 112px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--pulse-mint) calc(var(--health)*1%),rgba(128,145,170,.14) 0);filter:drop-shadow(0 0 14px rgba(52,211,153,.14));position:relative}
.dash-health-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--bg2);box-shadow:inset 0 0 0 1px var(--border)}
.dash-health-ring>div{position:relative;z-index:1;text-align:center}.dash-health-ring strong{display:block;font-size:24px;color:var(--text);font-variant-numeric:tabular-nums}.dash-health-ring small{display:block;margin-top:2px;font-size:9px;font-weight:700;color:var(--text3)}
.dash-health-copy{position:relative;z-index:1;min-width:0}.dash-health-copy>span{display:block;margin-bottom:8px;color:var(--accent2);font-size:10px;font-weight:800;letter-spacing:.04em}.dash-health-copy>b{display:block;color:var(--text);font-size:13px;line-height:1.65}.dash-health-copy>small{display:block;margin-top:6px;color:var(--text3);font-size:10px;line-height:1.5}
.dash-column-panel{padding:17px 20px}.dash-visual-head{display:flex;align-items:center;justify-content:space-between;color:var(--text2);font-size:11px;font-weight:800}.dash-visual-head span{display:flex;align-items:center;gap:7px}.dash-visual-head i{color:var(--pulse-blue);font-size:16px}.dash-visual-head small{color:var(--text3);font-size:9px;font-weight:600}
.dash-pulse-bars{height:118px;display:grid;grid-template-columns:repeat(4,1fr);gap:13px;align-items:end;padding-top:12px}.dash-pulse-col{height:100%;display:grid;grid-template-rows:16px 1fr 17px;gap:3px;text-align:center}.dash-pulse-col strong{color:var(--text2);font-size:10px;font-variant-numeric:tabular-nums}.dash-pulse-col small{overflow:hidden;color:var(--text3);font-size:9px;white-space:nowrap;text-overflow:ellipsis}.dash-pulse-track{height:100%;display:flex;align-items:end;justify-content:center;border-radius:7px;background:linear-gradient(180deg,transparent,rgba(128,145,170,.06))}.dash-pulse-track span{display:block;width:min(28px,70%);min-height:5px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,color-mix(in srgb,var(--pulse-color) 75%,white),var(--pulse-color));box-shadow:0 5px 16px color-mix(in srgb,var(--pulse-color) 30%,transparent);transform-origin:bottom}
.dash-orbit-stat{appearance:none;width:100%;padding:18px;border:0;border:1px solid color-mix(in srgb,var(--border) 82%,var(--pulse-gold));display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text);font:inherit;cursor:pointer}.dash-orbit-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:8px;border-radius:50%;color:var(--pulse-gold);background:rgba(251,191,36,.11);box-shadow:0 0 0 8px rgba(251,191,36,.035),0 0 28px rgba(251,191,36,.12)}.dash-orbit-icon i{font-size:20px}.dash-orbit-stat strong{font-size:26px;font-variant-numeric:tabular-nums}.dash-orbit-stat>span:not(.dash-orbit-icon){font-size:10px;font-weight:800}.dash-orbit-stat small{margin-top:5px;color:var(--text3);font-size:9px}
.dash-chart-section,.dash-ai-cmd-block,.dash-section,.dash-mini-cal,.dash-ai-sugg-block{border-radius:15px!important}.dash-chart-section{background:linear-gradient(160deg,color-mix(in srgb,var(--bg2) 96%,var(--pulse-blue)),var(--bg2))!important}.dash-chart-body{min-height:240px}.dash-pipeline-bar span{background:linear-gradient(90deg,var(--pulse-indigo),var(--pulse-blue));box-shadow:0 0 12px rgba(56,189,248,.18)}
/* KPI strip stays intentionally neutral in light mode; color belongs to the
   icon and status chip, not to the card surface. */
body.light .dash-kpi-card,:root[data-theme="light"] .dash-kpi-card{background:#fff!important;background-image:none!important;box-shadow:0 2px 8px rgba(18,48,83,.055)!important}
body.light .dash-kpi-card::before,body.light .dash-kpi-card::after,:root[data-theme="light"] .dash-kpi-card::before,:root[data-theme="light"] .dash-kpi-card::after{display:none!important;content:none!important}
body.light .dash-kpi-card:hover,:root[data-theme="light"] .dash-kpi-card:hover{background:#fff!important;box-shadow:0 8px 22px rgba(18,48,83,.11)!important;border-color:color-mix(in srgb,var(--accent2) 28%,var(--border))!important}
/* Dark KPI strip: one coherent blue-glass material. Per-card color glows are
   removed; icons and status chips retain semantic color. */
body:not(.light) .dash-kpi-card,:root[data-theme="dark"] .dash-kpi-card{background:linear-gradient(145deg,rgba(17,38,66,.88),rgba(8,23,43,.94))!important;background-image:linear-gradient(145deg,rgba(17,38,66,.88),rgba(8,23,43,.94))!important;border-color:rgba(81,167,255,.2)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 7px 22px rgba(0,8,25,.2),0 0 0 1px rgba(31,130,255,.035)!important;backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}
body:not(.light) .dash-kpi-card::before,body:not(.light) .dash-kpi-card::after,:root[data-theme="dark"] .dash-kpi-card::before,:root[data-theme="dark"] .dash-kpi-card::after{display:none!important;content:none!important}
body:not(.light) .dash-kpi-card:hover,:root[data-theme="dark"] .dash-kpi-card:hover{background:linear-gradient(145deg,rgba(20,48,83,.94),rgba(9,28,52,.98))!important;border-color:rgba(92,194,255,.94)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 30px rgba(0,10,32,.34),0 0 0 1px rgba(89,190,255,.48),0 0 22px rgba(27,145,255,.34)!important}
:root:not([data-theme="light"]) body,.dark body{background:#07101f}.dark #main,:root:not([data-theme="light"]) #main{background:radial-gradient(circle at 65% -15%,rgba(56,189,248,.07),transparent 34%),linear-gradient(180deg,#081323,#07101f)}
:root:not([data-theme="light"]) .dash-health-panel,:root:not([data-theme="light"]) .dash-column-panel,:root:not([data-theme="light"]) .dash-orbit-stat{border-color:rgba(126,164,210,.13);background:linear-gradient(145deg,rgba(18,34,57,.96),rgba(10,23,41,.98));box-shadow:0 14px 38px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035)}
@media(prefers-reduced-motion:no-preference){.dash-pulse-track span{animation:dash-bar-rise .7s cubic-bezier(.2,.8,.2,1) both}.dash-orbit-icon{animation:dash-orbit-breathe 3.4s ease-in-out infinite}.dash-health-ring{animation:dash-ring-in .8s cubic-bezier(.2,.8,.2,1) both}.dash-insight-deck>*{transition:transform .18s ease,border-color .18s,box-shadow .18s}.dash-insight-deck>*:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent2) 42%,var(--border));box-shadow:0 14px 38px rgba(3,15,35,.16)}}
@keyframes dash-bar-rise{from{transform:scaleY(0);opacity:.2}to{transform:scaleY(1);opacity:1}}@keyframes dash-orbit-breathe{50%{box-shadow:0 0 0 12px rgba(251,191,36,.025),0 0 34px rgba(251,191,36,.2)}}@keyframes dash-ring-in{from{opacity:0;transform:rotate(-35deg) scale(.86)}to{opacity:1;transform:none}}
@media(max-width:1100px){.dash-insight-deck{grid-template-columns:1fr 1fr}.dash-orbit-stat{grid-column:span 2;min-height:120px}}
@media(max-width:700px){.dash-insight-deck{grid-template-columns:1fr}.dash-orbit-stat{grid-column:auto}.dash-health-panel,.dash-column-panel,.dash-orbit-stat{min-height:154px}.dash-health-panel{padding:18px}.dash-health-ring{width:96px;height:96px;flex-basis:96px}.dash-pulse-bars{height:104px}}
