/* ClinicalCompass — layout: header, module-nav, dual-panel grid, cards. */
header{
  position:sticky; top:0; z-index:50;
  background:var(--panel);
  border-bottom:1px solid var(--border);
  padding:0.85rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:0.75rem;
}
.brand{display:flex; align-items:center; gap:0.6rem;}
.brand-mark{
  width:38px; height:38px; border-radius:10px;
  background:linear-gradient(135deg,var(--teal),var(--teal-light));
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,0.15);
}
.brand-mark svg{width:24px; height:24px; display:block;}
.brand h1{font-size:1.05rem; margin:0; font-weight:700; letter-spacing:-0.01em;}
.brand span{font-size:0.72rem; color:var(--text-muted); display:block; margin-top:1px;}
.market-tabs{display:flex; background:var(--bg); border:1px solid var(--border); border-radius:999px; padding:3px; gap:2px;}
.market-tabs button{
  border:none; background:transparent; padding:0.4rem 0.9rem; border-radius:999px;
  font-size:0.8rem; font-weight:600; color:var(--text-muted); cursor:pointer; transition:.15s;
}
.market-tabs button.active{background:var(--teal); color:#fff;}
.header-actions{display:flex; align-items:center; gap:0.6rem;}
.icon-btn{
  border:1px solid var(--border); background:var(--panel); color:var(--text);
  width:34px; height:34px; border-radius:8px; cursor:pointer; font-size:0.95rem;
  display:flex; align-items:center; justify-content:center;
}
.disclaimer-bar{
  background:var(--amber-bg); color:var(--amber); font-size:0.75rem; text-align:center;
  padding:0.4rem 1rem; border-bottom:1px solid var(--border);
}
.module-nav{
  display:flex; gap:0.4rem; overflow-x:auto; padding:0.6rem 1.5rem; background:var(--panel);
  border-bottom:1px solid var(--border);
  position:sticky; top:57px; z-index:40;
}
.module-nav button{
  white-space:nowrap; border:1px solid var(--border); background:var(--bg); color:var(--text-muted);
  padding:0.45rem 0.8rem; border-radius:8px; font-size:0.78rem; font-weight:600; cursor:pointer;
}
.module-nav button.active{background:var(--teal); border-color:var(--teal); color:#fff;}
main{
  display:grid; grid-template-columns: 58% 42%; gap:1.25rem;
  padding:1.5rem; max-width:1400px; margin:0 auto; align-items:start;
}
.card{
  background:var(--panel); border:1px solid var(--border); border-radius:var(--radius);
  box-shadow:var(--shadow); padding:1.1rem 1.25rem; margin-bottom:1rem;
}
.card-header{display:flex; align-items:center; justify-content:space-between; cursor:pointer; user-select:none;}
.card-header h2{font-size:0.95rem; margin:0; display:flex; align-items:center; gap:0.5rem; flex-wrap:wrap;}
.card-header h2 small{font-weight:500; color:var(--text-muted); font-size:0.72rem;}
.chevron{transition:transform .15s; color:var(--text-muted); font-size:0.8rem;}
.card.collapsed .card-body{display:none;}
.card.collapsed .chevron{transform:rotate(-90deg);}
.card-body{margin-top:0.9rem;}
.sticky-panel{position:sticky; top:130px;}
.footer-note{max-width:1400px; margin:0 auto; padding:0 1.5rem 2rem; font-size:0.72rem; color:var(--text-muted); text-align:center;}
.footer-note a{color:var(--teal); text-decoration:none;}
.footer-note a:hover{text-decoration:underline;}

/* Market-gated blocks. */
.market-only-fda{display:none;} .market-only-eu{display:none;}
[data-market="fda"] .market-only-fda{display:block;}
[data-market="eu"] .market-only-eu{display:block;}
[data-market="both"] .market-only-fda,[data-market="both"] .market-only-eu{display:block;}

#masterReport{display:none;}
@media print{
  header, .disclaimer-bar, .module-nav, .right-col, .btn-row, #themeToggle, #exportBtn{display:none !important;}
  main{grid-template-columns:1fr; padding:0;}
  .module-section{display:block !important; page-break-inside:avoid;}
  #masterReport{display:block !important;}
  .left-col > .module-section{display:none !important;}
}
@media (max-width: 980px){
  main{grid-template-columns:1fr;}
  .sticky-panel{position:static;}
  .field-row, .compare-cols, .pillar-row, .checkbox-grid, .two-col{grid-template-columns:1fr !important;}
}
