/* ── 견적서(admin/js/quotes) — 가견적 · 문구 · 단가 탭(I-017). 숫자 칸 .num-in 은 admin.css 공용 ── */
.q-body { display: grid; gap: 12px; }
.qs-form { gap: 16px; }
.qs-form .panel h2 { display: flex; align-items: center; gap: 8px; }
.price-rows { display: grid; gap: 6px; margin-bottom: 8px; }
.price-row { display: grid; grid-template-columns: minmax(0, 1fr) 120px auto; gap: 6px; align-items: center; }
.price-row .num-in { width: 100%; }
.rough-picks { display: grid; gap: 6px; }
.rough-pick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.rough-pick .num-in { width: 110px; }
.rough-pick .rough-wide { width: 180px; }
.rough-pick select { width: auto; }
.rough-money { margin-top: 6px; padding-top: 12px; border-top: 1px solid var(--line); }
.rough-lines { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 13.5px; }
.rough-lines li { line-height: 1.6; }
.rough-sub { margin-left: 8px; font-weight: 800; color: var(--ink); }
.rough-total { margin: 4px 0; font-size: 16px; }
.rough-total b { font-size: 20px; color: var(--ink); }
.rough-tbl td, .rough-tbl th { padding: 8px 10px; }
.rough-out { display: grid; gap: 10px; }
@media (max-width: 600px) { .price-row { grid-template-columns: minmax(0, 1fr) 96px auto; } }
