/* Approved October 10 Today design. Loaded after experimental brand styles.
   Reference: Prop Pilot Dashboard - Approved Flat Portfolio Heading.html.
   No sample figures or chart points are defined here. */
.pp-app-active{background:#080b10;color:#f3f4f6}
.pp-app-active .app-shell{grid-template-columns:246px minmax(0,1fr)}
.pp-app-active .desktop-sidebar{background:#0b0e14;border-right:1px solid #242b34;padding:16px 15px 14px}
.pp-app-active .sidebar-brand{padding:2px 0 15px;border-bottom:0;display:flex;align-items:stretch;flex-direction:column;gap:0}
.pp-app-active .sidebar-brand .ppa-brand-logo{display:block;background:#070707;border-radius:4px;width:100%;max-width:100%;height:auto;max-height:65px;aspect-ratio:auto;object-fit:contain;object-position:center;margin:0}
.pp-app-active .sidebar-brand .ppa-ysi-wordmark{display:block;width:177px;max-width:100%;height:auto;max-height:58px;object-fit:contain;object-position:center;margin:0 auto}
.pp-app-active .sidebar-brand .ppa-brand-tagline{display:block;margin:3px 8px 8px;color:#677284;font-family:'Oxanium Prop Trial',sans-serif;letter-spacing:.17em;font-size:9px;font-weight:600;line-height:1.5;text-align:left}
.pp-app-active .sidebar-workspace{display:none}
.pp-app-active .sidebar-nav-group{font-size:10px;color:#697486;font-weight:800;letter-spacing:.16em;padding:0 12px;margin:23px 0 9px}
.pp-app-active .sidebar-links{gap:2px}
.pp-app-active .sidebar-links button{padding:12px 11px;border:1px solid transparent;border-radius:8px;background:transparent;grid-template-columns:23px minmax(0,1fr) 10px;gap:10px;color:#a7b1bf;font-weight:650;font-size:12px}
.pp-app-active .sidebar-links button.active{background:#281a22;color:#fff;border:1px solid #4a2a36}
.pp-app-active .side-nav-icon{font-size:15px;font-weight:500;color:#738092;text-align:center}
.pp-app-active .sidebar-links button.active .side-nav-icon{color:#ff4d63}
.pp-app-active .sidebar-footer{border-top:1px solid #2a313d;color:#7d8797;font-size:10px;gap:4px;margin:11px 2px 0;padding:13px 8px}
.pp-app-active .sidebar-footer strong{color:#e0e4eb;font-size:10px;letter-spacing:.12em}
.pp-app-active .sidebar-footer .side-nav-indicator{display:none}
.pp-app-active .app-workspace{background:#080b10}
.pp-app-active .workspace-toolbar{height:61px;min-height:61px;background:#0a0d13;border-bottom:1px solid #252b35;padding:0 29px}
.pp-app-active .workspace-main{width:min(100%,1480px);padding:27px 29px 65px}
#today .ppa-shell{display:grid;gap:13px}
#today .ppa-page-head{display:flex;align-items:flex-start;gap:20px;justify-content:space-between;margin:0 0 4px}
#today .ppa-page-head>.ppa-status{margin-top:8px;flex:0 0 auto}
#today .ppa-page-head .ppa-kicker{font-size:10px;font-weight:800;letter-spacing:.2em;color:#ed6778}
#today .ppa-page-head h1.ppa-portfolio-heading{display:block;margin:8px 0;width:min(100%,850px);max-width:850px;line-height:0;font-size:0;white-space:normal;text-wrap:initial;letter-spacing:normal;text-shadow:none}
#today .ppa-page-head h1.ppa-portfolio-heading img{display:block;width:100%;height:auto;max-height:58px;object-fit:contain;object-position:left center;filter:none}
#today .ppa-page-head p{font-size:12px;color:#acb5c2;line-height:1.6}
#today .ppa-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
#today .ppa-metrics>div{background:linear-gradient(135deg,#1a1d26,#11151d);border:1px solid #2a313d;border-radius:11px;padding:15px 17px;gap:3px;box-shadow:none}
#today .ppa-metrics>div:before{display:none}
#today .ppa-metrics span{color:#9da6b3;font-size:10px;font-weight:800;letter-spacing:.1em}
#today .ppa-metrics strong{font-size:clamp(20px,2vw,29px);font-weight:800;margin:8px 0 2px}
#today .ppa-metrics small{color:#8993a2;font-size:10px}
#today .ppa-top-grid{grid-template-columns:minmax(0,1.95fr) minmax(295px,.82fr);gap:13px;align-items:stretch}
#today .ppa-card{background:linear-gradient(145deg,#171c25,#12161e);border:1px solid #303746;border-radius:10px;padding:19px;box-shadow:none;transition:none}
#today .ppa-card:hover{box-shadow:none;border-color:#303746}
#today .ppa-performance:before{display:none}
#today .ppa-head{gap:12px;margin-bottom:17px}
#today .ppa-head h2{font-family:'Oxanium Prop Trial','Arial Black',sans-serif;font-size:20px;line-height:1.25;font-weight:800;letter-spacing:.02em;margin:6px 0;color:#f1f4f7}
#today .ppa-head p{color:#9aa5b5;font-size:11px;line-height:1.5;margin:0}
#today .ppa-kicker{color:#d48d9c;font-size:10px;font-weight:800;letter-spacing:.16em}
#today .ppa-text-button{font-size:10px;font-weight:750;color:#f4a7b5;padding:4px 0}
#today .ppa-periods{display:flex;gap:6px;margin:0 0 9px}
#today .ppa-periods button{background:#1e2531;color:#aeb8c6;border:1px solid #353d4b;border-radius:6px;padding:8px 10px;min-height:30px;font-size:10px;font-weight:800}
#today .ppa-periods button.active{border-color:#a33d4f;background:#462330;color:#fff}
#today .ppa-performance{display:flex;flex-direction:column;min-height:430px}
#today .ppa-performance>.ppa-head{order:0}
#today .ppa-performance>.ppa-periods{order:1}
#today .ppa-performance>.ppa-chart{order:2;margin:2px 0 0}
#today .ppa-performance>.ppa-toggles{order:3;margin:10px 0 0;display:flex;gap:17px}
#today .ppa-performance>.ppa-caption{order:4;margin-top:11px}
#today .ppa-toggles label{color:#aeb8c6;font-size:10px;gap:7px}
#today .ppa-toggles input{appearance:none;border:0;width:17px;height:3px;border-radius:2px;background:#ef3049;vertical-align:middle;margin:0;cursor:pointer}
#today .ppa-toggles input:disabled{background:#cbd4e1;cursor:not-allowed;opacity:.4}
#today .ppa-toggles i{display:none}
#today .ppa-chart{background:transparent;border:0;min-height:238px;height:238px;border-radius:0;overflow:hidden}
#today .ppa-grid-svg{height:238px}
#today .ppa-net-status{left:50%;bottom:11px;max-width:min(92%,420px);font-size:10px;line-height:1.3;text-align:center;white-space:normal}
#today .ppa-chart-empty{background:#171b25e8;border:1px solid #363d4a}
#today .ppa-allocation-card{min-height:430px}
#today .ppa-allocation-scope{font-size:11px;color:#adb7c7;background:#161b25;border:1px solid #343c47;padding:9px 10px;margin:0 0 10px;border-radius:6px}
#today .ppa-category-allocation{display:grid;align-items:center;justify-items:center;gap:10px}
#today .ppa-category-allocation svg{width:min(100%,205px);height:195px}
#today .ppa-category-legend{margin:3px 0 0;width:100%}
#today .ppa-category-row{grid-template-columns:12px minmax(0,1fr) auto;gap:9px;padding:9px 1px;color:#a4adba;font-size:11px;border-top:1px solid #303742;border-bottom:0}
#today .ppa-category-row i{width:9px;height:9px}
#today .ppa-category-row b{font-size:11px;color:#e7eaf0}
#today .ppa-analysis-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:stretch}
#today .ppa-analysis-grid .ppa-card{min-height:290px}
#today .ppa-analysis-grid .ppa-chart{min-height:190px;height:190px}
#today .ppa-analysis-grid .ppa-grid-svg{height:190px}
#today .ppa-analysis-grid .ppa-brier{min-height:190px;gap:12px;align-content:center}
#today .ppa-pair-legend{margin-top:12px;color:#aeb8c6;font-size:10px}
#today .ppa-recs>.ppa-head{margin-bottom:12px}
#today .ppa-recs>.ppa-head h2{font-size:20px}
#today .ppa-rec-pane{background:#111821;border:1px solid #313c4a;border-radius:8px;padding:14px}
#today .ppa-rec-pane h3{font-size:13px;letter-spacing:.02em;margin:0 0 11px}
#today .ppa-extra-analytics{margin-top:5px;border:1px solid #303746;border-radius:9px;background:#11151c;padding:10px 13px;color:#adb9ca}
#today .ppa-extra-analytics>summary{cursor:pointer;font-size:11px;font-weight:750}
#today .ppa-extra-analytics[open]{padding-bottom:15px}
#today .ppa-extra-analytics[open]>.ppa-bottom-grid{margin-top:14px}
#today .ppa-last{color:#818a99;margin:0}
@media(max-width:1200px){
 .pp-app-active .app-shell{grid-template-columns:211px minmax(0,1fr)}
 .pp-app-active .workspace-main{padding:24px 19px 55px}
 #today .ppa-top-grid{grid-template-columns:minmax(0,1.5fr) minmax(256px,.85fr)}
}
@media(max-width:959px){
 .pp-app-active .app-shell{display:block}
 .pp-app-active .desktop-sidebar{display:none}
 .pp-app-active .workspace-toolbar{min-height:47px;height:auto;padding:10px 18px}
 .pp-app-active .workspace-main{padding:23px 16px}
 #today .ppa-page-head{display:block}
 #today .ppa-page-head>.ppa-status{display:inline-flex;margin-top:12px}
 #today .ppa-page-head h1.ppa-portfolio-heading{width:min(100%,850px);margin:8px 0}
 #today .ppa-top-grid,#today .ppa-analysis-grid{grid-template-columns:1fr}
 #today .ppa-performance,#today .ppa-allocation-card{min-height:auto}
 #today .ppa-category-allocation{display:flex;gap:24px;justify-content:center}
 #today .ppa-category-allocation svg{max-width:190px}
 #today .ppa-category-legend{max-width:330px}
}
@media(max-width:620px){
 .pp-app-active .workspace-main{padding:19px 11px}
 #today .ppa-page-head h1.ppa-portfolio-heading{width:100%;margin:9px 0 12px}
 #today .ppa-page-head h1.ppa-portfolio-heading img{max-height:none}
 #today .ppa-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #today .ppa-metrics>div{padding:13px 11px}
 #today .ppa-metrics strong{font-size:20px}
 #today .ppa-card{padding:14px}
 #today .ppa-head h2{font-size:18px}
 #today .ppa-chart,#today .ppa-grid-svg{height:204px;min-height:204px}
 #today .ppa-analysis-grid .ppa-chart,#today .ppa-analysis-grid .ppa-grid-svg{height:174px;min-height:174px}
 #today .ppa-category-allocation{display:grid;justify-content:center}
 #today .ppa-category-allocation svg{max-width:200px;height:180px}
 #today .ppa-category-legend{max-width:none}
 #today .ppa-periods button{padding:7px;font-size:9px}
}
/* Three-card approved recommendation presentation when no verified live picks exist. */
#today .ppa-recs .ppa-rec-note{margin:0 0 14px;color:#adb8c7;font-size:12px;line-height:1.45}
#today .ppa-feature-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#today .ppa-feature-slot{background:#111821;border:1px solid #313c4a;border-radius:8px;padding:14px;min-height:104px;min-width:0}
#today .ppa-feature-label{font-size:10px;font-weight:800;letter-spacing:.09em;color:#ee8090;line-height:1.35}
#today .ppa-feature-slot strong{display:block;font-size:13px;color:#eff2f6;margin:10px 0}
#today .ppa-feature-slot p{color:#8a98a9;font-size:11px;line-height:1.5;margin:0}
@media(max-width:620px){#today .ppa-feature-slots{grid-template-columns:1fr}}

/* Approved multi-line chart uses observed equity/cash/held series.
   Place its factual three-item legend under the plot, as in the approved HTML. */
#today .ppa-performance>.ppa-real-series-legend{order:3;display:flex;flex-wrap:wrap;gap:19px;margin:11px 0 0}
#today .ppa-performance>.ppa-real-series-legend span{display:inline-flex;align-items:center;gap:7px;color:#abb6c5;font-size:10px}
#today .ppa-performance>.ppa-real-series-legend i{display:inline-block;width:17px;height:3px;border-radius:1px}
#today .ppa-performance>.ppa-caption{order:4}
#today .ppa-category-row span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Final approved HTML parity: preserve 850px matte lettering, 238px primary
   chart, 190px secondary visuals, charcoal cards and original grid geometry.
   The following only styles real model/market data and actionable UI links. */
#today .ppa-market-pair-status{font-size:11px;color:#a9b6c5;display:flex;gap:4px;margin:0 0 6px}
#today .ppa-market-pair-status b{color:#eff2f8;font-size:12px}
#today .ppa-analysis-grid .ppa-live-pair-chart{height:190px;min-height:190px}
#today .ppa-analysis-grid .ppa-live-pair-chart .ppa-grid-svg{height:190px}
#today .ppa-pair-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:10px 0 0;color:#aeb8c6;font-size:10px}
#today .ppa-pair-legend .market{background:#8cc9e8}
#today .ppa-pair-legend .model{background:#fa3653}
#today .ppa-feature-slots{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#today .ppa-feature-slot{min-height:190px;background:#111821;border:1px solid #313c4a;border-radius:8px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
#today .ppa-feature-slot strong{font-family:'Oxanium Prop Trial','Arial Black',sans-serif;font-size:15px;line-height:1.25;letter-spacing:.02em;margin:4px 0;color:#eff2f6}
#today .ppa-feature-slot .ppa-feature-label{font-size:10px;font-weight:800;letter-spacing:.1em;color:#ee8090}
#today .ppa-feature-slot p{font-size:11px;color:#9ba8ba;line-height:1.45;margin:0}
#today .ppa-research-metrics{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
#today .ppa-research-metrics b{font-size:22px;font-weight:800;color:#f46a81}
#today .ppa-research-metrics span{font-size:10px;color:#adb8c8}
#today .ppa-research-button{font-size:10px;color:#f4aebb;background:#30202b;border:1px solid #8f3f52;border-radius:5px;padding:7px 9px;min-height:30px;cursor:pointer;margin-top:auto}
#today .ppa-research-button:hover{background:#4a2636}
#today .ppa-recs .ppa-rec-note{font-size:11px;line-height:1.55}
#today .ppa-brier-trend{min-height:160px;height:190px}
#today .ppa-brier-trend svg{height:190px;width:100%}
#today .ppa-trend-sub{font-size:11px;color:#9daabc;line-height:1.5}
@media(max-width:959px){#today .ppa-feature-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){
 #today .ppa-feature-slots{grid-template-columns:1fr}
 #today .ppa-analysis-grid .ppa-live-pair-chart,#today .ppa-analysis-grid .ppa-live-pair-chart .ppa-grid-svg{height:174px;min-height:174px}
 #today .ppa-brier-trend,#today .ppa-brier-trend svg{height:174px}
}

/* APPROVED LOGOS: exact PNG artwork extracted from the user-approved v7 HTML.
   Replace glossy composite / reconstructed typed logo with the approved flat lockup. */
.pp-app-active .sidebar-brand .ppa-approved-flat-lockup{width:100%;height:64px;display:flex;align-items:center;gap:4px;justify-content:center;background:#070707;border-radius:4px;overflow:hidden}
.pp-app-active .sidebar-brand .ppa-approved-flat-icon{display:block;max-width:34%;width:66px;height:auto;object-fit:contain;flex:none}
.pp-app-active .sidebar-brand .ppa-approved-flat-type{display:block;min-width:0;max-width:66%;width:153px;height:auto;object-fit:contain;flex:none}
.pp-app-active .sidebar-brand .ppa-ysi-wordmark{width:160px;max-width:86%;max-height:54px;object-fit:contain;height:auto;margin:5px auto 0}
.pp-app-active .sidebar-brand .ppa-brand-tagline{font-family:Inter,'Segoe UI',Arial,sans-serif;letter-spacing:.15em;margin:7px 8px 10px;color:#798596;font-size:9px;line-height:1.55}
.ppa-auth-lockup{display:flex;gap:10px;align-items:center;max-width:320px;background:#050608;padding:10px;border-radius:6px}
.ppa-auth-lockup img{display:block;object-fit:contain;height:auto;max-height:58px}
.ppa-auth-lockup img:first-child{width:29%}
.ppa-auth-lockup img:last-child{width:71%}
/* Approved card titles are modern clean sans, never Oxanium trial / gothic block. */
#today .ppa-head h2,#today .ppa-feature-slot strong,#today .ppa-combos-intro h3,#today .ppa-extra-props h3,
#today .ppa-combo-research-card strong{font-family:Inter,'Segoe UI',Arial,sans-serif;letter-spacing:-.015em;font-weight:700}
#today .ppa-head h2{font-size:19px}
#today .ppa-feature-slot strong{font-size:15px;line-height:1.3}
/* Exact single-line matte-v7 vector remains the hero. Logo art, not browser fallback fonts. */
#today .ppa-page-head h1.ppa-portfolio-heading{max-width:850px;width:min(100%,850px)}
#today .ppa-page-head h1.ppa-portfolio-heading img{max-height:58px;filter:none}
#today .ppa-extra-props,#today .ppa-suggested-combos{margin-top:20px;padding-top:17px;border-top:1px solid #344050}
#today .ppa-extra-props h3,#today .ppa-combos-intro h3{font-size:15px;margin:0 0 6px;color:#f0f3f7}
#today .ppa-extra-props h3 span,#today .ppa-combos-intro h3 span{color:#9db0c4;font-size:11px;font-weight:500;margin-left:9px}
#today .ppa-combos-intro p{font-size:11px;line-height:1.5;color:#a6b5c6;margin:0 0 12px}
#today .ppa-props-grid,#today .ppa-combo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
#today .ppa-mini-prop,#today .ppa-combo-research-card{display:flex;flex-direction:column;gap:8px;border:1px solid #354253;border-radius:8px;background:#121a25;padding:13px;min-width:0}
#today .ppa-mini-prop>span{font-size:9px;color:#d78a9b;letter-spacing:.07em;overflow-wrap:anywhere}
#today .ppa-mini-prop>strong{font-size:13px;color:#f0f3f6;line-height:1.35}
#today .ppa-mini-prop>p{margin:0;color:#b0bccb;font-size:10px}
#today .ppa-mini-prop>div{display:grid;gap:2px;margin-top:auto}
#today .ppa-mini-prop b{font-size:21px;color:#f0758b}
#today .ppa-mini-prop small{font-size:10px;color:#adbac9}
#today .ppa-mini-prop button,#today .ppa-combo-research-card button{margin-top:auto;min-height:31px;background:#2c2029;color:#f3b8c4;border:1px solid #8b4155;border-radius:5px;padding:7px 9px;cursor:pointer;font:600 10px Inter,'Segoe UI',Arial,sans-serif}
#today .ppa-combo-research-card strong{font-size:14px;color:#f5f6f9}
#today .ppa-combo-research-card>p{font-size:10px;color:#a8b5c5;line-height:1.45;margin:0}
#today .ppa-combo-legs{color:#c4d0dd;font-size:11px;line-height:1.5;overflow-wrap:anywhere;flex:1}
#today .ppa-combo-divider{color:#77889b;margin:0 2px}
@media(max-width:1180px){#today .ppa-props-grid,#today .ppa-combo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#today .ppa-props-grid,#today .ppa-combo-grid{grid-template-columns:1fr}}

/* Top breadcrumb uses the same approved flat mark as sidebar and favicon. */
.pp-app-active .workspace-breadcrumb .ppa-top-mark{display:block;width:29px;height:20px;object-fit:contain;object-position:center}

/* Final approval refinements: exact YSI wordmark scaled only above the divider.
   Both image layers reference the SAME approved original; lower text is pixel-
   identical to the approved artwork and remains 100% of its prior rendered size. */
.pp-app-active .sidebar-brand .ppa-brand-byline{
  margin:9px auto 4px;
  width:100%;
  font-family:Inter,'Segoe UI',Arial,sans-serif;
  font-size:9px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  letter-spacing:.02em;
  color:#a9b6c8;
}
.pp-app-active .sidebar-brand .ppa-ysi-refined{
  width:160px;
  max-width:86%;
  aspect-ratio:705/195;
  display:grid;
  align-items:start;
  justify-items:stretch;
  margin:0 auto 11px;
}
.pp-app-active .sidebar-brand .ppa-ysi-refined img{
  display:block;
  width:100%;
  height:auto;
  grid-area:1/1;
  margin:0;
  max-height:none;
  object-fit:contain;
}
.pp-app-active .sidebar-brand .ppa-ysi-refined .ppa-ysi-upper{
  clip-path:inset(0 0 53% 0);
  transform:scale(.90);
  transform-origin:50% 46%;
}
.pp-app-active .sidebar-brand .ppa-ysi-refined .ppa-ysi-lower{
  clip-path:inset(47% 0 0 0);
}
