#js-tool-container-concrete-sand-gravel-cement-calculator { --ccb-accent: #b8652a; --ccb-c-cement: #8b5cf6; --ccb-c-water: #0ea5e9; --ccb-c-sand: #d97706; --ccb-c-gravel: #64748b; }
html[data-theme="dark"] #js-tool-container-concrete-sand-gravel-cement-calculator { --ccb-accent: #d97706; --ccb-c-cement: #a78bfa; --ccb-c-water: #38bdf8; --ccb-c-sand: #fbbf24; --ccb-c-gravel: #94a3b8; }

#js-tool-container-concrete-sand-gravel-cement-calculator .tb-zone { display: flex; flex-direction: column; gap: 14px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-outcome { gap: 18px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-fieldset { border: 1px solid var(--border-color); border-radius: var(--radius-md); padding: 16px 18px 18px; margin: 0 0 16px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-fieldset:last-child { margin-bottom: 0; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-legend { padding: 0 6px; font-weight: 600; font-size: 0.95rem; color: var(--text-secondary); }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-grid-3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px 20px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-grid-2[hidden], #js-tool-container-concrete-sand-gravel-cement-calculator .tb-grid-3[hidden], #js-tool-container-concrete-sand-gravel-cement-calculator .tb-field[hidden] { display: none; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-field { display: flex; flex-direction: column; gap: 6px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-field input, #js-tool-container-concrete-sand-gravel-cement-calculator .tb-field select { height: 44px; padding: 0 12px; border: 1px solid var(--border-color); border-radius: var(--radius-sm); background: var(--bg-tertiary); color: var(--text-primary); font-size: 16px; font-family: inherit; min-width: 0; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-field input:focus, #js-tool-container-concrete-sand-gravel-cement-calculator .tb-field select:focus { outline: none; border-color: var(--border-focus); box-shadow: 0 0 0 3px var(--accent-light); }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-hint { font-size: 0.82rem; line-height: 1.4; color: var(--text-muted); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-vol-preview { display: flex; flex-direction: column; justify-content: center; gap: 2px; padding: 10px 14px; border: 1px dashed var(--border-color); border-radius: var(--radius-sm); background: var(--bg-tertiary); min-height: 44px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-vol-preview-label { font-size: 0.82rem; color: var(--text-muted); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-vol-preview-value { font-size: 1.3rem; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-vol-preview .tb-hint { font-size: 0.76rem; }

#js-tool-container-concrete-sand-gravel-cement-calculator .tb-hero.ccb-hero { border: 1px solid var(--border-color); border-top: 4px solid var(--ccb-accent); border-left: 1px solid var(--border-color); border-radius: var(--radius-md); background: var(--bg-tertiary); padding: 16px 20px 18px; min-height: 132px; display: flex; flex-direction: column; justify-content: center; gap: 6px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-hero-label { font-size: 0.92rem; color: var(--text-secondary); }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-hero-row { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-hero-value { font-size: clamp(1.9rem, 5vw, 2.9rem); font-weight: 700; line-height: 1.05; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-hero-note { margin: 0; font-size: 0.86rem; color: var(--text-secondary); line-height: 1.45; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-unit { font-size: 1rem; color: var(--text-secondary); }

#js-tool-container-concrete-sand-gravel-cement-calculator .tb-ledger { display: flex; flex-direction: column; gap: 8px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-ledger-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; padding: 10px 14px; border: 1px solid var(--border-color); border-radius: var(--radius-sm); font-size: 0.92rem; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-ledger-row output { font-variant-numeric: tabular-nums; font-weight: 600; }

#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-mixbar { display: flex; flex-direction: column; gap: 10px; padding: 14px 16px 12px; border: 1px solid var(--border-color); border-radius: var(--radius-md); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-mixbar-track { display: flex; width: 100%; height: 24px; border-radius: var(--radius-sm); overflow: hidden; background: var(--bg-tertiary); border: 1px solid var(--border-color); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-seg { display: block; height: 100%; flex: none; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-seg-cement { width: 11%; background: var(--ccb-c-cement); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-seg-water { width: 20%; background: var(--ccb-c-water); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-seg-sand { width: 26%; background: var(--ccb-c-sand); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-seg-gravel { width: 42%; background: var(--ccb-c-gravel); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-seg-air { width: 1%; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-legend { display: flex; gap: 12px; flex-wrap: wrap; font-size: 0.84rem; color: var(--text-secondary); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-legend-item { display: inline-flex; align-items: center; gap: 6px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; flex: none; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-dot-cement { background: var(--ccb-c-cement); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-dot-water { background: var(--ccb-c-water); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-dot-sand { background: var(--ccb-c-sand); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-dot-gravel { background: var(--ccb-c-gravel); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-dot-air { background: transparent; border: 1px dashed var(--text-muted); }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-mixbar .tb-canvas-desc { margin: 0; }

#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table-wrap { overflow-x: auto; border: 1px solid var(--border-color); border-radius: var(--radius-md); }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; min-width: 480px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table caption { text-align: left; padding: 10px 14px; font-size: 0.88rem; font-weight: 600; color: var(--text-secondary); border-bottom: 1px solid var(--border-color); caption-side: top; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table th, #js-tool-container-concrete-sand-gravel-cement-calculator .tb-table td { padding: 9px 14px; border-top: 1px solid var(--border-color); font-variant-numeric: tabular-nums; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table thead th { font-weight: 600; color: var(--text-secondary); }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table thead th:not(:first-child), #js-tool-container-concrete-sand-gravel-cement-calculator .tb-table td:not(:first-child) { text-align: right; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-table tbody th { text-align: left; font-weight: 600; color: var(--text-primary); }

#js-tool-container-concrete-sand-gravel-cement-calculator .tb-spec.ccb-extra { display: flex; flex-direction: column; gap: 8px; margin-top: 2px; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-spec-row.ccb-extra-row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; padding: 9px 14px; border: 1px solid var(--border-color); border-radius: var(--radius-sm); font-size: 0.9rem; }
#js-tool-container-concrete-sand-gravel-cement-calculator .tb-spec-row.ccb-extra-row output, #js-tool-container-concrete-sand-gravel-cement-calculator .ccb-extra-row span:nth-child(2) { font-weight: 600; font-variant-numeric: tabular-nums; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-extra-row span:last-child { color: var(--text-muted); font-size: 0.82rem; }
#js-tool-container-concrete-sand-gravel-cement-calculator .ccb-limits { margin: 6px 0 0; padding: 10px 14px; border-left: 3px solid var(--border-color); font-size: 0.82rem; line-height: 1.5; color: var(--text-muted); }

@media (max-width: 720px) {
  #js-tool-container-concrete-sand-gravel-cement-calculator .tb-grid-3 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  #js-tool-container-concrete-sand-gravel-cement-calculator .tb-grid-2 { grid-template-columns: 1fr; }
  #js-tool-container-concrete-sand-gravel-cement-calculator .tb-ledger-row { flex-direction: column; align-items: flex-start; gap: 2px; }
  #js-tool-container-concrete-sand-gravel-cement-calculator .tb-spec-row.ccb-extra-row { grid-template-columns: 1fr auto; }
  #js-tool-container-concrete-sand-gravel-cement-calculator .tb-spec-row.ccb-extra-row span:last-child { display: none; }
}