/* Portfolio overview: natural mobile flow, compact one-screen desktop workspace. */
.portfolio-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.portfolio-toolbar>label{margin:0;flex:1;min-width:180px;font-size:12px}
.portfolio-toolbar select{margin:0}
.portfolio-view-tabs{display:flex;gap:6px}
.portfolio-filters{position:relative}
.portfolio-filters>summary{display:flex;align-items:center;cursor:pointer;font-size:13px;min-height:44px}
.portfolio-filter-content{display:grid;gap:12px;padding:16px;background:white;border:1px solid var(--line);border-radius:8px}
.portfolio-filter-content label{margin:0}
.portfolio-check{display:flex;align-items:center;gap:4px;margin:0;font-size:12px}
.portfolio-check input[type=checkbox]{margin:5px;width:18px;height:18px}
.portfolio-scope{font-size:11px}
.portfolio-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.portfolio-kpi{border:1px solid var(--line);border-radius:8px!important;min-width:0}
.portfolio-kpi button{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 6px;text-align:left;width:100%;border:0;background:transparent;padding:12px;color:var(--ink)}
.portfolio-kpi button:hover{background:#f0f5fa}
.portfolio-kpi span{font-size:12px;grid-column:1/-1;min-height:32px}
.portfolio-kpi strong{font-size:27px;line-height:1.1}
.portfolio-kpi small{font-size:10px}
.portfolio-kpi.risk strong{color:#c34759}.portfolio-kpi.warnings strong,.portfolio-kpi.upcoming strong{color:#a96d16}
.portfolio-charts{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.portfolio-charts>.panel{margin:0;overflow:hidden}
.portfolio-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 5px;flex-wrap:wrap}
.portfolio-chart-heading h2{font-size:15px}.portfolio-chart-heading small{font-size:10px}
.portfolio-chart-caption{font-size:11px;color:var(--muted);padding:0 14px}
.portfolio-legend{display:flex;flex-wrap:wrap;gap:5px 10px;padding:4px 14px;font-size:10px;color:#637187}
.portfolio-legend span{display:flex;align-items:center;gap:4px}
.portfolio-heat-scroll{overflow-x:auto;overflow-y:visible;outline-offset:-3px}
.portfolio-heat-scroll>.blazor-apexcharts{min-width:560px}
.portfolio-chart-foot{padding:7px 12px;font-size:10px;color:#65768d;border-top:1px solid var(--line)}
.portfolio-chart-foot button{font-size:11px;padding:0;min-height:28px;display:block}
.portfolio-detail-context{font-size:13px;margin-bottom:16px;color:#64758a}
.portfolio-evidence{border-top:1px solid var(--line);padding:14px 0}
.portfolio-evidence h3{margin:8px 0;font-size:15px}
.portfolio-evidence p{margin:6px 0;font-size:13px;overflow-wrap:anywhere}
.portfolio-evidence small{display:block;font-size:12px}
.portfolio-tooltip{max-width:310px;white-space:normal;overflow-wrap:anywhere;font-size:11px}
@media(min-width:768px){.portfolio-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.portfolio-toolbar>label{max-width:310px}}
@media(min-width:1200px){
 .portfolio-page{padding:18px 24px 8px}
 .portfolio-page>.page-heading{margin-bottom:12px;gap:12px;min-height:56px}
 .portfolio-page>.page-heading h1{font-size:25px}
 .portfolio-page>.page-heading .eyebrow{display:none}
 .portfolio-page>.page-heading p{margin-top:4px;font-size:12px}
 .portfolio-page>.page-heading .date-control{margin-bottom:0}
 .portfolio-page>.page-heading .date-control input{margin-top:0;min-height:36px;padding:6px 10px}
 .portfolio-toolbar{flex-wrap:nowrap;margin-bottom:10px;height:48px}
 .portfolio-toolbar>label{display:flex;align-items:center;gap:8px;max-width:380px;white-space:nowrap;min-width:260px}
 .portfolio-toolbar select{font-size:13px;min-height:38px;padding:7px 10px}
 .portfolio-view-tabs button{font-size:12px;padding:6px 12px;min-height:38px}
 .portfolio-filters{margin-left:auto}
 .portfolio-filter-content{position:absolute;right:0;top:100%;width:320px;z-index:25;box-shadow:0 8px 28px #14253d24}
 .portfolio-kpis{margin-bottom:12px}
 .portfolio-kpi button{padding:9px 12px}
 .portfolio-kpi span{font-size:11px;min-height:18px}
 .portfolio-kpi strong{font-size:25px}
 .portfolio-charts{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:stretch}
 .portfolio-heat-scroll{height:clamp(300px,calc(100dvh - 430px),440px);overflow-y:scroll;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin}
 .portfolio-heat-scroll>.blazor-apexcharts{min-width:0}
 .portfolio-charts .portfolio-chart-heading{min-height:38px}
 .portfolio-chart-caption,.portfolio-legend{min-height:28px}
 .portfolio-scatter{display:flex;flex-direction:column}
 .portfolio-scatter>.portfolio-chart-foot{margin-top:auto}
 .portfolio-page>.page-footer{padding-top:8px;margin-top:0}
}
@media(max-width:767px){.portfolio-filters{width:100%}.portfolio-scope{width:100%}.portfolio-kpi:last-child{grid-column:1/-1}.portfolio-toolbar>label{width:100%}.portfolio-charts .portfolio-scatter{min-width:0}}

@media(min-width:1200px){.portfolio-page{padding-top:12px}.portfolio-page>.page-heading{margin-bottom:8px}.portfolio-chart-heading{padding-top:8px}.portfolio-chart-heading .portfolio-check{min-height:0}}
