/* ── 분석 레포트 팝업 (화면 = 인쇄용지 미리보기) ── */ .btd-report-overlay { position: fixed; inset: 0; z-index: 9400; display: flex; align-items: center; justify-content: center; padding: 24px 16px; background: rgba(30, 32, 38, 0.72); } .btd-report-shell { display: flex; flex-direction: column; width: min(920px, 100%); max-height: min(94vh, 960px); background: #3d4249; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: 12px; box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45); overflow: hidden; } .btd-report-chrome { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); flex-shrink: 0; background: #2a2e35; } .btd-report-chrome-title { display: flex; align-items: center; gap: 10px; min-width: 0; } .btd-report-chrome-icon { display: flex; color: #c9a227; } .btd-report-chrome-heading { margin: 0; font-size: 1rem; font-weight: 700; color: #f0f0f0; } .btd-report-chrome-sub { margin: 2px 0 0; font-size: 0.72rem; color: #9ca3af; } .btd-report-chrome-actions { display: flex; align-items: flex-start; gap: 12px; flex-shrink: 0; } .btd-report-chrome-actions-col { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; } .btd-report-print-hint { margin: 0; font-size: 0.62rem; color: #b8bcc4; text-align: right; line-height: 1.4; word-break: keep-all; } /* 크롬 바 전용 버튼 (btd-btn·--se-text 상속으로 글자가 안 보이는 문제 방지) */ .btd-report-chrome .btd-report-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 14px; border-radius: 8px; border: 1px solid rgba(255, 255, 255, 0.28); background: rgba(255, 255, 255, 0.08); color: #f3f4f6; font-size: 0.8rem; font-weight: 600; font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; cursor: pointer; transition: background 0.15s, border-color 0.15s, color 0.15s; } .btd-report-chrome .btd-report-btn:hover { background: rgba(255, 255, 255, 0.14); border-color: rgba(255, 255, 255, 0.4); color: #fff; } .btd-report-chrome .btd-report-btn--primary { background: rgba(37, 99, 235, 0.35); border-color: rgba(147, 197, 253, 0.65); color: #fff; } .btd-report-chrome .btd-report-btn--primary:hover { background: rgba(37, 99, 235, 0.5); border-color: #93c5fd; } /* 책상 + A4 용지 */ .btd-report-scroll { flex: 1; min-height: 0; overflow: auto; padding: 28px 24px 36px; background: #9ca3af; background: linear-gradient(160deg, #a8adb5 0%, #8b919a 100%); } .btd-report-print-area { box-sizing: border-box; width: 100%; max-width: 210mm; min-height: auto; margin: 0 auto; padding: 14mm 12mm 16mm; background: #fff; color: #111827; border-radius: 2px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 8px 24px rgba(0, 0, 0, 0.18); font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif; letter-spacing: normal; word-break: keep-all; line-height: 1.45; -webkit-font-smoothing: antialiased; font-feature-settings: 'kern' 1; } /* ── 용지 위 레포트 테마 (화면·인쇄 iframe 공통) ── */ .btd-report-print-area, .btd-report-print-doc { --text: #111827; --text2: #374151; --text3: #6b7280; --bg1: #ffffff; --bg2: #f9fafb; --bg3: #f3f4f6; --bg4: #e5e7eb; --border: #d1d5db; --brd-pos: #059669; --brd-neg: #dc2626; --brd-warn: #d97706; --brd-blue: #2563eb; --brd-purple: #7c3aed; --brd-teal: #0d9488; --brd-yellow: #ca8a04; --brd-green: #16a34a; } .btd-report-print-doc { margin: 0; padding: 0; background: #fff; font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif; letter-spacing: normal; } .btd-report-print-header { margin-bottom: 14px; padding-bottom: 10px; border-bottom: 2px solid #c9a227; } .btd-report-print-brand h1 { margin: 0 0 6px; font-size: 1.2rem; font-weight: 800; color: #111827; letter-spacing: -0.02em; } .btd-report-print-meta { margin: 0; font-size: 0.7rem; color: #6b7280; } .btd-report-print-symbol { margin: 8px 0 0; font-size: 1.05rem; font-weight: 700; color: #92400e; } .btd-report-print-footer { margin-top: 18px; padding-top: 10px; border-top: 1px solid #e5e7eb; font-size: 0.62rem; color: #6b7280; text-align: center; } .btd-report-print-footer p { margin: 0; } .btd-report-print-area .brd-dashboard, .btd-report-print-area .brd-dashboard--report { padding: 0; background: #fff !important; min-height: auto !important; height: auto !important; gap: 10px; overflow: visible !important; } .btd-report-print-area .brd-sig-scroll { max-height: none !important; overflow: visible !important; } .btd-report-print-area .brd-dash-header { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center !important; gap: 12px 20px !important; background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 100%) !important; border: 1px solid #bfdbfe !important; } .btd-report-print-area .brd-dash-header-left { min-width: 0; } .btd-report-print-area .brd-dash-strategy { font-size: 0.95rem !important; font-family: 'Apple SD Gothic Neo', 'Malgun Gothic', 'Noto Sans KR', sans-serif !important; letter-spacing: normal !important; word-break: keep-all !important; overflow-wrap: anywhere; line-height: 1.45 !important; white-space: normal !important; } .btd-report-print-area .brd-dash-header-kpi { display: flex !important; flex-shrink: 0; gap: 14px !important; align-items: flex-start; } .btd-report-print-area .brd-dash-big-kpi { text-align: right; min-width: 4.8rem; flex-shrink: 0; } .btd-report-print-area .brd-dash-big-kpi:last-child { min-width: 7.5rem; } /* 레포트: 라벨·수치 한 줄 (총 수익률 -0.04% 형태) */ .btd-report-print-area .brd-dash-header-kpi--report { align-items: center !important; } .btd-report-print-area .brd-dash-big-kpi--report { display: inline-flex !important; flex-direction: row !important; align-items: baseline !important; gap: 5px !important; white-space: nowrap !important; } .btd-report-print-area .brd-dash-big-kpi--report .brd-dash-big-label { order: -1; margin-top: 0 !important; } .btd-report-print-area .brd-dash-big-val { font-size: 1.05rem !important; font-weight: 800 !important; letter-spacing: -0.02em !important; line-height: 1.15 !important; white-space: nowrap !important; } .btd-report-print-area .brd-dash-big-label { font-size: 0.62rem !important; margin-top: 2px !important; white-space: nowrap !important; } .btd-report-print-area .brd-dash-strategy, .btd-report-print-area .brd-kpi-value, .btd-report-print-area .brd-metric-value { color: #111827 !important; } .btd-report-print-area .brd-dash-badge { background: #dbeafe !important; color: #1d4ed8 !important; border-color: #93c5fd !important; } .btd-report-print-area .brd-dash-badge--time { background: #f3f4f6 !important; color: #6b7280 !important; border-color: #d1d5db !important; } .btd-report-print-area .brd-kpi-card, .btd-report-print-area .brd-card { background: #f9fafb !important; border: 1px solid #e5e7eb !important; box-shadow: none !important; overflow: visible !important; } .btd-report-print-area .brd-kpi-card:hover { transform: none !important; } /* KPI·지표 한글 잘림(ellipsis) 방지 — 「미흡」 등이 깨져 보이던 원인 */ .btd-report-print-area .brd-kpi-sub, .btd-report-print-area .brd-kpi-label, .btd-report-print-area .brd-metric-label, .btd-report-print-area .brd-metric-note, .btd-report-print-area .brd-section-text, .btd-report-print-area .brd-dash-strategy, .btd-report-print-area .brd-compare-label, .btd-report-print-area .brd-pnl-label, .btd-report-print-area .brd-bench-label { overflow: visible !important; text-overflow: unset !important; white-space: normal !important; word-break: keep-all !important; letter-spacing: normal !important; line-height: 1.4 !important; } .btd-report-print-area .brd-kpi-sub { min-height: 1.2em; } .btd-report-print-area .brd-dash-strategy { letter-spacing: normal !important; } .btd-report-print-area .brd-kpi-value, .btd-report-print-area .brd-metric-value { line-height: 1.25 !important; } .btd-report-print-area .brd-section-title { background: #f3f4f6 !important; border-bottom-color: #e5e7eb !important; color: #374151 !important; } .btd-report-print-area .brd-metric-label, .btd-report-print-area .brd-kpi-label { color: #6b7280 !important; } .btd-report-print-area .brd-dash-big-label { color: #6b7280 !important; } .btd-report-print-area .brd-compare-track, .btd-report-print-area .brd-pnl-track, .btd-report-print-area .brd-bench-summary { background: #e5e7eb !important; } .btd-report-print-area .brd-sig-table thead { background: #f3f4f6 !important; } .btd-report-print-area .brd-sig-table th, .btd-report-print-area .brd-sig-table td { border-color: #e5e7eb !important; color: #111827 !important; } .btd-report-print-doc .btd-report-print-area { max-width: none; min-height: auto; margin: 0; box-shadow: none; border-radius: 0; } .btd-report-print-doc .brd-kpi-sub, .btd-report-print-doc .brd-kpi-label, .btd-report-print-doc .brd-metric-label { overflow: visible !important; text-overflow: unset !important; white-space: normal !important; word-break: keep-all !important; } .btd-report-print-doc .brd-dash-header { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center !important; } .btd-report-print-doc .brd-dash-header-kpi { flex-shrink: 0; gap: 14px !important; } .btd-report-print-doc .brd-dash-big-kpi { min-width: 4.8rem; } .btd-report-print-doc .brd-dash-big-kpi:last-child { min-width: 7.5rem; } .btd-report-print-doc .brd-dash-big-val { font-size: 1.05rem !important; white-space: nowrap !important; } .btd-report-print-doc .brd-dash-big-label { font-size: 0.62rem !important; white-space: nowrap !important; } .btd-analysis-tool--report { cursor: pointer; transition: background 0.15s, color 0.15s, border-color 0.15s; } .btd-analysis-tool--report:hover:not(:disabled) { color: var(--btd-gold, #d4af37); border-color: var(--btd-gold-border, rgba(212, 175, 55, 0.5)); background: color-mix(in srgb, var(--btd-gold, #d4af37) 12%, transparent); } .btd-analysis-tool--report:disabled { opacity: 0.35; cursor: not-allowed; } /* iframe·PDF 인쇄 — 다페이지 허용, 하단 잘림 방지 */ @media print { html, body.btd-report-print-doc { height: auto !important; overflow: visible !important; background: #fff !important; } .btd-report-print-doc { padding: 0; margin: 0; } .btd-report-print-doc .btd-report-print-area { padding: 0; box-shadow: none; max-width: none; min-height: 0 !important; height: auto !important; overflow: visible !important; } .btd-report-print-doc .brd-dashboard { break-inside: auto !important; page-break-inside: auto !important; min-height: 0 !important; } .btd-report-print-doc .brd-row, .btd-report-print-doc .brd-row--2col, .btd-report-print-doc .brd-row--3col, .btd-report-print-doc .brd-card, .btd-report-print-doc .brd-card--full, .btd-report-print-doc .brd-kpi-grid { break-inside: auto !important; page-break-inside: auto !important; overflow: visible !important; } .btd-report-print-doc .brd-kpi-card, .btd-report-print-doc .brd-dash-header { break-inside: avoid !important; page-break-inside: avoid !important; } .btd-report-print-doc .brd-sig-scroll { max-height: none !important; overflow: visible !important; height: auto !important; } .btd-report-print-doc .brd-expand-btn { display: none !important; } .btd-report-print-doc .brd-card, .btd-report-print-doc .brd-kpi-card, .btd-report-print-doc .brd-dash-header, .btd-report-print-doc .btd-report-print-footer { -webkit-print-color-adjust: exact; print-color-adjust: exact; } @page { size: A4 portrait; margin: 10mm; } }