#portfolio .v992-state{padding:20px;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}#portfolio .v992-empty-hero{width:100%;box-sizing:border-box;padding:28px}#portfolio .v992-empty-hero h2{margin:0 0 8px;color:var(--text)}#portfolio .v992-empty-hero p{margin:0 auto 18px;max-width:720px}#portfolio .v992-error{border-color:#b85c5c;color:#ffb3b3}#portfolio .v992-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}#portfolio .v992-mini{font-size:11px;color:var(--muted)}#portfolio .v992-map-points{min-height:180px;position:relative;border-radius:12px;background:radial-gradient(circle at center,#183b2d,#09150f)}#portfolio .v992-map-point{position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid #dfffe9;background:#5ef0a7;transform:translate(-50%,-50%);cursor:pointer}

/* EcoSignal V99.3.4 — Portfolio Real Map + Composition Pie Chart */
#portfolio .v9934-composition-wrap{display:grid;grid-template-columns:minmax(160px,210px) minmax(180px,1fr) minmax(160px,.85fr);gap:22px;align-items:center;min-height:210px}
#portfolio .v9934-pie-chart{position:relative;width:min(190px,100%);aspect-ratio:1;margin:0 auto}
#portfolio .v9934-pie-chart svg{width:100%;height:100%;display:block;overflow:visible}
#portfolio .v9934-pie-segment{transition:stroke-width .18s ease,opacity .18s ease}
#portfolio .v9934-pie-segment:hover{stroke-width:28;opacity:.9}
#portfolio .v9934-pie-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}
#portfolio .v9934-pie-center strong{font-size:30px;line-height:1;color:var(--text)}
#portfolio .v9934-pie-center span{margin-top:5px;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
#portfolio .v9934-pie-legend h3,#portfolio .v9934-state-breakdown h3{margin:0 0 10px;color:var(--text);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
#portfolio .v9934-pie-legend-row{display:grid;grid-template-columns:10px minmax(90px,1fr) auto 42px;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}
#portfolio .v9934-pie-key{width:8px;height:8px;border-radius:50%;background:var(--pie-color)}
#portfolio .v9934-pie-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
#portfolio .v9934-pie-legend-row b{color:var(--text)}
#portfolio .v9934-pie-legend-row>span:last-child{color:var(--green2);text-align:right;font-variant-numeric:tabular-nums}
#portfolio .v9934-state-breakdown{align-self:stretch;padding-left:18px;border-left:1px solid rgba(255,255,255,.07)}
#portfolio .v9934-portfolio-map{height:260px;min-height:260px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#0a1511}
#portfolio .v9934-portfolio-map .leaflet-control-zoom a{background:#10231b;color:var(--text);border-color:#2b463a}
#portfolio .v9934-portfolio-map .leaflet-control-attribution{background:rgba(7,17,13,.82);color:#9bb1a6}
#portfolio .v9934-portfolio-map .leaflet-control-attribution a{color:#8de8b0}
#portfolio .v9934-portfolio-map .leaflet-popup-content-wrapper,#portfolio .v9934-portfolio-map .leaflet-popup-tip{background:#10231b;color:var(--text)}
#portfolio .v9934-map-popup{display:grid;gap:4px;min-width:150px}
#portfolio .v9934-map-popup b{font-size:13px}
#portfolio .v9934-map-popup span{display:block;color:#a9bbb3;font-size:11px;line-height:1.35}
#portfolio .v9934-map-fallback{margin:16px}
@media(max-width:1050px){#portfolio .v9934-composition-wrap{grid-template-columns:180px 1fr}#portfolio .v9934-state-breakdown{grid-column:1/-1;padding-left:0;padding-top:14px;border-left:0;border-top:1px solid rgba(255,255,255,.07)}}
@media(max-width:680px){#portfolio .v9934-composition-wrap{grid-template-columns:1fr}#portfolio .v9934-pie-chart{width:170px}#portfolio .v9934-state-breakdown{grid-column:auto}#portfolio .v9934-portfolio-map{height:230px;min-height:230px}}
/* V99.3.6 Portfolio showcase presentation */
#portfolio .v9935-showcase-note{display:inline-flex;align-items:center;margin-top:9px;padding:5px 9px;border:1px solid rgba(243,200,107,.38);border-radius:999px;background:rgba(243,200,107,.08);color:#efd18b;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
#portfolio .v9934-pie-legend{max-height:250px;overflow:auto;padding-right:4px}
#portfolio .v9934-pie-legend-row{grid-template-columns:12px minmax(110px,1fr) 38px 46px}

/* V99.3.6 Priority Review Queue disclosure — module-scoped, no index.html changes. */
#portfolio .v9936-queue-more-row td{padding:8px 10px!important;background:rgba(7,18,14,.35)}
#portfolio .v9936-queue-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid rgba(94,240,167,.18);border-radius:10px;background:rgba(20,49,37,.48);color:var(--text);cursor:pointer;text-align:left}
#portfolio .v9936-queue-toggle:hover{border-color:rgba(94,240,167,.38);background:rgba(24,59,44,.62)}
#portfolio .v9936-queue-toggle span{font-size:12px;color:var(--muted)}
#portfolio .v9936-queue-toggle b{font-size:11px;color:var(--green2);white-space:nowrap}


/* V99.3.7 — Portfolio Showcase Persistence Fix + two-column composition */
#portfolio .v9934-composition-wrap{grid-template-columns:minmax(190px,240px) minmax(260px,1fr);gap:34px;align-items:center;min-height:230px}
#portfolio .v9934-pie-legend{max-height:none;overflow:visible;padding-right:0}
#portfolio .v9934-pie-legend h3{margin-bottom:12px}
#portfolio .v9934-pie-legend-row{grid-template-columns:12px minmax(150px,1fr) 42px 52px}
#portfolio .v9934-state-breakdown{display:none!important}
@media(max-width:760px){#portfolio .v9934-composition-wrap{grid-template-columns:1fr;gap:18px}#portfolio .v9934-pie-chart{width:180px}#portfolio .v9934-pie-legend-row{grid-template-columns:12px minmax(120px,1fr) 38px 48px}}

/* V99.3.8.7 — Portfolio shell alignment with Workspace global navigation.
   Presentation-module override only: keep the shared EcoSignal site nav visible,
   remove the duplicate Portfolio-local brand/topbar, and preserve the Portfolio sidebar. */
body.portfolio-layout-active>.nav{display:block!important}
#portfolio .v99p-topbar{display:none!important}
#portfolio .v99p-brand{display:none!important}
#portfolio .v99p-sidebar{padding-top:18px}
#portfolio .v99p-main{min-width:0}
#portfolio .v99p-content{padding-top:24px}
@media(max-width:900px){#portfolio .v99p-sidebar{display:none!important}}

/* V99.3.8.7 — remove redundant Portfolio eyebrow above Portfolio Intelligence title. */
#portfolio .v99p-header .v99p-eyebrow{display:none!important}

/* V99.3.8.8 — Global EcoSignal brand logo refresh.
   Uses the supplied transparent EcoSignal Intelligent Platform artwork while
   preserving the original navigation/footer brand footprint. Presentation only. */
.nav .brand{
  width:220px;
  height:69px;
  flex:0 0 220px;
  display:inline-block!important;
  background-image:url("../../assets/branding/ecosignal-intelligent-platform-logo.png");
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  overflow:hidden;
  text-indent:-9999px;
  white-space:nowrap;
}
.site-footer .footer-brand .brand{
  width:180px;
  height:62px;
  flex:0 0 180px;
  display:inline-block!important;
  background-image:url("../../assets/branding/ecosignal-intelligent-platform-logo.png");
  background-repeat:no-repeat;
  background-position:left center;
  background-size:contain;
  overflow:hidden;
  text-indent:-9999px;
  white-space:nowrap;
}
.nav .nav-inner{height:86px}
.nav .brand>.mark,
.nav .brand>div:not(.mark),
.site-footer .footer-brand .brand>.mark,
.site-footer .footer-brand .brand>div:not(.mark){display:none!important}
.site-footer .footer-brand .brand{margin-bottom:16px}
@media(max-width:1200px){
  .nav .brand{width:180px;height:62px;flex-basis:180px}
  .nav .nav-inner{height:80px}
}
@media(max-width:980px){
  .nav .brand{width:160px;height:55px;flex-basis:160px}
  .nav .nav-inner{height:74px}
}
@media(max-width:620px){
  .nav .brand{width:150px;height:52px;flex-basis:150px}
  .site-footer .footer-brand .brand{width:160px;height:55px;flex-basis:160px}
}
