/* Site Command Enterprise v4.5.0.4 — Enterprise Portfolio Dashboard */
.portfolio-hero{
  display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;
  padding:2rem;border-radius:22px;margin-bottom:1rem;color:#fff;
  background:linear-gradient(135deg,#101827 0%,#17243a 62%,#ef6c24 150%);
  box-shadow:0 18px 45px rgba(15,23,42,.16)
}
.portfolio-eyebrow,.portfolio-section-head span,.portfolio-project-toolbar>div>span{
  display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#f59e67
}
.portfolio-hero h1{font-weight:800;margin:.4rem 0 .5rem;font-size:clamp(1.8rem,3vw,3rem)}
.portfolio-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.72)}
.portfolio-hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}
.portfolio-health-ribbon{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  overflow:hidden;border:1px solid var(--sc-border,#dfe5ec);border-radius:16px;
  margin-bottom:1rem;background:var(--sc-border,#dfe5ec)
}
.portfolio-health-ribbon>div{padding:1rem 1.15rem;background:var(--sc-card,#fff)}
.portfolio-health-ribbon span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sc-muted,#6b7280);font-weight:700}
.portfolio-health-ribbon strong{display:block;margin-top:.25rem}
.portfolio-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}
.portfolio-kpi{
  background:var(--sc-card,#fff);border:1px solid var(--sc-border,#dfe5ec);
  border-radius:16px;padding:1rem 1.1rem;box-shadow:0 10px 26px rgba(15,23,42,.05)
}
.portfolio-kpi-top{display:flex;justify-content:space-between;gap:1rem;color:var(--sc-muted,#6b7280);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.portfolio-kpi-top i{color:#ef6c24;font-size:1.1rem}
.portfolio-kpi>strong{display:block;font-size:1.55rem;margin:.45rem 0 .15rem;line-height:1.15}
.portfolio-kpi>small{color:var(--sc-muted,#6b7280)}
.portfolio-chart-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1.25rem}
.portfolio-chart-card,.portfolio-alert-card{padding:1.15rem;border-radius:18px}
.portfolio-chart-wide{min-width:0}
.portfolio-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.portfolio-section-head h2{font-size:1rem;font-weight:800;margin:.2rem 0 0}
.portfolio-section-head>strong{font-size:1.5rem;color:#ef6c24}
.portfolio-chart-wrap{height:300px;position:relative}
.portfolio-chart-donut{height:300px}
.portfolio-alert-list{display:grid;gap:.55rem;max-height:300px;overflow:auto}
.portfolio-alert{
  width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;text-align:left;
  border:1px solid var(--sc-border,#dfe5ec);background:var(--sc-card,#fff);border-radius:12px;padding:.75rem
}
.portfolio-alert span{display:grid}
.portfolio-alert small{color:var(--sc-muted,#6b7280)}
.portfolio-alert-high{border-left:4px solid #dc3545}
.portfolio-alert-medium{border-left:4px solid #f0ad4e}
.portfolio-project-section{margin-top:1.25rem}
.portfolio-project-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem}
.portfolio-project-toolbar h2{font-size:1.35rem;font-weight:800;margin:.2rem 0 0}
.portfolio-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.portfolio-project-card{
  display:flex;flex-direction:column;gap:1rem;background:var(--sc-card,#fff);
  border:1px solid var(--sc-border,#dfe5ec);border-radius:18px;padding:1.1rem;
  box-shadow:0 10px 26px rgba(15,23,42,.05)
}
.portfolio-project-card[hidden]{display:none}
.portfolio-project-head{display:flex;justify-content:space-between;gap:1rem}
.portfolio-project-number{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#ef6c24;font-weight:800}
.portfolio-project-head h3{font-size:1.08rem;font-weight:800;margin:.2rem 0}
.portfolio-project-head p{margin:0;color:var(--sc-muted,#6b7280);font-size:.84rem}
.portfolio-status{align-self:flex-start;padding:.35rem .55rem;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}
.portfolio-status-good{color:#147a4b;background:rgba(25,135,84,.12)}
.portfolio-status-watch{color:#9a6400;background:rgba(255,193,7,.16)}
.portfolio-status-risk{color:#b02a37;background:rgba(220,53,69,.12)}
.portfolio-status-none{color:#6b7280;background:rgba(107,114,128,.12)}
.portfolio-project-financial{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.portfolio-project-financial>div{padding:.8rem;border-radius:12px;background:var(--sc-bg-muted,#f6f8fb)}
.portfolio-project-financial span,.portfolio-project-metrics span,.portfolio-progress-row span{display:block;color:var(--sc-muted,#6b7280);font-size:.72rem}
.portfolio-project-financial strong{display:block;margin-top:.25rem}
.portfolio-project-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.portfolio-project-metrics>div{text-align:center;padding:.65rem .35rem;border:1px solid var(--sc-border,#dfe5ec);border-radius:10px}
.portfolio-project-metrics strong{display:block;margin-top:.2rem;font-size:.86rem}
.portfolio-progress-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:.4rem}
.portfolio-progress{height:7px}
.portfolio-progress .progress-bar{background:#ef6c24}
.portfolio-project-actions{display:flex;gap:.55rem;margin-top:auto}
.portfolio-project-actions .btn:first-child{flex:1}
.portfolio-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;padding:2rem;color:var(--sc-muted,#6b7280)}
.portfolio-empty i{font-size:2rem;color:#ef6c24}
.portfolio-empty-large{grid-column:1/-1;min-height:280px;background:var(--sc-card,#fff);border:1px dashed var(--sc-border,#dfe5ec);border-radius:18px}
@media(max-width:1200px){.portfolio-kpi-grid{grid-template-columns:repeat(2,1fr)}.portfolio-project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.portfolio-chart-grid{grid-template-columns:1fr}.portfolio-health-ribbon{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .portfolio-hero,.portfolio-project-toolbar{align-items:stretch;flex-direction:column}
  .portfolio-hero-actions{width:100%;flex-direction:column}
  .portfolio-kpi-grid,.portfolio-project-grid,.portfolio-health-ribbon{grid-template-columns:1fr}
  .portfolio-project-metrics{grid-template-columns:repeat(2,1fr)}
  .portfolio-chart-wrap{height:250px}
}


/* v4.5.0.3 — Theme, KPI completion, and responsive layout */
.portfolio-page,
.portfolio-page .content {
  background: var(--sc-bg);
  color: var(--sc-text);
}

.portfolio-health-ribbon,
.portfolio-kpi,
.portfolio-chart-card,
.portfolio-alert-card,
.portfolio-project-card,
.portfolio-empty-large {
  background: var(--sc-card);
  color: var(--sc-text);
  border-color: var(--sc-border);
}

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

.portfolio-kpi-action {
  appearance: none;
  width: 100%;
  position: relative;
  text-align: left;
  cursor: pointer;
  border: 1px solid var(--sc-accent, #ff7417) !important;
  background: var(--sc-card);
}

.portfolio-kpi-action:hover,
.portfolio-kpi-action:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 0 0 1px rgba(255,116,23,.25), 0 12px 26px rgba(0,0,0,.18);
}

.portfolio-kpi-action .portfolio-kpi-chevron {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--sc-muted);
}

.portfolio-focus-pulse {
  animation: portfolioFocusPulse 1.2s ease;
}

@keyframes portfolioFocusPulse {
  0%, 100% { box-shadow: none; }
  50% { box-shadow: 0 0 0 3px rgba(255,116,23,.22), 0 0 34px rgba(255,116,23,.18); }
}

:root[data-theme="dark"] .portfolio-hero {
  background: linear-gradient(135deg, #0d1523 0%, #111d30 64%, #5b2c18 150%);
  border: 1px solid var(--sc-border);
}

:root[data-theme="dark"] .portfolio-health-ribbon,
:root[data-theme="dark"] .portfolio-kpi,
:root[data-theme="dark"] .portfolio-chart-card,
:root[data-theme="dark"] .portfolio-alert-card,
:root[data-theme="dark"] .portfolio-project-card,
:root[data-theme="dark"] .portfolio-empty-large {
  background: var(--sc-card) !important;
  color: var(--sc-text) !important;
  border-color: var(--sc-border) !important;
}

:root[data-theme="dark"] .portfolio-alert,
:root[data-theme="dark"] .portfolio-project-financial > div,
:root[data-theme="dark"] .portfolio-project-metrics > div {
  background: #0e1726 !important;
  color: var(--sc-text) !important;
  border-color: var(--sc-border) !important;
}

:root[data-theme="dark"] .portfolio-filter-controls .form-control,
:root[data-theme="dark"] .portfolio-filter-controls .form-select,
:root[data-theme="dark"] .portfolio-filter-controls .input-group-text {
  background: #0e1726 !important;
  color: var(--sc-text) !important;
  border-color: var(--sc-border) !important;
}

@media (max-width: 1500px) {
  .portfolio-kpi-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .portfolio-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .portfolio-kpi-grid { grid-template-columns: 1fr; }
}


/* v4.5.0.4 — balanced project intelligence and executive insights */
.portfolio-intelligence-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(300px, .82fr);
  gap: 1rem;
  align-items: start;
}
.portfolio-intelligence-layout .portfolio-project-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.portfolio-insights-panel {
  position: sticky;
  top: 84px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  min-height: 100%;
  padding: 1.1rem;
  border: 1px solid var(--sc-border, #dfe5ec);
  border-radius: 18px;
  background: var(--sc-card, #fff);
  box-shadow: 0 10px 26px rgba(15,23,42,.05);
}
.portfolio-insights-head {display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.portfolio-insights-head span {display:block;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:800;color:#f59e67}
.portfolio-insights-head h3 {margin:.2rem 0 0;font-size:1.1rem;font-weight:800}
.portfolio-insights-head>i {font-size:1.3rem;color:#ef6c24}
.portfolio-insight-summary {display:flex;align-items:baseline;gap:.55rem;padding:.85rem;border-radius:12px;background:var(--sc-bg-muted,#f6f8fb)}
.portfolio-insight-summary strong {font-size:1.8rem;line-height:1;color:#ef6c24}
.portfolio-insight-summary span {color:var(--sc-muted,#6b7280);font-size:.82rem}
.portfolio-insight-list {display:grid;gap:.55rem;flex:1}
.portfolio-insight-item {display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;width:100%;padding:.72rem;text-align:left;border:1px solid var(--sc-border,#dfe5ec);border-radius:11px;background:transparent;color:inherit}
.portfolio-insight-item:hover {border-color:#ef6c24}
.portfolio-insight-item span {display:grid}
.portfolio-insight-item small {color:var(--sc-muted,#6b7280)}
.portfolio-insight-item>i:first-child {color:#ef6c24}
.portfolio-insight-empty {display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;color:var(--sc-muted,#6b7280)}
.portfolio-insight-empty i {font-size:2rem;color:#22a06b}
:root[data-theme="dark"] .portfolio-insights-panel {background:var(--sc-card)!important;color:var(--sc-text)!important;border-color:var(--sc-border)!important}
:root[data-theme="dark"] .portfolio-insight-summary,
:root[data-theme="dark"] .portfolio-insight-item {background:#0e1726!important;color:var(--sc-text)!important;border-color:var(--sc-border)!important}
@media(max-width:1250px){.portfolio-intelligence-layout{grid-template-columns:1fr}.portfolio-insights-panel{position:static}.portfolio-intelligence-layout .portfolio-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.portfolio-intelligence-layout .portfolio-project-grid{grid-template-columns:1fr}}


/* v4.5.0.5 — two-row enterprise portfolio filter panel */
.portfolio-filter-panel{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.8rem;
  margin:.9rem 0 1rem;
  padding:.9rem;
  border:1px solid var(--sc-border,rgba(148,163,184,.22));
  border-radius:14px;
  background:var(--sc-card,#fff);
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.portfolio-search-row{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:.7rem;
  padding:0 .9rem;
  border:1px solid var(--sc-border,rgba(148,163,184,.22));
  border-radius:10px;
  background:var(--sc-surface,#fff);
}
.portfolio-search-row>i{
  flex:0 0 auto;
  font-size:1.05rem;
  color:var(--sc-muted,#64748b);
}
.portfolio-search-row .form-control{
  min-width:0;
  height:46px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none!important;
}
.portfolio-risk-row{
  display:grid;
  grid-template-columns:140px minmax(0,1fr);
  align-items:center;
  gap:.8rem;
}
.portfolio-risk-row label{
  margin:0;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--sc-muted,#64748b);
}
.portfolio-risk-row .form-select{
  width:100%;
  min-height:48px;
  border:1px solid var(--sc-border,rgba(148,163,184,.22));
  border-radius:10px;
  background-color:var(--sc-surface,#fff);
}
@media (max-width:767.98px){
  .portfolio-filter-panel{padding:.75rem}
  .portfolio-risk-row{grid-template-columns:1fr;gap:.45rem}
}
:root[data-theme="dark"] .portfolio-filter-panel{
  background:#111d30;
  border-color:#2a3a52;
  box-shadow:none;
}
:root[data-theme="dark"] .portfolio-search-row,
:root[data-theme="dark"] .portfolio-risk-row .form-select{
  background:#0d1727;
  border-color:#2a3a52;
  color:#f8fafc;
}
:root[data-theme="dark"] .portfolio-search-row .form-control{
  color:#f8fafc;
}
:root[data-theme="dark"] .portfolio-search-row .form-control::placeholder{
  color:#9fb0c8;
}
:root[data-theme="dark"] .portfolio-search-row>i,
:root[data-theme="dark"] .portfolio-risk-row label{
  color:#a9b8cc;
}

/* v4.6.0.2 — authoritative balanced KPI grid */
@media (min-width: 1501px) {
  .portfolio-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
