@font-face{
  font-family:"Overused Grotesk";
  src:url("/fonts/OverusedGrotesk-VF.woff2") format("woff2-variations");
  font-weight:300 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg0:#ffffff;
  --bg1:#f6f8fc;
  --bg2:#eef3ff;

  --surface0:#ffffff;
  --border0: rgba(15, 23, 42, .10);
  --border1: rgba(15, 23, 42, .14);

  --text: rgba(15, 23, 42, .92);
  --muted: rgba(15, 23, 42, .62);
  --muted2: rgba(15, 23, 42, .45);

  --accent: #3B5BFF;
  --accent2:#2563EB;

  --danger:#EF4444;
  --warn:#F59E0B;
  --ok:#22C55E;

  --shadow2: 0 10px 26px rgba(15, 23, 42, .08);
  --radius: 18px;
}

[hidden]{
  display:none !important;
}

*{ box-sizing:border-box; }
html, body{ height: 100%; }
html{ min-height: 100%; background: var(--bg1); }
body{ min-height: 100%; margin:0; overflow-x: hidden; overflow-anchor: none; }
body{
  font-family: "Overused Grotesk", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(900px 520px at 50% -10%, rgba(59,91,255,.14), transparent 60%),
    radial-gradient(900px 520px at 85% 25%, rgba(37,99,235,.10), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  background-attachment: fixed;
}

body.is-collapsed-portfolio{
  height: 100dvh;
  overflow: hidden;
  background: #f3f4f6;
  background-attachment: initial;
}

#appRoot[hidden]{
  display:none;
}
.login-screen{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 20% -10%, rgba(59,91,255,.04), transparent 55%),
    radial-gradient(circle at 80% 10%, rgba(37,99,235,.06), transparent 50%),
    radial-gradient(circle at 50% 120%, rgba(15,23,42,.45), rgba(15,23,42,.85));
  z-index:9999;
  backdrop-filter: blur(4px);
}
.login-card{
  width:min(420px,100%);
  background:rgba(255,255,255,0.92);
  border-radius:22px;
  padding:32px 28px;
  border:1px solid rgba(15,23,42,.15);
  box-shadow:0 30px 60px rgba(15,23,42,.25);
  display:flex;
  flex-direction:column;
  gap:14px;
  text-align:center;
}
.login-logo{
  width:64px;
  height:auto;
  margin:0 auto;
  display:block;
}
.login-copy h1{
  margin:0;
  font-size:24px;
  letter-spacing:-0.02em;
}
.login-copy p{
  margin:4px 0;
  color:var(--muted);
}
.login-mode{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background: rgba(15, 23, 42, .04);
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 12px;
  padding: 6px;
}
.login-mode-btn{
  min-height: 34px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.login-mode-btn.is-active{
  background: rgba(255,255,255,.95);
  color: rgba(15, 23, 42, .92);
  box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}
.login-note{
  font-size:14px;
  color:var(--muted2);
}
.login-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  text-align:left;
}
.login-form label{
  font-size:12px;
  color:var(--muted);
}
.login-form input{
  padding:12px 14px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.14);
  box-shadow:0 4px 12px rgba(15,23,42,.08);
}
.login-form button{
  width:100%;
}
#signupConfirmWrap{
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.login-hint{
  font-size:12px;
  color:var(--muted);
  text-align:center;
  opacity:.8;
}

.wrap{
  width: min(1800px, calc(100vw - 24px));
  margin: 0 auto;
  padding: 22px 12px 24px;
}

header{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  margin-bottom: 18px;
}

.headerActions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}

.headerActionBtn{
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width: 260px;
}
.logo{
  width: 150px;
  height: auto;
  display:block;
}
.brand h1{
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.022em;
  font-weight: 500;
}
.brand p{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}

.card{
  background: var(--surface0);
  border: 1px solid var(--border0);
  border-radius: var(--radius);
  box-shadow: var(--shadow2);
}

.topbar{
  display:flex;
  gap: 12px;
  align-items:center;
  justify-content:space-between;
  padding: 14px;
}
@media (max-width: 980px){
  .topbar{ flex-direction: column; align-items: stretch; }
}

.controls{
  display:grid;
  grid-template-columns: 1.2fr .7fr .7fr .7fr auto;
  gap: 12px;
  align-items:end;
  width: 100%;
}
@media (max-width: 980px){
  .controls{ grid-template-columns: 1fr; }
}

label{
  display:block;
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 8px;
}

input, select{
  width:100%;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #ffffff;
  color: #0f172a;
  padding: 11px 12px;
  outline:none;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
  transition: border-color .15s ease, box-shadow .15s ease;
}
input:focus, select:focus{
  border-color: rgba(59,91,255,.55);
  box-shadow:
    0 0 0 4px rgba(59,91,255,.16),
    0 1px 0 rgba(15, 23, 42, .03);
}

/* Custom select (avoid OS dropdown look) */
select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 44px;
  background-color: #ffffff;
  color: #0f172a;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(15,23,42,.55) 50%),
    linear-gradient(135deg, rgba(15,23,42,.55) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 55%,
    calc(100% - 12px) 55%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
select option{
  background: #ffffff;
  color: #0f172a;
}
select::-ms-expand{ display: none; }

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  border:0;
  border-radius: 14px;
  padding: 11px 16px;
  font-weight: 800;
  cursor:pointer;
  background: linear-gradient(135deg, rgba(59,91,255,1), rgba(37,99,235,1));
  color:white;
  box-shadow: 0 12px 26px rgba(59,91,255,.18);
  transition: transform .12s ease, filter .12s ease;
  white-space: nowrap;
}
.btn:hover{ transform: translateY(-1px); filter: brightness(1.05); }
.btn:active{ transform: translateY(0px); filter: brightness(.98); }

.pill{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .04);
  border: 1px solid rgba(15, 23, 42, .10);
  color: var(--text);
  font-size: 12px;
  white-space: nowrap;
}
.pillLink{
  text-decoration:none;
  cursor:pointer;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.pillLink:hover{
  border-color: rgba(59, 91, 255, .30);
  background: rgba(59, 91, 255, .08);
  color: rgba(37, 99, 235, 1);
}

.metaRow{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding: 0 14px 14px;
  color: var(--muted);
  font-size: 12.5px;
}
@media (max-width: 980px){
  .metaRow{ flex-direction: column; align-items:flex-start; }
}

.grid{
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  margin-top: 14px;
  --panelH: clamp(700px, calc(100vh - 126px), 1040px);
  --mapH: clamp(520px, calc(var(--panelH) - 200px), 820px);
  transition: grid-template-columns .22s ease;
}
.grid.sideCollapsed{
  grid-template-columns: minmax(0, 1fr);
}
@media (max-width: 980px){
  .wrap{
    width: 100%;
    padding: 22px 18px 44px;
  }
  .grid{ grid-template-columns: 1fr; --panelH: 600px; --mapH: 500px; }
  .grid.sideCollapsed{ grid-template-columns: 1fr; }
}

.mapCard{
  overflow:hidden;
  display:flex;
  flex-direction:column;
  height: var(--panelH);
  position: relative;
  --mapPanelTop: 74px;
  padding: 0;
}

.mapCard.mapBelow{
  height: auto;
  min-height: var(--panelH);
  overflow: hidden;
  border-radius: var(--radius);
}

.mapCard.riskAutoHeight{
  height: auto;
  min-height: var(--panelH);
  overflow: hidden;
  border-radius: var(--radius);
}

.mapCard.riskAutoHeight .mapPanel.riskLayout{
  grid-template-rows: max-content auto auto;
  overflow: auto;
}

.mapCard.riskAutoHeight .mapPanel{
  border-radius: inherit;
}

.mapPanel,
.transitionPanel{
  flex: 1;
  min-height: 0;
  position: relative;
}
.mapPanel{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: max-content var(--mapH) auto;
  gap: 14px;
  padding: 18px;
  background: #ffffff;
  overflow: auto;
  overflow-anchor: none;
  scrollbar-gutter: stable;
}
.mapPanel[hidden],
.transitionPanel[hidden]{
  display: none !important;
}

.mapPanel.is-empty{
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
}

.mapPanel.is-empty .physicalSummaryPanel{
  grid-column: 1;
  grid-row: 1;
}

.mapPanel.is-empty .physicalBreakdownPanel,
.mapPanel.is-empty .physicalMapArea,
.mapPanel.is-empty .physicalBottomPanel{
  display: none !important;
}

.mapPanel.mapOnly{
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
}

.mapPanel.mapOnly .physicalSummaryPanel{
  grid-column: 1;
  grid-row: 1;
}

.mapPanel.mapOnly .physicalBreakdownPanel{
  display: none !important;
}

.mapPanel.mapOnly .physicalMapArea{
  grid-column: 1;
  grid-row: 2;
  height: 100%;
  min-height: 0;
}

.mapPanel.mapOnly .physicalBottomPanel{
  display: none !important;
}

.mapPanel.weatherLayout{
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 14px;
}

.mapPanel.weatherLayout .physicalSummaryPanel{
  order: 1;
  width: 100%;
  position: relative;
  z-index: 2;
  margin-bottom: 20px;
}

.mapPanel.weatherLayout .physicalBreakdownPanel{
  order: 2;
  width: 100%;
  position: relative;
  z-index: 1;
  margin-top: 28px;
  min-height: auto;
  overflow: visible;
}

.mapPanel.weatherLayout .physicalMapArea{
  display: none !important;
}

.mapPanel.weatherLayout .physicalBottomPanel{
  display: none !important;
}

.mapPanel.riskLayout{
  grid-template-rows: max-content auto auto;
  align-content: start;
}

/* Keep risk sections in deterministic rows to avoid visual overlap. */
.mapPanel.riskLayout:not(.mapBelow){
  grid-template-rows: max-content minmax(var(--mapH), auto) auto;
  grid-template-areas:
    "summary summary"
    "breakdown map"
    "bottom bottom";
}

.mapPanel.riskLayout:not(.mapBelow) .physicalSummaryPanel{
  grid-area: summary;
}

.mapPanel.riskLayout:not(.mapBelow) .physicalBreakdownPanel{
  grid-area: breakdown;
  min-height: var(--mapH);
}

.mapPanel.riskLayout:not(.mapBelow) .physicalMapArea{
  grid-area: map;
}

.mapPanel.riskLayout:not(.mapBelow) .physicalBottomPanel{
  grid-area: bottom;
}

.mapPanel.riskLayout .physicalBreakdownPanel{
  min-height: auto;
  height: auto;
  max-height: none;
  overflow: visible;
}

.mapPanel.riskLayout .physicalMapArea{
  min-height: 320px;
  height: auto;
  max-height: none;
}

.mapPanel.riskLayout .physicalMapArea .mapCanvas{
  min-height: 0;
}

.mapPanel.actionPlanMode{
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr);
  gap: 0;
}

.mapPanel.actionPlanMode .physicalSummaryPanel{
  grid-column: 1;
  grid-row: 1;
}

.mapPanel.actionPlanMode .physicalBreakdownPanel{
  grid-column: 1;
  grid-row: 2;
}

.mapPanel.actionPlanMode .physicalMapArea{
  display: none !important;
}

.mapPanel.actionPlanMode .physicalBottomPanel{
  display: none !important;
}

.mapPanel.digitalPassportMode{
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 0;
  overflow: auto;
}

.mapPanel.digitalPassportMode .physicalSummaryPanel{
  grid-column: 1;
  grid-row: 1;
}

.mapPanel.digitalPassportMode .physicalBreakdownPanel{
  grid-column: 1;
  grid-row: 2;
  overflow: visible;
}

.mapPanel.digitalPassportMode .physicalMapArea{
  display: none !important;
}

.mapPanel.digitalPassportMode .physicalBottomPanel{
  display: none !important;
}

.physicalSummaryPanel{
  grid-column: 1 / -1;
  grid-row: 1;
}

.physicalBreakdownPanel{
  grid-column: 1;
  grid-row: 2;
  min-height: 0;
  overflow: auto;
  overflow-anchor: none;
}

.physicalMapArea{
  grid-column: 2;
  grid-row: 2;
  display:flex;
  flex-direction:column;
  gap: 0;
  min-height: 0;
  border-radius: 18px;
  overflow: hidden;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
}

/* ── Map / Graph tab switcher ─────────────────── */
.mapGraphTabs{
  display: flex;
  flex-shrink: 0;
  gap: 0;
  padding: 0;
  background: rgba(241,245,249,.98);
  border-bottom: 1px solid rgba(15,23,42,.1);
}
.mapGraphTabs[hidden]{
  display: none !important;
}
.mapGraphTab{
  flex: 1;
  padding: 8px 12px;
  border: none;
  background: transparent;
  border-radius: 0;
  font-size: 12.5px;
  font-weight: 500;
  color: #64748b;
  cursor: pointer;
  font-family: inherit;
  letter-spacing: -0.01em;
  transition: background .12s, color .12s;
}
.mapGraphTab:hover{
  color: #1e293b;
  background: rgba(15,23,42,.06);
}
.mapGraphTab.is-active{
  background: #fff;
  color: #0f172a;
  font-weight: 600;
}

/* ── Graph canvas ─────────────────────────────── */
.graphCanvas{
  flex: 1 1 auto;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  background: #fff;
  overflow: auto;
  padding: 20px 18px 16px;
}
.graphCanvas[hidden]{
  display: none !important;
}
.riskBarChartEmpty{
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  font-size: 13px;
  text-align: center;
  padding: 32px 16px;
}

/* ── Risk bar chart ───────────────────────────── */
.riskBarChart{
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}
.riskBarChartTitle{
  font-size: 13.5px;
  font-weight: 700;
  color: #0f172a;
  letter-spacing: -.01em;
}
.riskBarChartBody{
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex: 1;
}
.riskBarGroup{
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 0;
  gap: 5px;
}
.riskBarBars{
  display: flex;
  align-items: flex-end;
  gap: 4px;
  width: 100%;
}
.riskBarWrap{
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  min-width: 0;
}
.riskBarValLabel{
  font-size: 10px;
  font-weight: 700;
  color: #475569;
  white-space: nowrap;
  line-height: 1;
}
.riskBar{
  width: 100%;
  border-radius: 4px 4px 0 0;
  min-height: 4px;
  transition: opacity .15s;
}
.riskBar:hover{
  opacity: .82;
}
.riskBarGroupLabel{
  font-size: 11.5px;
  font-weight: 600;
  color: #334155;
  text-align: center;
  width: 100%;
  border-top: 1px solid rgba(15,23,42,.1);
  padding-top: 5px;
}
.riskBarSubLabels{
  display: flex;
  width: 100%;
  gap: 4px;
  min-height: 12px;
}
.riskBarSubLabel{
  flex: 1;
  font-size: 9.5px;
  color: #94a3b8;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.riskBarChartNote{
  font-size: 11px;
  color: #94a3b8;
  padding-top: 6px;
  border-top: 1px solid rgba(15,23,42,.07);
}

/* ── Clickable risk rows ──────────────────────── */
.physicalSummaryRows .riskRow{
  cursor: pointer;
  transition: background .12s, border-color .12s;
}
.physicalSummaryRows .riskRow:hover{
  background: transparent;
  border-color: transparent;
}
.physicalSummaryRows .riskRow.graphSelected{
  background: transparent;
  border-color: transparent;
}

.physicalBreakdownCard .physicalSummaryRows .riskRow{
  border: 0;
  background: transparent;
  box-shadow: none;
}

.physicalBreakdownCard .physicalSummaryRows .riskRow:hover,
.physicalBreakdownCard .physicalSummaryRows .riskRow.graphSelected{
  background: transparent;
  border-color: transparent;
}

