/* Report Builder page (report.html). Shares tokens, header, buttons and gate with styles.css and dev.css.
   Layout: report list on the left; work area with job header, progress bar, field cards by group, and an
   open-items rail. The report itself (preview and print) is a paper page in Open Sans, the report font. */
.app.rb{grid-template-rows:auto 1fr}
.rbmain{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:0}
.rbmain>aside{overflow:auto}
.rbwork{overflow:auto;min-width:0;padding-block:18px 60px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.rbempty{color:var(--muted);padding:40px 0;text-align:center}
.rblist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rblist a{display:grid;grid-template-columns:auto 1fr;column-gap:8px;padding:8px 10px;border-radius:6px;color:var(--ink);text-decoration:none;border:1px solid transparent}
.rblist a:hover{background:var(--soft)}
.rblist a[aria-current="page"]{background:var(--gold-soft);border-color:var(--gold)}
.rblist b{font-variant-numeric:tabular-nums;color:var(--green)}
.rblist span{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rblist small{grid-column:2;color:var(--muted);font-size:12px}
.rbnote{margin-top:14px;line-height:1.4}

.rbhead{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:flex-start;max-width:1200px}
.rbtitle{min-width:0}
.rbtitle .job{font:600 12px/1 var(--f-cond);letter-spacing:.08em;color:var(--green);background:var(--soft);border:1px solid var(--line);border-radius:4px;padding:3px 6px}
.rbtitle h1{margin:8px 0 2px;font-size:22px;text-wrap:balance}
.rbtitle p{margin:0;color:var(--muted)}
.rbmeta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px 18px;margin:0;flex:1;min-width:260px}
.rbmeta div{min-width:0}
.rbmeta dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.rbmeta dd{margin:2px 0 0;font-size:13px}

.rbbar{position:sticky;top:-18px;z-index:5;display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;justify-content:space-between;background:var(--bg);padding-block:12px;margin-block:14px 6px;border-bottom:1px solid var(--line);max-width:1200px}
.prog{display:flex;align-items:center;gap:10px;font-size:13px;flex-wrap:wrap}
.prog a{color:var(--warn);font-weight:600}
.meter{width:180px;height:8px;border-radius:99px;background:var(--soft);border:1px solid var(--line);overflow:hidden}
.meter span{display:block;height:100%;background:var(--green-2)}
.acts{display:flex;gap:8px;flex-wrap:wrap}

.rbcols{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start;max-width:1200px}
h2.sec{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:10px 0 8px}
.rbg{margin-bottom:22px}
.rbg h3{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:16px;margin:0 0 8px;padding-bottom:6px;border-bottom:2px solid var(--gold)}
.rbg h3 small{font-size:12px;font-weight:500;color:var(--muted)}
.rbf{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--line);border-radius:6px;padding:10px 12px;margin-bottom:8px;display:grid;gap:6px}
.rbf.open.k-confirm{border-left-color:var(--gold)}
.rbf.open.k-enter{border-left-color:var(--warn)}
.rbf.done{border-left-color:var(--green-2)}
.rbf-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.rbf-h label{font-weight:600;flex:1;min-width:160px}
.kind{font:500 11px/1 var(--f-cond);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pill{font:600 11px/1 var(--f-cond);padding:3px 7px;border-radius:99px;border:1px solid}
.pill.ok{color:var(--green-2);border-color:var(--green-2)}
.pill.warn{color:#7a5a00;background:var(--gold-soft);border-color:var(--gold)}
.pill.need{color:var(--warn);border-color:var(--warn)}
.rbin{width:100%;padding:7px 9px;border:1px solid var(--line);border-radius:5px;background:var(--bg);line-height:1.45;resize:vertical}
.rbf.done .rbin{background:transparent}
.src{font-size:12px;color:var(--muted)}
.note{font-size:12px;color:var(--ink);background:var(--soft);border-radius:4px;padding:5px 8px;line-height:1.4}
.rbf-a{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.who{font-size:12px;color:var(--muted)}
.rbopen{position:sticky;top:60px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 14px;max-height:calc(100vh - 160px);overflow:auto}
.rbopen ol{margin:0;padding-left:20px;display:grid;gap:8px}
.rbopen li a{color:var(--ink);font-weight:600}
.rbopen li small{display:block;color:var(--muted);font-size:12px}

/* report page (fixed paper colors on purpose: it is the printed document) */
.rbpreview{max-width:900px;background:#e9ebe6;padding:24px;border-radius:8px}
.rp{background:#fff;color:#222;font-family:"Open Sans",Arial,sans-serif;font-size:10.5pt;line-height:1.5;padding:48px 56px;max-width:8.5in;margin:0 auto;box-shadow:0 2px 10px rgba(0,0,0,.15);position:relative}
.rp-run{display:flex;justify-content:flex-end;font-size:8pt;letter-spacing:.2em;color:#7a6a2a;border-bottom:1px solid #c9b45a;padding-bottom:4px;margin-bottom:18px}
.rp-h{font-size:18pt;font-weight:700;margin:22px 0 10px;color:#222}
.rp-h:first-of-type{margin-top:0}
.rp-sec{margin-bottom:14px;break-inside:avoid}
.rp-sec h3{font-size:10.5pt;font-weight:700;color:#fff;background:#b9a040;padding:3px 8px;margin:0}
.rp table{width:100%;border-collapse:collapse}
.rp th{width:30%;text-align:left;vertical-align:top;font-weight:600;padding:5px 8px;border-bottom:1px solid #e3e0d2;color:#333}
.rp td{vertical-align:top;padding:5px 8px;border-bottom:1px solid #e3e0d2}
.rp-p{margin:10px 0}
.rp-foot{margin-top:28px;border-top:1px solid #c9b45a;padding-top:4px;font-size:8pt;letter-spacing:.2em;color:#7a6a2a;text-align:right}
.rp .pend{background:#fff3c4;color:#7a5a00;padding:0 3px;border-radius:2px}
.rp.draft td.unconf,.rp.draft p.unconf{background:#fffbe8}
.print{display:none}

@media (max-width:900px){
  .rbmain{grid-template-columns:1fr}
  .rbmain>aside{border-right:0;border-bottom:1px solid var(--line);max-height:30vh}
  .rbcols{grid-template-columns:1fr}
  .rbopen{position:static;max-height:none}
  .rp{padding:28px 20px}
}
@media print{
  @page{size:letter;margin:0.6in}
  body{background:#fff}
  #app,#gate,.flash{display:none!important}
  .print{display:block}
  .rp{box-shadow:none;padding:0;max-width:none}
  .rp.draft td.unconf,.rp.draft p.unconf{background:none}
  .wm{position:fixed;top:40%;left:0;right:0;text-align:center;font:700 120pt/1 "Open Sans",Arial,sans-serif;color:rgba(180,60,30,.12);transform:rotate(-30deg);z-index:0;pointer-events:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
