body { display: flex; flex-direction: column; }
.topbar { flex: 0 0 auto; height: auto; min-height: 78px; gap: 12px; }
.topbar .brand { flex: 1 1 auto; }
.topbar .brand-copy p { display: block; font-size: 13px; color: #d8e3a6; }
.topbar .actions { flex-wrap: wrap; justify-content: flex-end; }
main { flex: 1 1 auto; height: auto; min-height: 0; }
.demo-export { background: #d6eb9d; border-color: #aec773; color: #17200b; }
#demoInfoDialog { max-width: min(620px, calc(100vw - 24px)); font-size: 16px; line-height: 1.6; }
#demoInfoDialog .dialog-title { margin-bottom: 20px; }
#demoInfoDialog a { display: inline-block; color: #d6eb9d; margin-bottom: 20px; text-underline-offset: 4px; }
#demoInfoDialog form { margin: 0; }
#demoInfoDialog > form { text-align: right; }
.demo-watermark { position: absolute; z-index: 2; top: 45%; left: 4%; right: 4%; text-align: center; transform: rotate(-24deg); color: #b42929; opacity: .3; font-size: 32px; font-weight: 900; line-height: 1.5; pointer-events: none; }
:focus-visible { outline: 3px solid #d6eb9d; outline-offset: 3px; }
@media (max-width: 1100px) { .topbar { flex-wrap: wrap; padding: 10px 12px; } .topbar .actions { justify-content: flex-start; } .sidebar { top: 130px; } }
@media (max-width: 900px) {
  body { height: auto; min-height: 100vh; overflow: auto; }
  main { display: block; }
  .workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 560px auto; }
  .parameters { grid-row: auto; overflow: visible; }
  .report { overflow: visible; }
  .stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-heading { flex-wrap: wrap; gap: 6px; }
  .brand-logo { width: 80px; }
  .topbar .brand { gap: 10px; }
  .topbar h1 { font-size: 18px; }
  .tabs { flex-wrap: wrap; justify-content: flex-end; }
  .preview .section-title { align-items: flex-start; }
  .parameters .form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print { .demo-watermark { display: block !important; color: #b42929 !important; print-color-adjust: exact; -webkit-print-color-adjust: exact; } }

@media print { body.printing-documentation .program-sheet { position: relative !important; } }
