.report-card { margin-top:18px; }
.report-card > details > summary, .report-setup > summary, .report-history > summary { cursor:pointer; font-weight:800; }
.report-card > details > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:1.05rem; }
.report-card > details > summary span { color:var(--muted); font-size:.76rem; font-weight:600; }
.report-card > details[open] > summary { margin-bottom:14px; }
.report-help { color:var(--muted); font-size:.82rem; line-height:1.5; margin:10px 0 15px; }
.report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:12px 0; }
.report-grid > div { min-width:0; }
.report-grid label, .report-sign-dialog label { display:block; margin-bottom:5px; font-size:.75rem; font-weight:800; }
.report-grid input, .report-grid select, .report-grid textarea,
.report-sign-dialog input, .report-sign-dialog select { width:100%; min-height:42px; }
.report-grid textarea { min-height:74px; resize:vertical; }
.report-wide { grid-column:1/-1; }
.report-lines { display:grid; gap:8px; margin:15px 0; }
.report-line { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(125px,.4fr); gap:10px; align-items:center; border:1px solid var(--line); border-radius:10px; padding:10px; }
.report-line input[type="checkbox"] { width:20px; height:20px; }
.report-line strong, .report-line small { display:block; overflow-wrap:anywhere; }
.report-line small { color:var(--muted); font-size:.72rem; margin-top:3px; }
.report-line select { width:100%; min-height:38px; }
.report-line-details { grid-column:2/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.report-line-details label { color:var(--muted); font-size:.72rem; font-weight:700; }
.report-line-details input { width:100%; min-height:36px; margin-top:4px; }
.report-types { display:flex; flex-wrap:wrap; gap:8px 15px; border:1px solid var(--line); border-radius:10px; padding:8px 12px 12px; }
.report-types legend { padding:0 5px; font-size:.76rem; font-weight:800; }
.report-types label { display:flex; align-items:center; gap:6px; font-size:.78rem; }
.report-types input, .report-confirm input { width:18px; height:18px; accent-color:#e52635; }
.report-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.report-actions button, .report-history button, #report-sign-clear { min-height:42px; padding:9px 14px; }
.report-status { min-height:1.25em; color:var(--muted); font-size:.8rem; margin:9px 0; }
.report-status.error { color:#ff5361; }
.report-setup, .report-history { margin-top:17px; padding-top:14px; border-top:1px solid var(--line); }
.report-setup form { border-bottom:1px solid var(--line); padding-bottom:14px; }
.report-confirm { display:flex!important; align-items:flex-start; gap:8px; font-size:.8rem!important; line-height:1.4; }
.report-confirm input { flex:none; }
.report-history-list, #report-history-list { display:grid; gap:8px; margin:12px 0; }
.report-history-item { border:1px solid var(--line); border-radius:10px; padding:10px; }
.report-history-item strong, .report-history-item small { display:block; }
.report-history-item small { color:var(--muted); margin:3px 0 8px; }
.report-sign-dialog { width:min(94vw,760px); max-height:92dvh; overflow:auto; border:1px solid var(--line); border-radius:18px; padding:0; background:var(--card); color:var(--ink); }
.report-sign-dialog::backdrop { background:rgba(0,0,0,.78); }
.report-sign-content { padding:20px; }
.report-sign-head { display:flex; justify-content:space-between; gap:10px; }
.report-sign-head h2 { margin:0; }
.report-sign-head button { width:42px; height:42px; }
.report-sign-content > p { color:var(--muted); font-size:.8rem; line-height:1.5; }
.report-sign-summary { max-height:25dvh; overflow:auto; border:1px solid var(--line); border-radius:10px; padding:12px; margin:12px 0; font-size:.8rem; }
.report-sign-summary ul { margin:7px 0; padding-left:20px; }
#report-signature { display:block; width:100%; height:150px; border:2px solid var(--green2,#f39a18); border-radius:8px; background:#fff; touch-action:none; cursor:crosshair; }
#report-sign-clear { margin:8px 0 15px; }
@media (max-width:650px) {
  .report-grid, .report-line { grid-template-columns:1fr; }
  .report-line-details { grid-column:1; grid-template-columns:1fr; }
  .report-wide { grid-column:auto; }
  .report-card > details > summary { align-items:flex-start; flex-direction:column; }
  .report-sign-content { padding:15px; }
}
