
          .uir-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
          .uir-title{font-size:17px;font-weight:900;color:var(--txt-hi);letter-spacing:-0.3px;}
          .uir-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;}
          .uir-btn{font-size:12.5px;font-weight:800;border-radius:9px;padding:8px 13px;cursor:pointer;border:1px solid var(--border);background:var(--bg);color:var(--txt-hi);font-family:inherit;}
          .uir-btn.ai{background:linear-gradient(135deg,#1a3de8,#7c3aed);color:#fff;border:none;}
          .uir-btn:hover{filter:brightness(1.08);}
          .uir-analysis{display:none;margin-bottom:16px;border:1px solid rgba(124,58,237,0.3);border-radius:14px;padding:16px 18px;background:rgba(124,58,237,0.06);}
          .uir-an-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
          .uir-an-title{font-size:14px;font-weight:900;color:#7c3aed;}
          .uir-an-body{font-size:13px;line-height:1.7;color:var(--txt-hi);white-space:pre-wrap;word-break:break-word;}
          .uir-an-meta{font-size:11px;color:var(--txt-lo);margin-top:10px;}
          /* v2.15.4: 보고서 — A4 전용 깔끔 레이아웃 (화면 숨김, 인쇄 시만) */
          #uir-report-doc { display: none; }
          @media print {
            body * { visibility: hidden !important; }
            #uir-report-doc, #uir-report-doc * { visibility: visible !important; }
            #uir-report-doc { display: block !important; position: absolute; left: 0; top: 0; width: 100%; background:#fff; color:#1a1a1a; font-family:-apple-system,'Pretendard',sans-serif; }
            @page { size: A4; margin: 13mm; }
          }
          #uir-report-doc * { box-sizing: border-box; }
          /* v2.16.9: A4 인쇄 폰트·여백 확대 — 페이지 꽉 차게(작게 나오던 문제 해결) */
          .rpt-h { display:flex; align-items:baseline; gap:10px; border-bottom:2.5px solid #1a3de8; padding-bottom:10px; margin-bottom:18px; }
          .rpt-h h1 { font-size:24px; font-weight:900; color:#1a3de8; margin:0; }
          .rpt-h .meta { font-size:12px; color:#666; margin-left:auto; }
          .rpt-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:18px; }
          .rpt-kpi { border:1px solid #ddd; border-radius:9px; padding:12px 14px; }
          .rpt-kpi .n { font-size:23px; font-weight:900; color:#111; }
          .rpt-kpi .l { font-size:11.5px; color:#777; margin-top:3px; line-height:1.35; }
          .rpt-kpi .d { font-size:11px; font-weight:700; margin-top:3px; }
          .rpt-sec-t { font-size:16px; font-weight:800; color:#1a3de8; margin:6px 0 10px; }
          .rpt-2col { display:grid; grid-template-columns:1.05fr 1.3fr; gap:16px; margin-bottom:18px; align-items:start; }
          .rpt-box { border:1px solid #e3e3e3; border-radius:9px; padding:13px 15px; }
          .rpt-box .rpt-sec-t { margin:0 0 9px; }
          .rpt-flow { display:flex; gap:14px; align-items:center; }
          .rpt-legend { flex:1; min-width:0; }
          .rpt-legend .row { display:flex; align-items:center; gap:7px; font-size:13px; padding:3.5px 0; border-bottom:1px solid #f2f2f2; }
          .rpt-legend .sw { width:12px; height:12px; border-radius:2px; flex-shrink:0; }
          .rpt-legend .nm { flex:1; color:#333; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
          .rpt-legend .pc { font-weight:800; color:#111; font-size:12px; white-space:nowrap; }
          .rpt-cap { font-size:11.5px; color:#666; margin-top:10px; padding-top:8px; border-top:1px dashed #e3e3e3; line-height:1.5; }
          .rpt-cap b { color:#1a3de8; }
          .rpt-tbl { width:100%; border-collapse:collapse; font-size:13px; }
          .rpt-tbl th { text-align:right; padding:7px 6px; border-bottom:1.5px solid #1a3de8; color:#1a3de8; font-size:11px; font-weight:800; }
          .rpt-tbl th:first-child { text-align:left; }
          .rpt-tbl td { padding:7px 6px; border-bottom:1px solid #f1f1f1; color:#222; text-align:right; }
          .rpt-tbl td:first-child { text-align:left; font-weight:700; color:#111; }
          .rpt-tbl tr.tot td { border-top:1.5px solid #ccc; border-bottom:none; font-weight:900; color:#111; }
          .rpt-note { font-size:10.5px; color:#aaa; margin-top:8px; line-height:1.5; }
          .rpt-ai { border:1px solid #ddd; border-left:5px solid #7c3aed; border-radius:7px; padding:15px 17px; margin-top:4px; }
          .rpt-ai .t { font-size:14px; font-weight:800; color:#7c3aed; margin-bottom:8px; }
          .rpt-ai .b { font-size:13px; line-height:1.72; color:#222; white-space:pre-wrap; }
          .rpt-foot { margin-top:16px; font-size:11px; color:#999; text-align:center; }
        