/* Power BI App shell — shared chrome for /reports/* */
:root{
  --app-black:#000000;
  --app-bar2:#2b2b2b;
  --app-side:#1c1c1c;
  --app-side-hover:#2a2a2a;
  --app-gold:#f2c94c;
  --app-text:#e8e8e8;
  --app-text-dim:#9c9c9c;
  --app-line:#3a3a3a;
  --app-bg:#f3f2f1;
  --app-navy:#1a3d7c;
  --app-blue:#2f6fce;
  --rx-red:#e05a4e;
  --rx-green:#4caf7d;
  --rx-grey:#9aa0a6;
  --rx-orange:#e2812e;
  --rx-darkgreen:#2f6b4f;
}
*{box-sizing:border-box;}
html,body.app-shell{margin:0;height:100%;}
body.app-shell{
  font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;
  background:var(--app-bg);
  color:#1b1b1b;
  display:flex;
  flex-direction:column;
  height:100vh;
  overflow:hidden;
}

.app-disclosure{
  background:#fff8e6;color:#7a5b00;font-size:.75rem;text-align:center;
  padding:.35rem 1rem;border-bottom:1px solid #f0dca0;flex-shrink:0;
}
.app-disclosure a{color:#7a5b00;}

#app-shell-root{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;}

/* top black bar */
.app-topbar{
  background:var(--app-black);color:#fff;flex-shrink:0;
  display:flex;align-items:center;gap:.6rem;
  padding:0 1rem;height:40px;font-size:.85rem;
}
.app-topbar .crumb{display:flex;align-items:center;gap:.4rem;font-weight:600;}
.app-topbar .crumb .star{color:var(--app-gold);}
.app-topbar .crumb .car{opacity:.7;font-size:.7rem;}
.app-topbar .spacer{flex:1;}
.app-topbar .icon{opacity:.85;cursor:pointer;padding:.3rem;font-size:.85rem;}
.app-topbar .close-btn{
  border:1px solid #666;background:transparent;color:#fff;border-radius:3px;
  padding:.3rem .9rem;font-size:.8rem;cursor:pointer;margin-left:.5rem;
}
.app-topbar .close-btn:hover{background:#222;}

/* second grey toolbar */
.app-toolbar{
  background:var(--app-bar2);color:var(--app-text);flex-shrink:0;
  display:flex;align-items:center;gap:1.3rem;
  padding:0 1rem;height:38px;font-size:.8rem;
}
.app-toolbar .t-item{display:flex;align-items:center;gap:.35rem;opacity:.9;cursor:default;white-space:nowrap;}
.app-toolbar .t-item .care{opacity:.6;font-size:.65rem;}
.app-toolbar .spacer{flex:1;}
.app-toolbar .icon{opacity:.85;padding:.25rem;font-size:.85rem;cursor:pointer;}

/* body: sidebar + main */
.app-body{flex:1;display:flex;overflow:hidden;min-height:0;}

.app-sidebar{
  width:210px;flex-shrink:0;background:var(--app-side);color:var(--app-text);
  display:flex;flex-direction:column;overflow-y:auto;min-height:0;
}
.app-side-head{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:1rem .8rem .9rem;border-bottom:1px solid var(--app-line);position:relative;
}
.app-side-head .collapse{position:absolute;top:.6rem;right:.6rem;color:var(--app-text-dim);font-size:.75rem;cursor:pointer;}
.app-logo-badge{
  width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;
  margin-bottom:.5rem;overflow:hidden;border:2px solid #2f6fce;
}
.app-logo-badge svg{width:100%;height:100%;}
.app-side-head .app-name{font-weight:700;font-size:.78rem;letter-spacing:.03em;}

.app-nav{list-style:none;margin:0;padding:.5rem 0;flex:1;}
.app-nav li{margin:0;}
.app-nav a{
  display:flex;align-items:center;gap:.6rem;padding:.55rem .9rem;
  color:var(--app-text);text-decoration:none;font-size:.85rem;border-left:3px solid transparent;
}
.app-nav a:hover{background:var(--app-side-hover);}
.app-nav a.active{background:#3a3212;border-left-color:var(--app-gold);color:#fff;font-weight:600;}
.app-nav a.disabled{color:#5a5a5a;cursor:default;pointer-events:none;}
.app-nav .dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.app-nav .dot.gold{background:var(--app-gold);clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);}
.app-nav .dot.red{background:var(--rx-red);}
.app-nav .dot.blue{background:var(--app-blue);}
.app-nav .dot.orange{background:var(--rx-orange);}
.app-nav .dot.grey{background:#666;}
.app-nav .car{margin-left:auto;opacity:.5;font-size:.65rem;}

.app-side-back{
  border-top:1px solid var(--app-line);padding:.7rem .9rem;font-size:.8rem;
  color:var(--app-text-dim);display:flex;align-items:center;gap:.5rem;
}
.app-side-back a{color:inherit;text-decoration:none;display:flex;align-items:center;gap:.5rem;}

/* main content */
.app-main{flex:1;overflow-y:auto;background:var(--app-bg);min-height:0;}
.app-main-inner{max-width:1180px;margin:0 auto;padding:1.75rem 2rem 3rem;}

/* ===== homepage ===== */
.app-hero{
  display:flex;align-items:center;gap:1.75rem;
  background:linear-gradient(135deg,#11224a 0%,#1a3d7c 60%,#2f6fce 130%);
  border-radius:14px;padding:1.5rem 2rem;margin-bottom:1.75rem;color:#fff;
  box-shadow:0 8px 24px -8px rgba(15,30,70,.45);
}
.app-hero-logo{background:#fff;border-radius:10px;padding:.7rem 1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.15);}
.app-hero-logo svg{width:130px;height:auto;display:block;}
.app-hero-title{font-size:1.9rem;font-weight:800;letter-spacing:.02em;}
.app-hero-sub{font-size:.85rem;color:#c9d6f2;margin-top:.3rem;font-weight:400;letter-spacing:.01em;}

.app-section{
  background:#fff;border-radius:12px;margin-bottom:1.5rem;overflow:hidden;
  border:1px solid #e7e9ee;box-shadow:0 1px 3px rgba(20,25,50,.05);
}
.app-section-header{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1.15rem 1.5rem;border-bottom:1px solid #eef0f4;
}
.app-section-header .titles{display:flex;flex-direction:column;gap:.15rem;}
.app-section-header .kicker{font-size:.66rem;color:#98a0ae;letter-spacing:.06em;text-transform:uppercase;font-weight:600;}
.app-section-header a.title-link{
  color:#161d2e;text-decoration:none;font-size:1.2rem;font-weight:800;
  line-height:1.2;display:flex;align-items:center;gap:.5rem;
}
.app-section-header a.title-link:hover{color:var(--app-blue);}
.app-section-header .open-link{
  font-size:.78rem;color:var(--app-blue);text-decoration:none;font-weight:700;
  white-space:nowrap;flex-shrink:0;
}
.app-section-header .open-link:hover{text-decoration:underline;}

.app-section-cards{display:grid;gap:1px;background:#eef0f4;}
.app-section-cards.cols-1{grid-template-columns:1fr;}
.app-section-cards.cols-2{grid-template-columns:1fr 1fr;}
.app-card{background:#fff;padding:1.2rem 1.5rem 1.5rem;}
.app-card .card-title{font-size:.72rem;color:#c0392b;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.app-card .card-sub{font-size:.66rem;color:#98a0ae;margin-bottom:.6rem;letter-spacing:.01em;}
.app-card .card-body{width:100%;}

.app-placeholder-row .ph-msg{
  padding:2.2rem 1.5rem;text-align:center;color:#a5abb8;font-size:.88rem;
}

/* ===== report page ===== */
.app-report-head{padding:0 0 1.4rem;}
.app-report-head h1{margin:0 0 .3rem;font-size:1.6rem;color:#161d2e;}
.app-report-head p{margin:0;color:#666;font-size:.9rem;}
.app-report-grid{display:flex;flex-direction:column;gap:1.25rem;}
.rp-card{background:#fff;border:1px solid #e7e9ee;border-radius:10px;padding:1.3rem 1.5rem 1.6rem;box-shadow:0 1px 3px rgba(20,25,50,.05);}
.rp-card .rp-title{font-size:.85rem;font-weight:700;color:#222;}
.rp-card .rp-sub{font-size:.7rem;color:#c0392b;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6rem;}
.rp-legend{display:flex;flex-wrap:wrap;gap:1rem;font-size:.78rem;margin-bottom:.6rem;justify-content:center;}
.rp-legend .li{display:flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none;}
.rp-legend .li.off{opacity:.35;}
.rp-legend .sw{width:10px;height:10px;border-radius:2px;}
.rp-legend .ln{width:14px;height:2px;}
.rp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.rp-grid-2 .full{grid-column:1/-1;}

@media (max-width:1000px){
  .app-hero{flex-direction:column;align-items:flex-start;}
  .app-section-cards.cols-2{grid-template-columns:1fr;}
  .rp-grid-2{grid-template-columns:1fr;}
}
