/* RoofSight contractor-only profitability */
.private-line-cost { display:flex; gap:10px; align-items:end; flex-wrap:wrap; padding:8px 10px 11px; margin:-1px 0 8px; background:#f8fafc; border:1px solid #e5e7eb; border-top:0; border-radius:0 0 10px 10px; }
.private-line-cost > span { color:#344054; font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.06em; }
.private-line-cost label { display:grid; gap:3px; min-width:120px; color:#667085; font-size:8px; font-weight:800; }
.private-line-cost .input,.private-line-cost .select { min-height:34px; font-size:10px; }
.private-line-cost small { color:#98a2b3; font-size:8px; margin-left:auto; align-self:center; }
.private-profitability { margin-top:16px; border:1px solid #334155; border-radius:14px; background:#111827; color:#f8fafc; overflow:hidden; }
.private-profitability > summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:12px; align-items:center; padding:14px 16px; font-weight:900; }
.private-profitability > summary::-webkit-details-marker { display:none; }
.private-profitability > summary small { color:#94a3b8; font-size:8px; font-weight:700; }
.profitability-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:#334155; border-block:1px solid #334155; }
.profitability-metrics > div { background:#172033; padding:10px; }
.profitability-metrics span { display:block; color:#94a3b8; font-size:7px; text-transform:uppercase; letter-spacing:.06em; }
.profitability-metrics strong { display:block; margin-top:3px; font-size:12px; color:#fff; }
.profitability-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; padding:12px 14px; }
.profitability-controls label { display:grid; gap:4px; color:#cbd5e1; font-size:8px; font-weight:800; }
.profitability-controls .input,.profitability-controls .select { min-width:0; min-height:35px; font-size:10px; }
.profitability-target { margin:0 14px 12px; padding:12px; border:1px solid #334155; border-radius:10px; display:grid; grid-template-columns:1fr auto; gap:2px 10px; background:#0f172a; }
.profitability-target > span { color:#94a3b8; font-size:8px; text-transform:uppercase; }
.profitability-target > strong { font-size:16px; }
.profitability-target > small { color:#94a3b8; font-size:8px; }
.profitability-target > i { grid-column:2; grid-row:1 / span 2; align-self:center; }
.profitability-target.invalid { border-color:#b91c1c; }
.profitability-comparison { padding:0 14px 12px; }
.profitability-comparison-head { display:flex; justify-content:space-between; color:#cbd5e1; font-size:8px; margin-bottom:7px; }
.profitability-comparison-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.profitability-compare-card { border:1px solid #334155; border-radius:9px; padding:9px; display:grid; gap:3px; background:#172033; }
.profitability-compare-card > div { display:flex; gap:5px; align-items:baseline; }
.profitability-compare-card span { color:#fb923c; font-size:7px; font-weight:950; text-transform:uppercase; }
.profitability-compare-card strong { font-size:9px; }
.profitability-compare-card b { font-size:13px; }
.profitability-compare-card small { color:#94a3b8; font-size:7px; }
.profit-health { display:inline-flex; width:max-content; border-radius:999px; padding:3px 7px; font-size:7px; font-style:normal; font-weight:950; text-transform:uppercase; }
.profit-health.healthy { background:#064e3b; color:#a7f3d0; }
.profit-health.near { background:#78350f; color:#fde68a; }
.profit-health.below { background:#7f1d1d; color:#fecaca; }
.profit-warning { margin:0 14px 14px; padding:9px 10px; border-radius:8px; font-size:9px; line-height:1.45; }
.profit-warning.below { background:#7f1d1d; color:#fee2e2; }
.profit-warning.invalid { background:#450a0a; color:#fecaca; border:1px solid #991b1b; }
@media (max-width:720px) { .profitability-metrics,.profitability-controls { grid-template-columns:repeat(2,minmax(0,1fr)); } .profitability-comparison-grid { grid-template-columns:1fr; } .private-line-cost small { width:100%; margin-left:0; } }
@media print { .private-profitability,.private-line-cost,[data-profitability-comparison] { display:none !important; } }
