/* Dashboard polish: calmer hierarchy, compact actions and clearer operational focus. */
#dashboardView{max-width:1600px;margin:0 auto}
.app-main{min-width:0;padding:28px 30px 40px}
.side{width:270px;padding:20px 16px}
.app-brand{padding:0 12px;font-size:19px;letter-spacing:-.02em}
.tenant{margin:14px 4px 12px;padding:14px}
.tenant b{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:14px;line-height:1.35;text-transform:none}
.tenant small{font-size:11px;line-height:1.4}
.nav{gap:3px}.nav div{min-height:44px;display:flex;align-items:center;padding:10px 13px;border:1px solid transparent;font-size:14px;transition:background .16s ease,border-color .16s ease,color .16s ease}
.nav div:hover{background:#ffffff0a;border-color:#ffffff12;color:#fff}.nav .active{font-weight:750}
.sidebar-logout{min-height:44px;margin:12px 4px 0}.sync{margin:14px 4px 0}
.top{align-items:center;gap:24px;padding:2px 0 4px}.top>div:first-child{min-width:240px}.top h1{font-size:34px;line-height:1.08}.top p{margin:8px 0 0;font-size:14px}
.actions{align-items:center;justify-content:flex-end;flex-wrap:wrap}.actions .btn{min-height:40px!important;padding:9px 13px!important;border-radius:9px!important;font-size:13px;box-shadow:none!important}.actions .btn:hover{transform:none!important}
#periodLabel{background:transparent!important;color:inherit!important;border-color:var(--line)!important;box-shadow:none!important}
#refreshBtn{background:#116fda!important;border-color:#2788ed!important;box-shadow:none!important}
.actions .btn.primary{width:auto!important;background:#6145d8!important;border-color:#7259e8!important;box-shadow:none!important}#logoutBtn{display:none}
.metrics{grid-template-columns:1.18fr repeat(5,minmax(150px,1fr));gap:12px;margin-top:20px}
.score,.metric{position:relative;min-height:154px;padding:20px;overflow:hidden}.score{border-color:#315b89!important}
.score label,.metric label{font-size:13px;font-weight:650}.score strong{font-size:40px;line-height:1;margin:26px 0 12px;letter-spacing:-.04em}.score strong small{font-size:.58em;color:#b7c4d8}
.metric strong{font-size:24px;line-height:1.15;margin:27px 0 10px;letter-spacing:-.035em}.score small,.metric small{font-size:11px;line-height:1.45}
.metric.success strong{color:#48df9e}.metric.danger strong,.metric.warn strong{color:#ffbd6c}.metric.purple strong,.metric.cyan strong{color:#91bdff}
.track{height:6px}.track span{background:#f6b943}
.grid2{grid-template-columns:minmax(0,1.55fr) minmax(390px,1fr);gap:14px;margin-top:14px}.grid4{gap:14px;margin-top:14px}.panel{padding:20px}
.ph{gap:16px;align-items:flex-start}.ph h2{font-size:15px;line-height:1.3}.ph p{margin:6px 0 0;font-size:11px;line-height:1.45}.ph .btn{min-height:40px;white-space:nowrap}
.chart{height:286px;display:block;padding:10px 0 0}.mrr-trend{position:relative;width:100%;height:100%}.mrr-trend svg{display:block;width:100%;height:250px;overflow:visible}.mrr-scale-note{position:absolute;top:2px;left:8px;color:#8292aa;font-size:9.5px}.mrr-svg-value{fill:#cbd7e8;font-size:10px;font-weight:700}.mrr-svg-month{fill:#91a1ba;font-size:11px;text-transform:capitalize}.mrr-svg-delta{font-size:9px;font-weight:800}.mrr-legend{display:flex;justify-content:flex-end;gap:15px;margin:-2px 13px 0;color:#8191a9;font-size:9.5px}.mrr-legend span:before{content:'';display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%}.mrr-legend .up:before{background:#34d399}.mrr-legend .stable:before{background:#60a5fa}.mrr-legend .down:before{background:#fb923c}
.mrr-quality-chip,.mrr-quality-link-btn{min-height:34px}
#attentionList{margin-top:10px}.finding{position:relative;grid-template-columns:64px minmax(0,1fr) auto;column-gap:12px;row-gap:5px;min-height:78px;padding:13px 0;background:transparent!important;transform:none!important}
.finding .badge{align-self:start;margin-top:1px}.finding strong{font-size:12px;line-height:1.4}.finding small{font-size:10.5px;line-height:1.45}.finding>b{text-align:right;white-space:nowrap}
.attention-details-btn{grid-column:3;justify-self:end;min-height:30px!important;padding:5px 9px!important;border:0!important;background:transparent!important;color:#69a7ff!important}.attention-details-btn:hover{text-decoration:underline}
.finding:focus-visible{outline:2px solid #60a5fa;outline-offset:3px;border-radius:8px}
.license-banner{position:static!important;inset:auto!important;transform:none!important;box-shadow:none!important}
html[data-theme="dark"] .card,html[data-theme="dark"] .panel{box-shadow:none}
html[data-theme="dark"] .score{background:#0e2037}html[data-theme="dark"] .metric{background:#0f1728}
html[data-theme="dark"] .metric:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#6782a8}
html[data-theme="dark"] .metric.danger:before{background:#ff6b76}html[data-theme="dark"] .metric.success:before{background:#35d695}html[data-theme="dark"] .metric.warn:before{background:#f2aa45}html[data-theme="dark"] .metric.purple:before{background:#8d72e8}html[data-theme="dark"] .metric.cyan:before{background:#4aaee8}
html[data-theme="dark"] .grid2>.panel:first-child{border-color:#263b5c}
html[data-theme="light"] .metric{color:#172033;background:#fff}html[data-theme="light"] .score{background:#0c2c4e;color:#fff}html[data-theme="light"] .license-banner{background:#fff;color:#25344d;border-color:#dbe4ef}
@media(max-width:1380px){.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.score{grid-column:span 1}.grid2{grid-template-columns:minmax(0,1.25fr) minmax(360px,1fr)}}
@media(max-width:1024px){.app-main{padding:20px}#dashboardView{max-width:none}.side{width:100%}.license-banner{position:static!important;max-width:none}}
@media(max-width:768px){.app-main{padding:16px 12px 28px}.top{align-items:flex-start}.actions{justify-content:flex-start}.actions .btn{min-height:44px!important}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.score{grid-column:span 2}.score,.metric{min-height:136px;padding:16px}.metric strong{margin-top:19px}.grid2{grid-template-columns:1fr}.finding{grid-template-columns:58px minmax(0,1fr)}.finding>b,.attention-details-btn{grid-column:2;justify-self:start;text-align:left}.chart{height:260px;padding-left:0;padding-right:0}.mrr-trend svg{height:225px}.mrr-svg-value{font-size:8px}.mrr-legend{justify-content:flex-start;margin-left:7px}}
@media(max-width:520px){.side{grid-template-columns:minmax(0,1fr) 44px}.sidebar-logout{width:44px;min-width:44px;overflow:hidden;font-size:0;text-align:center}.sidebar-logout:before{content:"↪";font-size:18px;color:#fff}.metrics{grid-template-columns:1fr}.score{grid-column:auto}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.actions .btn{width:100%;min-width:0;white-space:normal}.actions .btn.primary{grid-column:span 2;width:100%!important}.finding{grid-template-columns:1fr}.finding>b,.attention-details-btn{grid-column:auto}}
/* MRR data-quality notice stays visually integrated before and after JS hydration. */
.mrr-head-right{max-width:490px}
.mrr-quality-compact{display:flex;align-items:center;justify-content:flex-end;gap:10px;max-width:470px;padding:7px 9px;border-left:2px solid rgba(245,158,11,.72);border-radius:0 8px 8px 0;background:rgba(148,163,184,.06)}
.mrr-quality-chip{display:inline-flex;align-items:center;gap:7px;min-height:auto!important;padding:0;border:0;background:transparent;color:#d8e1ee;font-size:10.5px;font-weight:750;text-align:left;cursor:pointer}
.mrr-quality-dot{display:grid;place-items:center;width:17px;height:17px;flex:0 0 17px;border:1px solid rgba(245,158,11,.65);border-radius:50%;background:transparent;color:#f7b84b;font-size:10px;font-weight:900}
.mrr-quality-link-btn{min-height:auto!important;padding:3px 2px;border:0;background:transparent;color:#8ab4ff;font-size:10.5px;font-weight:800;white-space:nowrap;cursor:pointer}
.mrr-quality-link-btn:hover{text-decoration:underline}
.mrr-quality-meta{max-width:470px;color:#8394ad;font-size:10px;line-height:1.3;text-align:right}
@media(max-width:768px){.mrr-head-right{max-width:none}.mrr-quality-compact{justify-content:flex-start}.mrr-quality-meta{text-align:left}}

/* Executive PDF export: compact A4 landscape dashboard without navigation or empty pages. */
@media print{
  @page{size:A4 landscape;margin:9mm}
  html,body{width:auto!important;min-width:0!important;background:#fff!important}
  .app-main{padding:0!important}
  #dashboardView{max-width:none!important}
  .top{display:flex!important;align-items:flex-end!important;margin:0 0 8px!important;padding:0 0 7px!important;border-bottom:1px solid #d8e0ec}
  .top h1{font-size:24px!important;color:#0b1b33!important}
  .top p{margin-top:3px!important;font-size:10px!important;color:#526176!important}
  .metrics{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:6px!important;margin-top:0!important}
  .score,.metric{min-height:95px!important;padding:10px!important;border-radius:8px!important}
  .score label,.metric label{font-size:8px!important}
  .score strong{font-size:24px!important;margin:13px 0 7px!important}
  .metric strong{font-size:16px!important;margin:14px 0 6px!important}
  .score small,.metric small{font-size:7px!important}
  .track{height:4px!important}
  .grid2{display:grid!important;grid-template-columns:1.35fr 1fr!important;gap:7px!important;margin-top:7px!important}
  .grid4{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;margin-top:7px!important;break-before:page}
  .panel{padding:11px!important;border-radius:8px!important}
  .ph h2{font-size:11px!important}.ph p{font-size:8px!important;margin:3px 0 0!important}
  .chart{height:205px!important;padding-top:4px!important}.mrr-trend svg{height:178px!important}
  .mrr-quality-compact{padding:4px 6px!important}.mrr-quality-chip,.mrr-quality-link-btn,.mrr-quality-meta{font-size:7px!important}
  #attentionList{margin-top:4px!important}.finding{min-height:0!important;padding:7px 0!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:6px!important}
  .finding .badge{font-size:6px!important;padding:3px!important}.finding strong{font-size:8px!important}.finding small,.finding b{font-size:7px!important}
  .attention-details-btn{display:none!important}
  .mini-list{gap:5px!important;margin-top:7px!important}.mini-list div{font-size:8px!important;padding-bottom:5px!important}
  .card,.panel,.data-card,.summary-card{break-inside:avoid-page!important}
  .grid2,.metrics{break-inside:avoid-page!important}
}
