/* Shared responsive reading layer for the illustrative product reports. */
.report-toolbar { display:flex; gap:20px; justify-content:space-between; padding:16px 24px; background:#fff; border-bottom:1px solid #ddd9d1; font:14px/1.5 Arial,sans-serif; }
.report-toolbar a { color:#24605a; text-decoration:underline; }
body.standalone-report { display:block; padding:0; }
.standalone-report .app { margin:24px auto; width:min(1440px, calc(100% - 48px)); height:auto; }
.mobile-table-cards { display:none; }
.report-section > summary { display:none; }
.report-section { display:contents; }
.report-section-content { display:contents; }
/* Full reports can be narrower than their embedded 1440px canvas even on
   an iPad in landscape. Share the space between the Define panes rather
   than reserving 720px for the left pane. */
@media (min-width:1001px) {
  .standalone-report .pane-l { width:50%; flex:1 1 50%; min-width:0; }
  .standalone-report .pane-r { flex:1 1 50%; min-width:0; }
}
.standalone-report .vtot { flex-wrap:wrap; }
.standalone-report .vt.wide { flex-basis:260px; min-width:0; }
@media (max-width:1000px) {
  body { font-size:16px; line-height:1.5; }
  body.standalone-report .app { margin:0; width:100%; }
  .report-toolbar { flex-direction:column; gap:4px; padding:14px 18px; }
  .report-toolbar a { min-height:44px; display:flex; align-items:center; }
  .app, .page, .panel, .card, .split, .pane-l, .pane-r { min-width:0; max-width:100%; }
  .topbar { padding:16px; }
  .crumb { flex-basis:100%; white-space:normal; overflow-wrap:anywhere; font-size:14px; }
  .topright, .h1row .right, .composer { display:none; } /* inert mockup controls */
  .page { padding:20px 16px; }
  .h1row h1 { font-size:28px; }
  .h1row .sub, .ins p, .ins .src, .phead .hint, .phead .right, .goal, .hintline,
  .lines div, .act h4, .act .meta, .tbar .note, .site .p, .stat .d, .sname,
  .ddsub, .ddnote, .q .qt, .q .tri, .wname, .wname span, .pname, .pment,
  .pnum, .pkey, .frow, .fkey, .fnote, .plist .p, .total, .kv, .r,
  .transcript, .agent p, .log span, .kpi .l { font-size:14px; line-height:1.55; }
  .ins .big { font-size:18px; line-height:1.45; }
  .ins { padding:18px; }
  .insights { gap:12px; }
  .ins .k, .stat .k, .site .n, .card h3 { font-size:12px; }
  .stats, .sites, .kpis { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .stat .v { font-size:25px; }
  .sites, .acts, .hm, .feas, .pulse, .panel:has(.vtab), .tablewrap { overflow:visible; }
  .main, .row3, .dds, .quotes { display:grid; grid-template-columns:minmax(0,1fr); }
  .phead { display:flex; flex-wrap:wrap; gap:8px; }
  .phead h2, .ddhead h3 { font-size:18px; }
  .report-section { display:block; }
  .report-section > summary { display:list-item; padding:18px; font-size:17px; line-height:1.4; font-weight:600; cursor:pointer; min-height:56px; }
  .report-section-content { display:block; padding-bottom:8px; }
  .report-section-content .phead h2, .report-section-content > h3 { display:none; }
  .report-section-content .phead { padding-top:0; }
  .has-mobile-cards { display:none; }
  .mobile-table-cards { display:block; padding:0 12px 12px; }
  .mobile-data-row { border-top:1px solid #ddd9d1; }
  .mobile-data-row summary { padding:15px 4px; font-size:15px; line-height:1.5; min-height:48px; cursor:pointer; }
  .mobile-data-row dl { margin:0 4px 16px; }
  .mobile-data-row dl > div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:14px; padding:8px 0; border-bottom:1px solid #eeeae4; }
  .mobile-data-row dt { color:#5c6163; font-size:14px; }
  .mobile-data-row dd { margin:0; font-size:15px; overflow-wrap:anywhere; }
  .srow { padding:16px; }
  .sname, .act .meta { flex-wrap:wrap; gap:8px; }
  .lines div { display:block; }
  .lines b { display:block; }
  .prow, .frow, .wrow { display:flex; flex-wrap:wrap; gap:10px; padding:16px 0; }
  .pname, .fname, .wname { flex:1 1 100%; }
  .pbar, .fbar, .wbar { flex:1 1 100%; min-width:0; }
  .pnum::before { content:'Works well / does not work: '; }
  :lang(de) .pnum::before { content:'Funktioniert gut / funktioniert nicht: '; }
  :lang(fr) .pnum::before { content:'Fonctionne bien / ne fonctionne pas : '; }
  :lang(it) .pnum::before { content:'Funziona bene / non funziona: '; }
  .pkey, .fkey { flex-wrap:wrap; gap:10px; }
  .ddhead { flex-wrap:wrap; }
  .ddrow { flex-wrap:wrap; }
  .vtot { padding:16px; }
  .tbar { display:block; }
  .tbar .filters { display:none; }
  .chipx { font-size:14px; white-space:normal; }
  .title-lg { font-size:20px; }
  .brief, .scroll { padding:16px; }
  .pane-head { flex-wrap:wrap; }
  .pane-head h2 { font-size:18px; }
  summary:focus-visible, a:focus-visible { outline:3px solid #24605a; outline-offset:3px; }
}

@media(max-width:1000px) {
 .ftop, .fmeta, .fkey, .clust .chips { flex-wrap:wrap; }
 .fmeta .con, .fmeta .cts, .ftop { flex-basis:100%; font-size:14px; line-height:1.55; }
 .irow { display:flex; flex-wrap:wrap; gap:10px; padding:14px 0; }
 .iname { flex-basis:100%; font-size:15px; }
 .ibar { flex:1; }
 .why, .also { font-size:14px; line-height:1.55; }
}
