:root{ --ink:#101418; --muted:#6b7280; --line:#e5e7eb; --accent:#2563eb; --bg:#ffffff; --chip:#f8fafc; }
.report-wrap{ max-width: 185mm; margin: 0 auto; background: var(--bg); color: var(--ink); font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; }
.gp{ padding: 14mm; }
.gp h2{ font-size: 18px; margin: 12px 0 6px; border-left: 4px solid var(--accent); padding-left: 8px; }
.gp h3{ font-size: 14px; margin: 8px 0 6px; color: var(--accent); }
.muted{ color: var(--muted); font-size: 11px; }
.cover{ display:flex; align-items:center; justify-content:center; min-height: 240mm; background: linear-gradient(135deg, #eff6ff, #ffffff); }
.cover-inner{ width: 140mm; text-align:center; }
.brand{ margin-bottom: 10mm; }
.brand-name{ font-size: 18px; font-weight: 700; letter-spacing:.02em; }
.brand-sub{ color: var(--muted); margin-top: 2mm; }
.cover-title{ font-size: 28px; letter-spacing:.06em; margin: 16mm 0 12mm; font-weight:800; color:#0f172a; }
.cover-meta{ display:grid; grid-template-columns: 1fr 1fr; gap: 6px 12px; text-align:left; font-size: 13px; }
.sign{ margin-top: 16mm; }
.grid2{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.grid4{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; }
.imgbox img{ border: 1px solid var(--line); border-radius: 6px; }
.card{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px; }
.chips{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:8px; }
.chip{ background:var(--chip); border:1px solid var(--line); border-radius:10px; padding:8px; display:flex; justify-content:space-between; align-items:baseline; }
.chip .lab{ font-size:12px; color:var(--muted); }
.chip .val{ font-size:16px; font-weight:700; }
.chip .u{ font-size:12px; color:var(--muted); margin-left:2px; }
.chip .note{ font-size:11px; color:var(--muted); margin-left:6px; }
.tbl{ width:100%; border-collapse:collapse; margin:8px 0; }
.tbl th, .tbl td{ border:1px solid var(--line); padding:6px 8px; font-size:12px; }
.tbl th{ background:#f8fafc; text-align:left; }
.compare .cmp{ width:100%; border-collapse: collapse; margin-top:8px; }
.compare .cmp th, .compare .cmp td{ border:1px solid var(--line); padding:6px 8px; font-size:12px; text-align:right; }
.compare .cmp th:first-child, .compare .cmp td:first-child{ text-align:left; }
.compare td.good{ color:#059669; font-weight:600; }
.compare td.bad{ color:#b91c1c; font-weight:600; }
fieldset{ border:1px solid var(--line); padding:10px; margin:10px 0; border-radius:8px; }
legend{ padding:0 6px; color:var(--accent); font-weight:700; }
.grid2 input, .grid2 textarea, .grid2 select,
.grid4 input, .grid4 textarea, .grid4 select{ width:100%; padding:7px 9px; border:1px solid var(--line); border-radius:8px; }
.grid4 .colspan-2{ grid-column: span 2; }
select[multiple]{ height: 86px; }
.toolbar{ display:flex; gap:8px; margin:10px 0; }
.grc-center .row{ display:grid; grid-template-columns: 320px 1fr; gap:12px; margin:8px 0; }
.grc-center .row .col{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px; }
.grc-center .searchbar{ display:flex; gap:6px; flex-wrap: wrap; }
.grc-center #grc-list{ list-style:none; padding:0; margin:8px 0; max-height:60vh; overflow:auto; }
.grc-center #grc-list .item{ padding:6px 8px; border-bottom:1px solid var(--line); cursor:pointer; }
.grc-center #grc-list .item .t{ font-weight:700; }
.grc-center #grc-list .item:hover{ background:#f8fafc; }
.grc-center .pager{ display:flex; gap:8px; align-items:center; }
.compare-bar{ display:flex; gap:8px; align-items:center; }
@media print{
  @page{ size: A4; margin: 10mm; }
  .report-wrap{ width:185mm; }
  fieldset, .toolbar, .grc-center { display:none !important; }
}
