/* Page: dashboard — auto-split from the old single styles.css, 80 rule block(s). Do not duplicate class names across files. */

.status-list{display:flex;flex-direction:column;gap:10px}

.wind-compass{width:76px;height:76px;border:1px solid #bdd3df;border-radius:50%;position:relative;margin:auto;background:radial-gradient(circle,#fff 0 10%,#eef6fa 11% 100%);color:#335668;font-size:9px}

.wind-compass span{position:absolute;font-weight:600;}

.compass-n{top:3px;left:50%;transform:translateX(-50%)}

.compass-s{bottom:3px;left:50%;transform:translateX(-50%)}

.compass-e{right:4px;top:50%;transform:translateY(-50%)}

.compass-w{left:4px;top:50%;transform:translateY(-50%)}

.wind-compass i{position:absolute;left:50%;top:50%;width:3px;height:28px;background:#d8444b;transform-origin:50% 86%;border-radius:3px}

.wind-compass i:before{content:"";position:absolute;top:-5px;left:-4px;border-left:5px solid transparent;border-right:5px solid transparent;border-bottom:8px solid #d8444b}

.wind-compass b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:8px;padding:2px 4px;font-size:9px}

.weather-station-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}

.weather-station-hero>div{border:1px solid #dbe8ef;border-radius:15px;padding:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}

.weather-station-hero strong{font-size:25px}

.weather-metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0}

.weather-metric-grid>div{border:1px solid #dbe8ef;border-radius:12px;padding:11px;background:rgba(30,120,165,.035)}

.weather-metric-grid span{font-size:19px}

.weather-metric-grid small,.weather-metric-grid b{display:block;margin-top:3px}

.weather-metric-grid small{color:var(--muted)}

.weather-risk-banner{margin:12px 0;padding:11px 13px;border:1px solid #f1cf8d;background:#fff8e9;color:#8b5a08;border-radius:11px}

@media (max-width:700px){
.weather-kpi-grid,.weather-live-cards,.weather-metric-grid,.weather-station-hero{grid-template-columns:1fr}
}

.weather-station-hero>div{position:relative;padding-top:30px}

.weather-hero-title{position:absolute;top:8px;right:10px;left:10px;text-align:center;color:#8fc8e5;font-size:12px;font-weight:600;letter-spacing:.1px;line-height:1.2}

html[dir="ltr"] .weather-hero-title{right:10px;left:10px}

.weather-metric-grid{gap:8px;margin:12px 0}

.weather-metric-grid>div{
  min-height:72px;
  height:72px;
  padding:9px 12px;
  display:grid;
  grid-template-rows:auto auto;
  align-content:center;
  gap:5px;
  overflow:hidden;
}

.weather-metric-grid>div>b{
  display:block;
  margin:0!important;
  font-size:16px;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.weather-uv-label{font-weight:600;}

.weather-risk-banner{
  margin:10px 0 12px;
  padding:10px 13px;
  border:1px solid #a7d8ee;
  background:#eaf7fd;
  color:#0d4f70;
  border-radius:11px;
  font-weight:600;
  line-height:1.45;
}

.weather-risk-banner b{color:#073f5b}

@media (max-width:700px){
.weather-metric-grid>div>b{font-size:15px}
}

.dash152-kpis{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:14px}

.dash152-mainrow{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);margin-bottom:14px}

.dash152-map{height:500px}

.dash152-rank{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:var(--surface-2,#eef4f7);font-size:11px;color:var(--muted)}

.dash152-bottom{grid-template-columns:minmax(0,1.4fr) minmax(360px,.75fr);margin-bottom:18px}

body[data-theme="dark"] .dash152-rank{background:#123b4e}

@media (max-width:1100px){
.dash152-charts,.dash152-mainrow,.dash152-bottom{grid-template-columns:1fr}
}

@media (max-width:1100px){
.dash152-map{height:430px}
}

.dash155-kpis{margin-top:0}

.dash157-events-panel{margin-bottom:14px}

.dash157-events-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 14px 14px}

.dash157-event-rank{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--surface-2,#eef4f7);font-weight:800;font-size:11px;color:var(--muted,#6f8998)}

.dash157-event-body{display:flex;flex-direction:column;gap:3px;min-width:0}

.dash157-event-body b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.dash157-event-body small{color:var(--muted,#78909d);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.dash157-event-body em{font-style:normal;color:var(--text,#d9edf7);font-size:11px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.dash159-detail-head{display:flex;align-items:flex-start;gap:12px}

.dash159-detail-head h3{margin:0 0 4px}

.dash159-detail-head small{color:var(--muted,#78909d)}

.dash159-critical-reason{padding:14px 16px;border-radius:12px;background:rgba(212,71,85,.08);border:1px solid rgba(212,71,85,.25)}

.dash159-critical-reason b{display:block;margin-bottom:6px}

.dash159-critical-reason p{margin:0;line-height:1.8}

.dash159-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}

.dash159-detail-grid>div{padding:12px;border:1px solid var(--border,#d8e4ea);border-radius:11px;background:var(--surface-2,#eef4f7);display:flex;flex-direction:column;gap:5px}

.dash159-detail-grid small{color:var(--muted,#78909d)}

.dash159-detail-grid b{line-height:1.6}

body[data-theme="dark"] .dash159-detail-grid>div{background:#0d3144;border-color:#244b60}

body[data-theme="dark"] .dash159-critical-reason{background:rgba(212,71,85,.12)}

@media (max-width:700px){
.dash159-detail-grid{grid-template-columns:1fr}
}

body[data-theme="dark"] .dash157-event-rank{background:#123b4e;color:#b9ceda}

@media (max-width:1100px){
.dash157-events-grid{grid-template-columns:1fr}
}

@media (max-width:700px){
.dash157-hydro-grid,.dash157-events-grid{padding-inline:8px}
}

.dash152-bottom-single{grid-template-columns:1fr!important}

.dash152-kpis{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-bottom:14px!important}

.dash200-performance-panel{margin-bottom:14px;overflow:hidden}

.dash200-performance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px}

.dash200-performance-card{
  --dash200-accent:#22c55e;
  position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:16px;
  min-width:0;min-height:126px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--dash200-accent) 28%,var(--border,#d8e4ea));
  border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--dash200-accent) 5%,var(--surface,#fff)),var(--surface,#fff));
  box-shadow:0 9px 26px rgba(15,23,42,.07),inset 0 1px 0 rgba(255,255,255,.35);overflow:hidden;isolation:isolate;
}
.dash200-performance-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--dash200-accent) 6%,rgba(255,255,255,.16)),transparent 34%);opacity:.9;pointer-events:none;z-index:0}
.dash200-performance-card::after{content:"";position:absolute;inset:auto -25% -70% 25%;height:120px;background:radial-gradient(circle,color-mix(in srgb,var(--dash200-accent) 14%,transparent),transparent 70%);pointer-events:none;z-index:0}
.dash200-performance-card.warn{--dash200-accent:#d99016}
.dash200-performance-card.danger{--dash200-accent:#d43b45}
.dash200-performance-card.neutral{--dash200-accent:#91a3af}

.dash200-ring{width:86px;height:86px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--dash200-accent) calc(var(--dash200-pct)*1%),rgba(100,116,139,.18) 0);filter:drop-shadow(0 8px 18px color-mix(in srgb,var(--dash200-accent) 24%,transparent));transition:background .45s ease;z-index:1}
.dash200-ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:var(--surface,#fff);box-shadow:inset 0 0 0 1px rgba(100,116,139,.10),0 0 0 1px rgba(255,255,255,.08)}
.dash200-ring-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.dash200-ring-inner b{font-size:22px;letter-spacing:-.5px;color:var(--text,#102f42);text-shadow:0 1px 0 rgba(255,255,255,.12)}
.dash200-ring-inner small{margin-top:7px;font-size:9px;font-weight:800;color:var(--muted,#667f8d);letter-spacing:.2px}

.dash200-performance-content{min-width:0;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}
.dash200-performance-head{display:flex;align-items:center;gap:10px;min-width:0;margin:0}
.dash200-performance-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--dash200-accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--dash200-accent) 24%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 6px 14px color-mix(in srgb,var(--dash200-accent) 10%,transparent)}
.dash200-performance-head small{min-width:0;font-size:14px;font-weight:900;color:var(--text,#102f42);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.1px}

.dash200-segments{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;height:12px}
.dash200-segments i{display:block;border-radius:999px;background:rgba(100,116,139,.16);box-shadow:inset 0 1px 1px rgba(15,23,42,.07)}
.dash200-segments i.is-on{background:linear-gradient(90deg,color-mix(in srgb,var(--dash200-accent) 78%,white),var(--dash200-accent));box-shadow:0 0 12px color-mix(in srgb,var(--dash200-accent) 26%,transparent),0 2px 8px color-mix(in srgb,var(--dash200-accent) 16%,transparent)}
.dash200-performance-sub{display:block;color:var(--muted,#667f8d);font-size:12px;font-weight:800;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body[data-theme="dark"] .dash200-performance-card,body.theme-dark .dash200-performance-card{
  background:linear-gradient(160deg,rgba(7,38,54,.98),rgba(5,28,42,.96));
  border-color:color-mix(in srgb,var(--dash200-accent) 42%,#2f6278);
  box-shadow:0 16px 34px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.025),inset 0 1px 0 rgba(255,255,255,.07),inset 0 -18px 40px rgba(2,13,20,.16);
}
body[data-theme="dark"] .dash200-performance-card::before,body.theme-dark .dash200-performance-card::before{background:linear-gradient(180deg,color-mix(in srgb,var(--dash200-accent) 14%,rgba(255,255,255,.14)),transparent 36%)}
body[data-theme="dark"] .dash200-performance-card::after,body.theme-dark .dash200-performance-card::after{background:radial-gradient(circle,color-mix(in srgb,var(--dash200-accent) 18%,transparent),transparent 72%);opacity:1}
body[data-theme="dark"] .dash200-ring,body.theme-dark .dash200-ring{background:conic-gradient(color-mix(in srgb,var(--dash200-accent) 88%,#5cf4ff) calc(var(--dash200-pct)*1%),rgba(77,111,134,.34) 0);filter:drop-shadow(0 10px 22px color-mix(in srgb,var(--dash200-accent) 34%,transparent))}
body[data-theme="dark"] .dash200-ring::before,body.theme-dark .dash200-ring::before{background:#0a2231;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06),0 0 0 1px rgba(255,255,255,.03)}
body[data-theme="dark"] .dash200-ring-inner b,body.theme-dark .dash200-ring-inner b,body[data-theme="dark"] .dash200-performance-head small,body.theme-dark .dash200-performance-head small{color:#f6fcff}
body[data-theme="dark"] .dash200-ring-inner small,body.theme-dark .dash200-ring-inner small{color:#b7d0dc}
body[data-theme="dark"] .dash200-performance-sub,body.theme-dark .dash200-performance-sub{color:#d7e9f1;text-shadow:0 1px 0 rgba(0,0,0,.18)}
body[data-theme="dark"] .dash200-performance-icon,body.theme-dark .dash200-performance-icon{background:linear-gradient(180deg,color-mix(in srgb,var(--dash200-accent) 22%,rgba(255,255,255,.08)),rgba(6,36,52,.9));border-color:color-mix(in srgb,var(--dash200-accent) 38%,#315f73);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 8px 18px color-mix(in srgb,var(--dash200-accent) 18%,transparent)}
body[data-theme="dark"] .dash200-segments i,body.theme-dark .dash200-segments i{background:linear-gradient(180deg,#274f65,#17384c);box-shadow:inset 0 1px 0 rgba(255,255,255,.05),inset 0 -1px 0 rgba(0,0,0,.24)}
body[data-theme="dark"] .dash200-segments i.is-on,body.theme-dark .dash200-segments i.is-on{box-shadow:0 0 16px color-mix(in srgb,var(--dash200-accent) 38%,transparent),0 3px 10px color-mix(in srgb,var(--dash200-accent) 24%,transparent)}

@media (max-width:1500px){
.dash152-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

@media (max-width:1500px){
.dash200-performance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:900px){
.dash152-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (max-width:900px){
.dash200-performance-grid{grid-template-columns:1fr}
}

@media (max-width:560px){
.dash152-kpis{grid-template-columns:1fr!important}
}

/* V233 — Command & Control dashboard aligned with current main menu modules only */
.dash233-shell{display:flex;flex-direction:column;gap:14px}
.dash233-kpis{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:10px}
.dash233-kpis .dash-kpi-modern{min-width:0;min-height:116px;padding:12px 10px;border-radius:16px}
.dash233-kpis .dash-kpi-title{font-size:11px}
.dash233-kpis .dash-kpi-value{font-size:28px}
.dash233-kpis .dash-kpi-sub{font-size:9px;white-space:normal}
.dash233-kpis .dash-kpi-icon{width:38px;height:38px;flex:0 0 38px}

.dash233-row{display:grid;gap:14px}
.dash233-row-main{grid-template-columns:1.02fr 1.55fr 1.25fr 1.08fr}
.dash233-row-secondary{grid-template-columns:.78fr .95fr 1.15fr 1.05fr}
.dash233-row>.panel{min-width:0;overflow:hidden}
.dash233-row .panel-head{min-height:58px;padding:11px 13px 9px;direction:rtl;text-align:right}
.dash233-row .panel-head h3{margin:0 0 3px;font-size:15px}
.dash233-row .panel-head small{color:var(--muted,#86a5b6);font-size:10px}

.dash233-risk-panel{display:flex;flex-direction:column}
.dash233-gauge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px 10px 6px}
.dash233-gauge .arc{--accent:#ffb43b;width:190px;height:98px;position:relative;overflow:hidden;display:grid;place-items:end center}
.dash233-gauge .arc:before{content:"";position:absolute;left:0;top:0;width:190px;height:190px;border-radius:50%;background:conic-gradient(from 270deg,#20d5a1 0 25%,#21c4f3 25% 50%,#ffb43b 50% 75%,#ff5d73 75% 100%);mask:radial-gradient(circle at center,transparent 0 53%,#000 54% 69%,transparent 70%);-webkit-mask:radial-gradient(circle at center,transparent 0 53%,#000 54% 69%,transparent 70%);filter:drop-shadow(0 5px 12px rgba(0,0,0,.18))}
.dash233-gauge .arc:after{content:"";position:absolute;left:0;top:0;width:190px;height:190px;border-radius:50%;background:conic-gradient(from 270deg,transparent calc(var(--p)*.75%),rgba(8,34,50,.78) 0 75%,transparent 75%);mask:radial-gradient(circle at center,transparent 0 53%,#000 54% 69%,transparent 70%);-webkit-mask:radial-gradient(circle at center,transparent 0 53%,#000 54% 69%,transparent 70%)}
.dash233-gauge .arc>div{position:relative;z-index:2;display:flex;align-items:baseline;gap:4px;margin-bottom:7px;color:var(--text,#eaf8ff)}
.dash233-gauge .arc b{font-size:38px;line-height:1}.dash233-gauge .arc span{font-size:14px;color:var(--muted)}
.dash233-gauge>strong{padding:6px 18px;border-radius:999px;font-size:12px}.dash233-gauge>strong.good{background:rgba(32,213,161,.15);color:#31e3b2}.dash233-gauge>strong.info{background:rgba(33,196,243,.14);color:#40d4f7}.dash233-gauge>strong.warn{background:rgba(255,180,59,.15);color:#ffc05d}.dash233-gauge>strong.danger{background:rgba(255,93,115,.16);color:#ff7588}
.dash233-risk-factors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px 12px 13px}
.dash233-risk-factors span{display:flex;justify-content:space-between;gap:8px;padding:8px 9px;border-radius:9px;background:rgba(21,63,83,.35);font-size:9px;color:#9ebdcb}.dash233-risk-factors b{color:#eefaff}

.dash233-legend{display:flex;justify-content:flex-end;gap:16px;direction:rtl;padding:6px 12px 0;font-size:9px;color:#9ab7c6}.dash233-legend span{display:flex;align-items:center;gap:5px}.dash233-legend i{width:18px;height:3px;border-radius:5px}.dash233-legend i.official{background:#21c4f3}.dash233-legend i.social{background:#9b5de5}
.dash233-line-svg{display:block;width:100%;height:245px;padding:0 4px}.dash233-line-svg text{fill:#83a7b8;font-size:9px;font-family:inherit}.dash233-line-svg .d233-grid{stroke:rgba(116,166,190,.16);stroke-dasharray:3 5}.dash233-line-svg path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dash233-line-svg .official-line{stroke:#21c4f3;filter:drop-shadow(0 0 5px rgba(33,196,243,.25))}.dash233-line-svg .social-line{stroke:#9b5de5;stroke-dasharray:7 5}.dash233-line-svg circle{stroke:#07283a;stroke-width:2}.dash233-line-svg .official-dot{fill:#21c4f3}.dash233-line-svg .social-dot{fill:#9b5de5}

.dash233-stack-list{display:flex;flex-direction:column;gap:14px;padding:20px 14px 18px}
.dash233-stack-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center;direction:rtl}.dash233-stack-row>b{font-size:10px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash233-stack{height:22px;display:flex;overflow:hidden;border-radius:8px;background:#11364c;direction:ltr}.dash233-stack i{min-width:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:8px;font-weight:900;color:#092333;transition:width .35s ease}.dash233-stack i span{opacity:.95}.dash233-stack .good{background:#20d5a1}.dash233-stack .warn{background:#ffb43b}.dash233-stack .danger{background:#ff5d73}.dash233-stack .off{background:#94a3b8}

.dash233-top-table{padding:8px 10px 12px;display:flex;flex-direction:column;gap:4px}.dash233-top-table .head,.dash233-top-table button{display:grid;grid-template-columns:24px minmax(0,1fr) 78px 52px;gap:6px;align-items:center;text-align:right;direction:rtl}.dash233-top-table .head{padding:5px 7px;color:#7598a9;font-size:8px}.dash233-top-table button{border:0;background:rgba(15,53,72,.42);color:var(--text,#eaf8ff);padding:6px 7px;border-radius:8px;cursor:pointer;font:inherit;transition:.15s}.dash233-top-table button:hover{background:rgba(25,86,112,.55);transform:translateX(-2px)}.dash233-top-table button span{font-size:9px;color:#6fa3b7}.dash233-top-table button strong{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash233-top-table button em{font-style:normal;font-size:8px;color:#84a6b6}.dash233-top-table button i{font-style:normal;font-size:8px;font-weight:900;padding:4px 5px;border-radius:999px;text-align:center}.dash233-top-table button i.good{background:rgba(32,213,161,.13);color:#32dfb1}.dash233-top-table button i.warn{background:rgba(255,180,59,.14);color:#ffc25e}.dash233-top-table button i.danger{background:rgba(255,93,115,.14);color:#ff7487}

.dash233-sla-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:26px 14px 18px}.dash233-sla{--c:#21c4f3;display:flex;flex-direction:column;align-items:center;gap:7px}.dash233-sla.good{--c:#20d5a1}.dash233-sla.danger{--c:#ff6b54}.dash233-sla .ring{width:82px;height:82px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--c) calc(var(--p)*1%),rgba(68,104,123,.3) 0);position:relative}.dash233-sla .ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#0a283a}.dash233-sla .ring b{position:relative;z-index:1;color:#f6fcff;font-size:19px}.dash233-sla strong{font-size:10px}.dash233-sla span{font-size:9px;color:#7fa1b1}

.dash233-heat{padding:12px 14px 15px;display:flex;flex-direction:column;gap:4px}.dash233-heat .head,.dash233-heat .row{display:grid;grid-template-columns:54px repeat(8,minmax(0,1fr));gap:3px;align-items:center}.dash233-heat b{font-size:8px;color:#8eafbd;text-align:center}.dash233-heat .row>b{text-align:right;padding-inline-end:5px}.dash233-heat i{height:24px;border-radius:4px;background:linear-gradient(135deg,#21c4f3,#ffb43b 62%,#ff5d73);opacity:var(--o);border:1px solid rgba(255,255,255,.04)}

.dash233-risk-matrix{position:relative;height:225px;margin:12px 18px 16px 32px}.dash233-risk-matrix .zones{position:absolute;inset:0 0 22px 22px;border-left:1px solid rgba(137,180,199,.4);border-bottom:1px solid rgba(137,180,199,.4);background:linear-gradient(90deg,rgba(32,213,161,.06) 0 50%,rgba(255,180,59,.06) 50%),linear-gradient(0deg,rgba(32,213,161,.04) 0 50%,rgba(255,93,115,.07) 50%);background-size:100% 100%}.dash233-risk-matrix .zones:before,.dash233-risk-matrix .zones:after{content:"";position:absolute;background:rgba(134,176,195,.18)}.dash233-risk-matrix .zones:before{left:50%;top:0;bottom:0;width:1px}.dash233-risk-matrix .zones:after{left:0;right:0;top:50%;height:1px}.dash233-risk-dot{position:absolute;width:14px;height:14px;border:2px solid rgba(255,255,255,.65);border-radius:50%;transform:translate(-50%,50%);cursor:pointer;box-shadow:0 0 8px currentColor}.dash233-risk-dot.good{background:#20d5a1;color:#20d5a1}.dash233-risk-dot.warn{background:#ffb43b;color:#ffb43b}.dash233-risk-dot.danger{background:#ff5d73;color:#ff5d73}.dash233-risk-matrix .xlabel{position:absolute;bottom:0;left:50%;transform:translateX(-50%);font-size:8px;color:#8daab9}.dash233-risk-matrix .ylabel{position:absolute;left:-18px;top:45%;transform:rotate(-90deg);font-size:8px;color:#8daab9}

.dash233-map-panel{overflow:hidden}.dash233-map{height:520px;border-radius:0 0 16px 16px}

body[data-theme="light"] .dash233-sla .ring:before{background:#fff}
body[data-theme="light"] .dash233-top-table button{background:#f5fafc;color:#183b4e}
body[data-theme="light"] .dash233-risk-factors span{background:#f4fafc;color:#577484}
body[data-theme="light"] .dash233-risk-factors b{color:#193e51}
body[data-theme="light"] .dash233-stack{background:#e5f0f4}
body[data-theme="light"] .dash233-line-svg circle{stroke:#fff}

@media(max-width:1600px){.dash233-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.dash233-row-main{grid-template-columns:repeat(2,minmax(0,1fr))}.dash233-row-secondary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:950px){.dash233-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash233-row-main,.dash233-row-secondary{grid-template-columns:1fr}.dash233-map{height:430px}}
@media(max-width:560px){.dash233-kpis{grid-template-columns:1fr}.dash233-stack-row{grid-template-columns:88px minmax(0,1fr)}.dash233-sla-grid{grid-template-columns:1fr}.dash233-heat .head,.dash233-heat .row{grid-template-columns:48px repeat(8,30px);min-width:310px}.dash233-heat{overflow-x:auto}}


/* V234 — remove empty spaces in main dashboard cards and stretch visuals to full card height */
@media (min-width:951px){
  .dash233-row-main>.panel{
    display:flex !important;
    flex-direction:column !important;
    min-height:408px !important;
  }
  .dash233-row-main>.panel .panel-head{
    flex:0 0 auto !important;
  }

  /* Trend panel fills full card */
  .dash233-trend-panel .dash233-legend{
    padding:6px 14px 0 !important;
    margin:0 !important;
  }
  .dash233-trend-panel .dash233-line-svg{
    flex:1 1 auto !important;
    height:310px !important;
    min-height:310px !important;
    padding:0 6px 12px !important;
  }

  /* Asset status panel fills full card */
  .dash233-status-panel .dash233-stack-list{
    flex:1 1 auto !important;
    height:auto !important;
    justify-content:space-evenly !important;
    gap:12px !important;
    padding:16px 16px 18px !important;
  }
  .dash233-status-panel .dash233-stack-row{
    grid-template-columns:132px minmax(0,1fr) !important;
    min-height:52px !important;
    gap:12px !important;
    align-items:center !important;
  }
  .dash233-status-panel .dash233-stack-row>b{
    font-size:11px !important;
  }
  .dash233-status-panel .dash233-stack{
    height:27px !important;
    border-radius:10px !important;
  }
  .dash233-status-panel .dash233-stack i{
    font-size:9px !important;
  }

  /* Risk panel fills full card */
  .dash233-risk-panel .dash233-gauge{
    flex:1 1 auto !important;
    justify-content:space-evenly !important;
    padding:16px 10px 10px !important;
  }
  .dash233-risk-panel .dash233-gauge .arc{
    width:220px !important;
    height:118px !important;
  }
  .dash233-risk-panel .dash233-gauge .arc:before,
  .dash233-risk-panel .dash233-gauge .arc:after{
    width:220px !important;
    height:220px !important;
  }
  .dash233-risk-panel .dash233-gauge .arc b{
    font-size:42px !important;
  }
  .dash233-risk-panel .dash233-risk-factors{
    margin-top:auto !important;
    padding:10px 12px 14px !important;
  }
}


/* V235 — clearer risk matrix */
.dash233-risk-wrap{display:flex;flex-direction:column;gap:10px;padding:10px 12px 14px}
.dash233-risk-note{font-size:9px;line-height:1.7;color:#9bb7c6;background:rgba(18,61,81,.32);border:1px solid rgba(79,147,178,.18);border-radius:10px;padding:8px 10px;text-align:right}
.dash233-risk-note b{color:#eefaff}
.dash233-risk-legend{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:9px;color:#b6d0dc}
.dash233-risk-legend span{display:flex;align-items:center;gap:5px}
.dash233-risk-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.dash233-risk-legend .good i{background:#20d5a1;box-shadow:0 0 8px rgba(32,213,161,.4)}
.dash233-risk-legend .warn i{background:#ffb43b;box-shadow:0 0 8px rgba(255,180,59,.4)}
.dash233-risk-legend .danger i{background:#ff5d73;box-shadow:0 0 8px rgba(255,93,115,.4)}
.dash233-risk-matrix{position:relative;height:245px;margin:0 4px 0 22px}
.dash233-risk-matrix .zones{position:absolute;inset:0 0 26px 28px;border-left:1px solid rgba(137,180,199,.45);border-bottom:1px solid rgba(137,180,199,.45);background:
  linear-gradient(90deg,rgba(32,213,161,.09) 0 50%,rgba(255,180,59,.09) 50% 100%),
  linear-gradient(0deg,rgba(32,213,161,.05) 0 50%,rgba(255,93,115,.08) 50% 100%);
  overflow:hidden;border-radius:10px 10px 0 0}
.dash233-risk-matrix .zones:before,.dash233-risk-matrix .zones:after{content:"";position:absolute;background:rgba(154,193,210,.22)}
.dash233-risk-matrix .zones:before{left:50%;top:0;bottom:0;width:1px}
.dash233-risk-matrix .zones:after{top:50%;left:0;right:0;height:1px}
.dash233-risk-matrix .zones .quad{position:absolute;font-size:9px;font-weight:800;color:#dff3fb;background:rgba(7,34,50,.45);padding:3px 7px;border-radius:999px;border:1px solid rgba(122,174,196,.12);pointer-events:none}
.dash233-risk-matrix .zones .q1{left:8px;bottom:8px}
.dash233-risk-matrix .zones .q2{right:8px;bottom:8px}
.dash233-risk-matrix .zones .q3{left:8px;top:8px}
.dash233-risk-matrix .zones .q4{right:8px;top:8px}
.dash233-risk-dot{position:absolute;width:24px;height:24px;border:2px solid rgba(255,255,255,.8);border-radius:50%;transform:translate(-50%,50%);cursor:pointer;box-shadow:0 0 10px currentColor;display:grid;place-items:center;font-weight:900;font-size:10px;color:#062536;z-index:2}
.dash233-risk-dot span{line-height:1}
.dash233-risk-dot.good{background:#20d5a1;color:#062536}
.dash233-risk-dot.warn{background:#ffb43b;color:#062536}
.dash233-risk-dot.danger{background:#ff5d73;color:#fff}
.dash233-risk-matrix .xlabel,.dash233-risk-matrix .ylabel{position:absolute;font-size:9px;color:#8daab9;font-weight:700}
.dash233-risk-matrix .xlabel{bottom:0;left:52%;transform:translateX(-50%)}
.dash233-risk-matrix .ylabel{left:-8px;top:45%;transform:rotate(-90deg)}
.dash233-risk-matrix .xticks{position:absolute;left:28px;right:0;bottom:18px;display:flex;justify-content:space-between;padding:0 6px;font-size:8px;color:#9cb9c7}
.dash233-risk-matrix .yticks{position:absolute;left:0;top:0;bottom:26px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;font-size:8px;color:#9cb9c7}
.dash233-risk-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.dash233-risk-item{border:0;background:rgba(15,53,72,.42);color:var(--text,#eaf8ff);padding:8px 9px;border-radius:10px;cursor:pointer;font:inherit;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;text-align:right;transition:.15s}
.dash233-risk-item:hover{background:rgba(25,86,112,.55);transform:translateY(-1px)}
.dash233-risk-item .idx{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:10px}
.dash233-risk-item.good .idx{background:rgba(32,213,161,.14);color:#32dfb1}
.dash233-risk-item.warn .idx{background:rgba(255,180,59,.14);color:#ffc25e}
.dash233-risk-item.danger .idx{background:rgba(255,93,115,.14);color:#ff7487}
.dash233-risk-item strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash233-risk-item small{display:block;font-size:8px;color:#8fb0bf;margin-top:2px}
body[data-theme="light"] .dash233-risk-note{background:#f4fafc;color:#567281}
body[data-theme="light"] .dash233-risk-matrix .zones .quad{background:rgba(255,255,255,.8);color:#183b4e}
body[data-theme="light"] .dash233-risk-item{background:#f5fafc;color:#183b4e}
@media(max-width:1400px){.dash233-risk-summary{grid-template-columns:1fr}}


/* V236 — remove duplicate trend chart and rebalance secondary dashboard row */
@media (min-width:951px){
  .dash233-row-secondary>.panel{display:flex;flex-direction:column;min-height:320px}
  .dash233-row-secondary>.panel .panel-head{flex:0 0 auto}
}


/* V237 — fix truncated KPI/card titles across dashboard cards */
.dash233-kpis .dash-kpi-modern{min-height:128px}
.dash233-kpis .dash-kpi-copy{align-items:stretch}
.dash233-kpis .dash-kpi-title{
  font-size:11px;
  line-height:1.35;
  min-height:30px;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  display:block !important;
  word-break:break-word;
}
.dash233-kpis .dash-kpi-sub{
  font-size:9px;
  line-height:1.45;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.dash233-kpis .dash-kpi-value{margin-top:8px}

/* General modern KPI cards across the platform */
.dash-kpi-modern .dash-kpi-title{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  display:block;
  line-height:1.35;
}
.dash-kpi-modern .dash-kpi-sub{
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  line-height:1.45;
}


/* V241 — manhole sensor status on executive dashboard */
.dash241-sensor-panel{display:flex;flex-direction:column}
.dash241-sensor-areas{display:flex;flex-direction:column;gap:9px;padding:12px 14px 8px;flex:1}
.dash241-sensor-row{border:0;background:rgba(13,50,69,.36);border:1px solid rgba(87,153,182,.10);border-radius:11px;padding:9px 10px;display:grid;grid-template-columns:minmax(92px,122px) minmax(0,1fr) auto;gap:10px;align-items:center;color:var(--text,#eaf8ff);font:inherit;cursor:pointer;direction:rtl;text-align:right;transition:.15s}
.dash241-sensor-row:hover{background:rgba(25,86,112,.48);transform:translateX(-2px)}
.dash241-sensor-label strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash241-sensor-label small{display:block;margin-top:3px;font-size:8px;color:#86a8b8}
.dash241-sensor-stack{height:16px;display:flex;border-radius:999px;overflow:hidden;background:#12384d;direction:ltr;min-width:100px}
.dash241-sensor-stack i{height:100%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:8px;font-weight:900;color:#082536;min-width:0}
.dash241-sensor-stack i.online{background:#20d5a1}.dash241-sensor-stack i.warn{background:#ffb43b}.dash241-sensor-stack i.offline{background:#ff5d73;color:#fff}
.dash241-sensor-counts{display:flex;gap:6px;direction:rtl}
.dash241-sensor-counts span,.dash241-sensor-legend span{display:flex;align-items:center;gap:4px;font-size:8px;color:#9db9c7;white-space:nowrap}
.dash241-sensor-counts i,.dash241-sensor-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}
.dash241-sensor-counts .online i,.dash241-sensor-legend .online i{background:#20d5a1}.dash241-sensor-counts .warn i,.dash241-sensor-legend .warn i{background:#ffb43b}.dash241-sensor-counts .offline i,.dash241-sensor-legend .offline i{background:#ff5d73}
.dash241-sensor-legend{display:flex;justify-content:center;gap:14px;padding:0 14px 12px;direction:rtl}
.dash241-sensor-empty{min-height:220px;display:grid;place-items:center;color:#8baaba;font-size:11px;padding:20px;text-align:center}
body[data-theme="light"] .dash241-sensor-row{background:#f5fafc;color:#183b4e;border-color:#deebf1}
body[data-theme="light"] .dash241-sensor-stack{background:#e4eef2}
@media(max-width:1750px){.dash233-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:1150px){.dash241-sensor-row{grid-template-columns:110px minmax(0,1fr)}.dash241-sensor-counts{grid-column:1/-1;justify-content:flex-start}}


/* V242 — remove SLA/heatmap/risk-matrix row, keep manhole sensor status full width */
.dash241-sensor-row{grid-template-columns:1fr !important}
.dash241-sensor-row>.dash241-sensor-panel{width:100%;min-height:auto!important}


/* V245 — pumps and feedback on executive dashboard */
.dash245-ops-row{display:grid;grid-template-columns:1fr 1.35fr;gap:14px;align-items:stretch}
.dash245-ops-row>.panel{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.dash245-pump-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;padding:12px 14px 4px}
.dash245-pump-stat{border:1px solid rgba(90,154,180,.12);background:rgba(13,50,69,.36);border-radius:10px;padding:8px 7px;text-align:center;min-width:0}
.dash245-pump-stat small{display:block;font-size:8px;color:#91afbd;white-space:normal;line-height:1.35;min-height:22px}
.dash245-pump-stat b{display:block;margin-top:4px;font-size:17px;color:#eaf9ff}
.dash245-pump-stat.running b,.dash245-pump-stat.ready b,.dash245-pump-stat.feedback b{color:#20d5a1}
.dash245-pump-stat.stopped b{color:#b8c8d1}.dash245-pump-stat.fault b{color:#ff5d73}.dash245-pump-stat.offline b{color:#ffb43b}
.dash245-pump-areas{display:flex;flex-direction:column;gap:8px;padding:10px 14px 8px;flex:1}
.dash245-pump-row{border:1px solid rgba(87,153,182,.10);background:rgba(13,50,69,.36);border-radius:11px;padding:9px 10px;display:grid;grid-template-columns:minmax(130px,180px) minmax(0,1fr) auto;gap:10px;align-items:center;color:var(--text,#eaf8ff);font:inherit;cursor:pointer;direction:rtl;text-align:right;transition:.15s}
.dash245-pump-row:hover{background:rgba(25,86,112,.48);transform:translateX(-2px)}
.dash245-pump-label strong{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash245-pump-label small{display:block;margin-top:3px;font-size:8px;color:#86a8b8}
.dash245-pump-stack{height:17px;display:flex;border-radius:999px;overflow:hidden;background:#12384d;direction:ltr;min-width:120px}
.dash245-pump-stack i{height:100%;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:8px;font-weight:900;min-width:0;color:#082536}
.dash245-pump-stack i.running{background:#20d5a1}.dash245-pump-stack i.stopped{background:#94a3b8}.dash245-pump-stack i.fault{background:#ff5d73;color:#fff}.dash245-pump-stack i.offline{background:#ffb43b}
.dash245-pump-counts{display:flex;gap:6px;direction:rtl}.dash245-pump-counts span,.dash245-pump-legend span{display:flex;align-items:center;gap:4px;font-size:8px;color:#9db9c7;white-space:nowrap}.dash245-pump-counts i,.dash245-pump-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}
.dash245-pump-counts .running i,.dash245-pump-legend .running i{background:#20d5a1}.dash245-pump-counts .stopped i,.dash245-pump-legend .stopped i{background:#94a3b8}.dash245-pump-counts .fault i,.dash245-pump-legend .fault i{background:#ff5d73}.dash245-pump-counts .offline i,.dash245-pump-legend .offline i{background:#ffb43b}
.dash245-pump-legend{display:flex;justify-content:center;gap:14px;padding:0 14px 12px;direction:rtl}.dash245-pump-empty{min-height:180px;display:grid;place-items:center;color:#8baaba;font-size:11px;padding:20px;text-align:center}
body[data-theme="light"] .dash245-pump-stat,body[data-theme="light"] .dash245-pump-row{background:#f5fafc;color:#183b4e;border-color:#deebf1}body[data-theme="light"] .dash245-pump-stack{background:#e4eef2}body[data-theme="light"] .dash245-pump-stat b{color:#183b4e}
@media(max-width:1450px){.dash245-ops-row{grid-template-columns:1fr}.dash245-pump-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.dash245-pump-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.dash245-pump-row{grid-template-columns:1fr}.dash245-pump-counts{justify-content:flex-start;flex-wrap:wrap}}


/* V247 — executive KPI cards in one clean horizontal row */
.dash233-kpis{
  grid-template-columns:repeat(10,minmax(0,1fr)) !important;
  gap:9px !important;
  align-items:stretch !important;
  margin-bottom:2px;
}
.dash233-kpis .dash-kpi-modern{
  min-width:0 !important;
  min-height:150px !important;
  padding:11px 9px 10px !important;
  border-radius:16px !important;
  grid-template-columns:42px minmax(0,1fr) !important;
  column-gap:8px !important;
}
.dash233-kpis .dash-kpi-icon{
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
  border-radius:13px !important;
}
.dash233-kpis .dash-kpi-icon svg{width:24px!important;height:24px!important}
.dash233-kpis .dash-kpi-copy{min-width:0!important;align-items:stretch!important}
.dash233-kpis .dash-kpi-title{
  font-size:10px !important;
  line-height:1.35 !important;
  min-height:28px !important;
  margin:0 !important;
  text-align:right !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.dash233-kpis .dash-kpi-value{
  font-size:27px !important;
  line-height:1.05 !important;
  margin-top:6px !important;
  white-space:normal !important;
}
.dash233-kpis .dash-kpi-sub{
  font-size:8.5px !important;
  line-height:1.45 !important;
  margin-top:6px !important;
  min-height:26px !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
}
.dash233-kpis .dash-kpi-footer{
  grid-column:1/3 !important;
  margin-top:10px !important;
  gap:7px !important;
}
.dash233-kpis .dash-kpi-meter{grid-template-columns:minmax(38px,1fr) auto !important;gap:6px !important}
.dash233-kpis .dash-kpi-meter-track{height:10px !important}
.dash233-kpis .dash-kpi-meter-value{min-width:30px!important;font-size:10px!important}
.dash233-kpis .dash-kpi-status{display:none!important}

/* Keep one row on normal desktop widths; only wrap when space genuinely becomes too small */
@media (max-width:1450px){
  .dash233-kpis{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
}
@media (max-width:900px){
  .dash233-kpis{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:560px){
  .dash233-kpis{grid-template-columns:1fr !important}
}


/* V248 — interactive hover states and tooltips for all executive dashboard charts */
.dash233-trend-wrap{position:relative}
.dash233-chart-tooltip{position:absolute;z-index:20;min-width:145px;padding:9px 11px;border-radius:10px;background:rgba(5,28,43,.96);border:1px solid rgba(82,169,203,.38);box-shadow:0 10px 28px rgba(0,0,0,.28);color:#eefaff;pointer-events:none;direction:rtl;text-align:right}
.dash233-chart-tooltip b{display:block;font-size:11px;margin-bottom:4px}.dash233-chart-tooltip span{display:block;font-size:10px;color:#a9c5d2}.dash233-chart-tooltip strong{color:#fff}
.dash233-hover-dot{cursor:pointer;transition:r .12s ease,filter .12s ease}.dash233-hover-dot:hover{filter:drop-shadow(0 0 8px currentColor)}
.dash233-stack i{position:relative;cursor:pointer;transition:filter .16s ease,transform .16s ease,opacity .16s ease}.dash233-stack i:hover{filter:brightness(1.16);transform:scaleY(1.16);z-index:2}
.dash233-gauge{cursor:help;transition:transform .16s ease,filter .16s ease}.dash233-gauge:hover{transform:translateY(-2px);filter:brightness(1.08)}
.dash241-sensor-stack i,.dash245-pump-stack i{transition:filter .16s ease,transform .16s ease;cursor:pointer}.dash241-sensor-stack i:hover,.dash245-pump-stack i:hover{filter:brightness(1.18);transform:scaleY(1.18);z-index:2}
.dash-hover-tip{position:relative}
.dash-hover-tip::after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);z-index:40;min-width:max-content;max-width:260px;padding:7px 10px;border-radius:9px;background:rgba(5,28,43,.97);border:1px solid rgba(82,169,203,.38);box-shadow:0 10px 24px rgba(0,0,0,.26);color:#eefaff;font-size:9px;line-height:1.5;white-space:normal;text-align:center;direction:rtl;opacity:0;visibility:hidden;pointer-events:none;transition:.14s}
.dash-hover-tip:hover::after{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.dash233-top-table button:hover{box-shadow:0 0 0 1px rgba(33,196,243,.25),0 8px 18px rgba(0,0,0,.16)}
body[data-theme="light"] .dash233-chart-tooltip,body[data-theme="light"] .dash-hover-tip::after{background:rgba(255,255,255,.98);color:#17394b;border-color:#cfe1e9;box-shadow:0 10px 24px rgba(33,73,91,.15)}
body[data-theme="light"] .dash233-chart-tooltip span{color:#597887}body[data-theme="light"] .dash233-chart-tooltip strong{color:#17394b}


/* V249 — reliable global hover interactivity for all main dashboard charts */
.dash-global-tooltip{position:fixed;z-index:99999;min-width:170px;max-width:320px;padding:10px 12px;border-radius:10px;background:rgba(5,28,43,.98);border:1px solid rgba(82,169,203,.45);box-shadow:0 12px 30px rgba(0,0,0,.32);color:#eefaff;pointer-events:none;direction:rtl;text-align:right;font-size:10px;line-height:1.55;backdrop-filter:blur(8px)}
.dash-global-tooltip b{display:block;font-size:12px;margin-bottom:4px;color:#fff}.dash-global-tooltip span{display:block;color:#aac8d5}.dash-global-tooltip strong{color:#fff}
.dash233-line-svg{cursor:crosshair}
.dash249-hover-guide{stroke:rgba(230,248,255,.72);stroke-width:1.2;stroke-dasharray:4 4;pointer-events:none}
.dash233-stack-row,.dash241-sensor-row,.dash245-pump-row,.dash233-top-table button,.dash233-gauge{transition:transform .15s ease,filter .15s ease,background .15s ease}
.dash233-stack-row:hover{background:rgba(26,72,93,.18);border-radius:8px}
.dash241-sensor-row:hover,.dash245-pump-row:hover{filter:brightness(1.08)}
body[data-theme="light"] .dash-global-tooltip,body.theme-light .dash-global-tooltip,body.secura-light .dash-global-tooltip{background:rgba(255,255,255,.98);color:#17394b;border-color:#cfe1e9;box-shadow:0 10px 24px rgba(33,73,91,.18)}
body[data-theme="light"] .dash-global-tooltip b,body[data-theme="light"] .dash-global-tooltip strong{color:#17394b}
body[data-theme="light"] .dash-global-tooltip span{color:#597887}

/* V250 — Risk card morphs to X-style priority distribution on hover */
.dash-risk-morph-card{position:relative;overflow:hidden!important;perspective:1000px;min-height:408px}
.dash-risk-front,.dash-risk-back{position:absolute;inset:0;transition:opacity .28s ease,transform .42s cubic-bezier(.18,.86,.22,1);backface-visibility:hidden}
.dash-risk-front{opacity:1;transform:scale(1) rotateY(0deg);display:flex;flex-direction:column}
.dash-risk-back{opacity:0;transform:scale(.96) rotateY(-7deg);pointer-events:none;background:inherit}
.dash-risk-morph-card:hover .dash-risk-front,.dash-risk-morph-card:focus-within .dash-risk-front{opacity:0;transform:scale(.96) rotateY(7deg);pointer-events:none}
.dash-risk-morph-card:hover .dash-risk-back,.dash-risk-morph-card:focus-within .dash-risk-back{opacity:1;transform:scale(1) rotateY(0deg);pointer-events:auto}
.dash-risk-priority-card{height:100%;display:flex;flex-direction:column}
.dash-risk-priority-card>.panel-head{flex:0 0 auto}
.dash-risk-donut-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:8px 12px 14px}
.dash-risk-donut-stage{position:relative;width:190px;height:190px;flex:0 0 190px}
.dash-risk-donut,.dash-risk-hover-pie{position:absolute;inset:0;margin:auto;width:186px;height:186px;overflow:visible}
.dash-risk-donut{transform:rotate(-90deg);transition:opacity .28s ease,transform .4s ease}
.dash-risk-donut .base{fill:none;stroke:rgba(110,151,170,.2);stroke-width:24}
.dash-risk-donut .seg{fill:none;stroke-width:24;stroke-linecap:butt;shape-rendering:geometricPrecision}
.dash-risk-donut .seg.s0{stroke:#ff5d73}.dash-risk-donut .seg.s1{stroke:#ffb43b}.dash-risk-donut .seg.s2{stroke:#21c4f3}.dash-risk-donut .seg.s3{stroke:#20d5a1}
.dash-risk-hover-pie{opacity:0;transform:scale(.72) rotate(-8deg);transition:opacity .28s ease,transform .46s cubic-bezier(.18,.86,.22,1);pointer-events:none;filter:drop-shadow(0 10px 20px rgba(0,0,0,.2))}
.dash-risk-donut-stage:hover .dash-risk-donut{opacity:0;transform:rotate(-90deg) scale(.72)}
.dash-risk-donut-stage:hover .dash-risk-hover-pie{opacity:1;transform:scale(1) rotate(0deg);pointer-events:auto}
.dash-risk-pie-part{transform-box:fill-box;transform-origin:center;transition:transform .22s ease,opacity .2s ease}
.dash-risk-pie-slice{stroke:rgba(7,30,45,.65);stroke-width:1.2;cursor:pointer}
.dash-risk-pie-slice.s0{fill:#ff5d73}.dash-risk-pie-slice.s1{fill:#ffb43b}.dash-risk-pie-slice.s2{fill:#21c4f3}.dash-risk-pie-slice.s3{fill:#20d5a1}
.dash-risk-pie-part:hover{transform:translate(var(--dx),var(--dy)) scale(1.045);filter:drop-shadow(0 6px 9px rgba(0,0,0,.24))}
.dash-risk-hover-pie:hover .dash-risk-pie-part:not(:hover){opacity:.76}
.dash-risk-pie-part text{fill:#fff;font-size:12px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.dash-risk-donut-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;transition:opacity .2s ease}
.dash-risk-donut-core strong{font-size:34px;line-height:1;color:#f5fbff}.dash-risk-donut-core span{font-size:10px;color:#8fb1c0;margin-top:4px}
.dash-risk-donut-stage:hover .dash-risk-donut-core{opacity:0}
.dash-risk-legend{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:7px;width:100%;direction:rtl}
.dash-risk-legend span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:32px;padding:6px 8px;border-radius:10px;background:rgba(9,39,58,.42);border:1px solid rgba(127,185,209,.10);white-space:nowrap;transition:transform .18s ease,border-color .18s ease,background .18s ease}
.dash-risk-legend span:hover{transform:translateY(-2px);border-color:rgba(34,200,239,.26);background:rgba(12,52,73,.68)}
.dash-risk-legend i{width:7px;height:7px;border-radius:50%;flex:0 0 7px}.dash-risk-legend i.s0{background:#ff5d73}.dash-risk-legend i.s1{background:#ffb43b}.dash-risk-legend i.s2{background:#21c4f3}.dash-risk-legend i.s3{background:#20d5a1}
.dash-risk-legend em{font-style:normal;font-size:9px;color:#b6d0da;font-weight:800}.dash-risk-legend b{font-size:11px}.dash-risk-legend small{font-size:8px;color:#6f98aa}
body[data-theme="light"] .dash-risk-legend span{background:#f8fcfd;border-color:#e0edf2}
body[data-theme="light"] .dash-risk-legend em{color:#31576a}
body[data-theme="light"] .dash-risk-donut-core strong{color:#15384b}
@media (hover:none),(pointer:coarse){
  .dash-risk-morph-card:active .dash-risk-front{opacity:0;transform:scale(.96)}
  .dash-risk-morph-card:active .dash-risk-back{opacity:1;transform:scale(1);pointer-events:auto}
}
@media(max-width:1250px){.dash-risk-legend{flex-wrap:wrap}.dash-risk-donut-stage{width:172px;height:172px;flex-basis:172px}.dash-risk-donut,.dash-risk-hover-pie{width:168px;height:168px}}


/* V251 — place KPI icons at the top-left corner consistently */
.dash233-kpis .dash-kpi-modern{
  position:relative !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:auto 1fr auto !important;
  column-gap:0 !important;
}
.dash233-kpis .dash-kpi-icon{
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  grid-column:auto !important;
  grid-row:auto !important;
  align-self:auto !important;
  justify-self:auto !important;
  z-index:3 !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  margin:0 !important;
}
.dash233-kpis .dash-kpi-copy{
  grid-column:1 !important;
  grid-row:1/3 !important;
  width:100% !important;
  padding-left:46px !important;
  box-sizing:border-box !important;
}
.dash233-kpis .dash-kpi-title{
  padding-left:0 !important;
  min-height:30px !important;
}
.dash233-kpis .dash-kpi-footer{
  grid-column:1 !important;
  grid-row:3 !important;
  width:100% !important;
}


/* V252 — Risk hover: direct half-circle exploded wedges, no full donut intermediate */
.dash-risk-half-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:12px 12px 16px}
.dash-risk-half-stage{position:relative;width:210px;height:126px;flex:0 0 126px;display:flex;align-items:flex-end;justify-content:center}
.dash-risk-half-pie{width:210px;height:120px;overflow:visible;filter:drop-shadow(0 10px 20px rgba(0,0,0,.18))}
.dash-risk-half-part{transform-box:fill-box;transform-origin:center;transition:transform .22s ease,opacity .2s ease,filter .2s ease}
.dash-risk-half-slice{stroke:rgba(7,30,45,.7);stroke-width:1.2;cursor:pointer}
.dash-risk-half-slice.s0{fill:#ff5d73}.dash-risk-half-slice.s1{fill:#ffb43b}.dash-risk-half-slice.s2{fill:#21c4f3}.dash-risk-half-slice.s3{fill:#20d5a1}
.dash-risk-half-part:hover{transform:translate(var(--dx),var(--dy)) scale(1.045);filter:drop-shadow(0 6px 9px rgba(0,0,0,.24))}
.dash-risk-half-pie:hover .dash-risk-half-part:not(:hover){opacity:.78}
.dash-risk-half-part text{fill:#fff;font-size:11px;font-weight:900;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.dash-risk-half-core{position:absolute;left:50%;bottom:2px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
.dash-risk-half-core strong{font-size:28px;line-height:1;color:#f5fbff}.dash-risk-half-core span{font-size:9px;color:#8fb1c0;margin-top:3px}
body[data-theme="light"] .dash-risk-half-core strong{color:#15384b}
/* suppress the old circular transition objects if any cached markup remains */
.dash-risk-priority-card .dash-risk-donut-stage,.dash-risk-priority-card .dash-risk-donut,.dash-risk-priority-card .dash-risk-hover-pie,.dash-risk-priority-card .dash-risk-donut-core{display:none!important}
@media(max-width:1250px){.dash-risk-half-stage{width:188px;height:116px;flex-basis:116px}.dash-risk-half-pie{width:188px;height:110px}}


/* V261 — remove duplicated/unused dashboard cards and rebalance the main analytics row */
.dash233-row-main-clean{grid-template-columns:minmax(0,1.75fr) minmax(320px,.85fr)!important;align-items:stretch}
.dash233-row-main-clean>.panel{min-height:408px!important;height:100%}
.dash233-row-main-clean .dash233-trend-panel{order:1}
.dash233-row-main-clean .dash233-top-panel{order:2}
.dash233-row-main-clean .dash233-line-svg{height:320px!important;min-height:320px!important}
.dash233-row-main-clean .dash233-top-table{flex:1 1 auto;justify-content:space-between;padding:10px 12px 14px}
.dash233-row-main-clean .dash233-top-table button{min-height:30px}
@media(max-width:1600px){.dash233-row-main-clean{grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr)!important}}
@media(max-width:950px){.dash233-row-main-clean{grid-template-columns:1fr!important}.dash233-row-main-clean>.panel{min-height:auto!important}.dash233-row-main-clean .dash233-line-svg{height:270px!important;min-height:270px!important}}
