/* 목업 전용 — 접수 화면 · 보고서 도식 손잡이 · 인쇄 */

.drop { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 26px 16px; border: 1.5px dashed var(--border-3); border-radius: var(--r-10); background: var(--bg-panel); cursor: pointer; text-align: center; }
.drop b { font-size: var(--fs-13); font-weight: 650; }
.drop span { font-size: var(--fs-11); color: var(--text-3); }
.drop.on, .drop:hover { border-color: var(--accent); background: var(--accent-subtle); }
.files { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 6px; margin-top: 10px; }
.file { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid var(--border-1); border-radius: var(--r-6); background: var(--bg-panel); font-size: var(--fs-12); min-width: 0; }
.file b { font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.file span { font-size: var(--fs-10); color: var(--text-3); flex-shrink: 0; }
.file .fi { flex-shrink: 0; font-size: 9px; font-weight: 800; color: var(--accent-text); background: var(--accent-subtle); border-radius: 4px; padding: 2px 5px; }
.memo { width: 100%; padding: 10px 12px; border: 1px solid var(--border-2); border-radius: var(--r-8); font: inherit; font-size: var(--fs-13); line-height: 1.75; resize: vertical; background: var(--bg-panel); }
.memo:focus { outline: none; border-color: var(--accent); box-shadow: var(--ring); }

/* 단계 끊기 — 한 단계가 끝나면 다음으로 넘길 손잡이 */
.nextbar { position: sticky; bottom: 0; display: flex; align-items: center; gap: 12px; margin-top: 22px; padding: 12px 14px; border: 1px solid var(--accent-border); border-radius: var(--r-10); background: rgba(255, 255, 255, .96); box-shadow: var(--sh-2); backdrop-filter: blur(4px); }
.nextbar span { flex: 1; font-size: var(--fs-13); color: var(--text-2); }
.nextbar b { color: var(--accent-text); }
.beat .opts .btn:disabled { opacity: .45; }

/* 보고서 + 도식 편집 패널 */
.rp-wrap { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; }
.rp-wrap.fe-on { grid-template-columns: minmax(0, 1fr) 340px; }
.rp-wrap .fe-panel { display: none; }
.rp-wrap.fe-on .fe-panel { display: flex; flex-direction: column; position: sticky; top: 0; max-height: calc(100dvh - 60px); overflow-y: auto; border-left: 1px solid var(--border-1); background: var(--bg-sidebar); }
.rp-wrap.fe-on .paper { margin-left: auto; margin-right: auto; }
.rblk { position: relative; }
.rblk.isfig { cursor: pointer; border-radius: 4px; outline: 1px dashed transparent; outline-offset: 6px; transition: outline-color .15s; }
.rblk.isfig:hover { outline-color: var(--accent-border); }
.rblk.isfig.sel { outline: 2px solid var(--accent); }
.fe-h { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-bottom: 1px solid var(--border-1); }
.fe-h b { font-size: var(--fs-13); }
.fe-h span { font-size: var(--fs-11); color: var(--text-3); }
.fe-h .btn { margin-left: auto; }
.fe-tools { display: flex; align-items: center; gap: 8px; padding: 10px 14px; }
.fe-tools span { font-size: var(--fs-10); color: var(--text-3); line-height: 1.5; }
.fe-list { padding: 0 10px 16px; }
.fe-item { border: 1px solid var(--border-1); border-radius: var(--r-8); background: var(--bg-panel); margin-bottom: 6px; overflow: hidden; }
.fe-item.sel { border-color: var(--accent); box-shadow: var(--ring); }
.fe-ih { display: flex; align-items: center; gap: 6px; width: 100%; padding: 8px 10px; border: 0; background: none; font: inherit; text-align: left; cursor: pointer; }
.fe-ih:hover { background: var(--bg-hover); }
.fe-n { flex-shrink: 0; font-size: var(--fs-10); font-weight: 700; color: var(--accent-text); }
.fe-ih b { flex-shrink: 0; font-size: var(--fs-12); }
.fe-t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--fs-11); color: var(--text-3); }
.fe-ed { padding: 4px 10px 12px; border-top: 1px solid var(--border-1); }
.fe-row { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.fe-row.top { align-items: flex-start; }
.fe-row.end { justify-content: flex-end; }
.fe-row > label { flex: 0 0 34px; font-size: var(--fs-10); font-weight: 700; color: var(--text-3); }
.fe-row .inp { flex: 1; min-width: 0; padding: 5px 8px; border: 1px solid var(--border-2); border-radius: var(--r-6); font: inherit; font-size: var(--fs-12); background: #fff; }
.fe-row .inp:focus { outline: none; border-color: var(--accent); box-shadow: var(--ring); }
.fe-row .inp.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10.5px; line-height: 1.5; resize: vertical; }
.fe-row .inp.bad { border-color: var(--danger); background: var(--danger-subtle); }
.fe-chips { display: flex; flex-wrap: wrap; gap: 4px; flex: 1; }
.chip { padding: 3px 8px; border: 1px solid var(--border-2); border-radius: 999px; background: #fff; font: inherit; font-size: var(--fs-11); color: var(--text-2); cursor: pointer; }
.chip:hover { border-color: var(--accent-border); color: var(--accent-text); }
.chip.on { border-color: var(--accent); background: var(--accent-subtle); color: var(--accent-text); font-weight: 650; }
.btn.danger { color: var(--danger); border-color: var(--danger-border, #f5c9c9); }
.fe-note { font-size: var(--fs-11); color: var(--text-3); line-height: 1.6; padding: 6px 2px; }

.gallery { width: min(880px, 100%); max-height: 88vh; display: flex; flex-direction: column; background: var(--bg-panel); border-radius: var(--r-14); box-shadow: var(--sh-3); overflow: hidden; }
.gallery.wide { width: min(1080px, 96vw); }
.gallery .gh { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--border-1); }
.gallery .gh b { font-size: var(--fs-15); flex-shrink: 0; }
.gallery .gh span { font-size: var(--fs-11); color: var(--text-3); }
.gallery .gh .btn { margin-left: auto; }
.gpos { display: flex; align-items: center; gap: 8px; padding: 10px 18px; border-bottom: 1px solid var(--border-1); background: var(--bg-sidebar); }
.gpos label { font-size: var(--fs-11); font-weight: 700; color: var(--text-2); }
.gpos .inp { padding: 5px 8px; border: 1px solid var(--border-2); border-radius: var(--r-6); font: inherit; font-size: var(--fs-12); min-width: 260px; }
.gg2 { overflow-y: auto; padding: 4px 18px 20px; }
.fe-fam { display: flex; align-items: baseline; gap: 8px; margin: 16px 0 8px; }
.fe-fam b { font-size: var(--fs-13); }
.fe-fam span { font-size: var(--fs-11); color: var(--text-3); }
.fe-gal { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; }
.fe-g { display: flex; flex-direction: column; gap: 6px; padding: 8px; border: 1px solid var(--border-1); border-radius: var(--r-8); background: #fff; font: inherit; text-align: left; cursor: pointer; }
.fe-g:hover { border-color: var(--accent); box-shadow: var(--ring); }
.fe-th { height: 104px; overflow: hidden; border-radius: 4px; background: var(--bg-sidebar); pointer-events: none; display: flex; align-items: center; justify-content: center; }
.fe-th > * { width: 100%; transform: scale(.92); transform-origin: center; }
.fe-th .gv-thumb { margin: 0; }
.fe-th svg { max-height: 100px; width: 100%; }
.fe-th .blk { margin: 0; zoom: .45; }
.fe-g > span { font-size: var(--fs-10); color: var(--text-3); line-height: 1.45; }
.fe-g > span b { display: block; font-size: var(--fs-12); color: var(--text-1); margin-bottom: 1px; }

@media print {
  body, html { overflow: visible; height: auto; }
  .app { display: block; height: auto; }
  .menu, .work, .stream, .splitter, .cv-head, .fe-panel, .nextbar { display: none !important; }
  .rp-wrap.fe-on { display: block; }
  .rblk.isfig { outline: 0 !important; }
  .canvas, .cv-body { overflow: visible; display: block; }
  .paper { box-shadow: none; border: 0; margin: 0; padding: 0; max-width: none; }
  .blk { break-inside: avoid; }
}