.physicalBottomPanel{
  grid-column: 1 / -1;
  grid-row: 3;
  min-height: 0;
  overflow: visible;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.physicalBottomPanel[hidden]{
  display:none !important;
}

/* Two-column layout inside physicalBottomPanel */
.weatherBottomPanelLayout{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items: start;
}

.weatherBottomPanelLayout--rows{
  grid-template-columns: 1fr;
}

.weatherBottomPanelLayout--rows .physicalBreakdownCard{
  height: auto;
}

.weatherBottomPanelLayout--rows .weatherHistoryCard{
  min-height: 0;
}

.weatherBottomPanelLayout--rows .weatherSectionGraph{
  aspect-ratio: unset;
  height: 420px;
  min-height: 420px;
}

.weatherBottomPanelLayout--rows .weatherSectionGraphPlot{
  width: 100%;
  height: 100%;
}

.weatherExpandBtn{
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  border: 1px solid rgba(255,255,255,0.1);
  background: rgba(255,255,255,0.05);
  color: #94a3b8;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s;
}
.weatherExpandBtn:hover{
  background: rgba(255,255,255,0.1);
  color: #e2e8f0;
}
.weatherExpandBtn svg{
  display: block;
}

.weatherHistoryCard{
  min-height: 0;
}

.weatherHistoryCard .riskMapSectionBody{
  min-height: 0;
  max-height: clamp(280px, 52vh, 520px);
  overflow-y: auto;
  scrollbar-gutter: stable;
}

.weatherHistoryChartWrap{
  width: 100%;
}

.weatherBottomPanelLayout--rows .weatherHistoryCard .riskMapSectionBody{
  max-height: clamp(320px, 62vh, 640px);
}

.weatherHistoryChartEmpty{
  padding: 32px 16px;
  text-align: center;
  color: #64748b;
  font-size: 13px;
}

/* Card grid layout */
.whcAnalysis{
  display: flex;
  flex-direction: column;
  gap: 10px;
}


.whcGrid{
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.whcCard{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 10px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.15s;
}

.whcCard:hover{
  border-color: rgba(255,255,255,0.13);
}

.whcCardFull{
  grid-column: 1 / -1;
  background: rgba(79,158,255,0.05);
  border-color: rgba(79,158,255,0.15);
}

.whcCardHeader{
  display: flex;
  align-items: center;
  gap: 8px;
}

.whcCardIcon{
  width: 26px;
  height: 26px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.whcCardTitle{
  font-size: 11px;
  font-weight: 600;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.whcCardBody{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.whcCardPoint{
  font-size: 14px;
  line-height: 1.55;
  color: #0f172a;
  margin: 0;
}

.whcCardFull .whcCardPoint{
  color: #0f172a;
}

.whcCardHeader{
  flex-wrap: wrap;
}

.whcViewIndicatorBtn{
  margin-left: auto;
  flex-shrink: 0;
  background: none;
  border: 1px solid rgba(79,158,255,0.35);
  border-radius: 4px;
  color: #4f9eff;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 2px 7px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  line-height: 1.6;
}
.whcViewIndicatorBtn:hover{
  background: rgba(79,158,255,0.1);
  border-color: rgba(79,158,255,0.6);
}

.riskRow.whcHighlight{
  animation: whcHighlightPulse 2s ease-out forwards;
}
@keyframes whcHighlightPulse{
  0%   { box-shadow: 0 0 0 0 rgba(79,158,255,0.6); background: rgba(79,158,255,0.1); }
  50%  { box-shadow: 0 0 0 6px rgba(79,158,255,0); background: rgba(79,158,255,0.05); }
  100% { box-shadow: none; background: transparent; }
}

@media (max-width: 540px){
  .whcGrid{
    grid-template-columns: 1fr;
  }
  .whcCardFull{
    grid-column: 1;
  }
}

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

.mapPanel.mapBelow{
  grid-template-rows: auto auto auto auto;
  align-content: start;
  overflow: visible;
}

.mapPanel.mapBelow .physicalBreakdownPanel{
  grid-column: 1 / -1;
  grid-row: 3;
  min-height: auto;
  overflow: visible;
}

.mapPanel.mapBelow .physicalMapArea{
  grid-column: 1 / -1;
  grid-row: 2;
  min-height: 420px;
  overflow: visible;
}

.mapPanel.mapBelow .physicalBreakdownCard{
  min-height: auto;
}

.mapPanel.mapBelow .physicalBottomPanel{
  grid-column: 1 / -1;
  grid-row: 4;
}

.mapToolbar{
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 1200;
  display:flex;
  flex-direction:column;
  gap: 8px;
  align-items: flex-start;
  width: calc(100% - 24px);
  max-width: calc(100% - 24px);
}

.mapToolbar[hidden]{
  display:none !important;
}

.mapControlPanels{
  position: static;
  display:flex;
  flex-direction:column;
  gap: 10px;
  width: 100%;
  max-width: none;
}

.mapCanvas{
  position: relative;
  flex: 1 1 auto;
  min-height: 320px;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
}

.map{
  width: 100%;
  height: 100%;
  min-height: 0;
}

.sideCard{
  display:flex;
  flex-direction:column;
  height: var(--panelH);
  min-height: 0;
  min-width: 0;
}
.sideHeader{
  padding: 14px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.sideHeader h2{
  margin:0;
  font-size: 13px;
  letter-spacing:-0.01em;
}
.sideHeader p{
  margin:6px 0 0;
  font-size: 12.5px;
  color: var(--muted);
  line-height: 1.35;
}

.sideControls{
  margin-top: 22px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items:end;
}
.sideControls[hidden]{
  display:none !important;
}
.sideControls .btn{
  grid-column: 1 / -1;
  width: 100%;
}
@media (max-width: 980px){
  .sideControls{ grid-template-columns: 1fr; }
}

.sideMeta{
  margin-top: 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap:wrap;
  color: var(--muted);
  font-size: 12.5px;
}

.sideHeaderTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.sideHeaderActions{
  display:flex;
  align-items:center;
  gap: 8px;
}

body.is-collapsed-portfolio header{
  display: none;
}

body.is-collapsed-portfolio .wrap{
  width: 100%;
  max-width: none;
  margin: 0;
  height: 100dvh;
  padding: 10px 10px 12px;
  display: flex;
  flex-direction: column;
}

body.is-collapsed-portfolio .grid{
  display: none !important;
}

body:not(.is-collapsed-portfolio) .collapsedAssetBar{
  display: none !important;
}

.collapsedAssetBar{
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 0;
  display:grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  padding: 0;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  overflow: hidden;
}

.collapsedAssetBar[hidden]{
  display:none !important;
}

.collapsedSidebar{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:center;
  padding: 12px 6px;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}

.collapsedSidebarTop{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 14px;
  width:100%;
}

.collapsedSidebarLogo{
  width: 24px;
  height: auto;
  display:block;
  filter: none;
}

.collapsedSidebarNav{
  display:flex;
  flex-direction:column;
  gap: 10px;
  align-items:center;
  width:100%;
}

.collapsedSidebarSectionLabel{
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 2px 0;
}

.collapsedSidebarSectionText{
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(100, 116, 139, .9);
}

.collapsedSidebarSectionLabel--logo{
  margin: 0;
}

.collapsedSidebarSectionLabel--link{
  text-decoration: none;
}

.collapsedSidebarSectionLabel--link:hover{
  border-color: rgba(15, 23, 42, .10);
  background: rgba(15, 23, 42, .04);
  color: rgba(30, 41, 59, .96);
}

.collapsedSidebarSectionLabel--link.is-active{
  border-color: rgba(59, 130, 246, .34);
  background: rgba(59, 130, 246, .14);
  color: rgba(37, 99, 235, .98);
}

.collapsedSidebarSectionLabel--link.is-active .collapsedSidebarSectionLogo{
  color: rgba(37, 99, 235, .98);
}

.collapsedSidebarSectionBtn{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(71, 85, 105, .95);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.collapsedSidebarSectionLogo{
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(100, 116, 139, .92);
}

.collapsedSidebarSectionLogo svg{
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.collapsedSidebarBottom{
  width:100%;
  display:flex;
  flex-direction: column;
  gap: 10px;
  justify-content:center;
  align-items:center;
  margin-top: 12px;
}

.collapsedSidebarBtn{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  color: rgba(71, 85, 105, .95);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 17px;
  font-weight: 600;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.collapsedSidebarBtn > span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.collapsedSidebarBtn svg{
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.collapsedSidebarBtn--layers svg,
.collapsedSidebarBtn--alerts svg,
.collapsedSidebarBtn--action-plans svg,
.collapsedSidebarBtn--risk-insights svg,
.collapsedSidebarBtn--clusters svg,
.collapsedSidebarBtn--home svg,
.collapsedSidebarBtn--update svg,
.collapsedSidebarBtn--organization svg,
.collapsedSidebarBtn--account svg{
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
}

.collapsedSidebarBtn:hover{
  border-color: rgba(15, 23, 42, .10);
  background: rgba(15, 23, 42, .04);
  color: rgba(30, 41, 59, .96);
}

.collapsedSidebarBtn.is-active{
  border-color: rgba(59, 130, 246, .34);
  background: rgba(59, 130, 246, .14);
  color: rgba(37, 99, 235, .98);
}

#btnCollapsedUpdate[aria-busy="true"] svg{
  animation: collapsedSpin .9s linear infinite;
}

@keyframes collapsedSpin{
  from{ transform: rotate(0deg); }
  to{ transform: rotate(360deg); }
}

.collapsedWorkspace{
  flex: 1 1 auto;
  height: 100%;
  min-width: 0;
  min-height: 0;
  display:flex;
  flex-direction:column;
}

body.withAppSidebar{
  min-height: 100dvh;
  background: #f3f4f6;
  background-attachment: initial;
}

.appPageShell{
  width: 100%;
  min-height: 100dvh;
  display:grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
}

.appPageSidebar{
  height: calc(100dvh - 20px);
  min-height: calc(100dvh - 20px);
  position: sticky;
  top: 10px;
}

.appPageMain{
  min-width: 0;
  min-height: 0;
}

.appPageMain .wrap{
  width: min(1800px, calc(100vw - 100px));
  margin: 0;
  padding: 12px 8px 24px;
}

.portfolioWorkspace{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.portfolioHeader{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.portfolioHeader h1{
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.022em;
  font-weight: 500;
}

.portfolioHeader p{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}

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

.portfolioSummaryCard{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .09);
  background: #fff;
  padding: 14px;
}

.portfolioSummaryCard h2{
  margin: 0;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(71, 85, 105, .94);
}

.portfolioSummaryValue{
  margin: 8px 0 4px;
  font-size: 26px;
  font-weight: 700;
  color: #0f172a;
}

.portfolioSummaryCard small{
  color: rgba(100, 116, 139, .95);
}

/* Portfolio KPI cards styled to match Asset Manager KPI cards (excludes admin/user/organization). */
.portfolioKpiAssetStyle .portfolioSummaryGrid{
  gap: 12px;
}

.portfolioKpiAssetStyle .portfolioSummaryCard{
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 12px;
  min-height: 120px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  column-gap: 13px;
  row-gap: 2px;
}

.portfolioKpiAssetStyle .portfolioSummaryCard::before{
  content: "#";
  grid-column: 1;
  grid-row: 1 / span 3;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.portfolioKpiAssetStyle .portfolioSummaryCard:nth-child(1)::before{
  content: "O";
  background: rgba(59, 130, 246, .15);
  color: rgba(37, 99, 235, 1);
}

.portfolioKpiAssetStyle .portfolioSummaryCard:nth-child(2)::before{
  content: "F";
  background: rgba(245, 158, 11, .2);
  color: rgba(217, 119, 6, 1);
}

.portfolioKpiAssetStyle .portfolioSummaryCard:nth-child(3)::before{
  content: "$";
  background: rgba(34, 197, 94, .18);
  color: rgba(22, 163, 74, 1);
}

.portfolioKpiAssetStyle .portfolioSummaryCard:nth-child(4)::before{
  content: "!";
  background: rgba(248, 113, 113, .18);
  color: rgba(239, 68, 68, 1);
}

.portfolioKpiAssetStyle .portfolioSummaryCard h2{
  grid-column: 2;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
  font-weight: 700;
  color: rgba(15, 23, 42, .62);
}

.portfolioKpiAssetStyle .portfolioSummaryValue{
  grid-column: 2;
  margin: 5px 0 0;
  font-size: clamp(34px, 2.6vw, 50px);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: rgba(15, 23, 42, .98);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.portfolioKpiAssetStyle .portfolioSummaryCard small{
  grid-column: 2;
  display: block;
  margin: 4px 0 0;
  color: rgba(15, 23, 42, .58);
  font-size: 15px;
  line-height: 1.25;
}

.portfolioTableCard{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #fff;
  padding: 12px;
}

.portfolioSectionTitle{
  margin: 0 0 8px;
  font-size: 16px;
}

.portfolioSectionTitleRow{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.portfolioSectionTitleRow .portfolioSectionTitle{
  margin: 0;
}

.riskInsightsScenarioLegend{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.riskInsightsScenarioChip{
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
}

.riskInsightsScenarioChip--current{
  color: #1e4f7e;
  background: rgba(63, 139, 213, .2);
}

.riskInsightsScenarioChip--ssp245{
  color: #0b4f8f;
  background: rgba(126, 170, 214, .24);
}

.riskInsightsScenarioChip--ssp585{
  color: #8f5611;
  background: rgba(235, 160, 41, .22);
}

.riskInsightsAalColumnsWrap{
  border: 0;
  border-radius: 0;
  background: #fff;
  padding: 8px 0 2px;
}

.riskInsightsAalChart{
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.riskInsightsAalAxis{
  padding-top: 24px;
}

.riskInsightsAalAxisTicks{
  height: 96px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-end;
}

.riskInsightsAalAxisTick{
  font-size: 11px;
  font-weight: 500;
  color: rgba(71, 85, 105, .86);
  line-height: 1;
}

.riskInsightsAalPlot{
  border-radius: 10px;
  padding: 8px 0 0;
}

.riskInsightsAalColumns{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.riskInsightsAalColumns .portfolioTableEmpty{
  grid-column: 1 / -1;
  padding: 14px 4px;
}

.riskInsightsAalYear{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

.riskInsightsAalYearBars{
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  min-height: 118px;
}

.riskInsightsAalYearBars::before{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 92px;
  background-image: linear-gradient(to top, rgba(203, 213, 225, .55) 1px, transparent 1px);
  background-size: 100% 24px;
  pointer-events: none;
}

.riskInsightsAalYearBars.is-single{
  width: 92px;
}

.riskInsightsAalBarItem{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
}

.riskInsightsAalBarItem.is-placeholder{
  opacity: .6;
}

.riskInsightsAalBarValue{
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: rgba(31, 41, 55, .92);
  white-space: nowrap;
}

.riskInsightsAalBarValue--current{
  color: #1e4f7e;
}

.riskInsightsAalBarValue--ssp245{
  color: #0b4f8f;
}

.riskInsightsAalBarValue--ssp585{
  color: #8f5611;
}

.riskInsightsAalBarWrap{
  width: 50px;
  height: 92px;
  border-radius: 7px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: rgba(203, 213, 225, .2);
}

.riskInsightsAalBar{
  width: 100%;
  height: var(--risk-insights-fill, 0%);
  border-radius: 7px;
  display: block;
}

.riskInsightsAalBar--current{
  background: #3f8bd5;
}

.riskInsightsAalBar--ssp245{
  background: #7eaad6;
}

.riskInsightsAalBar--ssp585{
  background: #eba029;
}

.riskInsightsAalYearLabel{
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(51, 65, 85, .74);
}

.riskInsightsSpreadWrap{
  min-height: 20px;
}

.riskInsightsSpread{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 800;
}

.riskInsightsSpread--up{
  color: #c2410c;
}

.riskInsightsSpread--down{
  color: #15803d;
}

.riskInsightsSpread--flat{
  color: rgba(100, 116, 139, .92);
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard{
  --risk-insights-card-pad: 18px;
  border-radius: 24px;
  border: 1px solid #d7dde6;
  background: #ffffff;
  box-shadow: none;
  padding: var(--risk-insights-card-pad);
  gap: 12px;
  min-height: 0;
  height: clamp(460px, 58vh, 620px);
  overflow: hidden;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .physicalSummarySectionHeader{
  gap: 6px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .physicalSummarySectionTitle{
  font-size: 15px;
  font-weight: 1050;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .physicalSummaryDivider{
  display: block;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows{
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  margin-right: calc(var(--risk-insights-card-pad) * -1);
  padding-right: var(--risk-insights-card-pad);
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .portfolioTableEmpty{
  padding: 8px 0;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .physicalSummarySubsection{
  gap: 8px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .physicalSummarySubsection + .physicalSummarySubsection{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .physicalSummarySubsectionTitle{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #98a2b3;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskInsightsSubsectionHeader{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 6px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .physicalSummarySubsectionRows{
  gap: 0;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskInsightsValueHeaders{
  margin-left: auto;
  min-width: 236px;
  display: grid;
  grid-template-columns: 72px 160px;
  align-items: center;
  justify-content: end;
  column-gap: 16px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskInsightsValueHeader{
  text-align: right;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #98a2b3;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskRow{
  padding: 10px 0;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #c7ced9;
  background: transparent;
  box-shadow: none;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskRow:last-child{
  border-bottom: 0;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskRow:hover,
.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskRow.graphSelected{
  background: transparent;
  border-color: #c7ced9;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskName{
  font-size: 15px;
  font-weight: 500;
  color: #1f2430;
  gap: 12px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskSwatch{
  width: 14px;
  height: 14px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskRowMainRight{
  margin-left: auto;
  min-width: 236px;
  display: grid;
  grid-template-columns: 72px 160px;
  align-items: center;
  justify-content: end;
  column-gap: 16px;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskValue{
  display: contents;
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskNum{
  grid-column: 1;
  justify-self: end;
  min-width: 0;
  text-align: right;
  font-size: 15px;
  font-weight: 600;
  color: #212631;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

.portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskLabel{
  grid-column: 2;
  justify-self: end;
  min-width: 0;
  white-space: nowrap;
  text-align: right;
  font-size: 13px;
  font-weight: 500;
  color: #667085;
}

@media (max-width: 900px){
  .portfolioSectionTitleRow{
    align-items: flex-start;
    flex-direction: column;
    gap: 6px;
  }
  .riskInsightsAalChart{
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 8px;
  }
  .riskInsightsAalAxisTicks{
    height: 90px;
  }
  .riskInsightsAalColumns{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
  }
  .riskInsightsAalYearBars{
    min-height: 96px;
  }
  .riskInsightsAalBarWrap{
    width: 44px;
  }
  .portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard{
    height: auto;
    max-height: none;
    overflow: visible;
  }
  .portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskRowMainRight{
    min-width: 0;
    grid-template-columns: 64px 132px;
    column-gap: 10px;
  }
  .portfolioKpiAssetStyle .portfolioDualGrid .riskInsightsBreakdownCard .riskInsightsBreakdownRows .riskInsightsValueHeaders{
    min-width: 0;
    grid-template-columns: 64px 132px;
    column-gap: 10px;
  }
}

@media (max-width: 560px){
  .riskInsightsAalChart{
    grid-template-columns: 1fr;
  }
  .riskInsightsAalAxis{
    padding-top: 0;
  }
  .riskInsightsAalAxisTicks{
    height: auto;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
  }
  .riskInsightsAalColumns{
    grid-template-columns: 1fr;
  }
}

.portfolioToolsRow{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto auto auto;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.portfolioToolsRow label{
  font-size: 12px;
  font-weight: 600;
  color: rgba(71, 85, 105, .95);
}

.portfolioToolsRow input,
.portfolioToolsRow select{
  height: 36px;
  border: 1px solid rgba(148, 163, 184, .45);
  border-radius: 10px;
  background: #fff;
  padding: 0 10px;
}

.portfolioTableWrap{
  overflow: auto;
}

.portfolioTable{
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

.portfolioTable th{
  text-align: left;
  font-size: 12px;
  color: rgba(71, 85, 105, .95);
  font-weight: 700;
  border-bottom: 1px solid rgba(15, 23, 42, .10);
  padding: 10px 8px;
}

.portfolioTable td{
  border-bottom: 1px solid rgba(226, 232, 240, .9);
  padding: 10px 8px;
  vertical-align: top;
  color: #0f172a;
}

.portfolioTable tr:last-child td{
  border-bottom: 0;
}

.portfolioTableEmpty{
  color: rgba(100, 116, 139, .95);
}

.portfolioAssetLink{
  color: #1d4ed8;
  text-decoration: none;
  font-weight: 600;
}

.portfolioAssetLink:hover{
  text-decoration: underline;
}

.portfolioAssetMeta{
  font-size: 12px;
  color: rgba(100, 116, 139, .95);
  margin-top: 3px;
}

.portfolioPill{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .5);
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  color: #334155;
  background: #f8fafc;
}

.portfolioPill.is-critical,
.portfolioPill.is-high{
  border-color: rgba(220, 38, 38, .25);
  background: rgba(220, 38, 38, .08);
  color: #b91c1c;
}

.portfolioPill.is-moderate{
  border-color: rgba(245, 158, 11, .35);
  background: rgba(245, 158, 11, .10);
  color: #92400e;
}

.portfolioPill.is-low,
.portfolioPill.is-active{
  border-color: rgba(37, 99, 235, .30);
  background: rgba(37, 99, 235, .10);
  color: #1d4ed8;
}

.portfolioPill.is-clear{
  border-color: rgba(148, 163, 184, .45);
  background: rgba(148, 163, 184, .10);
  color: #475569;
}

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

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

.portfolioClusterCardHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.portfolioMiniTitle{
  margin: 12px 0 6px;
  font-size: 13px;
}

.portfolioInlineList{
  margin: 0;
  padding-left: 18px;
  color: rgba(30, 41, 59, .96);
}

.portfolioInlineList li{
  margin: 3px 0;
}

.portfolioMuted{
  margin: 6px 0;
  color: rgba(100, 116, 139, .95);
}

.portfolioChipList{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}

.portfolioAssetChip{
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 10px;
  background: #f8fafc;
  padding: 8px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.portfolioAssetChip strong{
  color: #0f172a;
}

.portfolioAssetChip span,
.portfolioAssetChip small{
  color: rgba(71, 85, 105, .96);
}

.operationsSummaryCard--primary{
  border-color: rgba(37, 99, 235, .24);
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .08);
}

.operationsListTools{
  flex-wrap: wrap;
}

.operationsFilters{
  margin-left: auto;
  flex-wrap: wrap;
}

.operationsFilterSelect{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .78);
  border-radius: 999px;
  min-height: 34px;
  padding: 5px 8px 5px 11px;
}

.operationsFilterSelect span{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .64);
  letter-spacing: .02em;
}

.operationsFilterSelect select{
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .9);
  font-size: 13px;
  font-weight: 600;
  min-height: 24px;
  padding: 0 18px 0 2px;
}

.operationsFilterSelect select:focus{
  border: 0;
  box-shadow: none;
}

.operationsTableWrap{
  max-height: min(62vh, 640px);
}

.operationsPriorityPill{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .5);
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  color: #334155;
  background: #f8fafc;
}

.operationsPriorityPill--p1{
  border-color: rgba(220, 38, 38, .26);
  background: rgba(220, 38, 38, .10);
  color: #b91c1c;
}

.operationsPriorityPill--p2{
  border-color: rgba(245, 158, 11, .34);
  background: rgba(245, 158, 11, .11);
  color: #92400e;
}

.operationsPriorityPill--p3{
  border-color: rgba(37, 99, 235, .3);
  background: rgba(37, 99, 235, .1);
  color: #1d4ed8;
}

.operationsPriorityPill--p4{
  border-color: rgba(148, 163, 184, .48);
  background: rgba(148, 163, 184, .1);
  color: #475569;
}

.operationsSecondaryText{
  margin-top: 3px;
  font-size: 12px;
  color: rgba(100, 116, 139, .95);
}

.portfolioTable tr.operationsQueueRow,
.assetManagerTable tr.operationsQueueRow{
  cursor: pointer;
}

.portfolioTable tr.operationsQueueRow:hover td,
.assetManagerTable tr.operationsQueueRow:hover td{
  background: rgba(59, 130, 246, .05);
}

.portfolioTable tr.operationsQueueRow:focus-visible,
.assetManagerTable tr.operationsQueueRow:focus-visible{
  outline: 2px solid rgba(59, 130, 246, .48);
  outline-offset: -2px;
}

/* Asset Manager page: keep sidebar fully inside viewport height */
.assetManagerPage .appPageSidebar{
  position: fixed;
  top: 10px;
  left: 10px;
  width: 56px;
  height: calc(100dvh - 20px);
  overflow-y: auto;
  overflow-x: hidden;
}

.assetManagerPage .appPageMain{
  margin-left: 66px;
}

@media (max-width: 980px){
  .appPageShell{
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 8px;
  }

  .appPageSidebar{
    min-height: auto;
    position: static;
    width: 100%;
    padding: 8px;
  }

  .appPageSidebar .collapsedSidebarTop{
    flex-direction: row;
    justify-content: space-between;
  }

  .appPageSidebar .collapsedSidebarNav{
    flex-direction: row;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }

  .appPageSidebar .collapsedSidebarBottom{
    flex-direction: row;
    width: auto;
    margin-top: 0;
  }

  .appPageMain .wrap{
    width: 100%;
    padding: 10px 0 16px;
  }

  .portfolioSummaryGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .portfolioKpiAssetStyle .portfolioSummaryValue{
    font-size: 34px;
  }

  .portfolioToolsRow{
    grid-template-columns: 1fr;
  }

  .operationsFilters{
    margin-left: 0;
    width: 100%;
  }

  .portfolioDualGrid,
  .portfolioClusterGrid{
    grid-template-columns: 1fr;
  }

  .assetManagerPage .appPageSidebar{
    position: static;
    width: 100%;
    height: auto;
    overflow: visible;
  }

  .assetManagerPage .appPageMain{
    margin-left: 0;
  }
}

.collapsedSelectedAssetView{
  flex: 1 1 auto;
  min-height: 0;
  display:none;
}

.collapsedSelectedAssetView[hidden]{
  display:none !important;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedOverviewGrid,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedPortfolioTabClusters{
  display:none !important;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView{
  --panelH: clamp(680px, calc(100dvh - 48px), 1040px);
  --mapH: clamp(480px, calc(var(--panelH) - 210px), 820px);
  display:flex;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapCard,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapCard.mapBelow,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapCard.riskAutoHeight{
  flex: 1 1 auto;
  width: 100%;
  height: 100% !important;
  min-height: 0;
  margin: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  border-radius: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionPanel{
  height: 100%;
  min-height: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionPanel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionWrap,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell{
  background: transparent !important;
  box-shadow: none !important;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionWrap{
  padding: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell{
  padding: 12px 10px 16px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel{
  grid-template-rows: max-content minmax(340px, 1fr) auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel.riskLayout:not(.mapBelow){
  grid-template-rows: max-content minmax(var(--mapH), auto) auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel.riskLayout .physicalBreakdownPanel{
  overflow: auto;
}

.collapsedOverviewGrid{
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr);
  align-items: stretch;
  gap: 14px;
}

.collapsedAssetBarTitle{
  display:block;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .48);
}

.collapsedPortfolioAssetCount{
  display:block;
  margin-top: 6px;
  font-size: 40px;
  line-height: 1.04;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: rgba(15, 23, 42, .95);
}

.collapsedPortfolioPanelTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.collapsedPortfolioPanelHead{
  min-width: 0;
}

.collapsedPortfolioAddBtn{
  min-height: 40px;
  padding: 8px 16px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 500;
  box-shadow: none;
  animation: none;
  transition: none;
  flex: 0 0 auto;
}

.collapsedPortfolioAddBtn:hover,
.collapsedPortfolioAddBtn:active{
  transform: none;
}

.collapsedPortfolioTabs{
  margin-bottom: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(241,245,249,.98);
}

.collapsedPortfolioTabs.mapGraphTabs{
  border-bottom: 0;
}

.collapsedPortfolioTabs[hidden]{
  display:none !important;
}

.collapsedPortfolioTabs .mapGraphTab{
  flex: 1;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .72);
  font-size: 14px;
  font-weight: 620;
}

.collapsedPortfolioTabs .mapGraphTab:hover{
  color: rgba(15, 23, 42, .9);
  background: rgba(15, 23, 42, .05);
}

.collapsedPortfolioTabs .mapGraphTab.is-active{
  background: rgba(37, 99, 235, .97);
  color: #ffffff;
  font-weight: 700;
}

.collapsedOverviewMain{
  height: 100%;
  min-width: 0;
  min-height: 0;
  display:grid;
  grid-template-rows: max-content minmax(0, 1fr);
  gap: 14px;
}

.collapsedPortfolioMetricsGrid{
  display:grid;
  gap: 14px;
}

.collapsedPortfolioMetricsRow{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.collapsedPortfolioMetricCard{
  min-width: 0;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  padding: 16px 18px;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.collapsedPortfolioMetricCardHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}

.collapsedPortfolioMetricIcon{
  width: 52px;
  height: 52px;
  border-radius: 13px;
  border: 1px solid rgba(59, 130, 246, .16);
  background: rgba(37, 99, 235, .08);
  color: rgba(37, 99, 235, .96);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 35px;
  font-weight: 700;
  line-height: 1;
  flex: 0 0 auto;
}
.collapsedPortfolioMetricIcon svg{
  width: 24px;
  height: 24px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.collapsedPortfolioAalLabel{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
  white-space: nowrap;
}

.collapsedPortfolioAal{
  display:block;
  font-size: clamp(34px, 2.6vw, 50px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: rgba(17, 24, 39, .96);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioRatio{
  display:block;
  font-size: clamp(34px, 2.6vw, 50px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: rgba(37, 99, 235, .98);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioMetricMeta{
  display:block;
  font-size: 15px;
  line-height: 1.25;
  color: rgba(15, 23, 42, .58);
}

.collapsedPortfolioMetricCardAlerts{
  padding: 16px 18px;
}

.collapsedPortfolioKpiCard{
  border-radius: 14px;
  padding: 16px 18px;
  border-color: rgba(15, 23, 42, .10);
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
  gap: 8px;
}

.collapsedPortfolioKpiHead{
  align-items:flex-start;
}

.collapsedPortfolioKpiTitle{
  display:block;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioKpiIconTile{
  width: 52px;
  height: 52px;
  border-radius: 13px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

.collapsedPortfolioKpiIconTile svg{
  width: 24px;
  height: 24px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.collapsedPortfolioKpiIconTile--high{
  color: #e58f10;
  background: #f4ebdb;
  border-color: rgba(229, 143, 16, .18);
}

.collapsedPortfolioKpiIconTile--mean{
  color: #6a41cc;
  background: #ddd8ef;
  border-color: rgba(106, 65, 204, .18);
}

.collapsedPortfolioKpiIconTile--multi{
  color: #1e90b7;
  background: #d8eaf1;
  border-color: rgba(30, 144, 183, .18);
}

.collapsedPortfolioKpiValueLine{
  display:flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
}

.collapsedPortfolioKpiValue{
  font-size: clamp(34px, 2.6vw, 50px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.collapsedPortfolioKpiValue--high{
  color: #2f9a4a;
}

.collapsedPortfolioKpiValue--mean{
  color: #6a41cc;
}

.collapsedPortfolioKpiValue--multi{
  color: #1e90b7;
}

.collapsedPortfolioKpiValueUnit{
  font-size: 0.62em;
  font-weight: 500;
  color: rgba(15, 23, 42, .35);
  letter-spacing: 0;
  white-space: nowrap;
}

.collapsedPortfolioKpiValueAux{
  font-size: 0.62em;
  font-weight: 500;
  color: rgba(15, 23, 42, .38);
  white-space: nowrap;
}

.collapsedPortfolioKpiMeta{
  display:block;
  font-size: 15px;
  line-height: 1.25;
  color: rgba(15, 23, 42, .58);
}

.collapsedWeatherStatus{
  min-width: 0;
  display:block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(30, 64, 175, .96);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
}

.collapsedWeatherStatusBody{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items:flex-start;
  gap: 16px;
  width: 100%;
  background: none;
  border: none;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
  border-radius: 10px;
  transition: opacity .15s, background-color .15s;
}

.collapsedWeatherStatusBody--metric{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap: 8px;
  border-radius: 0;
}

.collapsedWeatherStatusBody:hover{
  opacity: 1;
  background: rgba(239, 246, 255, .55);
}

.collapsedWeatherStatusBody--metric:hover{
  background: transparent;
}

.collapsedAssetPickerBodyNoIcon{
  grid-template-columns: minmax(0, 1fr) auto;
}

#collapsedAssetPickerBtn{
  border: 1.5px solid rgba(15,23,42,.18);
  padding: 6px 8px;
  border-radius: 8px;
  opacity: 1;
  transition: border-color .15s;
  color: #0f172a;
}

#collapsedAssetPickerBtn:hover{
  border-color: rgba(15,23,42,.38);
  opacity: 1;
}

.collapsedHiddenControls{
  display:none !important;
}

.collapsedPortfolioTabMapItem[hidden],
.collapsedPortfolioTabClusters[hidden]{
  display: none !important;
}

.collapsedPortfolioTabClusters{
  flex: 1 1 auto;
  min-height: 0;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-areas: "clusters map";
  align-items: stretch;
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.collapsedPortfolioRiskPanel{
  display:flex;
  flex-direction:column;
  width: 100%;
  min-width: 0;
  justify-self: stretch;
  min-height: 0;
  height: 100%;
  padding: 20px 22px 18px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
  overflow-x: hidden;
  overflow-y: auto;
}

#collapsedPortfolioMapArea{
  grid-column: auto;
  grid-row: auto;
  display:flex;
  flex-direction:column;
  gap: 0;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  padding: 0;
  background: #ffffff;
}

#collapsedPortfolioClusterMapArea{
  grid-column: auto;
  grid-row: auto;
  display:flex;
  flex-direction:column;
  gap: 0;
  width: 100%;
  min-width: 0;
  min-height: 0;
  height: 100%;
  border: 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  padding: 0;
  background: #ffffff;
}

.collapsedPortfolioModeTabs{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  flex: 0 0 48px;
  min-height: 48px;
  height: 48px;
  border: 1px solid rgba(37, 99, 235, .28);
  border-radius: 11px;
  padding: 4px;
  overflow: visible;
  background: rgba(241,245,249,.92);
  margin-top: 20px;
  margin-bottom: 16px;
}

.collapsedPortfolioModeTab{
  min-height: 100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: rgba(15, 23, 42, .72);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.collapsedPortfolioModeTab.is-active{
  background: rgba(255, 255, 255, .98);
  color: rgba(29, 78, 216, .98);
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .24);
}

.collapsedPortfolioSectionTabs{
  display:flex;
  align-items:center;
  align-self: stretch;
  justify-content: space-between;
  gap: 0;
  width: 100%;
  margin-bottom: 14px;
  padding-top: 2px;
  border-bottom: 1px solid rgba(15, 23, 42, .10);
  flex: 0 0 auto;
}

.collapsedPortfolioSectionTab{
  flex: 1 1 0;
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .64);
  font-size: 15px;
  font-weight: 560;
  min-height: 44px;
  line-height: 1;
  padding: 0 0 11px;
  cursor: pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 9px;
}

.collapsedPortfolioSectionTab.is-active{
  color: rgba(29, 78, 216, .98);
  box-shadow: inset 0 -3px 0 rgba(37, 99, 235, .95);
}

.collapsedPortfolioSectionBadge{
  min-width: 28px;
  height: 28px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(239, 68, 68, .96);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.collapsedPortfolioSectionPanels{
  display:flex;
  flex-direction:column;
  flex: 1 1 auto;
  min-height: 0;
}

.collapsedPortfolioSectionPanel{
  display:flex;
  flex-direction:column;
  flex: 1 1 auto;
  min-height: 0;
}

.collapsedPortfolioSectionPanel[hidden]{
  display:none !important;
}

.collapsedPortfolioClusterHost{
  display:flex;
  flex-direction:column;
  min-height: 0;
  flex: 1 1 auto;
}

.collapsedPortfolioClusterHost[hidden]{
  display:none !important;
}

.collapsedPortfolioClusterHost > .collapsedPortfolioClusterPanel{
  height: auto;
  min-height: 0;
}

.collapsedPortfolioAalSummaryHead{
  display:flex;
  flex-direction:column;
  gap: 6px;
  margin-bottom: 12px;
}

.collapsedPortfolioAalSummaryLabel{
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.collapsedPortfolioAalSummaryValue{
  font-size: clamp(46px, 3vw, 58px);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: rgba(17, 24, 39, .96);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioAalSummaryMeta{
  font-size: 14px;
  font-weight: 600;
  color: rgba(15, 23, 42, .56);
}

.collapsedPortfolioAalRatioCard{
  border-radius: 12px;
  border: 1px solid rgba(59, 130, 246, .22);
  background: rgba(37, 99, 235, .08);
  padding: 12px 14px;
  display:flex;
  flex-direction:column;
  gap: 6px;
}

.collapsedPortfolioAalRatioCardLabel{
  font-size: 12px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.collapsedPortfolioAalRatioCardValue{
  font-size: clamp(40px, 2.6vw, 50px);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: rgba(37, 99, 235, .98);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioAalRatioCardMeta{
  font-size: 14px;
  line-height: 1.25;
  color: rgba(15, 23, 42, .62);
  font-weight: 600;
}

.collapsedPortfolioAlertsSummaryCard{
  border-radius: 12px;
  border: 1px solid rgba(239, 68, 68, .26);
  background: rgba(254, 242, 242, .9);
  color: rgba(185, 28, 28, .95);
  padding: 12px 14px;
  display:flex;
  flex-direction:column;
  gap: 6px;
}

.collapsedPortfolioAlertsSummaryCard.no-alerts{
  border-color: rgba(148, 163, 184, .28);
  background: rgba(241, 245, 249, .86);
  color: rgba(51, 65, 85, .92);
}

.collapsedPortfolioAlertsSummaryTop{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.collapsedPortfolioAlertsSummaryMain{
  font-size: 36px;
  line-height: 1;
  letter-spacing: -0.02em;
  font-weight: 520;
}

.collapsedPortfolioAlertsSummaryMeta{
  font-size: 14px;
  font-weight: 600;
  color: inherit;
  opacity: .85;
}

.collapsedPortfolioAlertCategories{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.collapsedPortfolioAlertCategoryCard{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.92);
  padding: 10px 10px 9px;
  display:flex;
  flex-direction:column;
  gap: 5px;
  align-items:flex-start;
  justify-content:center;
}

.collapsedPortfolioAlertCategoryHead{
  display:flex;
  align-items:center;
  gap: 8px;
}

.collapsedPortfolioAlertCategoryIcon{
  width: 24px;
  height: 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.collapsedPortfolioAlertCategoryIcon svg{
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.collapsedPortfolioAlertCategoryIconStorm{
  color: #64748b;
}

.collapsedPortfolioAlertCategoryIconFlood{
  color: #3b82f6;
}

.collapsedPortfolioAlertCategoryIconHeatwave{
  color: #f59e0b;
}

.collapsedPortfolioAlertCategoryIconWildfire{
  color: #ef4444;
}

.collapsedPortfolioAlertCategoryLabel{
  font-size: 12px;
  font-weight: 700;
  color: rgba(30, 41, 59, .82);
}

.collapsedPortfolioAlertCategoryCount{
  font-size: 36px;
  line-height: .95;
  letter-spacing: -0.02em;
  font-weight: 600;
  color: rgba(15, 23, 42, .94);
  margin-left: 32px;
}

.collapsedPortfolioRiskSummary{
  margin-bottom: 14px;
}

.collapsedPortfolioRiskSummaryValueRow{
  display:flex;
  align-items:baseline;
  gap: 12px;
  margin-top: 6px;
}

.collapsedPortfolioRiskSummaryValue{
  font-size: clamp(50px, 3.1vw, 62px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.collapsedPortfolioRiskSummaryValue.risk-minimal{ color: #1B8A3A; }
.collapsedPortfolioRiskSummaryValue.risk-very-low{ color: #37A858; }
.collapsedPortfolioRiskSummaryValue.risk-low{ color: #62C86E; }
.collapsedPortfolioRiskSummaryValue.risk-low-moderate{ color: #7DDF7B; }
.collapsedPortfolioRiskSummaryValue.risk-moderate-low{ color: #84cc16; }
.collapsedPortfolioRiskSummaryValue.risk-moderate{ color: #d97706; }
.collapsedPortfolioRiskSummaryValue.risk-moderate-high{ color: #ca8a04; }
.collapsedPortfolioRiskSummaryValue.risk-high{ color: #ea580c; }
.collapsedPortfolioRiskSummaryValue.risk-very-high{ color: #f97316; }
.collapsedPortfolioRiskSummaryValue.risk-critical{ color: #dc2626; }

.collapsedPortfolioRiskSummaryAvg{
  font-size: 15px;
  color: rgba(15, 23, 42, .56);
  font-weight: 600;
}

.collapsedPortfolioRiskDistributionWrap{
  margin-bottom: 14px;
}

.collapsedPortfolioRiskDistributionTitleRow{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 8px;
}

.collapsedPortfolioRiskDistributionTitle{
  display:block;
  font-size: 14px;
  color: rgba(15, 23, 42, .72);
  font-weight: 650;
  margin-bottom: 0;
}

.collapsedPortfolioRiskDistributionTrack{
  position: relative;
  height: 30px;
  border-radius: 10px;
  background: rgba(15, 23, 42, .08);
  overflow: hidden;
  display:flex;
}

.collapsedPortfolioRiskDistributionSegment{
  height: 100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding-top: 0;
  font-size: 10px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: .01em;
  color: rgba(15, 23, 42, .78);
  white-space: nowrap;
  overflow: hidden;
}

.collapsedPortfolioRiskDistributionSegment.risk-minimal{ background: #1B8A3A; }
.collapsedPortfolioRiskDistributionSegment.risk-very-low{ background: #37A858; }
.collapsedPortfolioRiskDistributionSegment.risk-low{ background: #62C86E; }
.collapsedPortfolioRiskDistributionSegment.risk-low-moderate{ background: #7DDF7B; }
.collapsedPortfolioRiskDistributionSegment.risk-moderate-low{ background: #B7F36A; }
.collapsedPortfolioRiskDistributionSegment.risk-moderate{ background: #FFF176; }
.collapsedPortfolioRiskDistributionSegment.risk-moderate-high{ background: #FFD54F; }
.collapsedPortfolioRiskDistributionSegment.risk-high{ background: #FFB74D; }
.collapsedPortfolioRiskDistributionSegment.risk-very-high{ background: #FF8A65; }
.collapsedPortfolioRiskDistributionSegment.risk-critical{ background: #F44336; }

.collapsedPortfolioRiskDistributionSegment.risk-minimal,
.collapsedPortfolioRiskDistributionSegment.risk-very-low,
.collapsedPortfolioRiskDistributionSegment.risk-high,
.collapsedPortfolioRiskDistributionSegment.risk-very-high,
.collapsedPortfolioRiskDistributionSegment.risk-critical{
  color: rgba(255, 255, 255, .95);
}

.collapsedPortfolioRiskDistributionLabel{
  display:none;
}

.collapsedPortfolioRiskDistributionLegend{
  display:flex;
  flex-wrap:wrap;
  gap: 14px;
  margin-top: 10px;
}

.collapsedPortfolioRiskLegendItem{
  display:inline-flex;
  align-items:center;
  gap: 7px;
  font-size: 12px;
  color: rgba(15, 23, 42, .66);
}

.collapsedPortfolioRiskLegendDot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.collapsedPortfolioRiskLegendDot.risk-minimal{ background: #1B8A3A; }
.collapsedPortfolioRiskLegendDot.risk-very-low{ background: #37A858; }
.collapsedPortfolioRiskLegendDot.risk-low{ background: #62C86E; }
.collapsedPortfolioRiskLegendDot.risk-low-moderate{ background: #7DDF7B; }
.collapsedPortfolioRiskLegendDot.risk-moderate-low{ background: #B7F36A; }
.collapsedPortfolioRiskLegendDot.risk-moderate{ background: #FFF176; }
.collapsedPortfolioRiskLegendDot.risk-moderate-high{ background: #FFD54F; }
.collapsedPortfolioRiskLegendDot.risk-high{ background: #FFB74D; }
.collapsedPortfolioRiskLegendDot.risk-very-high{ background: #FF8A65; }
.collapsedPortfolioRiskLegendDot.risk-critical{ background: #F44336; }

.collapsedPortfolioRiskAssetsHead{
  margin-top: 6px;
  margin-bottom: 10px;
  font-size: 15px;
  color: rgba(15, 23, 42, .85);
  font-weight: 660;
}

.collapsedPortfolioRiskSearchWrap{
  display:grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items:center;
  gap: 8px;
  min-height: 44px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 11px;
  background: rgba(255,255,255,.9);
  padding: 0 12px;
  margin-bottom: 12px;
}

.collapsedPortfolioRiskSearchIcon{
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: rgba(15, 23, 42, .45);
}
.collapsedPortfolioRiskSearchIcon svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

#collapsedPortfolioRiskSearch,
#collapsedPortfolioAalSearch,
#collapsedPortfolioAlertsSearch{
  width: 100%;
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .92);
  font-size: 15px;
  font-weight: 560;
  padding: 0;
  box-shadow: none;
}

#collapsedPortfolioRiskSearch:focus,
#collapsedPortfolioAalSearch:focus,
#collapsedPortfolioAlertsSearch:focus{
  outline: none;
}

.collapsedPortfolioRiskList{
  margin-top: 0;
  flex: 1 1 auto;
  display:flex;
  flex-direction:column;
  gap: 0;
  min-height: 140px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 0;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.collapsedPortfolioRiskList::-webkit-scrollbar{
  display: none;
}

.collapsedPortfolioRiskRow{
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, .10);
  background: transparent;
  padding: 8px 0 8px;
}

.collapsedPortfolioRiskRowHead{
  display:grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items:center;
  gap: 10px;
}

.collapsedPortfolioRiskRank{
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 13px;
  font-weight: 600;
  color: rgba(15, 23, 42, .72);
  background: rgba(15, 23, 42, .06);
}

.collapsedPortfolioRiskName{
  font-size: 15px;
  line-height: 1.25;
  font-weight: 520;
  color: rgba(15, 23, 42, .92);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapsedPortfolioRiskValue{
  font-size: 15px;
  font-weight: 600;
  color: #f59e0b;
  white-space: nowrap;
}

.collapsedPortfolioRiskBarTrack{
  margin-top: 7px;
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15, 23, 42, .1);
}

.collapsedPortfolioRiskBarFill.risk-minimal{ background: #1B8A3A; }
.collapsedPortfolioRiskBarFill.risk-very-low{ background: #37A858; }
.collapsedPortfolioRiskBarFill.risk-low{ background: #62C86E; }
.collapsedPortfolioRiskBarFill.risk-low-moderate{ background: #7DDF7B; }
.collapsedPortfolioRiskBarFill.risk-moderate-low{ background: #B7F36A; }
.collapsedPortfolioRiskBarFill.risk-moderate{ background: #FFF176; }
.collapsedPortfolioRiskBarFill.risk-moderate-high{ background: #FFD54F; }
.collapsedPortfolioRiskBarFill.risk-high{ background: #FFB74D; }
.collapsedPortfolioRiskBarFill.risk-very-high{ background: #FF8A65; }
.collapsedPortfolioRiskBarFill.risk-critical{ background: #F44336; }

.collapsedPortfolioRiskBarFill.risk-below{
  background: rgba(15, 23, 42, .35);
}

.collapsedPortfolioAalBarFill{
  background: rgba(37, 99, 235, .98);
}

.collapsedPortfolioAalRow .collapsedPortfolioRiskValue{
  color: rgba(15, 23, 42, .92);
}

.collapsedPortfolioRiskMoreBtn{
  border: 0;
  background: transparent;
  color: rgba(37, 99, 235, .98);
  font-size: 17px;
  font-weight: 560;
  text-align:center;
  min-height: 42px;
  cursor:pointer;
}

.collapsedPortfolioMapCard{
  min-height: 0;
  height: 100%;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 14px;
  background: #ffffff;
  display:grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}

.collapsedMapHeader{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 12px 16px;
  min-height: 62px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.collapsedMapHeaderTitleWrap{
  min-width: 0;
  display:inline-flex;
  align-items:baseline;
  gap: 14px;
  padding-right: 10px;
}

.collapsedMapHeaderTitle{
  font-size: 16px;
  font-weight: 600;
  line-height: 1.1;
  color: rgba(15, 23, 42, .94);
  white-space: nowrap;
}

.collapsedMapHeaderMeta{
  font-size: 15px;
  font-weight: 520;
  color: rgba(15, 23, 42, .64);
  white-space: nowrap;
}

.collapsedMapHeader .collapsedPortfolioTabs{
  margin-bottom: 0;
  min-width: 204px;
  max-width: 220px;
  margin-left: auto;
}

.collapsedMapHeader .collapsedPortfolioTabs .mapGraphTab{
  font-size: 15px;
  min-height: 38px;
}

.collapsedMapLegend{
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 410;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: #ffffff;
  padding: 10px 12px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.collapsedMapLegendItem{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 13px;
  color: rgba(15, 23, 42, .72);
  font-weight: 560;
}

.collapsedMapLegendDot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
}

.collapsedMapLegendDot.risk-minimal{ background: #1B8A3A; }
.collapsedMapLegendDot.risk-very-low{ background: #37A858; }
.collapsedMapLegendDot.risk-low{ background: #62C86E; }
.collapsedMapLegendDot.risk-low-moderate{ background: #7DDF7B; }
.collapsedMapLegendDot.risk-moderate-low{ background: #B7F36A; }
.collapsedMapLegendDot.risk-moderate{ background: #FFF176; }
.collapsedMapLegendDot.risk-moderate-high{ background: #FFD54F; }
.collapsedMapLegendDot.risk-high{ background: #FFB74D; }
.collapsedMapLegendDot.risk-very-high{ background: #FF8A65; }
.collapsedMapLegendDot.risk-critical{ background: #F44336; }

.collapsedMapLocateBtn{
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 410;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #ffffff;
  color: rgba(15,23,42,.8);
  font-size: 20px;
  font-weight: 700;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.collapsedMapLocateBtn svg{
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.collapsedMapLocateBtn:hover{
  border-color: rgba(37,99,235,.28);
  color: rgba(37,99,235,.98);
}

#collapsedPortfolioMapArea .leaflet-control-zoom,
#collapsedPortfolioClusterMapArea .leaflet-control-zoom{
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(15,23,42,.12);
}

#collapsedPortfolioMapArea .leaflet-control-zoom a,
#collapsedPortfolioClusterMapArea .leaflet-control-zoom a{
  width: 48px;
  height: 48px;
  line-height: 46px;
  font-size: 30px;
  color: rgba(15,23,42,.84);
  border-bottom-color: rgba(15,23,42,.09);
}

#collapsedPortfolioMapArea .leaflet-bottom.leaflet-right,
#collapsedPortfolioClusterMapArea .leaflet-bottom.leaflet-right{
  right: 12px;
  bottom: 68px;
}
.alertsAssetsDropdown{
  position: fixed;
  z-index: 9000;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0,0,0,.14);
  padding: 4px;
  min-width: 200px;
}
.alertsAssetsDropdownItem{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border-radius: 6px;
  background: none;
  border: none;
  color: #0f172a;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}
.alertsAssetsDropdownItem:hover{
  background: rgba(15,23,42,.06);
}
.alertsAssetsDropdownName{
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.alertsAssetsDropdownCount{
  flex-shrink: 0;
  background: rgba(220,38,38,.1);
  color: #dc2626;
  font-size: 11px;
  font-weight: 700;
  border-radius: 999px;
  padding: 1px 7px;
}
.alertsAssetsDropdownItemSelected{
  background: rgba(37,99,235,.07);
  color: rgba(30,64,175,.96);
}
.alertsAssetsDropdownItemSelected:hover{
  background: rgba(37,99,235,.12);
}
.alertsAssetsDropdownMeta{
  color: rgba(15,23,42,.4);
  font-weight: 500;
}
.collapsedAssetPicker{
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(30, 64, 175, .96);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
}
.collapsedAssetPicker .collapsedColumnTag{
  margin-bottom: 7px;
  margin-top: 0;
}
.collapsedWeatherStatus.has-alerts{
  color: rgba(185, 28, 28, .96);
}

.collapsedWeatherStatus.no-alerts{
  color: rgba(15, 23, 42, .94);
}

.collapsedWeatherStatusText{
  display:flex;
  flex-direction:column;
  gap: 4px;
  min-width:0;
}

.collapsedWeatherStatusLabel{
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(15, 23, 42, .52);
  font-weight: 700;
}

.collapsedWeatherStatusPrimary{
  display:inline-flex;
  align-items:baseline;
  gap: 8px;
  font-size: clamp(34px, 2.6vw, 50px);
  line-height: 1;
  color: #ef4444;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.collapsedWeatherStatusPrimary > #collapsedPortfolioWeatherCount{
  font: inherit;
}

.collapsedWeatherStatus.no-alerts .collapsedWeatherStatusPrimary{
  color: rgba(37, 99, 235, .96);
}

.collapsedWeatherStatusMeta,
.collapsedWeatherStatusText > #collapsedPortfolioWeather{
  font-size: 15px;
  line-height: 1.25;
  color: rgba(15, 23, 42, .58);
  font-weight: 520;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedWeatherStatusHead{
  margin: 0;
}

.collapsedWeatherStatusIcon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 13px;
  border: 1px solid rgba(239, 68, 68, .18);
  background: rgba(254, 226, 226, .9);
  color: rgba(239, 68, 68, .96);
  flex: 0 0 auto;
}

.collapsedWeatherStatusIcon svg{
  width: 24px;
  height: 24px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
}

.collapsedWeatherStatus.no-alerts .collapsedWeatherStatusIcon{
  border-color: rgba(59, 130, 246, .18);
  background: rgba(219, 234, 254, .9);
  color: rgba(37, 99, 235, .95);
}

.collapsedWeatherStatusCount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 24px;
  height: 24px;
  border-radius: 999px;
  padding: 0 7px;
  background: rgba(37, 99, 235, .94);
  color:#ffffff;
  font-size:12px;
  font-weight: 800;
  letter-spacing:-0.01em;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .22);
}

.collapsedPortfolioRiskTitle{
  margin: 0;
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.collapsedPortfolioRiskEmpty{
  margin: auto 0;
  padding: 12px 10px;
  border-radius: 10px;
  border: 1px dashed rgba(15, 23, 42, .16);
  background: rgba(255,255,255,.82);
  color: rgba(15, 23, 42, .64);
  font-size: 13px;
  font-weight: 700;
}

.collapsedPortfolioRiskRow.is-selected{
  background: rgba(37, 99, 235, .06);
}

.collapsedPortfolioRiskBarFill{
  display:block;
  height: 100%;
  border-radius: inherit;
  width: 0;
}

.collapsedPortfolioClusterPanel{
  grid-area: clusters;
  display:flex;
  flex-direction:column;
  width: 100%;
  min-width: 0;
  max-width: none;
  justify-self: stretch;
  gap: 10px;
  height: 100%;
  padding: 0;
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  min-height: 0;
  overflow: auto;
}

.collapsedPortfolioTabClusters > .collapsedPortfolioClusterPanel{
  min-height: 0;
}

.collapsedPortfolioClusterPanel:has(#collapsedClusterModeWeighted:checked){
  min-height: 0;
}

.collapsedPortfolioClusterMapArea{
  grid-area: map;
  display:block;
  width: 100%;
  min-width: 0;
  max-width: none;
  justify-self: stretch;
  min-height: 250px;
  height: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: rgba(255,255,255,.98);
}

.collapsedPortfolioClusterHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
}

.collapsedPortfolioClusterHeadActions{
  display:flex;
  align-items:center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.collapsedPortfolioClusterTitle{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.collapsedPortfolioClusterClearBtn{
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 999px;
  background: rgba(241, 245, 249, .86);
  color: rgba(15, 23, 42, .86);
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  padding: 7px 12px;
  cursor: pointer;
}

.collapsedPortfolioClusterClearBtn:hover:not(:disabled){
  border-color: rgba(15, 23, 42, .24);
  color: rgba(15, 23, 42, .95);
}

.collapsedPortfolioClusterClearBtn:disabled{
  opacity: .45;
  cursor: not-allowed;
}

.collapsedPortfolioClusterControls{
  display:flex;
  flex-direction:column;
  gap: 10px;
  border: 1px solid rgba(15, 23, 42, .11);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .96));
  padding: 12px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .85) inset, 0 8px 18px rgba(15, 23, 42, .04);
  transition: background .15s, border-color .15s, box-shadow .15s;
}

.collapsedPortfolioClusterControls[hidden]{
  display:none !important;
}

.collapsedPortfolioClusterControls:has(#collapsedClusterModeWeighted:checked){
  background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .96));
  border-color: rgba(15, 23, 42, .2);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .85) inset, 0 10px 22px rgba(15, 23, 42, .06);
}

.collapsedPortfolioClusterControlsHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
  flex-wrap: wrap;
}

/* Segmented control pill */
.collapsedPortfolioClusterModeSwitch{
  display:flex;
  align-items:stretch;
  align-self: stretch;
  flex: 1;
  min-width: min(100%, 320px);
  height: 36px;
  background: rgba(15, 23, 42, .07);
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 999px;
  padding: 2px;
  gap: 0;
  min-height: 0;
}

.collapsedPortfolioClusterModeOption{
  flex: 1;
  display:flex;
  align-items:center;
  justify-content:center;
  align-self: stretch;
  height: 100%;
  border-radius: 999px;
  border: none;
  background: transparent;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 600;
  color: rgba(15, 23, 42, .56);
  white-space: nowrap;
  cursor: pointer;
  transition: color .12s, background .12s, box-shadow .12s;
  user-select: none;
}

.collapsedPortfolioClusterModeOption > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width: 100%;
  height: 100%;
}

/* Hide radio — label wrapper handles the click */
.collapsedPortfolioClusterModeOption input{
  display: none;
}

.collapsedPortfolioClusterModeOption:has(input:checked){
  background: rgba(255, 255, 255, .98);
  color: rgba(30, 64, 175, .98);
  box-shadow: 0 1px 3px rgba(15, 23, 42, .12), 0 0 0 .5px rgba(59, 130, 246, .2);
}

.collapsedPortfolioClusterModeOption:has(input:focus-visible){
  outline: 2px solid rgba(37, 99, 235, .55);
  outline-offset: 1px;
}

.collapsedPortfolioClusterResetBtn{
  border: 1px solid rgba(15, 23, 42, .13);
  border-radius: 999px;
  background: rgba(241, 245, 249, .92);
  color: rgba(15, 23, 42, .8);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .01em;
  line-height: 1;
  min-height: 32px;
  padding: 0 12px;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
  transition: color .1s, border-color .1s, background .1s;
}

.collapsedPortfolioClusterResetBtn:hover:not(:disabled){
  color: rgba(15, 23, 42, .95);
  border-color: rgba(15, 23, 42, .25);
  background: rgba(255, 255, 255, .98);
}

.collapsedPortfolioClusterResetBtn:disabled{
  opacity: .4;
  cursor: not-allowed;
}

/* Weights section */
.collapsedPortfolioClusterWeightsWrap{
  display:flex;
  flex-direction:column;
  gap: 10px;
  border-top: 1px solid rgba(15, 23, 42, .1);
  padding-top: 10px;
}

.collapsedPortfolioClusterWeightsWrap::before{
  content: "VARIABLES & WEIGHTS";
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  color: rgba(15, 23, 42, .54);
  margin-bottom: -1px;
}

.collapsedPortfolioClusterWeightsList{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  max-height: 196px;
  overflow: auto;
  padding-right: 4px;
}

.collapsedPortfolioClusterWeightRow{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 52px;
  align-items:center;
  gap: 6px;
  background: rgba(255, 255, 255, .86);
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 10px;
  padding: 6px 8px;
  transition: opacity .12s, border-color .12s, background .12s;
}

.collapsedPortfolioClusterWeightRow:has(input[type=checkbox]:not(:checked)){
  opacity: .52;
  background: rgba(248, 250, 252, .86);
}

.collapsedPortfolioClusterWeightToggle{
  display:inline-flex;
  align-items:center;
  gap: 5px;
  min-width: 0;
  cursor: pointer;
}

.collapsedPortfolioClusterWeightToggle input{
  margin: 0;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  accent-color: rgb(37, 99, 235);
  cursor: pointer;
}

.collapsedPortfolioClusterWeightLabel{
  min-width: 0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, .82);
}

.collapsedPortfolioClusterWeightInput{
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 8px;
  background: rgba(248, 250, 252, .96);
  padding: 6px;
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .9);
  text-align: right;
  line-height: 1;
  transition: border-color .1s, background .1s, box-shadow .1s;
}

.collapsedPortfolioClusterWeightInput:focus{
  outline: none;
  border-color: rgba(37, 99, 235, .55);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .14);
}

.collapsedPortfolioClusterWeightInput:disabled{
  opacity: .5;
  pointer-events: none;
}

.collapsedPortfolioClusterApplyBtn{
  align-self: stretch;
  border: none;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(59,91,255,1), rgba(37,99,235,1));
  color: #ffffff;
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  min-height: 36px;
  padding: 0 12px;
  cursor: pointer;
  letter-spacing: .03em;
  box-shadow: 0 8px 16px rgba(37, 99, 235, .24);
  transition: filter .12s, opacity .12s, box-shadow .12s;
}

.collapsedPortfolioClusterApplyBtn:hover:not(:disabled){
  filter: brightness(1.04);
  box-shadow: 0 10px 20px rgba(37, 99, 235, .28);
}

.collapsedPortfolioClusterApplyBtn:disabled{
  opacity: .4;
  cursor: not-allowed;
}

.collapsedPortfolioClusterMeta{
  font-size: 12px;
  color: rgba(15, 23, 42, .64);
  line-height: 1.45;
}

.collapsedPortfolioClusterWarnings{
  display:flex;
  flex-direction:column;
  gap: 4px;
}

.collapsedPortfolioClusterWarning{
  border-radius: 8px;
  border: 1px solid rgba(245, 158, 11, .26);
  background: rgba(254, 243, 199, .64);
  color: rgba(120, 53, 15, .95);
  font-size: 12px;
  line-height: 1.4;
  padding: 8px;
}

.collapsedPortfolioClusterList{
  display:flex;
  flex-direction:column;
  flex: 0 0 auto;
  gap: 8px;
  min-height: auto;
  max-height: none;
  overflow: visible;
  padding-right: 2px;
}

.collapsedPortfolioClusterEmpty,
.collapsedPortfolioClusterError{
  padding: 10px;
  border-radius: 10px;
  border: 1px dashed rgba(15, 23, 42, .16);
  background: rgba(255,255,255,.85);
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .64);
}

.collapsedPortfolioClusterError{
  border-style: solid;
  border-color: rgba(239, 68, 68, .24);
  background: rgba(254, 242, 242, .8);
  color: rgba(153, 27, 27, .9);
}

.collapsedPortfolioClusterRow{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255,255,255,.98);
  padding: 13px 13px 12px;
}

.collapsedPortfolioClusterRow.is-active{
  border-color: rgba(37, 99, 235, .42);
  box-shadow: 0 0 0 1px rgba(59, 130, 246, .14);
}

.collapsedPortfolioClusterRowHead{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items:center;
  gap: 8px;
}

.collapsedPortfolioClusterRowHeadActions{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.collapsedPortfolioClusterSelectBtn{
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  display:grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items:center;
  gap: 7px;
  width: 100%;
  text-align: left;
  cursor: pointer;
}

.collapsedPortfolioClusterSelectBtn:disabled{
  opacity: .5;
  cursor: not-allowed;
}

.collapsedPortfolioClusterSwatch{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--cluster-color, #0EA5E9);
  box-shadow: 0 0 0 2px rgba(15, 23, 42, .10);
}

.collapsedPortfolioClusterLabel{
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 800;
  color: rgba(15, 23, 42, .92);
}

.collapsedPortfolioClusterCount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(241, 245, 249, .92);
  font-size: 12px;
  font-weight: 800;
  color: rgba(15, 23, 42, .78);
  white-space: nowrap;
}

.collapsedPortfolioClusterDetailsToggle{
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(241, 245, 249, .92);
  color: rgba(15, 23, 42, .78);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.collapsedPortfolioClusterDetailsToggle:hover{
  border-color: rgba(15, 23, 42, .22);
  color: rgba(15, 23, 42, .94);
}

.collapsedPortfolioClusterDetailsToggle span{
  display: inline-flex;
}

.collapsedPortfolioClusterDetailsToggle svg{
  width: 14px;
  height: 14px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  fill: none;
  transition: transform .15s ease;
}

.collapsedPortfolioClusterDetailsToggle.is-open svg{
  transform: rotate(180deg);
}

.collapsedPortfolioClusterConfidenceHead{
  margin-top: 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: rgba(15, 23, 42, .62);
}

.collapsedPortfolioClusterConfidenceBarTrack{
  margin-top: 6px;
  height: 5px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(15, 23, 42, .12);
}

.collapsedPortfolioClusterConfidenceBarFill{
  display:block;
  height: 100%;
  border-radius: inherit;
  width: 0;
}

.collapsedPortfolioClusterConfidenceBarFill.tone-good{
  background: #16a34a;
}

.collapsedPortfolioClusterConfidenceBarFill.tone-moderate{
  background: #65a30d;
}

.collapsedPortfolioClusterConfidenceBarFill.tone-warning{
  background: #f59e0b;
}

.collapsedPortfolioClusterAalMetrics{
  margin-top: 8px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.collapsedPortfolioClusterAalMetric{
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(248, 250, 252, .95);
  padding: 7px 8px;
  display:flex;
  flex-direction:column;
  gap: 4px;
  min-width: 0;
}

.collapsedPortfolioClusterAalMetricLabel{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.collapsedPortfolioClusterAalMetricValue{
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  color: rgba(15, 23, 42, .92);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioClusterAalMetricValue.risk-high{
  color: rgba(239, 68, 68, .96);
}

.collapsedPortfolioClusterAalMetricValue.risk-moderate{
  color: rgba(245, 158, 11, .96);
}

.collapsedPortfolioClusterAalMetricValue.risk-low{
  color: rgba(22, 163, 74, .96);
}

.collapsedPortfolioClusterAalMetricValue.risk-below{
  color: rgba(71, 85, 105, .92);
}

.collapsedPortfolioClusterQuickRisk{
  font-size: 11px;
  font-weight: 800;
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 3px 8px;
  white-space: nowrap;
}

.collapsedPortfolioClusterQuickRisk.risk-low{
  color: #166534;
  background: rgba(240, 253, 244, .95);
  border-color: rgba(22, 163, 74, .28);
}

.collapsedPortfolioClusterQuickRisk.risk-moderate{
  color: rgba(30, 64, 175, .95);
  background: rgba(239, 246, 255, .95);
  border-color: rgba(59, 130, 246, .35);
}

.collapsedPortfolioClusterQuickRisk.risk-high{
  color: rgba(146, 64, 14, .95);
  background: rgba(255, 251, 235, .95);
  border-color: rgba(245, 158, 11, .35);
}

.collapsedPortfolioClusterQuickRisk.risk-below{
  color: rgba(51, 65, 85, .92);
  background: rgba(241, 245, 249, .95);
  border-color: rgba(148, 163, 184, .34);
}

.collapsedPortfolioClusterDetails{
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed rgba(15, 23, 42, .14);
  display:flex;
  flex-direction:column;
  gap: 6px;
}

.collapsedPortfolioClusterDetails[hidden]{
  display: none !important;
}

.collapsedPortfolioClusterDetailsBlock{
  display:flex;
  flex-direction:column;
  gap: 6px;
  border: 0;
  background: transparent;
  padding: 0;
}

.collapsedPortfolioClusterDetailsBlock--drivers{
  border: 0;
  background: transparent;
}

.collapsedPortfolioClusterSectionTitle{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .55);
}

.collapsedPortfolioClusterSectionTitleRow{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.collapsedPortfolioClusterDriverList{
  margin: 0;
  padding: 0;
  list-style: none;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.collapsedPortfolioClusterDriverList li{
  display:grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items:center;
  gap: 6px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(248, 250, 252, .95);
  padding: 8px;
  color: rgba(15, 23, 42, .9);
}

.collapsedPortfolioClusterDriverList li.is-empty{
  grid-template-columns: minmax(0, 1fr);
  border-color: rgba(15, 23, 42, .1);
  background: rgba(255, 255, 255, .82);
}

.collapsedPortfolioClusterDriverRank{
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size: 11px;
  font-weight: 800;
  background: rgba(241, 245, 249, .95);
  color: rgba(51, 65, 85, .95);
  border: 1px solid rgba(148, 163, 184, .34);
}

.collapsedPortfolioClusterDriverName{
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapsedPortfolioClusterDriverNameRow{
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}

.collapsedPortfolioClusterDriverNameRow .collapsedPortfolioClusterDriverName{
  flex: 1 1 auto;
}

.collapsedPortfolioClusterDriverNameRow .riskIndicatorInfoBtn{
  margin-left: 0;
}

.collapsedPortfolioClusterDriverMeta{
  grid-column: 2 / -1;
  font-size: 11px;
  line-height: 1.2;
  color: rgba(71, 85, 105, .95);
}

.collapsedPortfolioClusterAssetList{
  margin: 0;
  padding: 0;
  list-style: none;
  display:flex;
  flex-direction: column;
  gap: 8px;
  max-height: 148px;
  overflow: auto;
}

.collapsedPortfolioClusterAssetList li{
  max-width: 100%;
}

.collapsedPortfolioClusterAssetCard{
  width: 100%;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(248, 250, 252, .95);
  padding: 8px;
  display:flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  color: rgba(15, 23, 42, .86);
  overflow: hidden;
  cursor: pointer;
  text-align: left;
}

.collapsedPortfolioClusterAssetCard:hover{
  border-color: rgba(30, 64, 175, .28);
  background: rgba(239, 246, 255, .96);
}

.collapsedPortfolioClusterAssetCard:focus-visible{
  outline: 2px solid rgba(30, 64, 175, .45);
  outline-offset: 1px;
}

.collapsedPortfolioClusterAssetName{
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapsedPortfolioClusterAssetLocation{
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  color: rgba(15, 23, 42, .62);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.collapsedPortfolioClusterAssetList li.is-empty{
  border-radius: 8px;
  padding: 5px 6px;
  border-style: dashed;
  display:block;
  font-weight: 600;
  color: rgba(15, 23, 42, .62);
}

/* ── Cluster Recommendations ── */
.collapsedPortfolioClusterDetailsBlock--recommendations{
  border-color: rgba(15, 23, 42, .12);
  background: rgba(255, 255, 255, .92);
}

.collapsedPortfolioClusterDetailsBlock--recommendations .collapsedPortfolioClusterSectionTitle{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .55);
}

.collapsedPortfolioClusterGenerateBtn{
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 11px;
  border-radius: 999px;
  border: 1px solid rgba(29, 78, 216, .96);
  background: linear-gradient(135deg, rgba(37, 99, 235, 1), rgba(29, 78, 216, 1));
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .24);
  cursor: pointer;
  transition: filter .12s ease, box-shadow .12s ease;
}
.collapsedPortfolioClusterGenerateBtn:hover{
  filter: brightness(1.05);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .28);
}
.collapsedPortfolioClusterGenerateBtn:active{
  filter: brightness(.98);
}
.collapsedPortfolioClusterGenerateBtn:focus-visible{
  outline: 2px solid rgba(37, 99, 235, .42);
  outline-offset: 2px;
}
.collapsedPortfolioClusterGenerateBtn + .collapsedPortfolioClusterRecList{
  margin-top: 8px;
}
.collapsedPortfolioClusterRecLoading{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .76);
  padding: 6px 0;
}
.collapsedPortfolioClusterRecError{
  font-size: 12px;
  font-weight: 700;
  color: #b91c1c;
  padding: 2px 0 4px;
}
.collapsedPortfolioClusterRecList{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.collapsedPortfolioClusterRecItem{
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(248, 250, 252, .95);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.collapsedPortfolioClusterRecItemHead{
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 6px;
}
.collapsedPortfolioClusterRecPriority{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .9);
  color: rgba(15, 23, 42, .7);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 3px 8px;
  flex-shrink: 0;
}
.collapsedPortfolioClusterRecPriority.priority-high{
  border-color: rgba(245, 158, 11, .35);
  background: rgba(255, 251, 235, .95);
  color: rgba(146, 64, 14, .95);
}
.collapsedPortfolioClusterRecPriority.priority-medium{
  border-color: rgba(59, 130, 246, .35);
  background: rgba(239, 246, 255, .95);
  color: rgba(30, 64, 175, .95);
}
.collapsedPortfolioClusterRecPriority.priority-low{
  border-color: rgba(22, 163, 74, .28);
  background: rgba(240, 253, 244, .95);
  color: rgba(21, 128, 61, .95);
}
.collapsedPortfolioClusterRecTitle{
  font-size: 14px;
  font-weight: 800;
  color: rgba(15, 23, 42, .94);
  line-height: 1.35;
}
.collapsedPortfolioClusterRecCards{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}
.collapsedPortfolioClusterRecCard{
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(255, 255, 255, .92);
  padding: 7px 8px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.collapsedPortfolioClusterRecCardTitle{
  font-size: 12px;
  font-weight: 800;
  color: rgba(15, 23, 42, .9);
  line-height: 1.35;
}
.collapsedPortfolioClusterRecCardDetail{
  font-size: 12px;
  font-weight: 600;
  color: rgba(15, 23, 42, .72);
  line-height: 1.4;
}
.collapsedPortfolioClusterRecLegacy{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .78);
  padding: 2px 0 4px;
}
.collapsedPortfolioClusterRecWhyBtn{
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .9);
  color: rgba(15, 23, 42, .7);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  cursor: pointer;
  transition: background .12s;
}
.collapsedPortfolioClusterRecWhyBtn:hover{
  background: rgba(248, 250, 252, .98);
}
.collapsedPortfolioClusterRecReasoning{
  font-size: 12px;
  font-weight: 500;
  color: rgba(15, 23, 42, .76);
  line-height: 1.4;
  padding: 8px;
  margin: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .85);
  border: 1px solid rgba(15, 23, 42, .1);
}
.collapsedPortfolioClusterRecHazards{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.collapsedPortfolioClusterRecHazardTag{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .9);
  color: rgba(15, 23, 42, .7);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  padding: 3px 8px;
}
@media (min-width: 760px){
  .collapsedPortfolioClusterRecCards{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

#collapsedPortfolioMapArea .mapCanvas{
  min-height: 0;
  height: 100%;
  border-radius: 0;
}

#collapsedPortfolioClusterMapArea .mapCanvas{
  min-height: 0;
  height: 100%;
  border-radius: 0;
}

@media (max-width: 900px){
  body.is-collapsed-portfolio{
    height: auto;
    overflow: auto;
  }
  body.is-collapsed-portfolio .wrap{
    height: auto;
    min-height: 100dvh;
    padding: 10px 10px 18px;
  }
  .collapsedAssetBar{
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 0;
    padding: 0;
    overflow: hidden;
  }
  .collapsedSidebar{
    position: relative;
    top: auto;
    left: auto;
    bottom: auto;
    width: auto;
    transform: none;
    transition: none;
    box-shadow: none;
  }
  .collapsedWorkspace{
    padding-top: 0;
  }
  .collapsedOverviewGrid{
    grid-template-columns: minmax(0, 1fr);
  }
  .collapsedPortfolioMetricsRow{
    grid-template-columns: minmax(0, 1fr);
  }
  .collapsedMapHeader{
    flex-wrap: wrap;
    justify-content: flex-end;
  }
  .collapsedMapHeaderTitleWrap{
    margin-right: auto;
  }
  .collapsedMapHeaderMeta{
    display: none;
  }
  .collapsedPortfolioTabClusters{
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "clusters"
      "map";
    gap: 8px;
  }
  .collapsedPortfolioClusterMapArea{
    min-height: 220px;
  }
  .collapsedPortfolioAssetCount{
    font-size: 36px;
  }
  .collapsedPortfolioAal,
  .collapsedPortfolioRatio{
    font-size: 32px;
  }
  .collapsedPortfolioKpiTitle{
    font-size: 13px;
  }
  .collapsedPortfolioKpiIconTile{
    width: 52px;
    height: 52px;
    border-radius: 13px;
  }
  .collapsedPortfolioKpiIconTile svg{
    width: 24px;
    height: 24px;
  }
  .collapsedPortfolioKpiValue{
    font-size: 32px;
  }
  .collapsedPortfolioKpiValueUnit,
  .collapsedPortfolioKpiValueAux{
    font-size: 0.62em;
  }
  .collapsedPortfolioKpiMeta{
    font-size: 15px;
  }
  .collapsedPortfolioAlertCategories{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .collapsedPortfolioAlertCategoryCount{
    font-size: 28px;
  }
}

@media (max-width: 680px){
  .collapsedPortfolioPanelTop{
    flex-direction: column;
    align-items: stretch;
  }
  .collapsedPortfolioAddBtn{
    width: 100%;
  }
  .collapsedPortfolioRiskPanel{
    min-height: 0;
    max-height: none;
  }
  .collapsedPortfolioRiskList{
    min-height: 96px;
  }
  .collapsedPortfolioTabClusters{
    min-height: 220px;
  }
  .collapsedPortfolioSectionTab{
    font-size: 14px;
  }
  .collapsedPortfolioAlertSeverityBadge{
    min-width: 64px;
    font-size: 13px;
    height: 28px;
  }
  .collapsedPortfolioClusterControlsHead{
    flex-direction: column;
    align-items: stretch;
  }
  .collapsedPortfolioClusterModeSwitch{
    min-width: 0;
    width: 100%;
  }
  .collapsedPortfolioClusterResetBtn{
    width: 100%;
  }
  .collapsedPortfolioClusterWeightsList{
    grid-template-columns: minmax(0, 1fr);
  }
}

.toggleAssetsIcon{
  font-size: 1.2em;
  line-height: 1;
}

.grid.sideCollapsed .sideCard{
  display:none;
}

.iconBtn{
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(15, 23, 42, .03);
  color: var(--text);
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-weight: 800;
  user-select:none;
}
.iconBtn:hover{ filter: brightness(1.03); }
.iconBtn[aria-expanded="true"]{
  background: rgba(59, 91, 255, .10);
  border-color: rgba(59, 91, 255, .22);
  color: rgba(37, 99, 235, 1);
}

.modal{
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
.modal[hidden]{
  display: none !important;
}
.modalBackdrop{
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .45);
  backdrop-filter: blur(4px);
}
.modalCard{
  position: relative;
  width: min(720px, 100%);
  max-height: min(78vh, 720px);
  overflow: auto;
  background: rgba(255,255,255, .98);
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, .12);
  box-shadow: 0 24px 70px rgba(2, 6, 23, .22);
}
.modalHeader{
  padding: 14px 14px 10px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}
.modalHeader h3{
  margin: 0;
  font-size: 16px;
}
.modalBody{
  padding: 14px;
}
.modalTabs{
  display:flex;
  gap: 10px;
  margin-bottom: 14px;
}
.modalTab{
  flex: 1;
  min-height: 42px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(15, 23, 42, .03);
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
}
.modalTab.isActive{
  background: rgba(37, 99, 235, .10);
  border-color: rgba(37, 99, 235, .22);
  color: rgba(37, 99, 235, 1);
}
.modalPanel[hidden]{
  display:none !important;
}
.modalFooter{
  padding: 12px 14px 14px 14px;
  display:flex;
  justify-content:flex-end;
  gap: 10px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}
.energyUsedModalCard{
  width: min(560px, 100%);
}
.sustainabilityMetricModalCard{
  width: min(560px, 100%);
}
.energyCarbonDetailModalCard{
  width: min(680px, 100%);
  height: min(92vh, 960px);
  margin-left: 24px;
  margin-right: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.energyCarbonDetailHeader{
  align-items: center;
  border-bottom: 1px solid rgba(15,23,42,.08);
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
}
.energyCarbonDetailHeaderMain{
  min-width: 0;
}
.energyCarbonDetailHeaderMain h3{
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.energyCarbonDetailHeaderActions{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.energyCarbonDetailToggle{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 34px;
  margin: 0;
  box-sizing: border-box;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .16);
  background: rgba(255, 255, 255, .92);
  padding: 0 10px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  color: rgba(15, 23, 42, .86);
}
.energyCarbonDetailToggle input{
  appearance: none;
  width: 40px;
  height: 22px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .16);
  background: rgba(15, 23, 42, .16);
  position: relative;
  cursor: pointer;
}
.energyCarbonDetailToggle input::after{
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform .16s ease;
}
.energyCarbonDetailToggle input:checked{
  background: #3b82f6;
  border-color: #3b82f6;
}
.energyCarbonDetailToggle input:checked::after{
  transform: translateX(18px);
}
.energyCarbonDetailCloseIconBtn{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  padding: 0;
}
.energyCarbonLiveBadge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  color: #166534;
  background: rgba(34, 197, 94, .14);
}
.energyCarbonDetailExportBtn{
  display: inline-flex;
  align-items: center;
  height: 34px;
  min-height: 34px;
  margin: 0;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.energyCarbonDetailBody{
  padding-top: 12px;
  background: rgba(15,23,42,.025);
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1 1 0;
  min-height: 0;
}
.energyCarbonDetailTabs{
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px;
  border-radius: 10px;
  background: rgba(15, 23, 42, .05);
  margin-bottom: 12px;
}
.energyCarbonDetailTab{
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: rgba(15, 23, 42, .66);
  min-height: 34px;
  padding: 8px 14px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.energyCarbonDetailTab.isActive{
  background: #ffffff;
  color: rgba(15, 23, 42, .95);
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .10);
}
.energyCarbonDetailContent{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.energyCarbonCard{
  border: 1px solid rgba(15,23,42,.09);
  border-radius: 10px;
  background: #fff;
  padding: 14px 16px;
}
.energyCarbonKpiSection{
  padding: 4px 0 8px;
}
.energyCarbonCardTitle{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
}
.energyCarbonCardTitle strong{
  font-size: 13px;
  color: rgba(15, 23, 42, .94);
}
.energyCarbonCardSub{
  font-size: 12px;
  color: rgba(15, 23, 42, .58);
}
.energyCarbonLegend{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: rgba(15, 23, 42, .70);
}
.energyCarbonLegend--column{
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}
.energyCarbonChartMeta{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
  flex-shrink: 0;
}
.energyCarbonChartMetaRow{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.energyCarbonLegendItem{
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.energyCarbonLegendDot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  flex: 0 0 8px;
}
.energyCarbonLegendDash{
  width: 14px;
  height: 0;
  border-top: 2px dashed currentColor;
  display: inline-block;
  flex: 0 0 auto;
}
.energyCarbonKpiGrid{
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.energyCarbonKpiCard{
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 10px;
  background: #f3f4f6;
  padding: 12px;
}
.energyCarbonKpiHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.energyCarbonKpiIcon{
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.energyCarbonKpiIcon svg{
  width: 24px;
  height: 24px;
  display: block;
}
.energyCarbonKpiIcon--electricity{
  color: #2563eb;
}
.energyCarbonKpiIcon--gas{
  color: #ea580c;
}
.energyCarbonKpiIcon--carbon{
  color: #0f766e;
}
.energyCarbonKpiLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .58);
}
.energyCarbonKpiValue{
  margin-top: 4px;
  font-size: 29px;
  line-height: 1;
  letter-spacing: -0.02em;
  color: rgba(15, 23, 42, .96);
}
.energyCarbonKpiUnit{
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
}
.energyCarbonKpiDelta{
  margin-top: 6px;
  font-size: 12px;
  font-weight: 700;
}
.energyCarbonKpiDelta.is-higher{
  color: #b42318;
}
.energyCarbonKpiDelta.is-lower{
  color: #166534;
}
.energyCarbonKpiDelta.is-neutral{
  color: rgba(15, 23, 42, .62);
}
.energyCarbonChart{
  width: 100%;
  height: auto;
  display: block;
}
.energyCarbonDonut{
  display: block;
  flex: 0 0 auto;
}
.energyCarbonTwoCol{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
  gap: 10px;
}
.energyCarbonMixWrap{
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.energyCarbonSystemRows{
  display: grid;
  gap: 8px;
}
.energyCarbonSystemRow{
  display: grid;
  grid-template-columns: 1.4fr minmax(0, 2fr) 90px;
  align-items: center;
  gap: 9px;
}
.energyCarbonSystemLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .8);
  min-width: 0;
}
.energyCarbonSystemBarTrack{
  height: 7px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .09);
  overflow: hidden;
}
.energyCarbonSystemBar{
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #3b82f6, #2563eb);
}
.energyCarbonSystemBar.is-negative{
  background: linear-gradient(90deg, #22c55e, #16a34a);
}
.energyCarbonSystemValue{
  font-size: 12px;
  text-align: right;
  color: rgba(15, 23, 42, .84);
}
.energyCarbonSystemDelta{
  font-size: 12px;
  text-align: right;
  font-weight: 700;
  border-radius: 999px;
  padding: 3px 7px;
  background: rgba(15, 23, 42, .06);
}
.energyCarbonSystemDelta.is-higher{
  color: #b42318;
  background: rgba(239, 68, 68, .1);
}
.energyCarbonSystemDelta.is-lower{
  color: #166534;
  background: rgba(34, 197, 94, .12);
}
.energyCarbonSystemDelta.is-neutral{
  color: rgba(15, 23, 42, .7);
}
.energyCarbonBenchRows{
  display: grid;
  gap: 10px;
}
.energyCarbonBenchRow{
  display: grid;
  grid-template-columns: 1.6fr minmax(0, 3fr) 90px;
  gap: 9px;
  align-items: center;
}
.energyCarbonBenchLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .84);
}
.energyCarbonBenchTrack{
  height: 11px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .08);
  overflow: hidden;
}
.energyCarbonBenchFill{
  height: 100%;
  border-radius: inherit;
  background: rgba(59, 130, 246, .44);
}
.energyCarbonBenchFill.is-highlight{
  background: rgba(37, 99, 235, .98);
}
.energyCarbonBenchValue{
  font-size: 12px;
  text-align: right;
  color: rgba(15, 23, 42, .84);
}
.energyCarbonDetailFooter{
  justify-content: space-between;
  align-items: center;
  flex: 0 0 auto;
}
.energyCarbonDetailMeta{
  font-size: 12px;
  color: rgba(15, 23, 42, .58);
}
.energyCarbonPeriodPills{
  display: inline-flex;
  gap: 6px;
}
.energyCarbonPeriodPill{
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(15, 23, 42, .02);
  color: rgba(15, 23, 42, .78);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 400;
}
.energyCarbonPeriodPill.is-active{
  border-color: rgba(37, 99, 235, .28);
  background: rgba(37, 99, 235, .12);
  color: rgba(30, 64, 175, .98);
}
.energyCarbonActionPanel{
  margin-top: 10px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 12px;
  background: rgba(248, 250, 252, .94);
  padding: 10px;
}
.energyCarbonActionPanelHead{
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.energyCarbonActionPanelTitle{
  font-size: 12px;
  color: rgba(15, 23, 42, .78);
  font-weight: 700;
}
.energyCarbonActionPanelHost{
  margin-top: 10px;
}
@media (max-width: 980px){
  .energyCarbonKpiGrid{
    grid-template-columns: 1fr;
  }
  .energyCarbonMixWrap{
    grid-template-columns: 1fr;
    justify-items: center;
  }
}
@media (max-width: 760px){
  .energyCarbonDetailTabs{
    flex-wrap: wrap;
  }
  .energyCarbonDetailTab{
    flex: 1 1 calc(50% - 4px);
  }
  .energyCarbonDetailHeaderActions{
    width: 100%;
    justify-content: flex-start;
  }
  .energyCarbonSystemRow{
    grid-template-columns: 1fr;
    gap: 5px;
  }
  .energyCarbonBenchRow{
    grid-template-columns: 1fr;
    gap: 5px;
  }
}
.assetEditModalCard{
  width: min(560px, 100%);
}
.assetDocsImportModalCard{
  width: min(520px, 100%);
}
.assetDocsImportBody{
  padding: 18px 16px;
}
.assetDocsImportRow{
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 72px;
}
.assetDocsImportLead{
  font-size: 14px;
  font-weight: 700;
  color: rgba(15, 23, 42, .92);
  margin-bottom: 4px;
}
.assetDocsImportProgressWrap{
  margin-top: 9px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.assetDocsImportProgressTrack{
  flex: 1 1 auto;
  min-width: 220px;
  height: 8px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .10);
  overflow: hidden;
}
.assetDocsImportProgressFill{
  width: 0%;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(37, 99, 235, .85), rgba(59, 130, 246, .95));
  transition: width .12s linear;
}
.assetDocsImportPercent{
  flex: 0 0 auto;
  min-width: 40px;
  text-align: right;
  font-size: 11px;
  line-height: 1;
  font-weight: 800;
  color: rgba(15, 23, 42, .78);
}
.assetImportReviewProgress{
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 800;
  color: rgba(15, 23, 42, .85);
}
.riskDataSourcesPopup{
  position: fixed;
  left: 12px;
  top: 12px;
  z-index: 2200;
}
.riskDataSourcesPopup[hidden]{
  display: none !important;
}
.riskDataSourcesPopupCard{
  width: min(440px, calc(100vw - 24px));
  max-height: min(76vh, 600px);
  overflow: auto;
  border: 1px solid rgba(148, 163, 184, .26);
  border-radius: 16px;
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 26px 54px rgba(15, 23, 42, .18);
}
.riskDataSourcesPopupHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 12px 10px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .2);
}
.riskDataSourcesPopupHead h3{
  margin: 0;
  font-size: 14.5px;
  font-weight: 600;
  color: rgba(15, 23, 42, .94);
}
.riskDataSourcesPopupClose{
  width: 30px;
  height: 30px;
  border-radius: 10px;
}
.riskDataSourcesPopupBody{
  padding: 12px 14px 14px 14px;
  font-size: 13.5px;
}
.riskDataSourcesContent{
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.riskDataSourcesGroup{
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 12px;
  background: rgba(248, 250, 252, .92);
  padding: 11px 12px;
}
.riskDataSourcesGroup h4{
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: rgba(15, 23, 42, .9);
}
.riskDataSourcesEntry{
  border-top: 1px dashed rgba(15, 23, 42, .12);
  padding-top: 10px;
  margin-top: 10px;
}
.riskDataSourcesEntry:first-of-type{
  border-top: 0;
  margin-top: 0;
  padding-top: 0;
}
.riskDataSourcesEntry h5{
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: rgba(15, 23, 42, .9);
}
.riskDataSourcesMeta{
  margin-top: 7px;
}
.riskDataSourcesMetaLabel{
  font-size: 12.75px;
  font-weight: 600;
  color: rgba(15, 23, 42, .72);
}
.riskDataSourcesMeta ul{
  margin: 4px 0 0 16px;
  padding: 0;
}
.riskDataSourcesMeta li{
  font-size: 13.5px;
  line-height: 1.42;
  color: rgba(15, 23, 42, .82);
}
.riskDataSourcesLegendRows{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.riskDataSourcesLegendRow{
  display: inline-flex;
  align-items: center;
  gap: 9px;
}
.riskDataSourcesLegendText{
  font-size: 13.5px;
  line-height: 1.3;
  color: rgba(15, 23, 42, .84);
}
.energyUsedFormGrid{
  align-items: start;
}
.sustainabilityMetricFormGrid{
  align-items: start;
}
.assetEditFormGrid{
  align-items: start;
}

.formGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items:end;
}
.formGrid .full{
  grid-column: 1 / -1;
}
@media (max-width: 740px){
  .formGrid{ grid-template-columns: 1fr; }
}

.hint{
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--muted);
}
.fieldHintError{
  color: rgba(153, 27, 27, 1);
}
input[aria-invalid="true"]{
  border-color: rgba(239, 68, 68, .65);
  box-shadow:
    0 0 0 3px rgba(239, 68, 68, .15),
    0 1px 0 rgba(15, 23, 42, .03);
}
.mono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12px;
}

.divider{
  height: 1px;
  background: rgba(15, 23, 42, .10);
  margin: 14px 0;
}

.csvImport{
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.csvImportTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}
.docUpload{
  display:flex;
  flex-direction:column;
  gap: 12px;
}
.docUploadTitle{
  font-weight: 700;
}
.docDropZone{
  border: 1px dashed rgba(15, 23, 42, .18);
  border-radius: 14px;
  padding: 16px;
  background: rgba(15, 23, 42, .02);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap: 8px;
}
.docFileList{
  min-height: 44px;
  padding: 12px 14px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(15, 23, 42, .02);
  font-size: 13px;
  color: var(--text);
  line-height: 1.45;
  white-space: pre-wrap;
}

.coordGrid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 740px){
  .coordGrid{ grid-template-columns: 1fr; }
}

.miniMapWrap{
  margin-top: 12px;
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.miniMap{
  width: 100%;
  height: 220px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(15, 23, 42, .04);
}

.segmented{
  display:flex;
  gap: 0;
  background: rgba(15, 23, 42, .03);
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 12px;
  overflow:hidden;
}
.segmentedItem{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  padding: 10px 12px;
  cursor:pointer;
  user-select:none;
  font-size: 13px;
  color: var(--text);
}
.segmentedItem input{
  margin: 0;
}

.btn.ghost{
  background: rgba(15, 23, 42, .03);
  color: var(--text);
  border: 1px solid rgba(15, 23, 42, .12);
}
.btn.ghost:hover{ filter: brightness(1.02); }

.sideBody{
  padding: 14px;
  display:flex;
  flex-direction:column;
  gap: 12px;
  overflow:auto;
  flex: 1;
  min-height: 0;
}

.asset{
  padding: 12px;
}

.assetTop{
  display:grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  align-items:start;
}
@media (max-width: 720px){
  .assetTop{
    grid-template-columns: minmax(0, 1fr);
  }
}

.riskGauge{
  width: 88px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap: 6px;
  user-select:none;
  position: relative;
}
.riskGauge.noInfo{
  opacity: .45;
  filter: saturate(.15);
}
.riskGauge.noInfo .riskGaugeNeedle{
  visibility: hidden;
}
.riskGaugeSvg{
  width: 76px;
  height: auto;
  display:block;
}
.riskGaugeBg{
  fill: none;
  stroke: rgba(15, 23, 42, .12);
  stroke-width: 11;
  stroke-linecap: round;
}
.riskGaugeArc{
  fill: none;
  stroke-width: 11;
  stroke-linecap: round;
  opacity: .95;
}
.riskGaugeNeedle{
  stroke: rgba(15, 23, 42, .78);
  stroke-width: 1.8;
  stroke-linecap: round;
}
.riskGaugePivot{
  fill: rgba(15, 23, 42, .78);
  opacity: 0;
}
.riskGaugeValue{
  position: absolute;
  top: 24px;
  left: 0;
  right: 0;
  text-align: center;
  font-weight: 850;
  font-size: 12.5px;
  letter-spacing: -0.02em;
  color: rgba(15, 23, 42, .92);
  pointer-events: none;
}
.riskGaugePill{
  padding: 3px 6px;
  border-radius: 999px;
  font-weight: 850;
  font-size: 9px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(15, 23, 42, .04);
  color: rgba(15, 23, 42, .86);
  white-space: nowrap;
  margin-top: -6px;
}
.riskGaugePill.noInfo{
  background: rgba(107, 114, 128, .12);
  border-color: rgba(107, 114, 128, .22);
  color: rgba(107, 114, 128, 1);
}

.riskGaugePill.riskBand.low{
  background: rgba(27, 138, 58, .16);
  border-color: rgba(27, 138, 58, .25);
  color: rgba(21, 128, 61, 1);
}
.riskGaugePill.riskBand.medium{
  background: rgba(183, 243, 106, .62);
  border-color: rgba(183, 243, 106, .75);
  color: rgba(31, 41, 55, 1);
}
.riskGaugePill.riskBand.high{
  background: rgba(244, 67, 54, .16);
  border-color: rgba(244, 67, 54, .25);
  color: rgba(153, 27, 27, 1);
}

.scoreCircle{
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .12);
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight: 850;
  letter-spacing: -0.02em;
  box-shadow: 0 10px 20px rgba(15, 23, 42, .10);
  color: rgba(15, 23, 42, .92);
  background: rgba(15, 23, 42, .04);
  user-select:none;
}
.scoreCircle.empty{
  background: rgba(15, 23, 42, .04);
  color: rgba(15, 23, 42, .62);
  box-shadow: none;
}

.miniBtn{
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(15, 23, 42, .03);
  color: var(--text);
  padding: 7px 10px;
  border-radius: 12px;
  cursor:pointer;
  font-weight: 800;
  font-size: 10.5px;
  user-select:none;
  display:inline-flex;
  align-items:center;
  width: 88px;
  justify-content: center;
}
.miniBtn:hover{ filter: brightness(1.03); }
.miniBtn[aria-expanded="true"]{
  background: rgba(59, 91, 255, .10);
  border-color: rgba(59, 91, 255, .22);
  color: rgba(37, 99, 235, 1);
}

.assetQuickMeta{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap: wrap;
}

.assetQuickMetaLabel{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .48);
}

.assetQuickMetaValue{
  display:inline-flex;
  align-items:center;
  min-height: 28px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(248, 250, 252, .96);
  color: rgba(15, 23, 42, .82);
  font-size: 11.5px;
  font-weight: 800;
}
.assetQuickMetaValue.noInfo{
  background: rgba(241, 245, 249, .96);
  border-color: rgba(148, 163, 184, .35);
  color: rgba(71, 85, 105, 1);
}

.riskRows{
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.riskActions{
  margin-top: 10px;
}
.exportPdfBtn{
  width: 100%;
  justify-content: center;
}
.riskRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(15, 23, 42, .02);
}
.riskName{
  display:flex;
  align-items:center;
  gap: 10px;
  font-weight: 800;
  font-size: 12.5px;
  color: rgba(15, 23, 42, .88);
}
.riskIndicatorInfoBtn{
  margin-left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .42);
  background: rgba(248, 250, 252, .94);
  color: rgba(51, 65, 85, .94);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  flex: 0 0 auto;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset;
}
.riskIndicatorInfoBtn:hover{
  border-color: rgba(59, 130, 246, .5);
  color: rgba(30, 64, 175, .96);
  background: rgba(239, 246, 255, .98);
}
.riskIndicatorInfoBtn:focus-visible{
  outline: 2px solid rgba(59, 130, 246, .4);
  outline-offset: 1px;
}
.riskValue{
  display:flex;
  align-items:baseline;
  gap: 10px;
  white-space: nowrap;
}
.riskNum{
  font-weight: 850;
  font-size: 12.5px;
}
.riskLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
  font-weight: 800;
}
.riskSwatch{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(15, 23, 42, .10);
  flex: 0 0 auto;
}
.riskSwatch.empty{
  background: rgba(15, 23, 42, .06);
  border-color: rgba(15, 23, 42, .10);
}

.assetInfo{
  display:flex;
  flex-direction:column;
  gap: 6px;
  min-width: 240px;
}
.assetMetaBadges{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}
.assetTitle{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
}
.assetTitle h3{
  margin:0;
  font-size: 14.5px;
  letter-spacing:-0.01em;
}
.assetAddress,
.assetCoords{
  margin: 0;
  color: rgba(15, 23, 42, .62);
  font-size: 12.5px;
  line-height: 1.4;
}
.assetCoords{
  color: rgba(15, 23, 42, .54);
  font-size: 11.5px;
}

.physicalSummaryPanel{
  padding: 0;
  min-height: 0;
  overflow: visible;
  background: transparent;
}

.physicalSummaryPanel.mapHeaderOnly{
  overflow: visible;
}

.mapPanel.mapHidden .physicalSummaryPanel{
  flex: 1;
  max-height: none;
  min-height: 0;
}

.mapPanel.mapHidden .physicalSummaryCard{
  min-height: 100%;
}

.physicalSummaryCard{
  border-radius: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0;
  display:flex;
  flex-direction:column;
  gap: 16px;
  min-height: 100%;
}

.physicalSummaryCard--asset,
.physicalSummaryCard--portfolio{
  border-radius: 24px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: linear-gradient(180deg, rgba(255, 255, 255, .99), rgba(250, 252, 255, .98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.86);
  padding: 18px;
  min-height: auto;
}

.physicalSummaryCard--asset{
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.physicalSummaryCard--empty{
  min-height: auto;
  justify-content:center;
}

.physicalSummaryHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 14px;
}

.physicalSummaryHeadMain{
  display:flex;
  flex-direction:column;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.physicalSummaryHeadAside{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 10px;
  text-align:right;
  flex: 0 0 auto;
}

.physicalSummaryEyebrow{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .48);
}

.physicalSummaryHead h3,
.physicalSummaryCard--empty h3{
  margin: 6px 0 4px;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.assetTitleRow{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-spacing: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.assetTitleRow h3{
  margin: 0;
  min-width: 0;
  word-break: break-word;
}

.assetTitleRow .assetNameEditBtn{
  position: static;
  top: auto;
  right: auto;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  flex: 0 0 auto;
}

.assetTitleRow .assetNameDeleteBtn{
  border-color: rgba(239, 68, 68, .28);
  background: rgba(239, 68, 68, .08);
  color: rgba(153, 27, 27, .92);
}

.assetTitleRow .assetNameDeleteBtn:hover{
  background: rgba(239, 68, 68, .16);
  border-color: rgba(239, 68, 68, .4);
  color: rgba(127, 29, 29, .98);
}

.assetTitleRow .assetNameInfoBtn{
  border-color: rgba(59, 130, 246, .28);
  background: rgba(59, 130, 246, .08);
  color: rgba(30, 64, 175, .92);
}

.assetTitleRow .assetNameInfoBtn:hover{
  background: rgba(59, 130, 246, .16);
  border-color: rgba(59, 130, 246, .42);
  color: rgba(30, 58, 138, .98);
}

.mapPanel.weatherLayout .assetTitleRow,
.mapPanel.actionPlanMode .assetTitleRow{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-spacing: 0 !important;
  border-collapse: collapse !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

.physicalSummaryHead p,
.physicalSummaryCard--empty p{
  margin: 0;
  color: rgba(15, 23, 42, .62);
  font-size: 13px;
  line-height: 1.45;
}

.assetSummaryTop{
  display:flex;
  flex-direction:column;
  gap: 18px;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.assetSummaryTop--compact{
  gap: 12px;
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.mapOverlayModeTabs{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap: 8px;
  min-width: 0;
}
.selectedAssetDetailControls{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.selectedAssetDetailToggle{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .92);
  padding: 7px 10px;
  font-size: 12px;
  color: rgba(15, 23, 42, .82);
  font-weight: 600;
}
.selectedAssetDetailToggle input{
  appearance: none;
  width: 34px;
  height: 20px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .22);
  background: rgba(148, 163, 184, .45);
  position: relative;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}
.selectedAssetDetailToggle input::after{
  content: "";
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #ffffff;
  position: absolute;
  left: 2px;
  top: 2px;
  transition: transform .18s ease;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .28);
}
.selectedAssetDetailToggle input:checked{
  background: rgba(37, 99, 235, .78);
  border-color: rgba(37, 99, 235, .84);
}
.selectedAssetDetailToggle input:checked::after{
  transform: translateX(14px);
}
.selectedAssetEnergyCarbonBtn{
  min-height: 34px;
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 700;
}
.selectedAssetEnergyCarbonBtn[disabled]{
  opacity: .45;
  cursor: not-allowed;
}

.mapOverlayModeTab{
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .62);
  padding: 4px 2px;
  border-radius: 0;
  cursor:pointer;
  font-weight: 800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  box-shadow: none;
}

.mapOverlayModeTab span:last-child{
  text-decoration: none;
}

.mapOverlayModeTab:hover{
  color: rgba(15, 23, 42, .88);
}

.mapOverlayModeTab.is-active{
  color: rgba(15, 23, 42, .96);
  box-shadow: none;
}

.mapOverlayModeTab.is-active span:last-child{
  text-decoration: underline;
  text-underline-offset: 4px;
}

.mapOverlayWeatherAlertIcon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: rgba(220, 38, 38, .98);
  color: #ffffff;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  box-shadow: 0 0 0 0 rgba(220, 38, 38, .55);
  animation: weatherAlertPulse 1.4s ease-out infinite;
}

@keyframes weatherAlertPulse{
  0%{
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(220, 38, 38, .55);
  }
  70%{
    transform: scale(1.08);
    box-shadow: 0 0 0 8px rgba(220, 38, 38, 0);
  }
  100%{
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(220, 38, 38, 0);
  }
}

.mapOverlayAlertsBadge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 6px;
  border-radius: 999px;
  background: rgba(220, 38, 38, .95);
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetSummaryCard{
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .assetSummaryTop--dashboard{
  gap: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetDashboardHead{
  align-items: center;
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetDashboardHeadMain{
  min-width: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetHeaderTitleRow{
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetBackBtn{
  width: 36px;
  height: 36px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 10px;
  background: #f8fafc;
  color: rgba(15, 23, 42, .82);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-weight: 700;
  flex: 0 0 auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetBackBtn:hover{
  background: #eef2ff;
  border-color: rgba(37, 99, 235, .34);
  color: rgba(30, 64, 175, .95);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetHeaderTitleBlock{
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 2px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetHeaderTitleBlock h3{
  margin: 0;
  font-size: clamp(32px, 2.2vw, 44px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 500;
  color: rgba(15, 23, 42, .96);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetHeaderSubtitle{
  margin: 0;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: rgba(100, 116, 139, .95);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetDashboardHeadAside{
  align-items: flex-start;
  flex: 1 1 auto;
  min-width: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  width: 100%;
  max-width: 100%;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetMoreBtn,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetExportBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 0;
  min-width: 0;
  max-width: none;
  padding: 5px 10px;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: #ffffff;
  color: rgba(71, 85, 105, .95);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none;
  transform: none;
  filter: none;
  text-decoration: none;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab{
  border-color: transparent;
  background: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab:hover,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetMoreBtn:hover,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetExportBtn:hover{
  background: #f4f5f7;
  color: rgba(26, 29, 35, .96);
  border-color: rgba(15, 23, 42, .2);
  box-shadow: none;
  transform: none;
  filter: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab:hover{
  background: transparent;
  border-color: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab:focus,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab:focus-visible,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetMoreBtn:focus,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetMoreBtn:focus-visible,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetExportBtn:focus,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetExportBtn:focus-visible{
  outline: none;
  box-shadow: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .physicalSummarySectionHeaderTop{
  font-weight: 800;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenu{
  position: relative;
  display: inline-flex;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreBtn{
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenuPanel{
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 170px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: #ffffff;
  box-shadow: 0 10px 22px rgba(15, 23, 42, .12);
  padding: 6px;
  display: grid;
  gap: 6px;
  z-index: 40;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenuItem{
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 8px;
  background: #ffffff;
  color: rgba(71, 85, 105, .95);
  text-align: left;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  padding: 7px 10px;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenuItem:hover{
  background: #f4f5f7;
  color: rgba(26, 29, 35, .96);
  border-color: rgba(15, 23, 42, .2);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenuItem--danger{
  color: #dc2626;
  border-color: #fecaca;
  background: #fef2f2;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenuItem--danger:hover{
  background: #fee2e2;
  border-color: #fca5a5;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTabs{
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab{
  font-weight: 500;
  color: rgba(71, 85, 105, .95);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab > span:first-child{
  display: inline-flex;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab.is-active{
  background: #ffffff;
  color: rgba(26, 29, 35, .96);
  border-color: rgba(15, 23, 42, .2);
  box-shadow: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .mapOverlayModeTab.is-active span:last-child{
  text-decoration: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetExportBtn{
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetExportBtn::before{
  content: "";
  width: 15px;
  height: 15px;
  flex: 0 0 15px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 15px 15px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111827' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3Cpath d='M4 16v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3'/%3E%3C/svg%3E");
}
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetDetailControls{
  gap: 6px;
}
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetDetailToggle{
  min-height: 36px;
  border-radius: 12px;
  padding: 7px 10px;
  border-color: rgba(15, 23, 42, .12);
  background: rgba(255, 255, 255, .92);
}
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions .selectedAssetEnergyCarbonBtn{
  min-height: 36px;
  border-radius: 12px;
  padding: 8px 14px;
  border-color: rgba(15, 23, 42, .12);
  background: rgba(255, 255, 255, .92);
  box-shadow: none;
  color: rgba(31, 41, 55, .95);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricGrid{
  display: grid;
  grid-template-columns:
    minmax(0, calc((100% - 12px) / 2))
    minmax(0, calc((100% - 36px) / 4))
    minmax(0, calc((100% - 36px) / 4));
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricCard{
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  background-image: none;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricCard--aal{
  border-radius: 18px;
  border: 1px solid #cfd4da;
  background: #ffffff;
  background-image: none;
  padding: 14px 20px 10px;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricTitle{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(100, 116, 139, .9);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricIcon{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(37, 99, 235, .18);
  background: rgba(59, 130, 246, .10);
  color: rgba(37, 99, 235, .92);
  font-size: 14px;
  font-weight: 800;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricTrend{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 800;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricTrend--up{
  color: #c2410c;
  background: rgba(251, 191, 36, .18);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricTrend--down{
  color: #065f46;
  background: rgba(34, 197, 94, .18);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricTrend--flat,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricTrend--neutral{
  color: rgba(71, 85, 105, .9);
  background: rgba(148, 163, 184, .18);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricValue{
  font-size: clamp(20px, 1.75vw, 44px);
  line-height: 1.05;
  font-weight: 500;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .98);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricValue--single{
  margin-top: 4px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricValue--accent{
  color: #d97706;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricValueMeta{
  font-size: 14px;
  color: rgba(100, 116, 139, .9);
  font-weight: 600;
  margin-left: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricCard--aal .selectedAssetMetricTitle{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  color: rgba(17, 24, 39, .58);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricCard--aal .selectedAssetMetricValue{
  font-size: clamp(32px, 2vw, 46px);
  font-weight: 600;
  color: #111827;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricCard--aal .selectedAssetMetricValueMeta{
  font-size: clamp(14px, .95vw, 30px);
  color: rgba(17, 24, 39, .58);
  font-weight: 500;
  margin-left: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricHint{
  font-size: 13px;
  line-height: 1.35;
  color: rgba(100, 116, 139, .95);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioValueRow{
  display: flex;
  align-items: baseline;
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioValueRow .selectedAssetMetricValue{
  margin-top: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioBandWrap{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioBand{
  position: relative;
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  border: 1px solid rgba(100, 116, 139, .2);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioSegment{
  display: block;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioSegment--low{
  background: #8fb15b;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioSegment--medium{
  background: #e6bd72;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioSegment--high{
  background: #de8c8f;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioMarker{
  position: absolute;
  top: -9px;
  transform: translateX(-50%);
  width: 4px;
  height: 28px;
  border-radius: 6px;
  background: #111827;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioMarker.is-hidden{
  display: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioLevelLabels,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioScaleLabels{
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  line-height: 1.1;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioLevelLabels{
  font-weight: 600;
  color: rgba(31, 41, 55, .66);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioScaleLabels{
  color: rgba(100, 116, 139, .92);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioRows{
  margin-top: 2px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioRow{
  border-radius: 12px;
  background: #f3f2ef;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioRowLabel{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3f3f46;
  font-size: 14px;
  font-weight: 600;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDot--asset{
  background: #b56d14;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDot--portfolio{
  background: #3a80c4;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioRowRight{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioRowValue{
  color: #1f2937;
  font-size: 17px;
  font-weight: 600;
  white-space: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDelta{
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDelta--better{
  background: #d9ebc8;
  color: #355f1f;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDelta--worse{
  background: #f4d4d6;
  color: #9a1e27;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDelta--flat,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetLossRatioDelta--neutral{
  background: #e5e7eb;
  color: #4b5563;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendHead{
  margin-top: 2px;
  display: flex;
  align-items: baseline;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendMain{
  font-size: clamp(28px, 2.05vw, 44px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendMain--up{
  color: #a92a2a;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendMain--down{
  color: #256635;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendMain--neutral{
  color: #4b5563;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendSince{
  font-size: 13px;
  color: #5b6472;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendSince strong{
  color: #374151;
  font-weight: 700;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRow{
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendIcon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  font-weight: 700;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRow--physical .selectedAssetRiskTrendIcon{
  background: #f0dbdc;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRow--transition .selectedAssetRiskTrendIcon{
  background: #dbe8ce;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendIcon--up{
  color: #a92a2a;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendIcon--down{
  color: #2c6c2f;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendIcon--flat,
body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendIcon--neutral{
  color: #64748b;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRowTitle{
  font-size: 17px;
  line-height: 1.22;
  font-weight: 600;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRow--physical .selectedAssetRiskTrendRowTitle{
  color: #a92a2a;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRow--transition .selectedAssetRiskTrendRowTitle{
  color: #2f6a25;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendRowNote{
  margin-top: 1px;
  font-size: 13px;
  line-height: 1.28;
  color: #586172;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskTrendHint{
  min-height: 17px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitHeroRow{
  display: flex;
  align-items: baseline;
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitHeroRow .selectedAssetMetricValue{
  margin-top: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitHeroValue--physical{
  color: #a92a2a;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitHeroValue--transition{
  color: #2f6a25;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitBandWrap{
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 2px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitBand{
  height: 12px;
  border-radius: 999px;
  overflow: hidden;
  display: flex;
  border: 1px solid rgba(100, 116, 139, .2);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitBand__physical{
  background: #d4888a;
  flex-shrink: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitBand__transition{
  background: #8fb15b;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitBandLabels{
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: rgba(31, 41, 55, .66);
  line-height: 1.1;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitRows{
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitRow{
  border-radius: 12px;
  background: #f3f2ef;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitRowLabel{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #3f3f46;
  font-size: 14px;
  font-weight: 600;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitDot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
  flex-shrink: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitDot--physical{
  background: #a92a2a;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitDot--transition{
  background: #2f6a25;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalSplitRowValue{
  color: #1f2937;
  font-size: 17px;
  font-weight: 600;
  white-space: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalStrip{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 4px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalYear{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalYearBars{
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 6px;
  min-height: 66px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalYearBars.is-single{
  width: 88px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarItem{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  min-width: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarValue{
  font-size: 14px;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
  line-height: 1;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarValue--future{
  color: #0b4f8f;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarValue--future-hot{
  color: #8f5611;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarWrap{
  width: 52px;
  height: var(--aal-strip-height, 44px);
  border-radius: 6px;
  background: rgba(203, 213, 225, .18);
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBar{
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBar--current{
  background: #3f8bd5;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBar--future{
  background: #7eaad6;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBar--future-hot{
  background: #eba029;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalYearLabel{
  font-size: 12px;
  font-weight: 500;
  color: rgba(17, 24, 39, .62);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarItem.is-placeholder{
  opacity: .72;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalLegend{
  margin-top: 2px;
  padding-top: 2px;
  border-top: 1px solid rgba(148, 163, 184, .4);
  display: flex;
  align-items: center;
  gap: 22px;
  flex-wrap: wrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalLegendItem{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: rgba(17, 24, 39, .66);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalLegendDot{
  width: 14px;
  height: 14px;
  border-radius: 4px;
  display: inline-block;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalLegendDot--current{
  background: #3f8bd5;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalLegendDot--future{
  background: #7eaad6;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalLegendDot--future-hot{
  background: #eba029;
}

@media (max-width: 1180px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalStrip{
    gap: 16px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetAalBarWrap{
    width: 46px;
  }
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchSectionHeader,
body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripHeader{
  padding: 0 4px;
  gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchSectionHeader{
  margin-bottom: -2px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripHeader--extremes{
  margin-bottom: 2px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStrip{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripLead{
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon{
  width: 34px;
  height: 34px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon svg{
  width: 18px;
  height: 18px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--climate{
  background: #eaf0ff;
  color: #2563eb;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--alerts{
  background: #e9e1d6;
  color: #c77d0a;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--extremes{
  background: #fff3e2;
  color: #d97706;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--pathways{
  background: #e5f6f1;
  color: #0f9177;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon svg path{
  fill: currentColor;
  stroke: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--extremes svg path,
body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--pathways svg path,
body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--climate svg path,
body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--alerts svg path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--climate svg circle{
  fill: currentColor;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripIcon--extremes svg circle{
  fill: currentColor;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripLabel{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #667085;
  white-space: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripLine{
  flex: 1 1 auto;
  min-width: 24px;
  height: 1px;
  background: #dfe4ea;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .sectionStripMeta{
  flex: 0 0 auto;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 500;
  color: #98a2b3;
  white-space: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchGrid{
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchGrid .physicalSummaryStatCard{
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  background-image: none;
  box-shadow: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchGrid .physicalSummaryStatCard--switch{
  transition: none;
  transform: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchGrid .physicalSummaryStatCard--switch:hover{
  transform: none;
  border-color: rgba(15, 23, 42, .18);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchGrid .physicalSummaryStatCard--switch.is-active{
  border-color: #2563eb;
  border-width: 2px;
  background: #ffffff;
  background-image: none;
  box-shadow: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetRiskSwitchGrid .physicalSummaryStatCard--switch.is-active:hover{
  background: #ffffff;
  background-image: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel{
  gap: 12px;
  padding: 12px 10px 16px;
  background: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel.riskLayout:not(.mapBelow){
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownCard{
  border-radius: 24px;
  border: 1px solid #d7dde6;
  background: #ffffff;
  box-shadow: none;
  padding: 18px;
  gap: 12px;
  overflow: hidden auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySectionHeader{
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySectionTitle{
  font-size: 12px;
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummaryDivider{
  display: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummaryRows{
  gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySubsection{
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySubsection + .physicalSummarySubsection{
  margin-top: 12px;
  padding-top: 0;
  border-top: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySubsectionTitle{
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySubsectionRows{
  gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow{
  padding: 3px 10px;
  border-radius: 16px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:hover,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.graphSelected{
  border-color: transparent;
  background: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskName{
  font-size: 13px;
  font-weight: 500;
  color: #1f2430;
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskSwatch{
  width: 14px;
  height: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRowMainRight{
  margin-left: auto;
  min-width: 372px;
  display: grid;
  grid-template-columns: 72px 160px 20px;
  align-items: center;
  justify-content: end;
  column-gap: 16px;
  row-gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskValue{
  display: contents;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskNum{
  grid-column: 1;
  justify-self: end;
  align-items: center;
  min-width: 0;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: #212631;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskLabel{
  grid-column: 2;
  justify-self: end;
  min-width: 0;
  white-space: nowrap;
  text-align: right;
  font-size: 13px;
  font-weight: 500;
  color: #22c55e;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.moderate-low) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.low-moderate) .riskLabel{
  color: #65a30d;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.moderate) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.moderate-high) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.high) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.very-high) .riskLabel{
  color: #d97706;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow:has(.riskSwatch.riskLevel.critical) .riskLabel{
  color: #ef4444;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .sspToggleBtn{
  grid-column: 3;
  justify-self: end;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .sspToggleBtn:hover{
  background: transparent;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp{
  padding-bottom: 3px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRowMain{
  min-height: 20px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspCollapsibleContent{
  margin-top: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimeline{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineItem{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 18px;
  border: 1px solid #e6eaf0;
  background: #f3f5f8;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineItem:first-child{
  border-color: #dbe4ff;
  background: #eaf0ff;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineLabel{
  font-size: 13px;
  font-weight: 500;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineValue{
  font-size: 13px;
  font-weight: 600;
  color: #202532;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineItem:first-child .riskTimelineLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineItem:first-child .riskTimelineValue{
  color: #2563eb;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdown{
  margin-top: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownGrid{
  display: grid;
  grid-template-columns: minmax(120px, 1.2fr) repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: center;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownCell{
  padding: 8px 12px;
  font-size: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownCell:nth-child(-n+4){
  border-top: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownCell:nth-child(n+5){
  border-top: 1px solid #e3e7ee;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownHeader{
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownScenario{
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownValue{
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #202532;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.expanded .sspToggleBtn{
  color: #2563eb;
}

@media (max-width: 1400px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .physicalSummarySectionTitle{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskName{
    font-size: 13px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRowMainRight{
    min-width: 336px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskValue{
    display: contents;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskNum{
    font-size: 13px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskLabel{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRowMainRight{
    grid-template-columns: 68px 140px 20px;
    column-gap: 14px;
  }
}

@media (max-width: 1200px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRowMainRight{
    min-width: 296px;
    grid-template-columns: 62px 122px 18px;
    column-gap: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskNum{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskLabel{
    font-size: 11px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimeline{
    gap: 10px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineItem{
    padding: 10px 12px;
    border-radius: 16px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineLabel{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .riskTimelineValue{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownCell{
    padding: 7px 10px;
    font-size: 11px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownScenario{
    font-size: 11px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBreakdownPanel .riskRow.hasSsp .sspBreakdownValue{
    font-size: 12px;
  }
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalMapArea{
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 18px;
  background: #ffffff;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalMapArea .mapGraphTabs{
  justify-content: flex-end;
  padding: 8px 8px 6px;
  gap: 6px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  background: #ffffff;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalMapArea .mapGraphTabs::before{
  content: "Location";
  margin-right: auto;
  padding-left: 4px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .5);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalMapArea .mapGraphTab{
  flex: 0 0 auto;
  min-width: 72px;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, .12);
  padding: 6px 10px;
  font-size: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalMapArea .mapGraphTab.is-active{
  border-color: rgba(15, 23, 42, .2);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel .physicalBottomPanel{
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout.weatherBottomPanelLayout--rows{
  grid-template-columns: minmax(0, 1fr);
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout > .riskMapSectionCard{
  border-radius: 24px;
  border: 1px solid #d7dde6;
  background: #ffffff;
  background-image: none;
  box-shadow: none;
  padding: 18px;
  gap: 12px;
  min-height: 0;
  overflow: hidden;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionSustainabilityCard,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .crremPathwaysSection,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .crremPathwayCard{
  background: #ffffff !important;
  background-image: none !important;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk{
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySections{
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySection{
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySectionTitleRow{
  display: flex;
  align-items: center;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySectionIcon{
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #667085;
  flex: 0 0 auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySectionIcon svg{
  width: 14px;
  height: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySectionIcon svg path{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySectionIcon svg circle{
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilitySectionTitle{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #344054;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityGrid{
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityCard{
  border-radius: 16px;
  border: 1px solid #d7dde6;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: none;
  padding: 10px 12px;
  min-height: 124px;
  gap: 7px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityHead{
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityLabel{
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.01em;
  color: #202531;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionAiGeneratedBadge,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionVerifiedBadge{
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid #d4ddf6;
  background: #eef4ff;
  color: #3167d8;
  gap: 4px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionVerifiedBadge{
  border-color: #d4e9d8;
  background: #eefbf2;
  color: #17914b;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionAiGeneratedBadgeIcon,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionVerifiedBadgeIcon{
  width: 11px;
  height: 11px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionAiGeneratedBadgeIcon svg,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionVerifiedBadgeIcon svg{
  width: 11px;
  height: 11px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionAiGeneratedBadgeText,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionVerifiedBadgeText{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .01em;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityEditBtn{
  width: 24px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid #d0d5dd;
  background: #f8fafc;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityEditBtn:hover{
  background: #ffffff;
  border-color: #b8c2d3;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityBody{
  grid-template-columns: minmax(118px, .72fr) minmax(0, 1.28fr);
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreBlock{
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  gap: 4px;
  justify-content: flex-start;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreCaption{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreRow{
  align-items: center;
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreRow .riskSwatch{
  width: 8px;
  height: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreValue{
  font-size: 54px;
  line-height: .95;
  font-weight: 600;
  letter-spacing: -.02em;
  color: #202531;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreLabel{
  font-size: 11px;
  font-weight: 500;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityValuesPane{
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityDatum{
  border: 0;
  border-radius: 10px;
  background: #f3f5f8;
  padding: 7px 10px;
  display: grid;
  grid-template-columns: minmax(84px, auto) minmax(0, 1fr);
  align-items: center;
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityDatum--reference{
  background: #eff2f6;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityDatumLabel{
  font-size: 9.5px;
  font-weight: 700;
  letter-spacing: .08em;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityDatumValue{
  justify-content: flex-end;
  align-items: baseline;
  gap: 8px;
  flex-wrap: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityValue,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityReferenceValue{
  font-size: 22px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: -.02em;
  color: #202531;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityValue--alert{
  color: #d97706;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityUnit,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityReferenceUnit{
  font-size: 11px;
  font-weight: 500;
  color: #98a2b3;
  white-space: nowrap;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysSection{
  border-radius: 0;
  border: 0;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none;
  padding: 0;
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysSection .sectionStripLabel{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysTop{
  align-items: center;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysTop .sectionStrip{
  flex: 1 1 auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysTop .sectionStripMeta{
  font-size: 13px;
  font-weight: 500;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysMeta{
  font-size: 12px;
  font-weight: 500;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysGrid{
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwayCard{
  border-radius: 16px;
  border: 1px solid #dbe1ea;
  box-shadow: none;
  background: #ffffff !important;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwayTitle{
  padding: 12px 12px 0;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremChartWrap{
  padding: 6px 8px 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPlotBg{
  fill: #f3f5f8;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremLegend{
  padding: 8px 12px 12px;
  gap: 10px;
  font-size: 11px;
  color: #64748b;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionContentGrid{
  gap: 12px;
  overflow: visible;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard{
  border-radius: 24px;
  border: 1px solid #d7dde6;
  background: #ffffff;
  box-shadow: none;
  padding: 18px;
  gap: 12px;
  min-height: 0;
  overflow: hidden auto;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummarySectionHeader{
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummarySectionTitle{
  font-size: 12px;
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummaryDivider{
  display: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummaryRows{
  gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummarySubsection{
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummarySubsection + .physicalSummarySubsection{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummarySubsectionTitle{
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .08em;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .physicalSummarySubsectionRows{
  gap: 8px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow{
  padding: 8px 10px;
  border-radius: 16px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:hover,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.graphSelected{
  border-color: transparent;
  background: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskName{
  font-size: 13px;
  font-weight: 500;
  color: #1f2430;
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskSwatch{
  width: 14px;
  height: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMainRight{
  margin-left: auto;
  min-width: 372px;
  display: grid;
  grid-template-columns: 72px 160px 20px;
  align-items: center;
  justify-content: end;
  column-gap: 16px;
  row-gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskValue{
  display: contents;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskNum{
  grid-column: 1;
  justify-self: end;
  align-items: center;
  min-width: 0;
  text-align: right;
  font-size: 13px;
  font-weight: 600;
  color: #212631;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskLabel{
  grid-column: 2;
  justify-self: end;
  min-width: 0;
  white-space: nowrap;
  text-align: right;
  font-size: 13px;
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.moderate-low) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.low-moderate) .riskLabel{
  color: #65a30d;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.moderate) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.moderate-high) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.high) .riskLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.very-high) .riskLabel{
  color: #d97706;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow:has(.riskSwatch.riskLevel.critical) .riskLabel{
  color: #ef4444;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .sspToggleBtn{
  grid-column: 3;
  justify-self: end;
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .sspToggleBtn:hover{
  background: transparent;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp{
  padding-bottom: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspCollapsibleContent{
  margin-top: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimeline{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineItem{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
  border-radius: 18px;
  border: 1px solid #e6eaf0;
  background: #f3f5f8;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineItem:first-child{
  border-color: #dbe4ff;
  background: #eaf0ff;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineLabel{
  font-size: 13px;
  font-weight: 500;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineValue{
  font-size: 13px;
  font-weight: 600;
  color: #202532;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineItem:first-child .riskTimelineLabel,
body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineItem:first-child .riskTimelineValue{
  color: #2563eb;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdown{
  margin-top: 14px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownGrid{
  display: grid;
  grid-template-columns: minmax(120px, 1.2fr) repeat(3, minmax(0, 1fr));
  gap: 0;
  align-items: center;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownCell{
  padding: 8px 10px;
  font-size: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownCell:nth-child(-n+4){
  border-top: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownCell:nth-child(n+5){
  border-top: 1px solid #e3e7ee;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownHeader{
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownScenario{
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .sspBreakdownValue{
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #202532;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.expanded .sspToggleBtn{
  color: #2563eb;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionLocationCard{
  min-height: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionLocationCard .physicalMapArea{
  border-radius: 24px;
  border: 1px solid #d7dde6;
  background: #ffffff;
  overflow: hidden;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionLocationCard .physicalMapArea .mapGraphTabs{
  justify-content: flex-end;
  padding: 10px 10px 8px;
  gap: 6px;
  border-bottom: 1px solid #e3e7ee;
  background: #ffffff;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionLocationCard .physicalMapArea .mapGraphTabs::before{
  content: "Location";
  margin-right: auto;
  padding-left: 4px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionLocationCard .physicalMapArea .mapGraphTab{
  flex: 0 0 auto;
  min-width: 56px;
  border-radius: 8px;
  border: 1px solid #d0d5dd;
  background: #f2f4f7;
  color: #667085;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionLocationCard .physicalMapArea .mapGraphTab.is-active{
  border-color: #d0d5dd;
  background: #ffffff;
  color: #1d2939;
}

@media (max-width: 1280px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityGrid,
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .crremPathwaysGrid,
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionContentGrid{
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 980px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityBody{
    grid-template-columns: minmax(0, 1fr);
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMainRight{
    min-width: 296px;
    grid-template-columns: 62px 122px 18px;
    column-gap: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskNum{
    font-size: 13px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskLabel{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimeline{
    gap: 8px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineItem{
    padding: 9px 10px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineLabel,
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineValue{
    font-size: 12px;
  }
}

@media (max-width: 760px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityHead{
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 6px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityEditBtn{
    grid-column: 2;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityScoreValue{
    font-size: 34px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityValue,
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionSustainabilityReferenceValue{
    font-size: 24px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMain{
    flex-wrap: wrap;
    gap: 8px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMainRight{
    width: 100%;
    min-width: 0;
    grid-template-columns: 60px minmax(0, 1fr) 18px;
    justify-content: start;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskNum{
    justify-self: start;
    text-align: left;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskLabel{
    justify-self: start;
    text-align: left;
  }
}

@media (max-width: 1400px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskName{
    font-size: 13px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMainRight{
    min-width: 336px;
    grid-template-columns: 68px 140px 20px;
    column-gap: 14px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskNum{
    font-size: 13px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskLabel{
    font-size: 12px;
  }
}

@media (max-width: 1200px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMain{
    flex-wrap: nowrap;
    gap: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRowMainRight{
    width: auto;
    min-width: 296px;
    grid-template-columns: 62px 122px 18px;
    column-gap: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskNum{
    justify-self: end;
    text-align: right;
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskLabel{
    justify-self: end;
    text-align: right;
    font-size: 11px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimeline{
    gap: 10px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineItem{
    padding: 10px 12px;
    border-radius: 16px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineLabel{
    font-size: 12px;
  }
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .transitionShell--collapsed-selected-risk .transitionBreakdownCard .riskRow.hasSsp .riskTimelineValue{
    font-size: 12px;
  }
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout > .riskMapSectionCard .physicalSummarySectionHeader{
  gap: 6px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout > .riskMapSectionCard .physicalSummarySectionTitle{
  font-size: 12px;
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout > .riskMapSectionCard .physicalSummaryDivider{
  background: #e3e7ee;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherExpandBtn{
  width: 30px;
  height: 30px;
  border-radius: 10px;
  border: 1px solid #d0d5dd;
  background: #f8fafc;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherExpandBtn:hover{
  background: #ffffff;
  color: #475467;
  border-color: #c7cdd8;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .riskMapSectionBody{
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcAnalysis{
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcGrid{
  gap: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCard{
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid #e3e7ee;
  background: transparent;
  padding: 12px 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCard:last-child{
  border-bottom: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardHeader{
  gap: 12px;
  align-items: center;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardIcon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardTitle{
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: #1f2430;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcViewIndicatorBtn{
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #2563eb;
  font-size: 13px;
  font-weight: 500;
  padding: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcViewIndicatorBtn:hover{
  background: transparent;
  color: #1d4ed8;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardBody{
  padding-left: 52px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardPoint{
  font-size: 14px;
  line-height: 1.45;
  color: #667085;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardFull{
  margin-top: 4px;
  border: 1px solid #e3e7ee;
  border-radius: 16px;
  background: #ffffff;
  padding: 14px 16px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .whcCardFull .whcCardBody{
  padding-left: 0;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherGraphControlCard{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  padding: 0;
  border: 0;
  background: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherGraphControlCard .riskMapSectionControlRow{
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherGraphControlCard .riskMapSectionControlRow label{
  font-size: 13px;
  font-weight: 500;
  color: #98a2b3;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherGraphControlCard .weatherAxisDropdownBtn{
  border: 1px solid #d0d5dd;
  border-radius: 12px;
  padding: 9px 12px;
  font-size: 14px;
  font-weight: 500;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherSectionGraph{
  min-height: 0;
  height: 100%;
  background: transparent;
  gap: 12px;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherSectionGraphPlot{
  min-height: 420px;
  border-radius: 18px;
  border: 1px solid #e3e7ee;
  background: transparent;
}

body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout .weatherSectionGraphEmpty{
  color: #98a2b3;
  font-size: 15px;
}

@media (max-width: 1200px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .weatherBottomPanelLayout{
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 1380px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1100px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetDashboardHead{
    flex-direction: column;
    align-items: stretch;
  }

  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetDashboardHeadAside{
    width: 100%;
    justify-content: flex-start;
  }

  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetTopActions{
    justify-content: flex-start;
  }

  body.is-collapsed-portfolio.is-collapsed-selected-asset .collapsedSelectedAssetView .mapPanel.riskLayout:not(.mapBelow){
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "summary"
      "breakdown"
      "map"
      "bottom";
    grid-template-rows: auto auto minmax(320px, auto) auto;
  }
}

@media (max-width: 760px){
  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMetricGrid{
    grid-template-columns: minmax(0, 1fr);
  }

  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetHeaderTitleRow{
    flex-wrap: wrap;
  }

  body.is-collapsed-portfolio.is-collapsed-selected-asset .selectedAssetMoreMenuPanel{
    right: auto;
    left: 0;
  }
}

.assetSummarySwitchGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items:start;
  padding: 0;
}

.physicalSummaryGaugeWrap{
  display:flex;
  justify-content:center;
}

.physicalSummaryStatCard{
  border-radius: 20px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: linear-gradient(180deg, rgba(239, 246, 255, .92), rgba(248, 251, 255, .98));
  box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
  padding: 13px 14px;
  display:flex;
  flex-direction:column;
  gap: 8px;
  min-height: 100%;
}

.physicalSummaryStatCard--switch{
  appearance: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease, background .12s ease;
}

.physicalSummaryStatCard--switch:hover{
  transform: translateY(-1px);
  border-color: rgba(16, 185, 129, .28);
}

.physicalSummaryStatCard--switch.is-active{
  border-color: rgba(16, 185, 129, .28);
  background: linear-gradient(135deg, rgba(219, 234, 254, .96), rgba(239, 246, 255, .98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 12px 24px rgba(15, 23, 42, .06);
}

.physicalSummaryStatCard--switch.is-active .riskGauge{
  opacity: 1;
  filter: none;
}

.physicalSummaryStatCard--switch.is-active .riskGaugeArc{
  opacity: 1;
}

.physicalSummaryStatCard--switch:not(.is-active) .riskGauge{
  opacity: .52;
  filter: saturate(.45);
}

.physicalSummaryStatCard--switch:not(.is-active) .riskGaugeArc{
  opacity: .22;
}

.physicalSummaryStatCard--switch:focus-visible{
  outline: 2px solid rgba(37, 99, 235, .35);
  outline-offset: 2px;
}

.physicalSummaryStatCard--muted{
  background: linear-gradient(180deg, rgba(241, 247, 255, .88), rgba(248, 251, 255, .96));
}

.physicalSummaryStatLabel{
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .46);
}

.physicalSummaryStatValue{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-width: 48px;
}

.physicalSummaryStatFoot{
  font-size: 11px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .58);
}

.physicalSummaryStatPill{
  font-size: 10px;
  padding: 5px 10px;
  margin-top: 0;
}

.riskSwitchCardBody{
  display:flex;
  align-items:center;
  gap: 12px;
}

.riskSwitchGaugeWrap{
  flex: 0 0 auto;
}

.riskSwitchGaugeWrap .riskGauge{
  width: 84px;
}

.riskSwitchGaugeWrap .riskGaugeSvg{
  width: 72px;
}

.riskSwitchGaugeWrap .riskGaugeValue{
  top: 23px;
  font-size: 15px;
}

.riskSwitchGaugeWrap .riskGaugePill{
  font-size: 8px;
}

.riskSwitchCardBody .physicalSummaryStatValue{
  justify-content:flex-start;
}

.physicalSummaryGaugeWrap .riskGauge{
  width: 102px;
  gap: 4px;
}

.physicalSummaryGaugeWrap .riskGaugeSvg{
  width: 96px;
}

.physicalSummaryGaugeWrap .riskGaugeValue{
  display: block;
  top: 28px;
  font-size: 18px;
  font-weight: 850;
}

.physicalSummaryGaugeWrap .riskGaugePill{
  padding: 3px 7px;
  font-size: 9px;
  letter-spacing: .08em;
  margin-top: -4px;
}

.physicalSummarySectionHeader{
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.physicalSummarySectionHeaderTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
}

.physicalSummarySectionTitle{
  font-size: 15px;
  font-weight: 1050;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
}

.physicalSummarySectionTitleRow{
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.physicalSummaryDivider{
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, rgba(15, 23, 42, .08), rgba(15, 23, 42, .18), rgba(15, 23, 42, .08));
}

.physicalBreakdownCard{
  height: var(--mapH);
  min-height: 0;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(15, 23, 42, .06);
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
  display:flex;
  flex-direction:column;
  gap: 10px;
  overflow-y: auto;
}

.physicalBreakdownWeatherTabs{
  margin-bottom: 10px;
}

.weatherAlertsSection{
  gap: 12px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}

.weatherAlertsSection + .buildingAlertsSection{
  margin-top: 24px;
}

.weatherDecisionTreeOpenBtn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(37, 99, 235, .28);
  background: rgba(239, 246, 255, .95);
  color: rgba(29, 78, 216, 1);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .15s ease, filter .15s ease, border-color .15s ease;
  white-space: nowrap;
}

.weatherDecisionTreeOpenBtn:hover{
  transform: translateY(-1px);
  border-color: rgba(29, 78, 216, .48);
  filter: brightness(1.02);
}

.weatherDecisionTreeOpenBtn:focus-visible{
  outline: none;
  border-color: rgba(37, 99, 235, .55);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .18);
}

.weatherSubtabs{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(248, 250, 252, .92);
  width: fit-content;
  max-width: 100%;
}

.weatherSubtabBtn{
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .65);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  border-radius: 999px;
  padding: 7px 10px;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

.weatherSubtabBtn:hover{
  color: rgba(15, 23, 42, .9);
}

.weatherSubtabBtn.is-active{
  background: rgba(37, 99, 235, .14);
  color: rgba(29, 78, 216, 1);
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .25);
}

.weatherClimateCard{
  gap: 12px;
}

.buildingAlertsSection{
  gap: 12px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}

.riskMapSectionCard{
  width: 100%;
  position: relative;
  gap: 12px;
  min-height: 0;
  overflow: hidden;
}

.riskMapSectionBody{
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 0;
  overflow: visible;
}

.riskMapSectionBody .smallNote{
  margin: 0;
}

.riskMapSectionActions{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.riskMapSectionActions--weather{
  align-self: stretch;
  width: 100%;
}

.riskMapSectionBtn{
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(248, 250, 252, .95);
  color: rgba(15, 23, 42, .86);
  border-radius: 12px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}

.riskMapSectionBtn.is-active{
  background: rgba(37, 99, 235, .14);
  color: rgba(29, 78, 216, 1);
  border-color: rgba(37, 99, 235, .35);
}

.riskMapSectionBtn:hover{
  background: rgba(241, 245, 249, .98);
  color: rgba(15, 23, 42, .95);
  border-color: rgba(15, 23, 42, .24);
}

.riskMapSectionBtn:focus-visible{
  outline: none;
  border-color: rgba(37, 99, 235, .55);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .16);
}

.riskMapSectionMapWrap{
  width: 100%;
  height: 430px;
  min-height: 400px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 16px;
  overflow: hidden;
  background: rgba(248, 250, 252, .95);
  position: relative;
}

.riskMapSectionControlCard{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 8px 18px rgba(15, 23, 42, .12);
  backdrop-filter: blur(6px);
}

.riskMapSectionControlCard--overlay{
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 550;
  width: min(440px, calc(100% - 20px));
  max-width: calc(100% - 20px);
}

.weatherGraphControlCard{
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px 16px;
  align-items: center;
  background: rgba(248, 250, 252, 0.9);
  border: 1px solid rgba(15, 23, 42, 0.07);
  border-radius: 8px;
  padding: 8px 12px;
}

.weatherGraphControlCard .riskMapSectionControlRow{
  flex: 1;
  min-width: 180px;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 10px;
}

.weatherGraphControlCard .riskMapSectionControlRow label{
  font-size: 12px;
}

.weatherGraphControlCard .riskMapSectionControlRow .weatherAxisDropdownBtn{
  -webkit-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  width: 100%;
  border: 1.5px solid rgba(15,23,42,.18);
  border-radius: 8px;
  padding: 6px 8px;
  min-height: 0;
  font-size: 12px;
  line-height: 1.2;
  font-weight: 400;
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  text-align: left;
  box-shadow: none;
  transition: border-color .15s;
  cursor: pointer;
}

.weatherGraphControlCard .riskMapSectionControlRow .weatherAxisDropdownBtn::after{
  content: "▾";
  flex-shrink: 0;
  font-size: 10px;
  color: rgba(15,23,42,.62);
}

.weatherGraphControlCard .riskMapSectionControlRow .weatherAxisDropdownBtn:hover{
  border-color: rgba(15,23,42,.38);
}

.weatherGraphControlCard .riskMapSectionControlRow .weatherAxisDropdownBtn:disabled{
  cursor: default;
  opacity: .6;
}

.weatherAxisDropdown{
  max-height: 320px;
  overflow-y: auto;
}

.riskMapSectionControlRow{
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.riskMapSectionControlRow label{
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  color: rgba(15, 23, 42, .74);
}

.riskMapSectionControlRow select{
  min-width: 0;
  width: 100%;
  font-size: 12px;
  padding: 8px 10px;
  border-radius: 10px;
}

.riskMapSectionTimeRow{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: nowrap;
}

.riskMapSectionTimeRow label{
  margin: 0;
  min-width: 44px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(15, 23, 42, .74);
}

.riskMapSectionTimeRow input[type="range"]{
  flex: 1 1 auto;
  width: auto;
  min-width: 120px;
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.riskMapSectionTimePlay{
  width: 30px;
  height: 30px;
  min-width: 30px;
  padding: 0;
}

.riskMapSectionTimeLabel{
  white-space: nowrap;
  font-size: 11px;
}

.riskMapSectionMap{
  width: 100%;
  height: 100%;
  min-height: 400px;
}

.weatherGraphWrap{
  position: relative;
  height: auto;
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.weatherSectionGraph{
  width: 100%;
  height: auto;
  min-height: 420px;
  aspect-ratio: 16 / 9;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 0;
  background: #ffffff;
}

.weatherSectionGraphPlot{
  width: 100%;
  flex: 1 1 auto;
  min-height: 300px;
  height: auto;
  border-radius: 10px;
  overflow: hidden;
}

.weatherSectionGraphSvg{
  width: 100%;
  height: 100%;
  display: block;
}

.weatherSectionGraphEmpty{
  width: 100%;
  height: 100%;
  min-height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 14px;
  color: rgba(15, 23, 42, .68);
  font-size: 13px;
  line-height: 1.45;
}

.weatherGraphTooltip{
  display: none;
  position: fixed;
  z-index: 9999;
  pointer-events: none;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.10);
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.13);
  padding: 10px 13px;
  min-width: 160px;
}

.weatherGraphTooltipDate{
  font-size: 11px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.55);
  letter-spacing: 0.02em;
  margin-bottom: 7px;
  text-transform: uppercase;
}

.weatherGraphTooltipRow{
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 2px 0;
}

.weatherGraphTooltipDot{
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.weatherGraphTooltipLabel{
  flex: 1;
  font-size: 12px;
  color: rgba(15, 23, 42, 0.70);
}

.weatherGraphTooltipValue{
  font-size: 12px;
  font-weight: 600;
  color: rgba(15, 23, 42, 0.88);
  white-space: nowrap;
}

.riskMapSectionStatus{
  color: rgba(15, 23, 42, .68);
  font-size: 12.5px;
  line-height: 1.4;
}

.climateSnapshotMeta{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.climateTableWrap{
  border: 1px solid rgba(15, 23, 42, .11);
  border-radius: 14px;
  background: rgba(248, 250, 252, .88);
  overflow: auto;
}

.climateTable{
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
}

.climateTable thead th{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .64);
  text-align: left;
  background: rgba(226, 232, 240, .42);
  padding: 9px 10px;
  border-bottom: 1px solid rgba(15, 23, 42, .12);
}

.climateTable tbody th,
.climateTable tbody td{
  font-size: 12.5px;
  line-height: 1.35;
  color: rgba(15, 23, 42, .84);
  text-align: left;
  padding: 9px 10px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  white-space: nowrap;
}

.climateTable tbody th{
  font-weight: 700;
  color: rgba(15, 23, 42, .92);
}

.climateTable tbody tr:last-child th,
.climateTable tbody tr:last-child td{
  border-bottom: 0;
}

.weatherAlertsWarn{
  border-radius: 14px;
  border: 1px solid rgba(245, 158, 11, .35);
  background: rgba(255, 251, 235, .9);
  color: rgba(146, 64, 14, .95);
  font-size: 12.5px;
  line-height: 1.45;
  padding: 10px 12px;
}

.weatherAlertsLoading,
.weatherAlertsEmpty,
.weatherAlertsError{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(248, 250, 252, .88);
  color: rgba(15, 23, 42, .72);
  font-size: 13px;
  line-height: 1.5;
  padding: 12px;
}

.weatherAlertsError{
  border-color: rgba(190, 24, 93, .25);
  color: rgba(136, 19, 55, .95);
  background: rgba(255, 241, 242, .9);
}

.weatherAlertsList{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 0;
}

.weatherAlertItem{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(248, 250, 252, .92);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.weatherAlertHead{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.weatherAlertActionsToggleBtn{
  margin-left: auto;
}

.weatherAlertHeadMain{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.weatherAlertEvent{
  font-size: 14px;
  font-weight: 800;
  color: rgba(15, 23, 42, .95);
  line-height: 1.3;
}

.weatherAlertSender{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
  text-align: left;
}

.weatherAlertTreeBtn{
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .92);
  color: rgba(15, 23, 42, .78);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
  white-space: nowrap;
}

.weatherAlertTreeBtn:hover{
  transform: translateY(-1px);
  border-color: rgba(37, 99, 235, .38);
  background: rgba(239, 246, 255, .98);
  color: rgba(29, 78, 216, 1);
}

.weatherAlertTreeBtn:focus-visible{
  outline: none;
  border-color: rgba(37, 99, 235, .55);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .18);
}

.weatherAlertMeta{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.weatherAlertMetaRow{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 12px;
}

.weatherAlertMetaRow span{
  color: rgba(15, 23, 42, .55);
  font-weight: 700;
}

.weatherAlertMetaRow strong{
  color: rgba(15, 23, 42, .85);
  font-weight: 700;
}

.weatherAlertDesc{
  margin: 0;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .78);
}

.weatherAlertTags{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.weatherAlertTags span{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .16);
  background: rgba(255, 255, 255, .9);
  color: rgba(15, 23, 42, .72);
  font-size: 11px;
  font-weight: 700;
  padding: 3px 8px;
}

.weatherAlertActions{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255, 255, 255, .92);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: none;
  overflow: visible;
}

.weatherAlertItem.hasActions .weatherAlertActions{
  display: none;
}

.weatherAlertItem.hasActions.expanded .weatherAlertActions{
  display: flex;
}

.weatherAlertActionsHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.weatherAlertActionsTitle{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .55);
}

.weatherAlertActionsList{
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: none;
  overflow: visible;
}

.weatherAlertActionItem{
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .1);
  background: rgba(248, 250, 252, .95);
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.weatherAlertActionTitle{
  font-size: 14px;
  font-weight: 800;
  color: rgba(15, 23, 42, .94);
  line-height: 1.35;
}

.weatherAlertActionDetails{
  margin: 0;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(15, 23, 42, .76);
}

.weatherAlertActionMeta{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.weatherAlertActionPill{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .9);
  color: rgba(15, 23, 42, .7);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  padding: 3px 8px;
}

.weatherAlertActionPill--critical{
  border-color: rgba(220, 38, 38, .35);
  background: rgba(254, 242, 242, .95);
  color: rgba(153, 27, 27, .95);
}

.weatherAlertActionPill--high{
  border-color: rgba(245, 158, 11, .35);
  background: rgba(255, 251, 235, .95);
  color: rgba(146, 64, 14, .95);
}

.weatherAlertActionPill--medium{
  border-color: rgba(59, 130, 246, .35);
  background: rgba(239, 246, 255, .95);
  color: rgba(30, 64, 175, .95);
}

.weatherAlertsSection{
  gap: 14px;
}

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

.weatherAlertsKpiCard{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: #ffffff;
  padding: 12px 14px;
  min-height: 74px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
}

.weatherAlertsKpiLabel{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(71, 85, 105, .8);
}

.weatherAlertsKpiValue{
  font-size: 33px;
  font-weight: 500;
  letter-spacing: -.02em;
  color: rgba(15, 23, 42, .96);
  line-height: 1;
}

.weatherAlertsKpiValue--danger{
  color: #ef4444;
}

.weatherAlertsKpiValue--time{
  font-size: 27px;
}

.weatherAlertsList{
  gap: 12px;
  font-weight: 500;
}

.weatherAlertItem{
  position: relative;
  border: 1px solid rgba(15, 23, 42, .09);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8), 0 8px 20px rgba(15, 23, 42, .04);
  padding: 16px;
  padding-left: 20px;
  gap: 12px;
}

.weatherAlertAccent{
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 3px;
  border-radius: 999px;
  background: #e2e8f0;
}

.weatherAlertItem--red .weatherAlertAccent{
  background: #ef4444;
}

.weatherAlertItem--orange .weatherAlertAccent{
  background: #f97316;
}

.weatherAlertItem--yellow .weatherAlertAccent{
  background: #f59e0b;
}

.weatherAlertItem--green .weatherAlertAccent{
  background: #10b981;
}

.weatherAlertHead{
  align-items: flex-start;
  gap: 12px;
}

.weatherAlertHeadMain{
  gap: 7px;
  flex: 1 1 auto;
}

.weatherAlertLead{
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.weatherAlertLeadText{
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.weatherAlertLeadIcon{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(148, 163, 184, .2);
  background: rgba(241, 245, 249, .82);
  color: rgba(100, 116, 139, .95);
  flex: 0 0 auto;
}

.weatherAlertLeadIcon svg{
  width: 21px;
  height: 21px;
}

.weatherAlertLeadIcon--red{
  background: rgba(254, 226, 226, .72);
  color: #b91c1c;
}

.weatherAlertLeadIcon--orange{
  background: rgba(255, 237, 213, .72);
  color: #c2410c;
}

.weatherAlertLeadIcon--yellow{
  background: rgba(254, 243, 199, .78);
  color: #a16207;
}

.weatherAlertLeadIcon--green{
  background: rgba(209, 250, 229, .78);
  color: #047857;
}

.weatherAlertEventRow{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.weatherAlertEvent{
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -.01em;
}

.weatherAlertSeverityBadge{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

.weatherAlertSeverityBadge--red{
  color: #b91c1c;
  border-color: rgba(220, 38, 38, .3);
  background: rgba(254, 226, 226, .9);
}

.weatherAlertSeverityBadge--orange{
  color: #c2410c;
  border-color: rgba(249, 115, 22, .28);
  background: rgba(255, 237, 213, .95);
}

.weatherAlertSeverityBadge--yellow{
  color: #a16207;
  border-color: rgba(245, 158, 11, .3);
  background: rgba(254, 249, 195, .92);
}

.weatherAlertSeverityBadge--green{
  color: #047857;
  border-color: rgba(16, 185, 129, .28);
  background: rgba(209, 250, 229, .92);
}

.weatherAlertSender{
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(71, 85, 105, .9);
}

.weatherAlertHeadAside{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.weatherAlertActionsCount{
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .35);
  background: rgba(248, 250, 252, .95);
  color: rgba(71, 85, 105, .92);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
  padding: 4px 9px;
  white-space: nowrap;
}

.weatherAlertActionsToggleBtn{
  width: 24px !important;
  height: 24px !important;
}

.weatherAlertMeta{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
}

.weatherAlertExpandable{
  display: none;
  flex-direction: column;
  gap: 12px;
}

.weatherAlertItem.expanded .weatherAlertExpandable{
  display: flex;
}

.weatherAlertBodySplit{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.weatherAlertBodyMain{
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.weatherAlertMetaRow{
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .09);
  background: rgba(248, 250, 252, .82);
  padding: 8px 10px;
  gap: 3px;
}

.weatherAlertMetaRow span{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(100, 116, 139, .92);
}

.weatherAlertMetaRow strong{
  font-size: 14px;
  font-weight: 600;
}

.weatherAlertDesc{
  font-size: 15px;
  font-weight: 500;
  line-height: 1.5;
  color: rgba(51, 65, 85, .95);
}

.weatherAlertTimeline{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .09);
  background: rgba(248, 250, 252, .72);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.weatherAlertTimelineHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.weatherAlertTimelineHead > span:first-child{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(100, 116, 139, .92);
}

.weatherAlertTimelineStatus{
  font-size: 13px;
  font-weight: 600;
}

.weatherAlertTimelineStatus--active{
  color: #dc2626;
}

.weatherAlertTimelineStatus--upcoming{
  color: #1d4ed8;
}

.weatherAlertTimelineStatus--ended{
  color: rgba(100, 116, 139, .95);
}

.weatherAlertTimelineTrack{
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: rgba(203, 213, 225, .7);
  overflow: hidden;
}

.weatherAlertTimelineProgress{
  display: block;
  height: 100%;
  border-radius: 999px;
  min-width: 2px;
  background: rgba(148, 163, 184, .9);
}

.weatherAlertTimelineProgress--red{
  background: linear-gradient(90deg, rgba(248, 113, 113, .95), rgba(239, 68, 68, .98));
}

.weatherAlertTimelineProgress--orange{
  background: linear-gradient(90deg, rgba(251, 146, 60, .95), rgba(249, 115, 22, .98));
}

.weatherAlertTimelineProgress--yellow{
  background: linear-gradient(90deg, rgba(251, 191, 36, .95), rgba(245, 158, 11, .98));
}

.weatherAlertTimelineProgress--green{
  background: linear-gradient(90deg, rgba(52, 211, 153, .95), rgba(16, 185, 129, .98));
}

.weatherAlertTimelineFoot{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.weatherAlertTimelineFoot span{
  font-size: 12px;
  color: rgba(71, 85, 105, .84);
}

.weatherAlertTags span{
  border-color: rgba(148, 163, 184, .38);
  color: rgba(71, 85, 105, .9);
  background: rgba(248, 250, 252, .95);
}

.weatherAlertActions{
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  margin-top: 2px;
}

.weatherAlertItem.collapsed{
  padding-top: 14px;
  padding-bottom: 14px;
}

.weatherAlertItem.collapsed .weatherAlertHead{
  align-items: center;
}

.weatherAlertItem.collapsed .weatherAlertLeadText{
  gap: 4px;
}

.weatherAlertItem.collapsed .weatherAlertEvent{
  font-size: 22px;
}

.weatherAlertItem.collapsed .weatherAlertSender{
  color: rgba(100, 116, 139, .86);
}

.weatherAlertActionsTitle{
  font-weight: 700;
  color: rgba(71, 85, 105, .86);
}

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

.weatherAlertActionTitle{
  font-weight: 700;
}

.weatherAlertActionDetails{
  font-size: 14px;
  font-weight: 500;
}

.weatherAlertActionPill{
  font-size: 12px;
  font-weight: 700;
}

.weatherAlertActionItem{
  border-radius: 11px;
  border-color: rgba(148, 163, 184, .32);
  background: rgba(248, 250, 252, .84);
  padding: 10px;
  gap: 8px;
}

.weatherAlertActionItem.is-complete{
  border-color: rgba(34, 197, 94, .32);
  background: rgba(240, 253, 244, .82);
}

.weatherAlertActionHead{
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.weatherAlertActionIndex{
  display: inline-flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(239, 68, 68, .14);
  color: #dc2626;
  font-size: 11px;
  font-weight: 700;
  margin-top: 1px;
  flex-shrink: 0;
}

.weatherAlertActionCheckWrap{
  margin-left: auto;
  position: relative;
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  cursor: pointer;
}

.weatherAlertActionCheck{
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.weatherAlertActionCheckMark{
  position: absolute;
  inset: 0;
  border-radius: 6px;
  border: 1px solid rgba(148, 163, 184, .65);
  background: #ffffff;
  transition: background .15s ease, border-color .15s ease;
}

.weatherAlertActionCheck:checked + .weatherAlertActionCheckMark{
  border-color: rgba(34, 197, 94, .88);
  background: rgba(34, 197, 94, .95);
}

.weatherAlertActionCheck:checked + .weatherAlertActionCheckMark::after{
  content: "";
  position: absolute;
  left: 5px;
  top: 2px;
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.weatherAlertActionCheck:focus-visible + .weatherAlertActionCheckMark{
  box-shadow: 0 0 0 3px rgba(59, 130, 246, .18);
  border-color: rgba(37, 99, 235, .62);
}

.weatherAlertActionItem.is-complete .weatherAlertActionTitle{
  color: rgba(15, 23, 42, .62);
  text-decoration: line-through;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgba(100, 116, 139, .7);
}

.weatherAlertActionItem.is-complete .weatherAlertActionDetails{
  color: rgba(71, 85, 105, .75);
}

@media (max-width: 1260px){
  .weatherAlertsKpiGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  .weatherAlertActionsList{
    grid-template-columns: 1fr;
  }
  .weatherAlertBodySplit{
    grid-template-columns: 1fr;
  }
  .weatherAlertLeadIcon{
    width: 36px;
    height: 36px;
    border-radius: 11px;
  }
}

@media (max-width: 760px){
  .weatherAlertsKpiGrid{
    grid-template-columns: 1fr;
  }
  .weatherAlertMeta{
    grid-template-columns: 1fr;
  }
  .weatherAlertHead{
    flex-direction: column;
  }
  .weatherAlertLead{
    align-items: flex-start;
  }
  .weatherAlertHeadAside{
    width: 100%;
    justify-content: space-between;
  }
  .weatherAlertsKpiValue{
    font-size: 30px;
  }
  .weatherAlertEvent{
    font-size: 20px;
  }
  .weatherAlertItem.collapsed .weatherAlertEvent{
    font-size: 18px;
  }
}

.weatherDecisionTreeModalCard{
  width: min(1180px, 100%);
  max-height: min(90vh, 920px);
}

.weatherDecisionTreeModalBody{
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.weatherDecisionTreeHeaderText{
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.weatherDecisionTreeHeaderText h3{
  margin: 0;
}

.weatherDecisionTreeSubtitle{
  margin: 0;
  color: rgba(15, 23, 42, .64);
  font-size: 12.8px;
  line-height: 1.4;
}

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

.weatherDecisionTreeKpi{
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, .3);
  background: rgba(248, 250, 252, .9);
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.weatherDecisionTreeKpi strong{
  font-size: 13.5px;
  line-height: 1.35;
  color: rgba(15, 23, 42, .92);
}

.weatherDecisionTreeKpiLabel{
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(71, 85, 105, .86);
}

.weatherDecisionTreeKpi--focused{
  background: rgba(254, 242, 242, .84);
  border-color: rgba(220, 38, 38, .26);
}

.weatherDecisionTreeRule{
  grid-column: 1 / -1;
  border-radius: 14px;
  border: 1px solid rgba(59, 130, 246, .24);
  background: linear-gradient(135deg, rgba(239, 246, 255, .95), rgba(247, 250, 252, .95));
  color: rgba(30, 64, 175, .92);
  font-size: 12.8px;
  font-weight: 700;
  line-height: 1.4;
  padding: 10px 12px;
}

.weatherDecisionTreePanel{
  border-radius: 20px;
  border: 1px solid rgba(148, 163, 184, .32);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .95)),
    radial-gradient(circle at top left, rgba(255, 255, 255, .98), rgba(241, 245, 249, .88) 56%),
    #f8fafc;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), 0 10px 24px rgba(15, 23, 42, .06);
  padding: 16px;
  overflow: auto;
}

.weatherDecisionTreeSvg{
  display: block;
  width: 100%;
  height: auto;
  min-width: 1020px;
}

.weatherDecisionTreeItem{
  transition: opacity .24s ease, filter .24s ease, transform .24s ease, stroke-width .24s ease;
}

.weatherDecisionTreeItem.is-faded{
  opacity: .22;
  filter: saturate(.72);
}

.weatherDecisionTreeNode rect{
  stroke-width: 2.2;
  rx: 20;
  ry: 20;
  filter: drop-shadow(0 8px 18px rgba(15, 23, 42, .08));
}

.weatherDecisionTreeNodeTitle{
  font-size: 17px;
  font-weight: 700;
  fill: rgba(15, 23, 42, .95);
  text-anchor: middle;
  pointer-events: none;
}

.weatherDecisionTreeNodeSubtitle{
  font-size: 13px;
  fill: rgba(51, 65, 85, .88);
  text-anchor: middle;
  pointer-events: none;
}

.weatherDecisionTreeNode--start rect{
  fill: #f8fafc;
  stroke: rgba(100, 116, 139, .82);
}

.weatherDecisionTreeNode--decision rect{
  fill: #eef4ff;
  stroke: #7c9bd1;
}

.weatherDecisionTreeNode--red rect{
  fill: #ffe0e0;
  stroke: #c62828;
}

.weatherDecisionTreeNode--orange rect{
  fill: #ffe7d1;
  stroke: #d76b00;
}

.weatherDecisionTreeNode--yellow rect{
  fill: #fff8d9;
  stroke: #c49000;
}

.weatherDecisionTreeNode--green rect{
  fill: #e8f7ea;
  stroke: #2e7d32;
}

.weatherDecisionTreeLink{
  fill: none;
  stroke: rgba(100, 116, 139, .9);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.weatherDecisionTreeLink.is-active{
  stroke: #dc2626;
  stroke-width: 5.2;
  filter: drop-shadow(0 2px 7px rgba(220, 38, 38, .3));
}

.weatherDecisionTreeLabel{
  font-size: 12.4px;
  font-weight: 800;
  fill: rgba(71, 85, 105, .96);
  text-anchor: middle;
  paint-order: stroke;
  stroke: rgba(248, 250, 252, .95);
  stroke-width: 4px;
  stroke-linejoin: round;
}

.weatherDecisionTreeLabel.is-active{
  fill: #dc2626;
}

.aalSummaryCard{
  padding: 18px;
  border-radius: 24px;
  border: 0;
  background: transparent;
  box-shadow: none;
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.aalSummaryMain{
  font-size: 34px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .96);
}

.aalSummaryHint{
  margin-top: -2px;
  color: rgba(15, 23, 42, .6);
  font-size: 12.5px;
  line-height: 1.45;
}

.aalSummaryPending{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
  color: rgba(15, 23, 42, .72);
  background: rgba(15, 23, 42, .06);
}

.aalSummaryPendingIcon{
  width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  color: #ffffff;
  background: rgba(217, 119, 6, .95);
}

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

.aalSummaryItem{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(245, 245, 246, .88);
  padding: 9px 11px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.aalSummaryLabel{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .54);
}

.aalSummaryValue{
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: rgba(15, 23, 42, .92);
  overflow-wrap: anywhere;
}

.physicalSummaryRows{
  gap: 10px;
}

.physicalSummaryRows[hidden]{
  display:none !important;
}

.physicalSummaryRows .physicalSummarySubsection{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.physicalSummaryRows .physicalSummarySubsection + .physicalSummarySubsection{
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px dashed rgba(15, 23, 42, .14);
}

.physicalSummaryRows .physicalSummarySubsectionTitle{
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.physicalSummaryRows .physicalSummarySubsectionTitleRow{
  display: flex;
  align-items: center;
  gap: 6px;
}

.physicalSummaryRows .physicalSummarySubsectionRows{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.physicalSummaryRows .riskRow{
  padding: 8px 10px;
  border-radius: 16px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.physicalSummaryRows .riskRowMain{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  min-width: 0;
}

.physicalSummaryRows .riskRowMainRight{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}

.physicalSummaryRows .sspToggleBtn{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border: none;
  border-radius: 6px;
  background: rgba(15, 23, 42, .06);
  color: rgba(15, 23, 42, .5);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.2s;
}

.physicalSummaryRows .sspToggleBtn:hover{
  background: rgba(15, 23, 42, .12);
  color: rgba(15, 23, 42, .8);
}

.physicalSummaryRows .riskRow.expanded .sspToggleBtn{
  transform: rotate(180deg);
}

.weatherAlertHead .sspToggleBtn{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: rgba(15, 23, 42, .45);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.2s;
}

.weatherAlertHead .sspToggleBtn:hover{
  background: rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .8);
}

.weatherAlertItem.expanded .sspToggleBtn{
  transform: rotate(180deg);
}

.physicalSummaryRows .riskRow.hasTimeline{
  align-items: stretch;
  flex-direction: column;
  gap: 0;
  padding-bottom: 10px;
}

.physicalSummaryRows .riskTimeline{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.physicalSummaryRows .riskTimelineItem{
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 5px 7px;
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255, 255, 255, .72);
}

.physicalSummaryRows .riskTimelineLabel{
  font-size: 11px;
  font-weight: 800;
  color: rgba(15, 23, 42, .62);
}

.physicalSummaryRows .riskTimelineValue{
  font-size: 11.5px;
  font-weight: 800;
  color: rgba(15, 23, 42, .88);
}

.physicalSummaryRows .sspCollapsibleContent{
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows 0.25s ease-out, margin-top 0.25s ease-out;
  margin-top: 8px;
}

.physicalSummaryRows .sspCollapsibleContent.collapsed{
  grid-template-rows: 0fr;
  margin-top: 0;
}

.physicalSummaryRows .sspCollapsibleInner{
  min-height: 0;
  overflow: hidden;
}

.physicalSummaryRows .sspBreakdown{
  margin-top: 8px;
}

.physicalSummaryRows .sspBreakdownGrid{
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 3px 6px;
  align-items: center;
}

.physicalSummaryRows .sspBreakdownCell{
  font-size: 10.5px;
  text-align: right;
}

.physicalSummaryRows .sspBreakdownHeader{
  font-weight: 800;
  color: rgba(15, 23, 42, .50);
}

.physicalSummaryRows .sspBreakdownScenario{
  font-weight: 700;
  color: rgba(15, 23, 42, .55);
  text-align: left;
  white-space: nowrap;
}

.physicalSummaryRows .sspBreakdownValue{
  font-weight: 800;
  color: rgba(15, 23, 42, .80);
}


.physicalSummaryRows .riskName{
  gap: 10px;
  font-size: 12.5px;
  font-weight: 800;
  color: #31384d;
  flex: 1 1 auto;
  min-width: 0;
}

.physicalSummaryRows .riskSwatch{
  width: 12px;
  height: 12px;
  border: 0;
}

.physicalSummaryRows .riskValue{
  gap: 10px;
  margin-left: auto;
}

.physicalSummaryRows .riskNum{
  font-size: 14px;
  color: #293147;
}

.physicalSummaryRows .riskLabel{
  font-size: 12.5px;
  color: rgba(88, 95, 111, .96);
  font-weight: 800;
}

/* Soften card typography specifically in the physical breakdown panel. */
.physicalBreakdownPanel .physicalSummaryRows .riskName{
  font-weight: 700;
}
.physicalBreakdownPanel .physicalSummaryRows .riskNum{
  font-weight: 750;
}
.physicalBreakdownPanel .physicalSummaryRows .riskLabel{
  font-weight: 700;
}
.physicalBreakdownPanel .physicalSummaryRows .riskTimelineLabel{
  font-weight: 700;
}
.physicalBreakdownPanel .physicalSummaryRows .riskTimelineValue{
  font-weight: 750;
}

.actionPlanLayout{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.actionPlanScenario{
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.actionPlanBaseline{
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(248, 250, 252, .92);
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.actionPlanBaselineTotal{
  font-size: 26px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .94);
}

.actionPlanBaselineUnit{
  margin-top: -2px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.actionPlanStack{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 176px;
}

.actionPlanStackPart{
  min-height: 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 8px;
}

.actionPlanStackPart span{
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
  color: rgba(15, 23, 42, .92);
}

.actionPlanStackPart small{
  font-size: 11px;
  font-weight: 700;
  color: rgba(15, 23, 42, .72);
}

.actionPlanStackPart--needs{
  background: rgba(191, 219, 254, .58);
}

.actionPlanStackPart--use{
  background: rgba(153, 246, 228, .44);
}

.actionPlanBaselineLabel{
  margin-top: 2px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
}

.actionPlanImpact{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
  padding: 8px 0 4px;
}

.actionPlanImpactStep{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.actionPlanImpactValue{
  font-size: 20px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: rgba(15, 23, 42, .96);
  text-align: center;
}

.actionPlanImpactUnit{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .56);
}

.actionPlanImpactDelta{
  font-size: 12px;
  font-weight: 800;
  color: rgba(22, 101, 52, .98);
  text-align: center;
}

.actionPlanImpactLine{
  margin-top: 6px;
  width: 0;
  min-height: 54px;
  border-left: 2px dotted rgba(100, 116, 139, .58);
}

.actionPlanImpactBubble{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .16);
  background: rgba(226, 232, 240, .92);
  color: rgba(15, 23, 42, .9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
}

.actionPlanTable{
  display: flex;
  flex-direction: column;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable both-edges;
  scrollbar-width: auto;
  scrollbar-color: rgba(100, 116, 139, .72) rgba(226, 232, 240, .85);
  background: #fff;
}

.actionPlanTable::-webkit-scrollbar{
  height: 12px;
}

.actionPlanTable::-webkit-scrollbar-track{
  background: rgba(226, 232, 240, .85);
}

.actionPlanTable::-webkit-scrollbar-thumb{
  background: rgba(100, 116, 139, .72);
  border-radius: 999px;
  border: 2px solid rgba(226, 232, 240, .85);
}

.actionPlanTable::-webkit-scrollbar-thumb:hover{
  background: rgba(71, 85, 105, .88);
}

.actionPlanTableRow{
  display: grid;
  grid-template-columns: 58px 126px minmax(260px, 1fr) 150px 130px 172px 96px 104px 120px;
  gap: 0;
  align-items: stretch;
  border-top: 1px solid rgba(15, 23, 42, .07);
}

.actionPlanTableRow.is-selected{
  background: rgba(220, 252, 231, .45);
}

.actionPlanTableRow:first-child{
  border-top: 0;
}

.actionPlanTableHead{
  background: rgba(241, 245, 249, .94);
}

.actionPlanCol{
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 10px 11px;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(15, 23, 42, .86);
  border-left: 1px solid rgba(15, 23, 42, .06);
}

.actionPlanCol:first-child{
  border-left: 0;
  justify-content: center;
}

.actionPlanTableHead .actionPlanCol{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .55);
}

.actionPlanCol--application{
  font-weight: 800;
}

.actionPlanCol--description{
  font-weight: 700;
}

.actionPlanCol--reduction{
  justify-content: flex-end;
  text-align: right;
  font-weight: 800;
  color: rgba(15, 23, 42, .88);
}

.actionPlanCol--investment{
  justify-content: flex-end;
  text-align: right;
  font-weight: 800;
}

.actionPlanCol--bill{
  justify-content: flex-end;
  text-align: right;
  font-weight: 800;
  color: rgba(15, 23, 42, .88);
}

.actionPlanCol--roi{
  justify-content: flex-end;
  text-align: right;
  font-weight: 800;
}

.actionPlanCol--select{
  justify-content: center;
}

.actionPlanCol--list-remove{
  justify-content: center;
}

.digitalPassportLayout{
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.digitalPassportSubtabs{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid rgba(15, 23, 42, .12);
  margin-bottom: 4px;
}

.digitalPassportSubtab{
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: rgba(51, 65, 85, .82);
  border-radius: 0;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  transition: all .15s;
}

.digitalPassportSubtab:hover{
  color: rgba(15, 23, 42, .95);
  background: transparent;
}

.digitalPassportSubtab.is-active{
  color: #3B5BDB;
  border-bottom-color: #3B5BDB;
}

.digitalPassportSubtabs .section-tabs-left{
  display: flex;
  gap: 0;
}

.digitalPassportSubtabs .tab-dot{
  width: 7px;
  height: 7px;
  border-radius: 50%;
}

.digitalPassportSubtabs .count{
  background: rgba(15, 23, 42, .08);
  color: rgba(71, 85, 105, .95);
  padding: 1px 6px;
  border-radius: 10px;
  font-size: 10px;
  line-height: 1.3;
}

.digitalPassportSubtab.is-active .count{
  background: rgba(59, 91, 219, .12);
  color: #3B5BDB;
}

.digitalPassportSubpanel[hidden]{
  display: none !important;
}

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

.digitalPassportGrid + .digitalPassportCard{
  margin-top: 12px;
}

.digitalPassportCard{
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 14px;
  background: rgba(255, 255, 255, .96);
  padding: 12px;
}

.digitalPassportLabel{
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .55);
  margin-bottom: 3px;
}

.digitalPassportOverviewGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}

.digitalPassportOverviewGrid strong{
  display: block;
  color: rgba(15, 23, 42, .92);
  font-size: 13px;
  line-height: 1.35;
  font-weight: 750;
}

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

.digitalPassportSnapshotStats strong{
  display: block;
  color: rgba(15, 23, 42, .92);
  font-size: 14px;
  line-height: 1.35;
  font-weight: 760;
}

.digitalPassportCompletenessValue{
  font-size: 32px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .96);
  margin-bottom: 4px;
}

.digitalPassportCompletenessLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .62);
  margin-bottom: 10px;
}

.digitalPassportProgressTrack{
  position: relative;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .25);
  overflow: hidden;
  margin-bottom: 10px;
}

.digitalPassportProgressFill{
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #16a34a, #22c55e);
}

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

.digitalPassportChecklistItem{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 24px;
}

.digitalPassportChecklistIcon{
  width: 16px;
  height: 16px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  border: 1px solid rgba(148, 163, 184, .45);
  color: rgba(148, 163, 184, .8);
  background: rgba(226, 232, 240, .42);
}

.digitalPassportChecklistItem.is-complete .digitalPassportChecklistIcon{
  border-color: rgba(16, 185, 129, .45);
  color: #fff;
  background: rgba(16, 185, 129, .92);
}

.digitalPassportChecklistLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .82);
  font-weight: 660;
}

.digitalPassportUploadDropzone{
  width: 100%;
  border: 2px dashed rgba(148, 163, 184, .55);
  border-radius: 12px;
  padding: 22px 16px;
  min-height: 210px;
  background: rgba(248, 250, 252, .65);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-align: center;
  cursor: pointer;
}

.digitalPassportUploadDropzone:hover{
  border-color: rgba(59, 130, 246, .5);
  background: rgba(239, 246, 255, .5);
}

.digitalPassportUploadDropzone.is-disabled{
  cursor: default;
  opacity: .7;
}

.digitalPassportUploadIcon{
  font-size: 30px;
  line-height: 1;
}

.digitalPassportUploadMain{
  font-size: 17px;
  font-weight: 700;
  color: rgba(15, 23, 42, .74);
}

.digitalPassportUploadSub{
  font-size: 12px;
  color: rgba(15, 23, 42, .45);
}

.digitalPassportUseCasesGrid{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.digitalPassportUseCaseChip{
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(148, 163, 184, .38);
  border-radius: 999px;
  padding: 6px 12px;
  background: #fff;
  color: rgba(51, 65, 85, .9);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: inherit;
}

.digitalPassportUseCaseChip:hover{
  border-color: rgba(99, 102, 241, .42);
  background: rgba(248, 250, 252, .9);
}

.digitalPassportUseCaseChip.is-selected{
  border-color: rgba(65, 105, 255, .45);
  background: rgba(238, 241, 255, .8);
  color: #2d4fd6;
}

.digitalPassportUseCaseCheck{
  width: 14px;
  height: 14px;
  border-radius: 4px;
  border: 1px solid rgba(148, 163, 184, .45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  line-height: 1;
  color: transparent;
  background: #fff;
}

.digitalPassportUseCaseChip.is-selected .digitalPassportUseCaseCheck{
  border-color: #4169ff;
  background: #4169ff;
  color: #fff;
}

.digitalPassportInlineSection{
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.digitalPassportSubTitle{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .55);
  margin-bottom: 6px;
}

.digitalPassportCategorySummary{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.digitalPassportCategoryList{
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 10px;
  overflow: hidden;
}

.digitalPassportCategoryItem{
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.digitalPassportCategoryItem:first-child{
  border-top: 0;
}

.digitalPassportCategoryItem.is-muted .digitalPassportCategoryRow{
  background: rgba(249, 250, 251, .92);
}

.digitalPassportCategoryItem.is-muted .digitalPassportCategoryName,
.digitalPassportCategoryItem.is-muted .digitalPassportCategoryCoverage,
.digitalPassportCategoryItem.is-muted .digitalPassportCategoryMeta{
  color: rgba(148, 163, 184, .98);
}

.digitalPassportCategoryItem.is-muted .digitalPassportCategoryCode{
  background: rgba(226, 232, 240, .75);
  color: rgba(100, 116, 139, .95);
}

.digitalPassportCategoryItem.is-muted .digitalPassportCategoryMiniBar{
  background: rgba(203, 213, 225, .72);
}

.digitalPassportCategoryItem.is-muted .digitalPassportCategoryMiniBar > span{
  background: rgba(148, 163, 184, .98);
}

.digitalPassportCategoryItem.is-muted .digitalPassportStatusBadge{
  background: rgba(226, 232, 240, .92);
  color: rgba(100, 116, 139, .98);
}

.digitalPassportCategoryRow{
  width: 100%;
  border: 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: #fff;
  cursor: pointer;
}

.digitalPassportCategoryRow:hover{
  background: rgba(248, 250, 252, .78);
}

.digitalPassportCategoryMain{
  min-width: 0;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 12px;
}

.digitalPassportCategoryCode{
  flex: 0 0 auto;
  min-width: 44px;
  padding: 4px 8px;
  border-radius: 8px;
  background: rgba(191, 219, 254, .45);
  color: rgba(30, 64, 175, .95);
  font-size: 13px;
  line-height: 1;
  font-weight: 800;
  text-align: center;
}

.digitalPassportCategoryCode.code-a{
  background: rgba(187, 247, 208, .75);
  color: rgba(6, 95, 70, .95);
}

.digitalPassportCategoryCode.code-b{
  background: rgba(219, 234, 254, .78);
  color: rgba(30, 64, 175, .95);
}

.digitalPassportCategoryCode.code-c{
  background: rgba(233, 213, 255, .7);
  color: rgba(107, 33, 168, .95);
}

.digitalPassportCategoryCode.code-d{
  background: rgba(254, 240, 198, .85);
  color: rgba(146, 64, 14, .95);
}

.digitalPassportCategoryCode.code-e{
  background: rgba(255, 237, 213, .92);
  color: rgba(154, 52, 18, .96);
}

.digitalPassportCategoryCode.code-f{
  background: rgba(219, 234, 254, .92);
  color: rgba(29, 78, 216, .96);
}

.digitalPassportCategoryName{
  font-size: 14px;
  color: rgba(15, 23, 42, .9);
  font-weight: 500;
}

.digitalPassportCategoryMeta{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.digitalPassportCategoryMiniBar{
  width: 86px;
  height: 6px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .25);
  overflow: hidden;
}

.digitalPassportCategoryMiniBar > span{
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #22c55e, #16a34a);
}

.digitalPassportCategoryCoverage{
  min-width: 88px;
  text-align: right;
  font-size: 13px;
  color: rgba(15, 23, 42, .46);
  font-weight: 700;
}

.digitalPassportCategoryChevron{
  width: 10px;
  height: 10px;
  border-right: 1.5px solid rgba(15, 23, 42, .38);
  border-bottom: 1.5px solid rgba(15, 23, 42, .38);
  transform: rotate(45deg);
  transition: transform .18s ease;
  margin-bottom: 3px;
}

.digitalPassportCategoryChevron.is-open{
  transform: rotate(-135deg);
  margin-bottom: -3px;
}

.digitalPassportCategoryContent{
  border-top: 1px solid rgba(15, 23, 42, .08);
  padding: 14px;
  background: #fff;
}

.digitalPassportCategoryContentGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}

.digitalPassportCategoryContentCol{
  min-width: 0;
}

.digitalPassportCategoryPanelHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.digitalPassportFieldEditActions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.digitalPassportFieldActionBtn{
  border: 1px solid rgba(15, 23, 42, .14);
  background: #fff;
  color: rgba(15, 23, 42, .84);
  border-radius: 10px;
  font-size: 13px;
  font-weight: 650;
  padding: 7px 12px;
  cursor: pointer;
}

.digitalPassportFieldActionBtn.is-primary{
  border-color: #4169ff;
  background: #4169ff;
  color: #fff;
}

.digitalPassportFieldActionBtn--icon{
  width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  justify-content: center;
}

.digitalPassportFieldActionBtn--icon svg{
  width: 17px;
  height: 17px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.digitalPassportFieldsGrid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 12px;
}

.digitalPassportFieldItem{
  min-width: 0;
}

.digitalPassportFieldLabel{
  display: block;
  margin: 0 0 6px;
  font-size: 13px;
  color: rgba(15, 23, 42, .72);
  font-weight: 700;
}

.digitalPassportRequiredMark{
  color: #dc2626;
  margin-left: 3px;
}

.digitalPassportFieldValue,
.digitalPassportFieldInput{
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 10px;
  font-size: 13px;
  color: rgba(15, 23, 42, .88);
  line-height: 1.2;
}

.digitalPassportFieldValue{
  min-height: 38px;
  background: rgba(248, 250, 252, .78);
  padding: 8px 14px;
}

.digitalPassportFieldInput{
  min-height: 44px;
  background: #fff;
  font-family: inherit;
  padding: 10px 14px;
}

.digitalPassportFieldValue.is-empty{
  color: rgba(148, 163, 184, .95);
  font-style: italic;
  font-size: 13px;
}

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

.digitalPassportDocCard{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 10px;
  background: rgba(248, 250, 252, .86);
}

.digitalPassportDocIcon{
  width: 44px;
  height: 44px;
  border-radius: 8px;
  background: rgba(226, 232, 240, .9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-size: 18px;
}

.digitalPassportDocContent{
  min-width: 0;
  flex: 1 1 auto;
}

.digitalPassportDocTitle{
  font-size: 15px;
  color: rgba(15, 23, 42, .92);
  font-weight: 700;
}

.digitalPassportDocMetaLine{
  font-size: 12px;
  color: rgba(100, 116, 139, .95);
  margin-top: 2px;
}

.digitalPassportDocActions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.digitalPassportDocActions a,
.digitalPassportDocActions button,
.digitalPassportDocActions span{
  border: 1px solid rgba(15, 23, 42, .14);
  background: #fff;
  color: rgba(15, 23, 42, .84);
  font-size: 12px;
  font-weight: 700;
  padding: 6px 9px;
  border-radius: 8px;
  text-decoration: none;
  line-height: 1;
}

.digitalPassportDocActions button{
  cursor: pointer;
}

.digitalPassportDocActions .is-disabled{
  opacity: .45;
}

.digitalPassportDocDropzone{
  border: 1px dashed rgba(148, 163, 184, .72);
  border-radius: 10px;
  background: rgba(248, 250, 252, .72);
  color: rgba(100, 116, 139, .9);
  padding: 14px;
  font-size: 13px;
  cursor: pointer;
  text-align: center;
}

.digitalPassportDocDropzone:hover{
  border-color: rgba(65, 105, 255, .45);
  color: rgba(37, 99, 235, .95);
}

.digitalPassportCertLayout{
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 20px;
}

.digitalPassportCertList,
.digitalPassportCertPanel{
  min-width: 0;
}

.digitalPassportCertCards{
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.digitalPassportCertAddRow{
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.digitalPassportCertAddSelect{
  flex: 1 1 auto;
  min-height: 36px;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 13px;
  color: rgba(15, 23, 42, .9);
  background: #fff;
}

.digitalPassportCertAddBtn{
  flex: 0 0 auto;
  min-height: 36px;
  border: 0;
  border-radius: 8px;
  background: #4169ff;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 0 12px;
  cursor: pointer;
}

.digitalPassportCertAddBtn:disabled{
  cursor: default;
  opacity: .65;
}

.digitalPassportCertListEmpty{
  border: 1px dashed rgba(15, 23, 42, .2);
  border-radius: 10px;
  padding: 14px;
  font-size: 12px;
  color: rgba(100, 116, 139, .95);
  background: rgba(248, 250, 252, .7);
}

.digitalPassportCertCard{
  width: 100%;
  text-align: left;
  border: 1.5px solid rgba(15, 23, 42, .12);
  background: #fff;
  border-radius: 12px;
  padding: 14px;
  cursor: pointer;
}

.digitalPassportCertCard:hover{
  border-color: rgba(30, 64, 175, .4);
}

.digitalPassportCertCard.is-active{
  border-color: rgba(65, 105, 255, .9);
}

.digitalPassportCertCardTop{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.digitalPassportCertCardTitle{
  font-size: 15px;
  font-weight: 700;
  color: rgba(15, 23, 42, .9);
}

.digitalPassportCertCardSub{
  font-size: 12px;
  color: rgba(148, 163, 184, .95);
  margin-top: 2px;
}

.digitalPassportCertReadiness{
  margin-top: 10px;
}

.digitalPassportCertReadinessTrack{
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .25);
  overflow: hidden;
}

.digitalPassportCertReadinessTrack > span{
  display: block;
  height: 100%;
  background: #4169ff;
}

.digitalPassportCertReadinessText{
  margin-top: 4px;
  font-size: 11px;
  color: #4169ff;
  font-weight: 700;
}

.digitalPassportCertStatus{
  font-size: 11px;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 999px;
  text-align: center;
  white-space: nowrap;
}

.digitalPassportCertStatus.not-started{
  background: #f3f4f6;
  color: #6b7280;
}

.digitalPassportCertStatus.in-progress{
  background: #fef3c7;
  color: #92400e;
}

.digitalPassportCertStatus.certified{
  background: #d1fae5;
  color: #065f46;
}

.digitalPassportCertStatus.expired{
  background: #fee2e2;
  color: #991b1b;
}

.digitalPassportCertDetailPanel{
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  padding: 22px;
}

.digitalPassportCertDetailPanelHeader{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.digitalPassportCertDetailPanelHeader h4{
  margin: 0;
  font-size: 22px;
  font-weight: 650;
  color: rgba(15, 23, 42, .95);
}

.digitalPassportCertDetailPanelHeader p{
  margin: 3px 0 0;
  font-size: 13px;
  color: rgba(100, 116, 139, .95);
}

.digitalPassportCertFormGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  background: rgba(248, 250, 252, .95);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 18px;
}

.digitalPassportCertFormGroup{
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.digitalPassportCertFormActions{
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
}

.digitalPassportCertSaveBtn{
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  background: #4169ff;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  padding: 0 20px;
  cursor: pointer;
}

.digitalPassportCertFormLabel{
  font-size: 11px;
  font-weight: 700;
  color: rgba(100, 116, 139, .98);
  text-transform: uppercase;
  letter-spacing: .05em;
}

.digitalPassportCertFormInput,
.digitalPassportCertFormLinkWrap{
  min-height: 34px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 6px;
  font-size: 13px;
  background: #fff;
  color: rgba(15, 23, 42, .86);
  padding: 8px 10px;
}

.digitalPassportCertFormInput:disabled{
  color: rgba(15, 23, 42, .86);
}

.digitalPassportCertFormLinkWrap{
  display: inline-flex;
  align-items: center;
}

.digitalPassportCertFormLinkWrap a{
  color: #1d4ed8;
  font-weight: 700;
  text-decoration: none;
}

.digitalPassportCertFormLinkWrap a:hover{
  text-decoration: underline;
}

.digitalPassportCertGapTitle{
  font-size: 11px;
  font-weight: 700;
  color: rgba(100, 116, 139, .98);
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 10px;
}

.digitalPassportCertGapList{
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 18px;
}

.digitalPassportCertGapRow{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-top: 1px solid rgba(15, 23, 42, .06);
}

.digitalPassportCertGapRow:first-child{
  border-top: 0;
}

.digitalPassportCertGapLeft{
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.digitalPassportCertGapName{
  font-size: 13px;
  color: rgba(15, 23, 42, .88);
}

.digitalPassportGapAction{
  border: 0;
  background: transparent;
  color: #1d4ed8;
  font-size: 12px;
  cursor: pointer;
}

.digitalPassportGapAction:hover{
  text-decoration: underline;
}

.digitalPassportGapAction:disabled{
  cursor: default;
  opacity: .45;
  text-decoration: none;
}

.digitalPassportCertHistoryTable{
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.digitalPassportCertHistoryTable th{
  text-align: left;
  padding: 10px 8px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(100, 116, 139, .98);
  text-transform: uppercase;
  letter-spacing: .05em;
  border-bottom: 1px solid rgba(15, 23, 42, .1);
}

.digitalPassportCertHistoryTable td{
  padding: 10px 8px;
  border-bottom: 1px solid rgba(15, 23, 42, .06);
  color: rgba(51, 65, 85, .95);
}

.digitalPassportCertHistoryTable tr:last-child td{
  border-bottom: 0;
}

.digitalPassportCertHistoryEmpty{
  text-align: center;
  color: rgba(148, 163, 184, .95);
  padding: 16px 8px;
}

.digitalPassportTable{
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 10px;
  overflow: auto;
  background: #fff;
}

.digitalPassportTableHead,
.digitalPassportTableRow{
  min-width: 780px;
  display: grid;
  grid-template-columns: 1.5fr 0.85fr 0.85fr 0.85fr 1fr 0.65fr;
  gap: 0;
}

.digitalPassportTable--docs .digitalPassportTableHead,
.digitalPassportTable--docs .digitalPassportTableRow{
  min-width: 700px;
  grid-template-columns: 1.6fr 1fr 0.9fr 0.9fr 0.6fr;
}

.digitalPassportTableHead{
  background: rgba(241, 245, 249, .94);
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.digitalPassportTableHead > div{
  padding: 9px 10px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .54);
  border-left: 1px solid rgba(15, 23, 42, .06);
}

.digitalPassportTableHead > div:first-child{
  border-left: 0;
}

.digitalPassportTableRow{
  border-top: 1px solid rgba(15, 23, 42, .06);
}

.digitalPassportTableRow:first-of-type{
  border-top: 0;
}

.digitalPassportTableRow > div{
  padding: 9px 10px;
  font-size: 12px;
  color: rgba(15, 23, 42, .84);
  border-left: 1px solid rgba(15, 23, 42, .06);
}

.digitalPassportTableRow > div:first-child{
  border-left: 0;
}

.digitalPassportTableRow a{
  color: #1d4ed8;
  font-weight: 700;
  text-decoration: none;
}

.digitalPassportTableRow a:hover{
  text-decoration: underline;
}

.digitalPassportStatusBadge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.digitalPassportStatusBadge.is-verified{
  color: rgba(22, 101, 52, .96);
  background: rgba(220, 252, 231, .92);
}

.digitalPassportStatusBadge.is-expired{
  color: rgba(153, 27, 27, .96);
  background: rgba(254, 226, 226, .92);
}

.digitalPassportStatusBadge.is-missing{
  color: rgba(127, 29, 29, .96);
  background: rgba(254, 242, 242, .95);
}

.digitalPassportStatusBadge.is-incomplete{
  color: rgba(146, 64, 14, .96);
  background: rgba(254, 243, 199, .95);
}

.digitalPassportStatusBadge.is-partial{
  color: rgba(146, 64, 14, .96);
  background: rgba(254, 243, 199, .95);
}

.digitalPassportEmptyState,
.digitalPassportLoading,
.digitalPassportError,
.digitalPassportEmptyInline{
  border: 1px dashed rgba(15, 23, 42, .18);
  border-radius: 10px;
  padding: 12px;
  font-size: 12px;
  color: rgba(15, 23, 42, .66);
  background: rgba(248, 250, 252, .72);
}

.digitalPassportEmptyStateTitle{
  font-size: 38px;
  color: rgba(100, 116, 139, .45);
  line-height: 1;
  margin-bottom: 10px;
}

.digitalPassportEmptyStateSub{
  font-size: 14px;
  color: rgba(100, 116, 139, .95);
}

.digitalPassportCertPanelEmpty{
  min-height: 420px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
}

.digitalPassportError{
  border-color: rgba(220, 38, 38, .38);
  color: rgba(153, 27, 27, .92);
  background: rgba(254, 242, 242, .95);
}

.actionPlanMeasureBadge{
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(71, 85, 105, .28);
  background: rgba(226, 232, 240, .98);
  color: rgba(30, 41, 59, .9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 800;
}

.actionPlanMeasureSummary{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.actionPlanAiThinking{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, .22);
  background: rgba(59, 130, 246, .08);
  color: rgba(15, 23, 42, .88);
  font-size: 12px;
  font-weight: 700;
}

.actionPlanAiThinkingDot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(37, 99, 235, .95);
  box-shadow: 0 0 0 0 rgba(37, 99, 235, .45);
  animation: actionPlanAiThinkingPulse 1.4s ease-in-out infinite;
}

@keyframes actionPlanAiThinkingPulse{
  0%{
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 99, 235, .45);
  }
  70%{
    transform: scale(1.15);
    box-shadow: 0 0 0 6px rgba(37, 99, 235, 0);
  }
  100%{
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
  }
}

.actionPlanMeasureSummaryText{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .74);
}

.actionPlanMeasureSummaryActions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.actionPlanAddBtn{
  border: 1px solid rgba(37, 99, 235, .32);
  border-radius: 999px;
  background: rgba(37, 99, 235, .10);
  color: rgba(29, 78, 216, 1);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 6px 10px;
  cursor: pointer;
}

.actionPlanAddBtn:hover{
  background: rgba(37, 99, 235, .16);
}

.actionPlanClearBtn{
  border: 1px solid rgba(15, 23, 42, .18);
  border-radius: 999px;
  background: rgba(248, 250, 252, .92);
  color: rgba(15, 23, 42, .82);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 6px 10px;
  cursor: pointer;
}

.actionPlanClearBtn:hover{
  background: #ffffff;
}

.actionPlanClearBtn:disabled{
  opacity: .45;
  cursor: default;
}

.actionPlanMeasureToggle{
  border: 1px solid rgba(15, 23, 42, .18);
  border-radius: 999px;
  background: rgba(248, 250, 252, .96);
  color: rgba(15, 23, 42, .8);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 5px 10px;
  min-width: 74px;
  cursor: pointer;
}

.actionPlanMeasureToggle:hover{
  background: #ffffff;
}

.actionPlanMeasureToggle.is-selected{
  border-color: rgba(22, 163, 74, .42);
  background: rgba(220, 252, 231, .9);
  color: rgba(15, 23, 42, .88);
}

.actionPlanMeasureActions{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.actionPlanMeasureActionBtn{
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: #fff;
  color: rgba(15, 23, 42, .78);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.actionPlanMeasureActionBtn svg{
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.actionPlanMeasureActionBtn--edit{
  border-color: rgba(37, 99, 235, .28);
  color: rgba(29, 78, 216, .95);
  background: rgba(239, 246, 255, .95);
}

.actionPlanMeasureActionBtn--edit:hover{
  background: rgba(219, 234, 254, .95);
}

.actionPlanMeasureActionBtn--delete{
  border-color: rgba(220, 38, 38, .26);
  color: rgba(185, 28, 28, .95);
  background: rgba(254, 242, 242, .95);
}

.actionPlanMeasureActionBtn--delete:hover{
  background: rgba(254, 226, 226, .95);
}

.actionPlanMeasureActionBtn:disabled{
  opacity: .6;
  cursor: default;
}

.actionPlanTableEmpty{
  padding: 12px;
  font-size: 12.5px;
  color: rgba(15, 23, 42, .68);
}

.postEventRecoverySection{
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 12px;
  background: rgba(248, 250, 252, .92);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.postEventRecoveryTop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.postEventRecoveryTitle{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
}

.postEventRecoveryActions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.postEventRecoveryStatus{
  font-size: 11.5px;
  font-weight: 700;
  color: rgba(51, 65, 85, .9);
}

.postEventRecoveryDamageList{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.postEventRecoveryDamagePill{
  border: 1px solid rgba(14, 116, 144, .32);
  background: rgba(207, 250, 254, .86);
  color: rgba(15, 23, 42, .88);
  border-radius: 999px;
  padding: 4px 9px;
  font-size: 11px;
  font-weight: 700;
}

.postEventRecoveryCards{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.postEventRecoveryCard{
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 10px;
  background: #fff;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.postEventRecoveryCardTop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.postEventRecoveryCardTitle{
  font-size: 13px;
  font-weight: 800;
  color: rgba(15, 23, 42, .92);
}

.postEventRecoveryCardText{
  font-size: 12px;
  color: rgba(15, 23, 42, .86);
  line-height: 1.45;
}

.postEventRecoveryMeta{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.postEventRecoveryMetaPill{
  border-radius: 999px;
  border: 1px solid rgba(100, 116, 139, .24);
  background: rgba(241, 245, 249, .95);
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 700;
  color: rgba(15, 23, 42, .84);
}

.postEventRecoveryMetaPill--critical,
.postEventRecoveryMetaPill--high{
  border-color: rgba(220, 38, 38, .35);
  background: rgba(254, 242, 242, .95);
  color: rgba(153, 27, 27, .95);
}

.postEventRecoveryOutcome{
  font-size: 11.5px;
  color: rgba(71, 85, 105, .92);
  line-height: 1.45;
}

.postEventRecoveryCard--editable{
  gap: 10px;
}

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

.postEventRecoveryFormGrid .full{
  grid-column: 1 / -1;
}

.postEventRecoveryFormGrid label{
  display: block;
  margin-bottom: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(51, 65, 85, .88);
}

.postEventRecoveryFormGrid input,
.postEventRecoveryFormGrid select,
.postEventRecoveryFormGrid textarea{
  width: 100%;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 8px;
  background: #fff;
  color: #0f172a;
  padding: 8px 9px;
  font-size: 12px;
  outline: none;
}

.postEventRecoveryFormGrid textarea{
  min-height: 84px;
  resize: vertical;
}

.postEventRecoveryCardActions{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

/* Post-event recovery table */
.postEventRecTable .postEventRecTableRow{
  grid-template-columns: 44px minmax(280px, 1.65fr) 96px 130px 96px 110px 88px;
}

.postEventRecCol--num{ justify-content: center; }
.postEventRecCol--title{ font-weight: 800; }
.postEventRecCol--priority{ }
.postEventRecCol--owner{ color: rgba(15,23,42,.76); }
.postEventRecCol--horizon{ justify-content: center; font-weight: 400; }
.postEventRecCol--category{ color: rgba(15,23,42,.72); }
.postEventRecCol--actions{ justify-content: center; }
.postEventRecTitleWrap{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
}

.postEventRecTitleText{
  min-width: 0;
  overflow-wrap: anywhere;
}

.postEventRecDetailsBtn{
  flex-shrink: 0;
  border: 1px solid rgba(100, 116, 139, .34);
  background: rgba(241, 245, 249, .92);
  color: rgba(51, 65, 85, .96);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
}

.postEventRecDetailsBtn:hover{
  background: rgba(226, 232, 240, .95);
}

.postEventRecDetailsBtn:focus-visible{
  outline: 2px solid rgba(100, 116, 139, .55);
  outline-offset: 1px;
}

.postEventRecDetailsPopover{
  position: fixed;
  z-index: 5200;
  width: min(460px, calc(100vw - 24px));
}

.postEventRecDetailsPopover[hidden]{
  display: none;
}

.postEventRecDetailsPopoverCard{
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 14px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 22px 45px rgba(15, 23, 42, .2);
  max-height: min(74vh, 560px);
  overflow: auto;
}

.postEventRecDetailsPopoverHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 10px 8px 12px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.postEventRecDetailsPopoverTitle{
  margin: 0;
  font-size: 13px;
  font-weight: 800;
  color: rgba(15, 23, 42, .92);
}

.postEventRecDetailsPopoverClose{
  width: 28px;
  height: 28px;
  border-radius: 9px;
}

.postEventRecDetailsPopoverClose:hover{
  filter: brightness(1.03);
}

.postEventRecDetailsPopoverClose:focus-visible{
  outline: 2px solid rgba(100, 116, 139, .55);
  outline-offset: 1px;
}

.postEventRecDetailsPopoverBody{
  font-size: 13px;
  color: rgba(15, 23, 42, .92);
  line-height: 1.55;
  white-space: pre-wrap;
  padding: 10px 12px 12px 12px;
}

/* Post-event recovery edit modal */
.postEventRecEditModalCard{
  width: min(680px, 100%);
}

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

.postEventRecEditFormGrid .full{
  grid-column: 1 / -1;
}

@media (max-width: 640px){
  .postEventRecEditFormGrid{
    grid-template-columns: 1fr;
  }
}

.postEventRecDetailsModalCard{
  width: min(640px, 100%);
}

.postEventRecDetailsBody{
  font-size: 13px;
  color: rgba(15, 23, 42, .92);
  line-height: 1.55;
  white-space: pre-wrap;
}

.postEventDamageModalCard{
  width: min(760px, 100%);
}

.postEventDamageFormGrid{
  grid-template-columns: 1fr;
}

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

.postEventDamageItem{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 700;
  color: rgba(15, 23, 42, .82);
  cursor: pointer;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  padding: 5px 7px;
  transition: opacity .12s;
}

.postEventDamageItem:has(input[type=checkbox]:not(:checked)){
  opacity: .45;
}

.postEventDamageItem input{
  margin: 0;
  width: 13px;
  height: 13px;
  flex-shrink: 0;
  accent-color: rgb(37, 99, 235);
  cursor: pointer;
}

#postEventDamageCustom,
#postEventDamageNotes{
  width: 100%;
  box-sizing: border-box;
}

.actionPlanMeasureModalCard{
  width: min(760px, 100%);
}

.actionPlanMeasureFormGrid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.actionPlanMeasureRoiField input[readonly]{
  background: rgba(15, 23, 42, .04);
  color: rgba(15, 23, 42, .86);
}

.actionPlanMeasureRoiField .hint{
  margin-top: 5px;
}

@media (max-width: 740px){
  .actionPlanMeasureFormGrid{
    grid-template-columns: 1fr;
  }
  .postEventRecoveryFormGrid{
    grid-template-columns: 1fr;
  }
  .postEventDamageChecklist{
    grid-template-columns: minmax(0, 1fr);
  }
}

#actionPlanMeasureModal .modalFooter .btn{
  transition: none;
  animation: none;
  box-shadow: none;
}

#actionPlanMeasureModal .modalFooter .btn:hover,
#actionPlanMeasureModal .modalFooter .btn:active,
#actionPlanMeasureModal .modalFooter .btn:focus,
#actionPlanMeasureModal .modalFooter .btn:focus-visible{
  transform: none;
  filter: none;
  box-shadow: none;
}

.actionPlanMeasureFormGrid textarea{
  width: 100%;
  min-height: 120px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: #ffffff;
  color: #0f172a;
  padding: 11px 12px;
  outline: none;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .03);
  transition: border-color .15s ease, box-shadow .15s ease;
  resize: vertical;
  font: inherit;
  line-height: 1.4;
}

.actionPlanMeasureFormGrid textarea:focus{
  border-color: rgba(59,91,255,.55);
  box-shadow:
    0 0 0 4px rgba(59,91,255,.16),
    0 1px 0 rgba(15, 23, 42, .03);
}

.physicalSummaryBtn{
  width: auto;
  min-width: 0;
  max-width: none;
  justify-content: center;
  min-height: 0;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 14px;
  padding: 11px 16px;
  font-size: 14px;
  font-weight: 800;
  color: rgba(15, 23, 42, .72);
  background: rgba(15, 23, 42, .03);
  box-shadow: 0 12px 26px rgba(15, 23, 42, .04);
  cursor: pointer;
}

.physicalSummaryBtn--inline{
  align-self: auto;
}

.physicalSummaryBtn--layout{
  align-self: auto;
}

.physicalSummaryBtn:hover{
  background: rgba(255, 255, 255, .92);
  color: rgba(15, 23, 42, .92);
}

@media (max-width: 640px){
  .mapCard{
    --mapPanelTop: 122px;
  }
  .mapPanel{
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    padding: 14px;
  }
  .mapPanel.weatherLayout{
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 14px;
  }
  .physicalSummaryPanel,
  .physicalMapArea,
  .physicalBreakdownPanel,
  .physicalBottomPanel{
    grid-column: 1;
  }
  .physicalSummaryPanel{ grid-row: 1; }
  .physicalMapArea{
    grid-row: 2;
    min-height: 0;
  }
  .physicalBreakdownPanel{ grid-row: 3; }
  .physicalBottomPanel{ grid-row: 4; }
  .mapModes{
    display:none !important;
  }
  .assetSummarySwitchGrid,
  .transitionRiskSwitch{
    grid-template-columns: minmax(0, 1fr);
  }
  .aalSummaryGrid{
    grid-template-columns: minmax(0, 1fr);
  }
  .aalSummaryMain{
    font-size: 30px;
  }
  .physicalSummaryHead{
    flex-direction: column;
    align-items: stretch;
  }
  .physicalSummaryHeadAside{
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .mapOverlayModeTabs{
    width: 100%;
    justify-content:flex-start;
  }
  .selectedAssetDetailControls{
    width: 100%;
  }
  .selectedAssetDetailToggle{
    flex: 1 1 auto;
    justify-content: space-between;
  }
  .mapControlPanels{
    width: 100%;
  }
  .physicalSummarySectionHeaderTop{
    flex-direction: column;
    align-items: flex-start;
  }
  .physicalSummaryGaugeWrap{
    justify-content:flex-start;
  }
  .physicalSummaryCard{
    padding: 0;
  }
  .physicalSummaryCard--asset,
  .physicalSummaryCard--portfolio{
    padding: 14px;
  }
  .mapCanvas{
    min-height: 260px;
  }
  .physicalStat strong{
    font-size: 24px;
  }
  .physicalSummaryRows .riskName,
  .physicalSummaryRows .riskLabel{
    font-size: 12px;
  }
  .physicalSummaryRows .riskNum{
    font-size: 13px;
  }
  .physicalSummaryRows .riskTimeline{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .physicalSummaryRows .riskTimelineLabel,
  .physicalSummaryRows .riskTimelineValue{
    font-size: 11px;
  }
  .actionPlanScenario{
    grid-template-columns: 1fr;
  }
  .actionPlanImpact{
    grid-template-columns: 1fr;
  }
  .weatherAlertHead{
    flex-direction: column;
    align-items: flex-start;
  }
  .weatherAlertHeadMain{
    width: 100%;
  }
  .weatherAlertTreeBtn{
    width: 100%;
    justify-content: center;
  }
  .weatherAlertSender{
    text-align: left;
  }
  .weatherDecisionTreeOpenBtn{
    width: 100%;
    justify-content: center;
  }
  .weatherDecisionTreeSvg{
    min-width: 920px;
  }
  .weatherDecisionTreeIntro{
    grid-template-columns: 1fr;
  }
  .weatherDecisionTreeRule{
    grid-column: auto;
  }
  .actionPlanImpactStep{
    align-items: flex-start;
  }
  .actionPlanImpactLine{
    min-height: 26px;
  }
  .actionPlanTable{
    overflow-x: auto;
    overflow-y: hidden;
  }
  .actionPlanTableRow{
    min-width: 1290px;
  }
  .riskMapSectionMapWrap{
    height: 320px;
    min-height: 300px;
  }
  .weatherGraphWrap{
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }
  .riskMapSectionControlCard{
    width: 100%;
    gap: 6px;
    padding: 8px;
  }
  .riskMapSectionControlRow{
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 6px;
  }
  .riskMapSectionControlRow label{
    font-size: 10px;
  }
  .riskMapSectionTimeRow label,
  .riskMapSectionTimeLabel{
    font-size: 10px;
  }
  .riskMapSectionMap{
    height: 100%;
    min-height: 300px;
  }
  .weatherSectionGraph{
    min-height: 360px;
    padding: 0;
  }
  .weatherGraphControlCard .riskMapSectionControlRow{
    grid-template-columns: 82px minmax(0, 1fr);
  }
  .weatherGraphControlCard .riskMapSectionControlRow label{
    font-size: 11px;
  }
  .mapPanel.riskLayout{
    grid-template-rows: auto auto auto auto;
  }
  .mapPanel.riskLayout .physicalBreakdownPanel,
  .mapPanel.riskLayout .physicalMapArea{
    height: auto;
    max-height: none;
  }
}
.sub{
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.35;
}

.transitionWrap{
  height: 100%;
  min-height: 0;
  overflow: auto;
  padding: 0;
  background: #ffffff;
}
.transitionShell{
  display:grid;
  grid-template-rows: auto auto auto minmax(clamp(420px, calc(var(--panelH) - 270px), 680px), 1fr);
  gap: 16px;
  height: auto;
  min-height: 100%;
  padding: 18px;
  box-sizing: border-box;
  overflow: visible;
}
.transitionSustainabilitySections{
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.transitionSustainabilitySection{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.transitionSustainabilitySectionTitle{
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .02em;
  color: rgba(15, 23, 42, .78);
}
.transitionSustainabilityGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.crremPathwaysSection{
  --crrem-area-rgb: 249, 115, 22;
  --crrem-area-alpha: .52;
  --crrem-target-color: #16a34a;
  --crrem-asset-below-color: #1d4ed8;
  --crrem-asset-above-color: #dc2626;
  --crrem-asset-color: var(--crrem-asset-below-color);
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(180deg, rgba(248, 250, 252, .95), rgba(255, 255, 255, .98));
  box-shadow: 0 12px 28px rgba(15, 23, 42, .05);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.actionPlanPathwaysSection{
  box-shadow: none;
}
.crremPathwaysTop{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.sectionMinimizeBtn{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: rgba(15, 23, 42, .45);
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.15s, color 0.15s, transform 0.2s;
}
.sectionMinimizeBtn:hover{
  background: rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .8);
}
.sectionMinimizeBtn{
  transform: rotate(180deg);
}
.sectionCollapsed .sectionMinimizeBtn{
  transform: rotate(0deg);
}
.sectionCollapsed > *:not(.crremPathwaysTop):not(.postEventRecoveryTop){
  display: none;
}
.crremPathwaysTop .sectionMinimizeBtn{
  margin-top: 2px;
}
.crremPathwaysMeta{
  color: rgba(15, 23, 42, .58);
  font-size: 12px;
  line-height: 1.35;
}
.crremPathwaysGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.crremPathwayCard{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #ffffff;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}
.crremPathwayTitle{
  padding: 9px 11px;
  color: rgba(15, 23, 42, .86);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  background: linear-gradient(180deg, rgba(241, 245, 249, .9), rgba(255, 255, 255, .98));
}
.crremPathwaySvg{
  display: block;
  width: 100%;
  height: auto;
  background: #ffffff;
}
.crremChartWrap{
  position: relative;
}
.crremPlotBg{
  fill: rgba(248, 250, 252, .86);
}
.crremPlotFrame{
  fill: none;
  stroke: rgba(15, 23, 42, .22);
  stroke-width: 1;
  pointer-events: none;
}
.crremGridLine{
  stroke: rgba(148, 163, 184, .28);
  stroke-width: 1;
  pointer-events: none;
}
.crremGridLine--x{
  stroke-opacity: .6;
}
.crremTickText{
  fill: rgba(71, 85, 105, .88);
  font-size: 10.5px;
  font-weight: 600;
  dominant-baseline: middle;
}
.crremArea{
  fill: rgba(var(--crrem-area-rgb), var(--crrem-area-alpha));
  pointer-events: none;
}
.crremTargetLine{
  fill: none;
  stroke: var(--crrem-target-color);
  stroke-width: 2.6;
  pointer-events: none;
}
.crremAssetLine{
  fill: none;
  stroke-width: 2.6;
  pointer-events: none;
}
.crremAssetLine--below{
  stroke: var(--crrem-asset-below-color);
}
.crremAssetLine--above{
  stroke: var(--crrem-asset-above-color);
}
.crremAlignMarker{
  fill: #ffffff;
  stroke: #ef4444;
  stroke-width: 2;
  pointer-events: none;
}
.crremHoverGuide{
  stroke: rgba(15, 23, 42, .32);
  stroke-width: 1.2;
  stroke-dasharray: 4 4;
  pointer-events: none;
}
.crremHoverMarker{
  pointer-events: none;
}
.crremHoverMarker--target{
  fill: #ffffff;
  stroke: var(--crrem-target-color);
  stroke-width: 2;
}
.crremHoverMarker--asset{
  fill: #ffffff;
  stroke: var(--crrem-asset-color);
  stroke-width: 2;
}
.crremHoverHit{
  fill: transparent;
  stroke: transparent;
  stroke-width: 10;
  cursor: crosshair;
}
.crremTooltip{
  position: absolute;
  z-index: 3;
  transform: translate(-50%, 0);
  min-width: 140px;
  max-width: min(260px, calc(100% - 14px));
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .16);
  background: rgba(255, 255, 255, .98);
  color: rgba(15, 23, 42, .92);
  box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
  padding: 7px 9px;
  pointer-events: none;
}
.crremTooltipYear{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .58);
  margin-bottom: 4px;
}
.crremTooltipBody{
  display: grid;
  gap: 3px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}
.crremTooltipMetricLabel{
  color: rgba(15, 23, 42, .72);
  margin-right: 4px;
}
.crremTooltipUnit{
  margin-left: 4px;
  color: rgba(51, 65, 85, .82);
  font-weight: 600;
}
.crremTooltipUnit sup,
.crremTooltipUnit sub{
  position: relative;
  font-size: .72em;
  line-height: 0;
  vertical-align: baseline;
}
.crremTooltipUnit sup{
  top: -.45em;
}
.crremTooltipUnit sub{
  bottom: -.2em;
}
.crremLegend{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 7px 10px 10px;
  color: rgba(51, 65, 85, .85);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}
.crremLegendItem{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.crremLegendLabel{
  display: inline-block;
  line-height: 1.1;
}
.crremLegendSwatch{
  display: inline-block;
  flex: 0 0 auto;
  width: 14px;
  height: 3px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .8);
  vertical-align: middle;
  font-style: normal;
}
.crremLegendSwatch--area{
  height: 8px;
  background: rgba(var(--crrem-area-rgb), var(--crrem-area-alpha));
}
.crremLegendSwatch--target{
  background: var(--crrem-target-color);
}
.crremLegendSwatch--asset{
  background: linear-gradient(90deg, var(--crrem-asset-below-color) 0 50%, var(--crrem-asset-above-color) 50% 100%);
}
.crremPathwaysError{
  padding: 10px 12px;
  border: 1px solid rgba(239, 68, 68, .25);
  border-radius: 12px;
  background: rgba(239, 68, 68, .08);
  color: rgba(153, 27, 27, 1);
  font-size: 12.5px;
  line-height: 1.35;
}
.transitionSustainabilityCard{
  position: relative;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 16px;
  background:
    radial-gradient(circle at top left, rgba(56, 189, 248, .10), transparent 42%),
    linear-gradient(165deg, rgba(248, 250, 252, .95), rgba(255, 255, 255, .98));
  box-shadow: 0 12px 28px rgba(15, 23, 42, .06);
  padding: 14px;
  min-height: 174px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
}
.transitionSustainabilityHead{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.transitionSustainabilityLabel{
  font-size: 13px;
  font-weight: 700;
  color: rgba(15, 23, 42, .78);
  letter-spacing: -0.01em;
  min-width: 0;
}
.transitionAiGeneratedBadge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 10px;
  border: 1px solid rgba(37, 99, 235, .22);
  background: linear-gradient(180deg, rgba(219, 234, 254, .70), rgba(239, 246, 255, .95));
  color: rgba(30, 64, 175, .95);
  white-space: nowrap;
}
.transitionVerifiedBadge{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border-radius: 10px;
  border: 1px solid rgba(22, 163, 74, .28);
  background: linear-gradient(180deg, rgba(220, 252, 231, .72), rgba(240, 253, 244, .96));
  color: rgba(21, 128, 61, .98);
  white-space: nowrap;
}
.transitionAiGeneratedBadgeIcon{
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(37, 99, 235, .95);
  flex-shrink: 0;
}
.transitionAiGeneratedBadgeIcon svg{
  width: 14px;
  height: 14px;
}
.transitionAiGeneratedBadgeIcon svg path{
  fill: currentColor;
}
.transitionAiGeneratedBadgeText{
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .01em;
}
.transitionVerifiedBadgeIcon{
  width: 14px;
  height: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: rgba(22, 163, 74, .98);
  flex-shrink: 0;
}
.transitionVerifiedBadgeIcon svg{
  width: 14px;
  height: 14px;
}
.transitionVerifiedBadgeIcon svg path{
  stroke: currentColor;
  fill: none;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.transitionVerifiedBadgeText{
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .01em;
}
.transitionAiGeneratedInfoBtn{
  margin-left: 2px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, .42);
  background: rgba(248, 250, 252, .94);
  color: rgba(51, 65, 85, .94);
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset;
}
.transitionAiGeneratedInfoBtn:hover{
  border-color: rgba(59, 130, 246, .5);
  color: rgba(30, 64, 175, .96);
  background: rgba(239, 246, 255, .98);
}
.transitionAiGeneratedInfoBtn:focus-visible{
  outline: 2px solid rgba(59, 130, 246, .4);
  outline-offset: 1px;
}
.transitionSustainabilityBody{
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 10px;
  flex: 1;
  min-height: 0;
}
.transitionSustainabilityScoreBlock{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255, 255, 255, .78);
  padding: 10px 11px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
}
.transitionSustainabilityScoreCaption{
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
}
.transitionSustainabilityScoreRow{
  display: flex;
  align-items: baseline;
  gap: 7px;
}
.transitionSustainabilityScoreRow .riskSwatch{
  width: 10px;
  height: 10px;
}
.transitionSustainabilityScoreValue{
  font-size: 38px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .96);
}
.transitionSustainabilityScoreLabel{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .68);
  line-height: 1.1;
}
.transitionSustainabilityValuesPane{
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-width: 0;
}
.transitionSustainabilityValuesPane--subsections{
  gap: 7px;
}
.transitionSustainabilitySubRow{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255, 255, 255, .88);
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.transitionSustainabilitySubRowHead{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.transitionSustainabilitySubRowLabel{
  font-size: 12px;
  font-weight: 700;
  color: rgba(15, 23, 42, .78);
}
.transitionSustainabilitySubRowValues{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.transitionSustainabilitySubDatum{
  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .07);
  background: rgba(255, 255, 255, .82);
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.transitionSustainabilitySubDatum--reference{
  background: linear-gradient(180deg, rgba(241, 245, 249, .92), rgba(255, 255, 255, .96));
}
.transitionSustainabilitySubRowEditBtn{
  width: 24px;
  height: 24px;
}
.transitionSustainabilityDatum{
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255, 255, 255, .88);
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.transitionSustainabilityDatum--reference{
  background: linear-gradient(180deg, rgba(241, 245, 249, .92), rgba(255, 255, 255, .96));
}
.transitionSustainabilityDatumLabel{
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .54);
}
.transitionSustainabilityDatumValue{
  display: flex;
  align-items: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}
.transitionSustainabilityValue{
  font-size: 19px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .96);
}
.transitionSustainabilityUnit{
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  color: rgba(15, 23, 42, .56);
}
.transitionSustainabilityReferenceValue{
  font-size: 19px;
  line-height: 1;
  font-weight: 750;
  letter-spacing: -0.03em;
  color: rgba(15, 23, 42, .86);
}
.transitionSustainabilityReferenceUnit{
  color: rgba(15, 23, 42, .58);
  font-weight: 700;
  font-size: 11px;
}
.transitionSustainabilityEditBtn{
  position: static;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(15, 23, 42, .03);
  color: rgba(15, 23, 42, .72);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}
.transitionSustainabilityEditBtn:hover{
  background: rgba(59, 91, 255, .08);
  border-color: rgba(59, 91, 255, .24);
  color: rgba(37, 99, 235, 1);
}
.transitionSustainabilityEditBtn:focus-visible{
  outline: 2px solid rgba(37, 99, 235, .5);
  outline-offset: 1px;
}
.transitionSustainabilityEditBtn:disabled{
  opacity: .55;
  cursor: wait;
}
.transitionSustainabilityEditBtn svg{
  width: 14px;
  height: 14px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.transitionContentGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.transitionContentGrid.mapBelow{
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(420px, 1fr) auto;
  overflow: visible;
}
.transitionMapHost{
  min-height: 0;
  display:flex;
}
.transitionContentGrid.mapBelow .transitionMapHost{
  grid-column: 1;
  grid-row: 1;
}
.transitionContentGrid .physicalBreakdownCard{
  min-height: 0;
  overflow: auto;
}
.transitionContentGrid.mapBelow .physicalBreakdownCard{
  grid-column: 1;
  grid-row: 2;
  overflow: visible;
}
.transitionMapHost .physicalMapArea{
  width: 100%;
  height: 100%;
}
.transitionTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 14px;
}
.transitionTop h3,
.transitionEmpty h3{
  margin: 6px 0 4px;
  font-size: 20px;
  letter-spacing: -0.03em;
}
.transitionTop p,
.transitionEmpty p{
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  max-width: 620px;
}
.transitionEyebrow{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .48);
}
.transitionEmpty{
  display:flex;
  flex-direction:column;
  justify-content:center;
  height: 100%;
  padding: 24px 18px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.transitionEmpty--top{
  justify-content:flex-start;
}
.transitionEmpty--loading{
  gap: 18px;
  justify-content: center;
}
.transitionLoading{
  display:flex;
  align-items:center;
  gap: 16px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(37, 99, 235, .14);
  background:
    radial-gradient(circle at top left, rgba(59, 130, 246, .14), transparent 40%),
    linear-gradient(180deg, rgba(239, 246, 255, .9), rgba(255, 255, 255, .96));
}
.transitionLoadingTitle{
  font-size: 14px;
  font-weight: 800;
  color: rgba(15, 23, 42, .9);
  margin-bottom: 4px;
}
.transitionLoadingSub{
  margin-top: 6px;
  color: rgba(15, 23, 42, .56);
  font-size: 12.5px;
  line-height: 1.45;
}
.transitionSpinner{
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 999px;
  border: 2.5px solid rgba(37, 99, 235, .16);
  border-top-color: rgba(37, 99, 235, .92);
  animation: transitionSpin .75s linear infinite;
}
@keyframes transitionSpin{
  to{ transform: rotate(360deg); }
}

.energyClassCard,
.transitionMetric{
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(255, 255, 255, .92);
  border-radius: 22px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, .06);
}
.energyClassCard{
  padding: 16px;
}
.energyClassHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.energyClassCurrent{
  font-size: 32px;
  line-height: 1;
  font-weight: 850;
  color: rgba(15, 23, 42, .92);
}
.energyClassCurrentWrap{
  margin-top: 6px;
}
.energyClassScale{
  display:grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}
.energyClassStep{
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 16px;
  padding: 12px 8px;
  font-weight: 800;
  font-size: 13px;
  cursor: pointer;
  color: rgba(15, 23, 42, .72);
  background: linear-gradient(180deg, rgba(241, 245, 249, .9), rgba(255, 255, 255, .98));
}
.energyClassStep.is-active{
  background: rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .94);
  border-color: rgba(15, 23, 42, .14);
  box-shadow: none;
}

.transitionMetrics{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.transitionMetric{
  padding: 16px;
}
.transitionMetricTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 14px;
}
.transitionMetricLabel{
  font-size: 15px;
  font-weight: 850;
  letter-spacing: -0.02em;
}
.transitionMetricLabelRow{
  display:flex;
  align-items:center;
  gap: 10px;
}
.transitionMetricIcon{
  width: 28px;
  height: 28px;
  border-radius: 10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(15, 23, 42, .05);
  border: 1px solid rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .72);
  flex: 0 0 auto;
}
.transitionMetricIcon svg{
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.transitionMetricUnit{
  margin-top: 4px;
  font-size: 12px;
  color: rgba(15, 23, 42, .52);
}
.transitionDelta{
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.transitionDelta--good{
  background: rgba(22, 163, 74, .10);
  color: #166534;
}
.transitionDelta--bad{
  background: rgba(239, 68, 68, .10);
  color: #991b1b;
}
.transitionDelta--neutral{
  background: rgba(148, 163, 184, .16);
  color: #475569;
}
.transitionMetricGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items:end;
}
.transitionMetricGrid--single{
  grid-template-columns: minmax(0, 1fr);
}
.transitionInputGroup{
  display:flex;
  flex-direction:column;
  gap: 6px;
}
.transitionInputGroup span{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .48);
}
.transitionInputGroup input,
.transitionInputGroup select{
  width: 100%;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(248, 250, 252, .95);
  padding: 11px 12px;
  font: inherit;
  color: var(--text);
}
.transitionInputGroup--compact{
  width: 120px;
}
.transitionReferenceCard{
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, .08);
  background: rgba(241, 245, 249, .88);
  padding: 12px;
  display:flex;
  flex-direction:column;
  gap: 3px;
  min-height: 100%;
  justify-content: center;
}
.transitionReferenceCard span,
.transitionReferenceCard small{
  color: rgba(15, 23, 42, .52);
  font-size: 12px;
}
.transitionReferenceCard strong{
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.03em;
}
.transitionCompare{
  margin-top: 14px;
}
.transitionCompareTrack{
  height: 10px;
  border-radius: 999px;
  background: rgba(226, 232, 240, .92);
  overflow:hidden;
}
.transitionCompareFill{
  display:block;
  height: 100%;
  border-radius: inherit;
  background: #94a3b8;
}
.transitionCompareFill--good{
  background: linear-gradient(90deg, #16a34a, #84cc16);
}
.transitionCompareFill--bad{
  background: linear-gradient(90deg, #f59e0b, #ef4444);
}
.transitionCompareFill--neutral{
  background: linear-gradient(90deg, #cbd5e1, #94a3b8);
}
.transitionCompareLabels{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-top: 8px;
  font-size: 11.5px;
  color: rgba(15, 23, 42, .56);
  font-weight: 700;
}
.transitionActions{
  display:flex;
  justify-content:flex-end;
}

@media (max-width: 980px){
  .transitionTop,
  .energyClassHead{
    flex-direction: column;
    align-items: stretch;
  }
  .energyClassScale,
  .transitionMetrics{
    grid-template-columns: 1fr;
  }
  .transitionSustainabilityGrid{
    grid-template-columns: 1fr;
  }
  .crremPathwaysGrid{
    grid-template-columns: 1fr;
  }
  .transitionSustainabilityBody{
    grid-template-columns: 1fr;
  }
  .transitionSustainabilitySubRowValues{
    grid-template-columns: 1fr;
  }
  .transitionContentGrid{
    grid-template-columns: 1fr;
  }
  .transitionMetricGrid{
    grid-template-columns: 1fr;
  }
  .transitionInputGroup--compact{
    width: 100%;
  }
  .actionPlanScenario{
    grid-template-columns: 1fr;
  }
  .actionPlanTable{
    overflow-x: auto;
    overflow-y: hidden;
  }
  .actionPlanTableRow{
    min-width: 1290px;
  }
}

.badge{
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(15, 23, 42, .04);
  color: var(--text);
  white-space: nowrap;
}

.badge.ok{
  border-color: rgba(34,197,94,.35);
  background: rgba(34,197,94,.12);
  color: rgba(21, 128, 61, 1);
  font-weight: 700;
}
.badge.warn{
  border-color: rgba(245,158,11,.38);
  background: rgba(245,158,11,.14);
  color: rgba(146, 64, 14, 1);
  font-weight: 800;
}
.badge.danger{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.12);
  color: rgba(153, 27, 27, 1);
  font-weight: 800;
}

.iconDot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  display:inline-block;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(15, 23, 42, .10);
}
.iconDot.ok{ background: rgba(34,197,94,.90); border-color: rgba(34,197,94,.45); }
.iconDot.warn{ background: rgba(245,158,11,.95); border-color: rgba(245,158,11,.55); }
.iconDot.danger{ background: rgba(239,68,68,.95); border-color: rgba(239,68,68,.55); }

.riskLevel.minimal{ background: #1B8A3A !important; border-color: rgba(27, 138, 58, .55) !important; color: #ffffff !important; }
.riskLevel.very-low{ background: #37A858 !important; border-color: rgba(55, 168, 88, .55) !important; color: #ffffff !important; }
.riskLevel.low{ background: #62C86E !important; border-color: rgba(98, 200, 110, .55) !important; color: #0f172a !important; }
.riskLevel.low-moderate{ background: #7DDF7B !important; border-color: rgba(125, 223, 123, .55) !important; color: #0f172a !important; }
.riskLevel.moderate-low{ background: #B7F36A !important; border-color: rgba(183, 243, 106, .55) !important; color: #0f172a !important; }
.riskLevel.moderate{ background: #FFF176 !important; border-color: rgba(255, 241, 118, .60) !important; color: #0f172a !important; }
.riskLevel.moderate-high{ background: #FFD54F !important; border-color: rgba(255, 213, 79, .60) !important; color: #0f172a !important; }
.riskLevel.high{ background: #FFB74D !important; border-color: rgba(255, 183, 77, .60) !important; color: #0f172a !important; }
.riskLevel.very-high{ background: #FF8A65 !important; border-color: rgba(255, 138, 101, .60) !important; color: #0f172a !important; }
.riskLevel.critical{ background: #F44336 !important; border-color: rgba(244, 67, 54, .60) !important; color: #ffffff !important; }

.row{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
}

.mapModes{
  display:none !important;
}

.timeCtl{
  display:flex;
  flex-direction:column;
  gap: 10px;
  padding: 12px;
  width: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  backdrop-filter: blur(6px);
}
.timeCtl[hidden]{
  display:none !important;
}
.basemapCtl{
  display:flex;
  flex-direction:column;
  gap: 10px;
  padding: 12px;
  width: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  backdrop-filter: blur(6px);
}
.basemapCtl[hidden]{
  display:none !important;
}
.basemapCtl label{
  margin: 0;
  font-size: 12px;
}
.basemapCtl select{
  min-width: 0;
}
.mapBasemapBtn{
  position: absolute;
  top: 12px;
  right: 52px;
  z-index: 20;
  opacity: 1;
  background: rgba(255,255,255,1);
  color: rgba(15, 23, 42, 1);
}
.mapBasemapBtn[aria-expanded="true"]{
  opacity: 1;
  background: rgba(255,255,255,1);
  border-color: rgba(15, 23, 42, .18);
  color: rgba(15, 23, 42, 1);
}
.mapHideBtn{
  position: absolute;
  top: 12px;
  right: 8px;
  z-index: 20;
  opacity: 1;
  background: rgba(255,255,255,1);
  color: rgba(15, 23, 42, 1);
}
.mapLayoutBtn{
  position: absolute;
  top: 6px;
  right: 8px;
  z-index: 20;
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255,255,255,1);
  color: rgba(15, 23, 42, 1);
  font-size: 17px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.mapLayoutBtn:hover{
  filter: brightness(1.03);
}
.mapLayoutBtn.is-active{
  background: rgba(37, 99, 235, .10);
  border-color: rgba(37, 99, 235, .22);
  color: rgba(37, 99, 235, 1);
}
.hazardCtl{
  display:flex;
  flex-direction:column;
  gap: 10px;
  padding: 12px;
  width: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  backdrop-filter: blur(6px);
}
.hazardCtl[hidden]{
  display:none !important;
}
.riskCtl{
  display:flex;
  flex-direction:column;
  gap: 10px;
  padding: 12px;
  width: 100%;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  backdrop-filter: blur(6px);
}
#risksPanel{
  display: grid;
  grid-template-columns: minmax(320px, 1fr);
  width: min(760px, 100%);
  align-self: flex-start;
  align-items: stretch;
  overflow: visible;
}
#risksPanel.risksPanel--full{
  grid-template-columns: minmax(260px, 2fr) minmax(170px, 1fr) minmax(170px, 1fr);
  width: 100%;
  align-self: stretch;
}
#risksPanel .timeCtlRow{
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  flex-wrap: nowrap;
  margin: 0;
}
#risksPanel label{
  white-space: nowrap;
}
#risksPanel select{
  width: 100%;
  min-width: 0;
}
#riskSelect{
  width: 100%;
}
#riskSspSelect,
#riskPeriodSelect{
  width: 100%;
}
.riskCtl[hidden]{
  display:none !important;
}
.timeCtlRow{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap:wrap;
}

.weatherViewTabs{
  width: 100%;
  gap: 6px;
}

.weatherViewTab{
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(248, 250, 252, .9);
  color: rgba(15, 23, 42, .7);
  border-radius: 12px;
  padding: 8px 10px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.1;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
  flex: 1 1 0;
  min-width: 0;
}

.weatherViewTab:hover{
  color: rgba(15, 23, 42, .9);
  border-color: rgba(15, 23, 42, .2);
}

.weatherViewTab.is-active{
  background: rgba(37, 99, 235, .14);
  color: rgba(29, 78, 216, 1);
  border-color: rgba(37, 99, 235, .26);
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .18);
}
.timeCtlRow--time{
  flex-wrap: nowrap;
}
.timeCtlRow--time label{
  min-width: 44px;
}
.timeCtlRow--time input[type="range"]{
  flex: 1 1 auto;
  width: auto;
  min-width: 140px;
}
.timeCtlRow--time .pill{
  white-space: nowrap;
}
.timeCtl label{
  margin: 0;
  font-size: 12px;
}
.timeCtl input[type="range"]{
  width: 320px;
  max-width: 100%;
  padding: 0;
  box-shadow: none;
  border: 0;
  background: transparent;
}
.timeCtl select{
  min-width: 240px;
}
.timeCtl .pill{
  background: rgba(59, 91, 255, .10);
  border-color: rgba(59, 91, 255, .22);
  color: rgba(37, 99, 235, 1);
  font-weight: 800;
}
.timePlayBtn{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  font-size: 14px;
}
.timePlayBtn span{
  display:block;
  line-height: 1;
}
.timePlayBtn:disabled{
  opacity: .45;
  cursor: not-allowed;
}

.toggleBtn{
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255, 255, 255, .96);
  color: var(--text);
  padding: 10px 12px;
  border-radius: 18px;
  cursor:pointer;
  font-weight: 800;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap: 8px;
  user-select:none;
  width: auto;
  min-width: 124px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .10);
}
.toggleBtn:hover{ filter: brightness(1.03); }
.toggleBtn[aria-expanded="true"]{
  background: linear-gradient(180deg, rgba(226, 232, 240, .96), rgba(255, 255, 255, .98));
  border-color: rgba(15, 23, 42, .16);
  color: rgba(15, 23, 42, .92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(15, 23, 42, .08);
}
.toggleBtn[aria-pressed="true"]{
  background: linear-gradient(180deg, rgba(226, 232, 240, .96), rgba(255, 255, 255, .98));
  border-color: rgba(15, 23, 42, .16);
  color: rgba(15, 23, 42, .92);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(15, 23, 42, .08);
}
.toggleBtn:disabled{
  opacity: .55;
  cursor:not-allowed;
}

.selected{
  outline: none;
  box-shadow:
    var(--shadow2),
    0 0 0 3px rgba(59, 91, 255, .20);
}

.card.asset.selected{
  border-radius: var(--radius);
}

.smallNote{
  font-size: 12.5px;
  color: var(--muted);
  margin: 0;
  line-height: 1.35;
}

.err{
  color: rgba(153, 27, 27, 1);
  border: 1px solid rgba(239,68,68,.25);
  background: rgba(239,68,68,.10);
  padding: 10px 12px;
  border-radius: 14px;
  margin: 14px 0 0;
  display:none;
  white-space: pre-wrap;
}

.toast{
  position: fixed;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 9999;
  max-width: min(540px, calc(100vw - 24px));
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 850;
  font-size: 12.5px;
  letter-spacing: -0.01em;
  box-shadow: 0 18px 40px rgba(15, 23, 42, .18);
  border: 1px solid rgba(15, 23, 42, .12);
  background: rgba(255,255,255,.94);
  color: rgba(15, 23, 42, .92);
  backdrop-filter: blur(10px);
}
.toast[hidden]{ display:none !important; }
.toast--info{
  background: rgba(37, 99, 235, .10);
  border-color: rgba(37, 99, 235, .18);
  color: rgba(30, 64, 175, 1);
}
.toast--success{
  background: rgba(27, 138, 58, .10);
  border-color: rgba(27, 138, 58, .18);
  color: rgba(21, 128, 61, 1);
}
.toast--error{
  background: rgba(239, 68, 68, .10);
  border-color: rgba(239, 68, 68, .22);
  color: rgba(153, 27, 27, 1);
}

/* Leaflet */
.leaflet-container{
  font-family: "Overused Grotesk", system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, sans-serif;
}
.leaflet-popup-content-wrapper{
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
}
.leaflet-control-layers{
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
}
.leaflet-control-layers-expanded{
  padding: 10px 12px;
}
.leaflet-bar a, .leaflet-bar a:hover{
  border-color: rgba(15, 23, 42, .12);
}

.mapLegend{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 16px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  padding: 10px 12px;
  min-width: 170px;
  backdrop-filter: blur(6px);
}
.mapLegend .legendToggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  cursor:pointer;
  text-align:left;
}
.mapLegend .legendToggle:focus-visible{
  outline: 2px solid rgba(37, 99, 235, .35);
  outline-offset: 4px;
  border-radius: 10px;
}

.mapHover{
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 14px;
  box-shadow: 0 10px 26px rgba(15, 23, 42, .12);
  padding: 8px 10px;
  min-width: 180px;
  backdrop-filter: blur(6px);
}
.mapHover[hidden]{
  display:none !important;
}
.mapHover .hoverTitle{
  font-weight: 800;
  letter-spacing: -0.01em;
  font-size: 12.5px;
  margin-bottom: 6px;
}
.mapHover .hoverRows{
  display:flex;
  flex-direction:column;
  gap: 6px;
}
.mapHover .hoverRow{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 10px;
  font-size: 12px;
  color: rgba(15, 23, 42, .86);
}
.mapHover .hoverName{
  color: rgba(15, 23, 42, .70);
  font-weight: 800;
}
.mapHover .hoverVal{
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}
.mapLegend .legendTitle{
  font-weight: 800;
  letter-spacing:-0.01em;
  font-size: 12.5px;
}
.mapLegend .legendChevron{
  font-size: 16px;
  line-height: 1;
  font-weight: 800;
  color: rgba(15, 23, 42, .60);
}
.mapLegend .legendSection{
  margin-top: 10px;
}
.mapLegend .legendSection.isCollapsed{
  display:none;
}
.mapLegend .legendLabel{
  font-size: 12px;
  color: rgba(15, 23, 42, .72);
  font-weight: 800;
  margin-bottom: 6px;
}
.mapLegend .legendRows{
  display:flex;
  flex-direction:column;
  gap: 6px;
}
.mapLegend .legendRow{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 12px;
  color: rgba(15, 23, 42, .86);
}
.mapLegend .legendMuted{
  font-size: 12px;
  color: rgba(15, 23, 42, .56);
}
.mapLegend .legendDot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(15, 23, 42, .10);
  display:inline-block;
}
.mapLegend .legendDot.ok{ background: rgba(34,197,94,.90); border-color: rgba(34,197,94,.45); }
.mapLegend .legendDot.warn{ background: rgba(245,158,11,.95); border-color: rgba(245,158,11,.55); }
.mapLegend .legendDot.danger{ background: rgba(239,68,68,.95); border-color: rgba(239,68,68,.55); }
.mapLegend .legendSwatch{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: linear-gradient(135deg, rgba(59,91,255,.35), rgba(37,99,235,.25));
  display:inline-block;
}
.mapLegend .legendScale{
  margin-top: 10px;
}
.mapLegend .legendBar{
  height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  margin-top: 6px;
}
.mapLegend .legendMinMax{
  display:flex;
  justify-content:space-between;
  margin-top: 6px;
  font-size: 11.5px;
  color: rgba(15, 23, 42, .70);
  gap: 8px;
}
.mapLegend .legendMinMax span{
  min-width: 44px;
}

/* Hazard legend: Extreme heat (WBGT) */
.mapLegend .legendExtremeHeat{
  margin-top: 10px;
}
.mapLegend .legendExtremeHeatTitle{
  font-weight: 800;
  letter-spacing: -0.01em;
  font-size: 12.5px;
  margin-bottom: 4px;
}
.mapLegend .legendExtremeHeatSub{
  font-size: 12px;
  color: rgba(15, 23, 42, .72);
  margin-bottom: 6px;
}
.mapLegend .legendExtremeHeatVar{
  font-size: 12px;
  color: rgba(15, 23, 42, .56);
}
.mapLegend .legendExtremeHeatScale{
  display:flex;
  align-items:stretch;
  gap: 10px;
  margin-top: 10px;
}
.mapLegend .legendExtremeHeatBar{
  width: 18px;
  height: 56px;
  border-radius: 4px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: linear-gradient(to bottom, #C45A00 0%, #FFF2C5 100%);
}
.mapLegend .legendExtremeHeatTicks{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  font-size: 12px;
  color: rgba(15, 23, 42, .86);
  line-height: 1;
  min-width: 28px;
}

.userPageWrap{
  max-width: 1100px;
  padding-top: 26px;
  padding-bottom: 36px;
}

.userHeader{
  margin-bottom: 14px;
}

.userSummaryCard{
  padding: 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
  background:
    radial-gradient(560px 260px at 8% -20%, rgba(59, 91, 255, .16), transparent 62%),
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(247, 250, 255, .95));
}

.userSummaryIdentity{
  display:flex;
  align-items:center;
  gap: 14px;
  min-width: 0;
}

.userAvatar{
  width: 58px;
  height: 58px;
  border-radius: 16px;
  border: 1px solid rgba(59, 91, 255, .28);
  background: linear-gradient(145deg, #3B5BFF, #2563EB);
  color: #ffffff;
  font-size: 22px;
  font-weight: 800;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 14px 32px rgba(37, 99, 235, .26);
  flex: 0 0 auto;
}

.userSummaryCopy h2{
  margin: 0;
  font-size: 24px;
  letter-spacing: -0.03em;
}

.userSummaryCopy p{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.userSummaryTags{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap: 8px;
}

.userSummaryTag{
  display:flex;
  flex-direction:column;
  gap: 2px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: rgba(255, 255, 255, .85);
}

.userSummaryTagLabel{
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .54);
}

.userSummaryTagValue{
  font-size: 12px;
  font-weight: 800;
  color: rgba(15, 23, 42, .88);
}

.userCard{
  margin-top: 14px;
  padding: 18px;
}

.userCardHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}

.userCardHead h2{
  margin: 0;
  font-size: 18px;
}

.userCardHead p{
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
  max-width: 460px;
}

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

.userInfoItem{
  padding: 12px 13px;
  border-radius: 14px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: linear-gradient(180deg, #ffffff, #f9fbff);
  display:flex;
  flex-direction:column;
  gap: 8px;
  min-height: 88px;
}

.userInfoItemWide{
  grid-column: 1 / -1;
}

.userInfoLabel{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, .52);
  overflow-wrap: anywhere;
}

.userInfoText{
  font-size: 15px;
  line-height: 1.35;
  font-weight: 650;
  color: var(--text);
  overflow-wrap: anywhere;
}

.userInfoTextMono{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 12.5px;
  line-height: 1.45;
}

.userInfoEmpty{
  margin-top: 14px;
  padding: 14px;
  border-radius: 12px;
  border: 1px dashed rgba(15, 23, 42, .18);
  color: var(--muted);
}

.userSecurityCard{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 16px;
}

.userSecurityBtn{
  display:inline-flex;
  align-items:center;
  gap: 10px;
}

.userSecurityIcon{
  width: 18px;
  height: 18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.userSecurityIcon svg{
  width: 18px;
  height: 18px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.userOrganizationCard{
  display:flex;
  flex-direction:column;
  gap: 12px;
}

.userOrgMeta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap: 8px 10px;
}

.userOrgMetaName{
  font-size: 18px;
  font-weight: 780;
  letter-spacing: -0.02em;
}

.userOrgMetaTags{
  display:flex;
  flex-wrap:wrap;
  gap: 8px;
}

.userOrgRoleChip{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(15, 23, 42, .04);
  color: rgba(15, 23, 42, .85);
  font-size: 12px;
  font-weight: 750;
}

.userOrgRoleChip.is-admin{
  border-color: rgba(37, 99, 235, .36);
  background: rgba(37, 99, 235, .12);
  color: rgba(30, 64, 175, 1);
}

.userOrgRoleChip.is-read-write{
  border-color: rgba(14, 116, 144, .34);
  background: rgba(6, 182, 212, .14);
  color: rgba(14, 116, 144, 1);
}

.userOrgRoleChip.is-read-only{
  border-color: rgba(180, 83, 9, .30);
  background: rgba(245, 158, 11, .14);
  color: rgba(146, 64, 14, 1);
}

.userOrgMemberForm{
  margin-top: 4px;
}

.userOrgReadOnlyNote{
  border: 1px solid rgba(245, 158, 11, .32);
  background: rgba(245, 158, 11, .12);
  color: rgba(146, 64, 14, 1);
  border-radius: 12px;
  padding: 11px 12px;
  font-size: 13px;
  font-weight: 680;
}

.userOrgMembers{
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.userOrgMembersHead{
  font-size: 13px;
  font-weight: 760;
  color: var(--muted);
}

.userOrgMembersEmpty{
  padding: 12px;
  border-radius: 12px;
  border: 1px dashed rgba(15, 23, 42, .16);
  color: var(--muted);
  font-size: 13px;
}

.userOrgMembersList{
  display:flex;
  flex-direction:column;
  gap: 8px;
}

.userOrgMemberItem{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f9fbff);
  padding: 10px 12px;
}

.userOrgMemberIdentity{
  min-width: 0;
}

.userOrgMemberName{
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.userOrgMemberActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap: 8px;
}

.userOrgMemberRoleSelect{
  width: auto;
  min-width: 148px;
  padding: 8px 30px 8px 10px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 650;
}

.userOrgMemberActionBtn{
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(15, 23, 42, .03);
  color: var(--text);
  border-radius: 9px;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.userOrgMemberActionBtn:hover{
  filter: brightness(1.03);
}

.userOrgMemberActionBtn:disabled{
  cursor: not-allowed;
  opacity: .55;
}

.userOrgMemberActionBtnDanger{
  border-color: rgba(239, 68, 68, .26);
  background: rgba(239, 68, 68, .08);
  color: rgba(185, 28, 28, 1);
}

.accessBanner{
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(245, 158, 11, .34);
  background: rgba(245, 158, 11, .14);
  color: rgba(146, 64, 14, 1);
  font-size: 13px;
  font-weight: 700;
}

.changePasswordModalCard{
  width: min(560px, 100%);
  max-height: min(84vh, 760px);
}

.changePasswordModalHeader{
  padding: 16px 16px 12px 16px;
}

.changePasswordModalBody{
  padding: 16px;
}

.changePasswordModalBody .formGrid{
  gap: 10px;
}

@media (max-width: 980px){
  .userSummaryCard{
    flex-direction: column;
    align-items:flex-start;
  }
  .userSummaryTags{
    justify-content:flex-start;
  }
}

@media (max-width: 820px){
  .userInfoGrid{
    grid-template-columns: 1fr;
  }
  .userSecurityCard{
    align-items:flex-start;
    flex-direction:column;
  }
  .userOrgMemberItem{
    align-items:flex-start;
    flex-direction:column;
  }
  .userOrgMemberActions{
    width: 100%;
    justify-content:flex-start;
  }
  .userInfoText{
    font-size: 15px;
  }
}

.assetManagerMockup{
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.assetManagerHero{
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.assetManagerHero h1{
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.022em;
  font-weight: 500;
}

.assetManagerHero p{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}

.assetManagerAddBtn{
  min-height: 40px;
  border-radius: 10px;
  box-shadow: none;
  padding: 8px 16px;
  font-size: 15px;
  font-weight: 500;
  animation: none;
  transition: none;
  flex: 0 0 auto;
}

.assetManagerAddBtn:hover,
.assetManagerAddBtn:active{
  transform: none;
}

.assetManagerSummaryGrid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.assetSummaryCard{
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 12px;
  min-height: 120px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  gap: 13px;
}

.assetSummaryIcon{
  width: 42px;
  height: 42px;
  border-radius: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
}

.assetSummaryIcon svg{
  width: 19px;
  height: 19px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.assetSummaryIcon--assets{
  background: rgba(59, 130, 246, .15);
  color: rgba(37, 99, 235, 1);
}

.assetSummaryIcon--risk{
  background: rgba(245, 158, 11, .2);
  color: rgba(217, 119, 6, 1);
}

.assetSummaryIcon--value{
  background: rgba(34, 197, 94, .18);
  color: rgba(22, 163, 74, 1);
}

.assetSummaryIcon--alerts{
  background: rgba(248, 113, 113, .18);
  color: rgba(239, 68, 68, 1);
}

.assetSummaryBody{
  min-width: 0;
}

.assetManagerSummaryGrid .assetSummaryBody h2{
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 13px;
  font-weight: 700;
  color: rgba(15, 23, 42, .62);
}

.assetManagerSummaryGrid .assetSummaryValue{
  margin-top: 5px;
  font-size: clamp(34px, 2.6vw, 50px);
  line-height: 1;
  letter-spacing: -.03em;
  font-weight: 500;
  color: rgba(15, 23, 42, .98);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.assetSummaryValue--risk{
  color: rgba(217, 119, 6, 1);
}

.assetSummaryValue--alerts{
  color: rgba(239, 68, 68, 1);
}

.assetManagerSummaryGrid .assetSummaryBody p{
  margin: 4px 0 0;
  color: rgba(15, 23, 42, .58);
  font-size: 15px;
  line-height: 1.25;
}

.assetManagerListCard{
  padding: 0;
  overflow: hidden;
}

.assetManagerListTools{
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid rgba(15, 23, 42, .09);
}

.assetManagerSearch{
  min-width: 0;
  flex: 1 1 auto;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(15, 23, 42, .16);
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  padding: 0 11px;
  min-height: 42px;
}

.assetManagerSearch:focus-within{
  border-color: rgba(59, 91, 255, .5);
  box-shadow: 0 0 0 4px rgba(59, 91, 255, .14);
}

.assetManagerSearchIcon{
  color: rgba(15, 23, 42, .38);
  display: inline-flex;
}

.assetManagerSearchIcon svg{
  width: 17px;
  height: 17px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.assetManagerSearch input{
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  padding: 0;
  min-height: 40px;
  font-size: 15px;
  color: rgba(15, 23, 42, .9);
}

.assetManagerSearch input:focus{
  border: 0;
  box-shadow: none;
}

.assetManagerFilters{
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.assetFilterChip{
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .74);
  color: rgba(15, 23, 42, .86);
  border-radius: 999px;
  min-height: 34px;
  padding: 7px 13px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.assetFilterChip.is-active{
  border-color: rgba(59, 91, 255, .44);
  background: rgba(59, 91, 255, 1);
  color: #fff;
}

.assetManagerViewToggle{
  margin-left: auto;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 10px;
  background: rgba(255, 255, 255, .8);
  display: inline-flex;
  overflow: hidden;
}

.assetViewBtn{
  width: 36px;
  height: 34px;
  border: 0;
  background: transparent;
  color: rgba(15, 23, 42, .48);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.assetViewBtn + .assetViewBtn{
  border-left: 1px solid rgba(15, 23, 42, .1);
}

.assetViewBtn svg{
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.assetViewBtn.is-active{
  background: rgba(59, 91, 255, .1);
  color: rgba(37, 99, 235, 1);
}

.assetManagerTableWrap{
  overflow: auto;
  max-height: min(62vh, 640px);
}

.assetManagerTable{
  width: 100%;
  min-width: 1000px;
  border-collapse: separate;
  border-spacing: 0;
}

.assetManagerTable thead th{
  position: sticky;
  top: 0;
  z-index: 2;
  background: #f2f4f7;
  color: rgba(15, 23, 42, .58);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
  text-align: left;
  border-bottom: 1px solid rgba(15, 23, 42, .12);
  padding: 11px 16px;
  white-space: nowrap;
}

.assetManagerTable td{
  padding: 11px 16px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .9);
  vertical-align: middle;
  font-size: 14px;
}

.assetManagerTable tbody tr{
  transition: background .15s ease;
}

.assetManagerTable tbody tr:hover{
  background: rgba(37, 99, 235, .03);
}

.assetManagerTable tbody tr.is-busy{
  opacity: .6;
}

.assetTypeChip{
  display: inline-flex;
  align-items: center;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(59, 130, 246, .14);
  color: rgba(37, 99, 235, 1);
  font-size: 12px;
  font-weight: 700;
}

.assetLocationCell{
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.assetLocationCell strong{
  font-weight: 690;
}

.assetLocationCell span{
  font-size: 13px;
  color: rgba(15, 23, 42, .55);
}

.assetRiskInline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 136px;
  color: rgba(15, 23, 42, .7);
}

.assetRiskDot{
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(245, 158, 11, 1);
  flex: 0 0 10px;
}

.assetRiskTrack{
  position: relative;
  width: 48px;
  height: 5px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .12);
  overflow: hidden;
  flex: 0 0 48px;
}

.assetRiskTrack > span{
  display: block;
  height: 100%;
  border-radius: inherit;
  background: rgba(245, 158, 11, 1);
}

.assetRiskInline strong{
  font-size: 13px;
  font-weight: 760;
  color: rgba(217, 119, 6, 1);
  font-variant-numeric: tabular-nums;
}

.assetRiskInline--high .assetRiskDot,
.assetRiskInline--high .assetRiskTrack > span{
  background: rgba(239, 68, 68, 1);
}

.assetRiskInline--high strong{
  color: rgba(220, 38, 38, 1);
}

.assetRiskInline--low .assetRiskDot,
.assetRiskInline--low .assetRiskTrack > span,
.assetRiskInline--below .assetRiskDot,
.assetRiskInline--below .assetRiskTrack > span{
  background: rgba(34, 197, 94, 1);
}

.assetRiskInline--low strong,
.assetRiskInline--below strong{
  color: rgba(22, 163, 74, 1);
}

.assetRiskInline--unknown{
  min-width: auto;
}

.assetManagerActionsCol{
  width: 110px;
}

.assetManagerRowActions{
  display:flex;
  align-items: center;
  justify-content:flex-end;
  gap: 6px;
}

.assetManagerReadOnlyChip{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(245, 158, 11, .34);
  background: rgba(245, 158, 11, .14);
  color: rgba(146, 64, 14, 1);
  font-size: 11px;
  font-weight: 760;
}

.assetManagerActionBtn{
  border: 0;
  background: transparent;
  color: #9ca3af;
  border-radius: 8px;
  width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: color .15s ease, background .15s ease, transform .12s ease;
}

.assetManagerActionBtn--icon{
  display: inline-flex;
  align-items: center;
  width: 30px;
  height: 30px;
  padding: 0;
  justify-content: center;
}

.assetManagerActionBtn--icon svg{
  width: 17px;
  height: 17px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.assetManagerActionBtn:hover{
  color: #6b7280;
  background: rgba(15, 23, 42, .06);
  transform: translateY(-1px);
}

.assetManagerActionBtn:active{
  transform: translateY(0);
}

.assetManagerActionBtn:disabled{
  cursor: not-allowed;
  opacity: .42;
  pointer-events: none;
}

.assetManagerActionBtn--danger{
  color: #9ca3af;
}

.assetManagerActionBtn--danger:hover{
  color: #dc2626;
  background: rgba(239, 68, 68, .14);
}

.assetManagerGrid{
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.assetGridCard{
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .88);
  padding: 11px;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.assetGridCard.is-busy{
  opacity: .62;
}

.assetGridTop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.assetGridTop h3{
  margin: 0;
  font-size: 16px;
  letter-spacing: -.01em;
}

.assetGridRows{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.assetGridRows div{
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.assetGridRows span{
  font-size: 11px;
  color: rgba(15, 23, 42, .5);
  text-transform: uppercase;
  letter-spacing: .06em;
}

.assetGridRows strong{
  font-size: 13px;
  font-weight: 680;
}

.assetGridBottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.assetManagerEmpty{
  text-align: center;
  color: var(--muted);
  font-size: 14px;
  padding: 22px 12px !important;
}

.assetManagerFooter{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  border-top: 1px solid rgba(15, 23, 42, .08);
}

.assetManagerMeta{
  color: var(--muted);
  font-size: 12px;
}

.assetManagerPager{
  display: flex;
  gap: 6px;
  align-items: center;
}

.assetManagerPagerBtn{
  border: 1px solid rgba(15, 23, 42, .14);
  background: rgba(255, 255, 255, .9);
  color: rgba(15, 23, 42, .8);
  border-radius: 8px;
  min-width: 32px;
  min-height: 28px;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.assetManagerPagerBtn.is-active{
  border-color: rgba(59, 91, 255, .45);
  background: rgba(59, 91, 255, 1);
  color: #fff;
}

.assetManagerPagerBtn:disabled{
  opacity: .45;
  cursor: not-allowed;
}

.assetManagerPagerBtn--arrow{
  min-width: 28px;
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 1240px){
  .assetManagerSummaryGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .assetManagerGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  .assetManagerHero{
    flex-direction: column;
    align-items: flex-start;
  }

  .brand h1,
  .assetManagerHero h1,
  .settingsHeader h1,
  .portfolioHeader h1{
    font-size: 30px;
  }

  .brand p,
  .assetManagerHero p,
  .settingsHeader p,
  .portfolioHeader p{
    font-size: 13px;
  }

  .assetManagerListTools{
    flex-wrap: wrap;
  }
  .assetManagerFilters{
    order: 3;
    width: 100%;
    overflow: auto;
    padding-bottom: 2px;
  }
  .assetManagerViewToggle{
    margin-left: 0;
  }
}

@media (max-width: 760px){
  .assetManagerSummaryGrid{
    grid-template-columns: 1fr;
  }
  .assetManagerGrid{
    grid-template-columns: 1fr;
  }
  .assetManagerSummaryGrid .assetSummaryValue{
    font-size: 34px;
  }
  .assetManagerFooter{
    flex-direction: column;
    align-items: flex-start;
  }
}

.assetInfoModalCard{
  width: min(860px, 94vw);
}

.assetInfoModalCard textarea{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.assetInfoDocsGrid,
.assetInfoActionFormGrid{
  margin-bottom: 10px;
}

.assetInfoDocsActions{
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.assetInfoDocList,
.assetInfoActionList{
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 10px;
  padding: 10px;
  background: rgba(15, 23, 42, .02);
  min-height: 78px;
  max-height: 260px;
  overflow: auto;
}

.assetInfoDocItem,
.assetInfoActionItem{
  border: 1px solid rgba(15, 23, 42, .09);
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}

.assetInfoDocItem + .assetInfoDocItem,
.assetInfoActionItem + .assetInfoActionItem{
  margin-top: 8px;
}

.assetInfoDocTop,
.assetInfoActionTop{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.assetInfoDocType{
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: rgba(15, 23, 42, .58);
}

.assetInfoDocTitle,
.assetInfoActionTitle{
  font-weight: 700;
  color: rgba(15, 23, 42, .92);
}

.assetInfoDocMeta,
.assetInfoActionMeta{
  font-size: 12px;
  color: rgba(15, 23, 42, .65);
  margin-top: 4px;
}

.assetInfoDocLinks{
  display: flex;
  gap: 10px;
  margin-top: 8px;
}

.assetInfoDocLinks a,
.assetInfoDocLinks button,
.assetInfoActionBtns button{
  font-size: 12px;
  border: 0;
  background: none;
  color: #2563eb;
  padding: 0;
  cursor: pointer;
  text-decoration: underline;
}

.collapsedPortfolioAlertRow{
  border-radius: 0;
  border: 0;
  border-bottom: 1px solid rgba(15, 23, 42, .10);
  background: transparent;
  padding: 8px 0 10px;
  cursor: pointer;
}

.collapsedPortfolioAlertRowHead{
  display:grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items:center;
  gap: 10px;
}

.collapsedPortfolioAlertTextWrap{
  min-width: 0;
  display:flex;
  flex-direction:column;
  gap: 2px;
}

.collapsedPortfolioAlertSubtitle{
  font-size: 14px;
  line-height: 1.25;
  color: rgba(15, 23, 42, .65);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.collapsedPortfolioAlertSeverityBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 74px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.collapsedPortfolioAlertSeverityBadge.severity-high{
  background: rgba(239, 68, 68, .95);
  border-color: rgba(220, 38, 38, .9);
  color: #ffffff;
}

.collapsedPortfolioAlertSeverityBadge.severity-medium{
  background: rgba(245, 158, 11, .95);
  border-color: rgba(217, 119, 6, .9);
  color: #ffffff;
}

.collapsedPortfolioAlertSeverityBadge.severity-low{
  background: rgba(148, 163, 184, .95);
  border-color: rgba(100, 116, 139, .9);
  color: #ffffff;
}

.assetInfoDocLinks button,
.assetInfoActionBtns button{
  font: inherit;
}

.assetInfoActionBtns{
  display: inline-flex;
  gap: 10px;
}

/* Account pages (user + organization) */
.accountPageShell{
  display:block;
  padding: 8px 8px 14px;
}

.accountPageShell .appPageSidebar{
  position: fixed;
  top: 8px;
  left: 8px;
  width: 56px;
  height: calc(100dvh - 16px);
  overflow-y: auto;
  overflow-x: hidden;
}

.accountPageShell .appPageMain{
  margin-left: 66px;
}

.accountPageShell .appPageMain .wrap.settingsWrap{
  width: 100%;
  max-width: none;
  padding: 10px 12px 24px;
}

.settingsHeader{
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  gap: 10px;
  margin-bottom: 12px;
}

.settingsHeader h1{
  margin: 0;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.022em;
  font-weight: 500;
}

.settingsHeader p{
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.3;
  font-weight: 400;
}

.settingsCard{
  margin-bottom: 10px;
  padding: 16px;
  border-radius: 16px;
  box-shadow: none;
}

.settingsWrap .btn{
  min-height: 38px;
  padding: 8px 12px;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 640;
  box-shadow: none;
}

.settingsWrap .btn.ghost{
  background: #ffffff;
}

.settingsCardHead h2{
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.02em;
  font-weight: 660;
}

.settingsCardHead p{
  margin: 3px 0 0;
  font-size: 13px;
  color: var(--muted);
}

.settingsCardHeadRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
}

.profileGrid{
  margin-top: 12px;
  display:grid;
  grid-template-columns: minmax(220px, 320px) minmax(0, 1fr);
  gap: 16px;
}

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

.profileAvatar{
  width: 84px;
  height: 84px;
  border-radius: 18px;
  background: #91a7ff;
  color: #ffffff;
  font-size: 32px;
  font-weight: 700;
  display:flex;
  align-items:center;
  justify-content:center;
}

.profileIdentityText h3{
  margin: 0;
  font-size: 29px;
  line-height: 1.1;
  font-weight: 680;
}

.profileIdentityText p{
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 15px;
}

.profileStatus{
  margin-top: 4px;
  display:flex;
  align-items:center;
  gap: 7px;
  color: var(--muted);
  font-size: 13px;
}

.profileStatusDot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #14b8a6;
  display:inline-block;
}

.profileDetailsCol{
  display:grid;
  gap: 0;
}

.profileDetailRow{
  min-height: 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.profileDetailRow span{
  color: var(--muted);
  font-size: 12px;
}

.profileDetailRow strong{
  font-size: 14px;
  font-weight: 600;
  text-align:right;
}

.sessionDevice{
  margin-top: 12px;
  border: 1px solid rgba(15,23,42,.10);
  border-radius: 12px;
  padding: 12px;
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items:center;
}

.sessionDeviceIcon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #eef2ff;
  display:flex;
  align-items:center;
  justify-content:center;
  color: #2563eb;
}

.sessionDeviceIcon svg,
.securityItemIcon svg,
.btnIcon svg,
.orgSummaryStatIcon svg,
.memberActionIconBtn svg{
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sessionDeviceTitleRow{
  display:flex;
  align-items:center;
  gap: 7px;
}

.sessionDeviceTitleRow strong{
  font-size: 16px;
  font-weight: 650;
}

.sessionDeviceTag{
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  color: #2563eb;
  background: rgba(37, 99, 235, .13);
  font-weight: 650;
}

.sessionDeviceMain p{
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.sessionSinceBlock{
  display:flex;
  flex-direction:column;
  gap: 3px;
  align-items:flex-start;
}

.sessionSinceBlock span{
  font-size: 11px;
  color: var(--muted);
}

.sessionSinceBlock strong{
  font-size: 16px;
  font-weight: 650;
}

.preferencesGrid{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.preferencesGrid label{
  font-size: 12px;
  margin-bottom: 5px;
}

.preferencesGrid select{
  min-height: 40px;
  font-size: 14px;
  border-radius: 12px;
  background: #ffffff;
}

.fieldHint{
  margin: 5px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.securityList{
  margin-top: 8px;
  display:flex;
  flex-direction:column;
}

.securityItem{
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items:center;
  padding: 12px 4px;
  border-top: 1px solid rgba(15,23,42,.08);
}

.securityItem:first-child{
  border-top: 0;
}

.securityItemIcon{
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: #eef2ff;
  display:flex;
  align-items:center;
  justify-content:center;
  color: #2563eb;
}

.securityItemBody h3{
  margin: 0;
  font-size: 16px;
  font-weight: 650;
}

.securityItemBody p{
  margin: 2px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.securityItem .btn[disabled]{
  opacity: .52;
  background: rgba(15, 23, 42, .02);
  border-color: rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .42);
}

.settingsFooter{
  text-align:center;
  color: var(--muted);
  font-size: 12px;
  margin: 8px 0 0;
}

.dangerGhost{
  color: #dc2626;
  border-color: rgba(239, 68, 68, .35);
  background: rgba(239, 68, 68, .06);
}

.orgSummaryGrid{
  display:grid;
  grid-template-columns: 1.4fr repeat(3, 1fr);
  gap: 8px;
}

.orgSummaryMain{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding-right: 8px;
  border-right: 1px solid rgba(15,23,42,.08);
}

.orgSummaryAvatar{
  width: 72px;
  height: 72px;
  border-radius: 16px;
  background: #c7d2fe;
  color: #2563eb;
  font-size: 28px;
  font-weight: 700;
  display:flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 auto;
}

.orgSummaryMain h2{
  margin: 0;
  font-size: 30px;
  line-height: 1.08;
  font-weight: 680;
}

.orgSummaryMain p{
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.orgSummaryStat{
  padding-left: 8px;
  border-left: 1px solid rgba(15,23,42,.08);
  display:flex;
  flex-direction:column;
  gap: 3px;
}

.orgSummaryStatIcon{
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.orgSummaryStatIcon.is-members{
  background: rgba(37, 99, 235, .10);
  color: #2563eb;
}

.orgSummaryStatIcon.is-role{
  background: rgba(20, 184, 166, .14);
  color: #0f766e;
}

.orgSummaryStatIcon.is-created{
  background: rgba(139, 92, 246, .14);
  color: #5b21b6;
}

.orgSummaryStat span{
  color: var(--muted);
  font-size: 12px;
}

.orgSummaryStat strong{
  font-size: 24px;
  line-height: 1.1;
  font-weight: 680;
}

.orgSummaryStat p{
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.orgMembersHeadRow{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.orgTabPanel{
  display:block;
}

.orgTabPanel[hidden]{
  display:none !important;
}

.orgTabs{
  display:flex;
  gap: 8px;
  border-bottom: 1px solid rgba(15,23,42,.08);
  padding-bottom: 6px;
}

.orgTab{
  border: 0;
  background: transparent;
  color: var(--muted);
  font-size: 14px;
  font-weight: 620;
  cursor: pointer;
  padding: 3px 3px 6px;
}

.orgTab.is-active{
  color: #2563eb;
  border-bottom: 2px solid #2563eb;
}

.orgTab[disabled]{
  opacity: .55;
  cursor: not-allowed;
}

.orgInviteFormWrap{
  margin-top: 10px;
  padding: 12px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 12px;
}

.orgToolbar{
  margin-top: 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 10px;
  position: relative;
  flex-wrap: wrap;
}

.orgSearch{
  margin: 0;
  width: min(460px, 100%);
}

.orgSearch input{
  min-height: 42px;
  font-size: 13px;
  border-radius: 12px;
}

.orgToolbarActions{
  display:flex;
  gap: 6px;
}

.orgToolbarBtn{
  min-height: 40px;
  gap: 6px;
}

.orgToolbarBtn[disabled]{
  opacity: .48;
  background: rgba(15, 23, 42, .02);
  border-color: rgba(15, 23, 42, .08);
  color: rgba(15, 23, 42, .44);
}

.orgMenu{
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 240px;
  padding: 10px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
  z-index: 15;
}

#organizationFilterMenu{
  right: 116px;
}

#organizationSortMenu{
  right: 62px;
}

.orgMenuSection{
  display:flex;
  flex-direction:column;
  gap: 6px;
  margin-bottom: 10px;
}

.orgMenuSection:last-child{
  margin-bottom: 0;
}

.orgMenuSection p{
  margin: 0;
  font-size: 11px;
  font-weight: 650;
  color: rgba(15, 23, 42, .62);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.orgMenuSection label{
  margin: 0;
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: 13px;
  color: rgba(15, 23, 42, .86);
}

.orgMenuSection input[type="checkbox"],
.orgMenuSection input[type="radio"]{
  width: 14px;
  height: 14px;
  margin: 0;
}

.orgMenuActions{
  display:flex;
  justify-content:space-between;
  gap: 8px;
}

.orgMenuActions .btn{
  min-height: 32px;
  font-size: 12px;
  padding: 6px 10px;
}

.btnIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color: currentColor;
  flex: 0 0 auto;
}

.btnIconArrow{
  margin-left: 2px;
}

.orgToolbarBtnIconOnly{
  min-width: 40px;
  padding-inline: 10px;
}

.orgToolbarBtnIconOnly .btnIcon{
  margin: 0;
}

.orgMembersTableWrap{
  margin-top: 10px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 12px;
  overflow:auto;
}

.orgMembersTable{
  width: 100%;
  min-width: 860px;
  border-collapse: collapse;
}

.orgMembersTable th,
.orgMembersTable td{
  border-bottom: 1px solid rgba(15,23,42,.08);
  padding: 10px 11px;
  text-align:left;
  vertical-align: middle;
}

.orgMembersTable th{
  font-size: 11px;
  color: rgba(15,23,42,.58);
  letter-spacing: .04em;
  font-weight: 620;
}

.orgMembersTable td{
  font-size: 13px;
}

.orgTableEmpty{
  text-align:center;
  color: var(--muted);
  padding: 18px;
}

.memberCell{
  display:flex;
  align-items:center;
  gap: 10px;
}

.memberAvatar{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #c7d2fe;
  color: #3730a3;
  font-size: 14px;
  font-weight: 700;
  display:flex;
  align-items:center;
  justify-content:center;
}

.memberCell strong{
  display:block;
  font-size: 13px;
  font-weight: 640;
}

.memberCell small{
  color: var(--muted);
  font-size: 11px;
}

.memberRoleEditor{
  display:flex;
  align-items:center;
  gap: 6px;
}

.memberRoleEditor select{
  min-height: 34px;
  min-width: 146px;
  font-size: 12px;
}

.memberRoleEditor .btn{
  min-height: 34px;
  padding: 7px 10px;
  font-size: 12px;
}

.memberActionGroup{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 6px;
}

.memberActionIconBtn{
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 0;
  background: transparent;
  color: #9ca3af;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition: color .15s ease, background .15s ease, transform .12s ease;
}

.memberActionIconBtn:hover{
  color: #6b7280;
  background: rgba(15, 23, 42, .06);
  transform: translateY(-1px);
}

.memberActionIconBtn:active{
  transform: translateY(0);
}

.memberActionIconBtn.danger{
  color: #9ca3af;
}

.memberActionIconBtn.danger:hover{
  color: #dc2626;
  background: rgba(239, 68, 68, .14);
}

.memberActionIconBtn svg{
  width: 17px;
  height: 17px;
  stroke-width: 1.7;
}

.memberActionGroup[aria-disabled="true"]{
  opacity: .42;
  pointer-events: none;
}

.roleChip,
.statusChip{
  display:inline-flex;
  align-items:center;
  gap: 6px;
  padding: 4px 9px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.12);
  font-size: 11px;
  font-weight: 600;
  color: rgba(15,23,42,.85);
  background: rgba(15,23,42,.04);
}

.statusChip{
  color: #0f766e;
  background: rgba(20,184,166,.14);
  border-color: rgba(20,184,166,.22);
}

.statusChip--active{
  color: #065f46;
  background: rgba(16, 185, 129, .16);
  border-color: rgba(16, 185, 129, .28);
}

.statusChip--inactive{
  color: #b91c1c;
  background: rgba(239, 68, 68, .12);
  border-color: rgba(239, 68, 68, .26);
}

.orgTableFooter{
  margin-top: 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
}

.orgTableFooter strong{
  font-weight: 620;
}

.orgTableFooterControls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 8px;
}

.orgTableFooterControls label{
  margin: 0;
  font-size: 12px;
  color: var(--muted);
}

.orgTableFooterControls select{
  width: auto;
  min-width: 64px;
  min-height: 32px;
  padding: 6px 28px 6px 10px;
  border-radius: 9px;
  font-size: 12px;
}

.orgPagerBtn{
  min-height: 32px !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
}

#orgPageIndicator{
  min-width: 80px;
  text-align:center;
  font-weight: 620;
  color: rgba(15, 23, 42, .78);
}

.orgRolesGrid{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.orgRoleCard{
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 12px;
  padding: 12px;
  background: linear-gradient(180deg, #ffffff, #f9fbff);
}

.orgRoleCard h3{
  margin: 0;
  font-size: 15px;
  font-weight: 660;
}

.orgRoleCard p{
  margin: 4px 0 0;
  font-size: 12px;
  color: var(--muted);
}

.orgRoleCardMeta{
  margin-top: 8px;
  display:flex;
  flex-wrap: wrap;
  gap: 6px;
}

.orgRolesMatrixWrap{
  margin-top: 12px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 12px;
  padding: 10px;
}

.orgRolesMatrixWrap h3{
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 650;
}

.orgRolesMatrixTable{
  width: 100%;
  border-collapse: collapse;
}

.orgRolesMatrixTable th,
.orgRolesMatrixTable td{
  border-bottom: 1px solid rgba(15,23,42,.08);
  padding: 8px 9px;
  font-size: 12px;
  text-align:left;
}

.orgRolesMatrixTable th{
  font-weight: 620;
  color: rgba(15, 23, 42, .64);
}

.orgRolesAuditWrap{
  margin-top: 12px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 12px;
  padding: 10px;
}

.orgRolesAuditWrap h3{
  margin: 0 0 8px;
  font-size: 14px;
  font-weight: 650;
}

#orgRolesAuditGroups{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.orgRoleAuditGroup{
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 10px;
  padding: 8px;
  background: rgba(255, 255, 255, .76);
}

.orgRoleAuditGroup h4{
  margin: 0 0 6px;
  font-size: 12px;
  font-weight: 650;
  display:flex;
  justify-content:space-between;
  color: rgba(15, 23, 42, .82);
}

.orgRoleAuditGroup ul{
  list-style: none;
  margin: 0;
  padding: 0;
  display:flex;
  flex-direction:column;
  gap: 5px;
}

.orgRoleAuditGroup li{
  font-size: 12px;
  display:flex;
  flex-direction:column;
  gap: 1px;
}

.orgRoleAuditGroup li span{
  color: var(--muted);
  font-size: 11px;
}

.orgRolesAuditEmpty,
.orgRolesAuditEmptyItem{
  color: var(--muted);
  font-size: 12px;
}

.orgDeleteModalCard{
  width: min(460px, 94vw);
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, .10);
  background:
    radial-gradient(420px 160px at 0% -30%, rgba(59, 91, 255, .10), transparent 62%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,251,255,.98));
  box-shadow: 0 22px 54px rgba(15, 23, 42, .20);
}

.orgDeleteModalCard .modalHeader{
  padding: 14px 14px 12px;
  border-bottom: 1px solid rgba(15, 23, 42, .08);
}

.orgDeleteModalCard .modalHeader h3{
  font-size: 16px;
  font-weight: 660;
  letter-spacing: -.01em;
  color: rgba(15, 23, 42, .92);
}

.orgDeleteModalBody{
  display:flex;
  flex-direction:column;
  gap: 10px;
  padding: 14px;
}

.orgDeleteModalBody p{
  margin: 0;
  font-size: 14px;
  color: rgba(15, 23, 42, .82);
  line-height: 1.45;
}

.orgDeleteModalHint{
  color: var(--muted) !important;
  font-size: 12px !important;
}

.orgDeleteModalCard .modalFooter{
  padding: 0 14px 14px;
  border-top: 0;
  display:flex;
  justify-content:flex-end;
  gap: 8px;
}

.orgDeleteModalCard .modalFooter .btn{
  min-height: 36px;
  border-radius: 10px;
}
#deleteAssetModal .orgDeleteModalFooter .btn{
  flex: 0 0 auto;
  min-width: 76px;
  height: 36px;
  border-radius: 10px;
  padding: 0 16px;
  line-height: 1;
  justify-content: center;
  font-weight: 500;
}
#deleteAssetModal .orgDeleteModalFooter #btnDeleteAssetCancel{
  border: 0;
  color: #fff;
  background: linear-gradient(135deg, rgba(59,91,255,1), rgba(37,99,235,1));
  box-shadow: 0 12px 26px rgba(59,91,255,.18);
}
#deleteAssetModal .orgDeleteModalFooter #btnDeleteAssetCancel:hover{
  filter: brightness(1.05);
}
#deleteAssetModal .orgDeleteModalFooter #btnDeleteAssetConfirm{
  color: #dc2626;
  border: 1px solid rgba(239, 68, 68, .35);
  background: rgba(239, 68, 68, .06);
  box-shadow: none;
}
#deleteAssetModal .orgDeleteModalFooter .btn,
#deleteAssetModal .orgDeleteModalFooter .btn:hover,
#deleteAssetModal .orgDeleteModalFooter .btn:active,
#deleteAssetModal .orgDeleteModalFooter .btn:focus,
#deleteAssetModal .orgDeleteModalFooter .btn:focus-visible{
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

@media (max-width: 1200px){
  .brand h1,
  .assetManagerHero h1,
  .settingsHeader h1,
  .portfolioHeader h1{
    font-size: 30px;
  }

  .brand p,
  .assetManagerHero p,
  .settingsHeader p,
  .portfolioHeader p{
    font-size: 13px;
  }

  .settingsCardHead h2{ font-size: 17px; }
  .profileIdentityText h3{ font-size: 26px; }
  .orgSummaryMain h2{ font-size: 27px; }
  .orgSummaryMain p, .orgSummaryStat p{ font-size: 12px; }
  .orgSummaryStat strong{ font-size: 22px; }
  .orgTab{ font-size: 13px; }
  .orgMembersTable th{ font-size: 11px; }
  .orgMembersTable td{ font-size: 12px; }
}

@media (max-width: 980px){
  .digitalPassportGrid{
    grid-template-columns: 1fr;
  }

  .digitalPassportOverviewGrid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .digitalPassportSnapshotStats{
    grid-template-columns: 1fr 1fr;
  }

  .digitalPassportCertLayout{
    grid-template-columns: 1fr;
  }

  .digitalPassportCertFormGrid{
    grid-template-columns: 1fr 1fr;
  }

  .digitalPassportChecklistGrid{
    grid-template-columns: 1fr;
  }

  .digitalPassportCategoryRow{
    flex-wrap: wrap;
  }

  .digitalPassportCategoryMeta{
    width: 100%;
    justify-content: flex-end;
  }

  .digitalPassportCategoryContentGrid{
    grid-template-columns: 1fr;
  }

  .digitalPassportFieldsGrid{
    grid-template-columns: 1fr;
  }

  .accountPageShell .appPageSidebar{
    position: static;
    width: 100%;
    height: auto;
  }

  .accountPageShell .appPageMain{
    margin-left: 0;
  }

  .profileGrid,
  .preferencesGrid,
  .orgSummaryGrid{
    grid-template-columns: 1fr;
  }

  .orgSummaryMain,
  .orgSummaryStat{
    border: 0;
    padding: 0;
  }

  .sessionDevice,
  .securityItem,
  .settingsCardHeadRow,
  .orgMembersHeadRow,
  .orgToolbar,
  .orgTableFooter{
    grid-template-columns: 1fr;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
  }

  .orgToolbarActions{
    width: 100%;
    justify-content:flex-start;
    flex-wrap: wrap;
  }

  #organizationFilterMenu,
  #organizationSortMenu{
    right: 0;
    min-width: min(260px, 100%);
  }

  .orgTableFooterControls{
    justify-content:flex-start;
    flex-wrap: wrap;
  }

  .orgRolesGrid,
  #orgRolesAuditGroups{
    grid-template-columns: 1fr;
  }

  .orgToolbarBtn{
    min-height: 38px;
  }
}

@media (max-width: 640px){
  .digitalPassportSubtabs{
    flex-wrap: wrap;
  }
  .digitalPassportSubtabs .section-tabs-left{
    flex-wrap: wrap;
  }

  .digitalPassportCertAddRow{
    flex-direction: column;
    align-items: stretch;
  }

  .digitalPassportOverviewGrid{
    grid-template-columns: 1fr;
  }

  .digitalPassportSnapshotStats{
    grid-template-columns: 1fr;
  }

  .digitalPassportCertFormGrid{
    grid-template-columns: 1fr;
  }

  .digitalPassportCategoryMain{
    align-items: flex-start;
  }

  .digitalPassportCategoryName{
    font-size: 13px;
  }

  .digitalPassportCategoryMeta{
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .digitalPassportDocCard{
    flex-wrap: wrap;
  }

  .digitalPassportDocActions{
    width: 100%;
  }
}

.vsme-item-input {
  width: 100%;
  min-width: 180px;
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--text);
  border-radius: 8px;
  padding: 8px;
  font: inherit;
}

.vsme-item-input:disabled {
  opacity: 0.75;
  cursor: not-allowed;
}
