/* Scoped additions; FieldLedger's existing palette and components remain authoritative. */
.costing-module { min-width: 0; }
.costing-module .cost-status { margin: 0 0 20px; padding: 10px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font: 11px/1.65 var(--mono); color: var(--muted); overflow-wrap: anywhere; }
.costing-module .cost-editor-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, 1fr); gap: 23px; align-items: start; }
.costing-module .cost-editor-grid > *, .costing-module .stack > * { min-width: 0; }
.costing-module .cost-rate-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: 5px; overflow: hidden; }
.costing-module .cost-rate { min-width: 0; padding: 19px 15px; background: #f9faf4; border-bottom: 1px solid var(--line); }
.costing-module .cost-rate:nth-child(odd) { border-right: 1px solid var(--line); }
.costing-module .cost-rate:nth-child(n+3) { border-bottom: 0; }
.costing-module .cost-rate.suggested { background: #eaf0e2; }
.costing-module .cost-rate .eyebrow { display: block; font-size: 9px; letter-spacing: .8px; }
.costing-module .cost-rate strong { display: block; font: 500 clamp(23px, 2.3vw, 31px)/1.3 var(--mono); letter-spacing: -1px; overflow-wrap: anywhere; margin: 8px 0 11px; }
.costing-module .cost-rate p { margin-bottom: 0; font-size: 11px; }
.costing-module .cost-check { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; font-size: 12px; line-height: 1.65; margin: 17px 0; }
.costing-module .cost-check input { flex: 0 0 17px; margin-top: 3px; }
.costing-module .cost-count { display: flex; gap: 8px; align-items: center; min-width: 0; }
.costing-module .cost-count .field { flex: 1; min-width: 0; }
.costing-module .cost-count .flex { gap: 4px; padding-bottom: 12px; }
.costing-module .cost-count .btn { min-width: 32px; font-size: 16px; }
.costing-module .cost-description { min-width: 180px; max-width: 350px; overflow-wrap: anywhere; white-space: pre-wrap; }
.costing-module .cost-result-row { padding: 15px 0; border-bottom: 1px solid var(--line); }
.costing-module .cost-result-row .ledger-row { font-size: 11px; }
.costing-module .ledger-row dd { overflow-wrap: anywhere; text-align: right; min-width: 0; }
.costing-module .toolbar { justify-content: flex-start; flex-wrap: wrap; }
.costing-module .toolbar .field { margin-bottom: 0; min-width: 190px; }
.costing-module input[readonly] { background: #ecefe5; color: var(--muted); }
.costing-module .table-wrap:focus-visible { outline-offset: -3px; }
.costing-module #cost-expenses, .costing-module #cost-correction-form { scroll-margin-top: 20px; }
.costing-module .memory-card h3 { margin-top: 0; }
@media (max-width: 1200px) { .costing-module .cost-editor-grid { grid-template-columns: 1fr; } }
@media (max-width: 600px) {
  .costing-module .form-grid, .costing-module .form-grid.three { grid-template-columns: 1fr; }
  .costing-module .line-item { padding: 14px; }
  .costing-module .cost-rate { padding: 15px 12px; }
  .costing-module .cost-rate strong { font-size: 25px; }
  .costing-module .line-head { gap: 12px; }
  .costing-module .cost-check { font-size: 12px; }
  .costing-module .form-actions > .btn { width: 100%; }
  .costing-module .toolbar .field { flex: 1; min-width: 140px; }
}
@media (max-width: 360px) { .costing-module .cost-rate-grid { grid-template-columns: 1fr; } .costing-module .cost-rate:nth-child(odd) { border-right: 0; } .costing-module .cost-rate:nth-child(3) { border-bottom: 1px solid var(--line); } }
