body { display:flex; flex-direction:column; min-height:100vh; background:var(--bg); }


.tool-content { flex:1; padding:1.5rem; max-width:1100px; margin:0 auto; width:100%; box-sizing:border-box; }

.page-layout { display:flex; gap:1.5rem; flex-wrap:wrap; align-items:flex-start; }
.inputs-col { flex:0 0 420px; min-width:300px; }
.results-col { flex:1; min-width:320px; }

.section-card {
  background:var(--surface); border:1px solid var(--border);
  border-radius:8px; padding:1rem 1.2rem; margin-bottom:1rem;
}
.card-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:0.75rem;
}
.card-title {
  font-size:0.8rem; font-weight:700; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--text-dim);
}
.card-title .badge-g { color:#4caf50; }
.card-title .badge-q { color:#ff6b35; }

.btn-add {
  padding:0.25rem 0.65rem; border-radius:4px;
  border:1px solid var(--border); background:var(--surface2);
  color:var(--text); font-size:0.78rem; cursor:pointer;
  font-family:inherit; transition:background 0.15s;
}
.btn-add:hover { background:var(--accent); border-color:var(--accent); color:#fff; }

/* Load rows */
.load-rows { display:flex; flex-direction:column; gap:0.4rem; }
.load-row {
  display:flex; align-items:center; gap:0.4rem; flex-wrap:wrap;
}
.load-row input[type=text], .load-row input[type=number] {
  background:var(--surface2); border:1px solid var(--border);
  border-radius:4px; padding:0.3rem 0.45rem; color:var(--text);
  font-size:0.82rem; font-family:var(--font-mono); outline:none;
  transition:border-color 0.15s;
}
.load-row input[type=text]:focus,
.load-row input[type=number]:focus { border-color:var(--accent); }
.inp-name { width:70px; }
.inp-val  { width:72px; text-align:right; }
.inp-unit { font-size:0.72rem; color:var(--text-dim); width:30px; }
.load-row select {
  background:var(--surface2); border:1px solid var(--border);
  border-radius:4px; padding:0.3rem 0.35rem; color:var(--text);
  font-size:0.78rem; font-family:inherit; outline:none; cursor:pointer;
}
.psi-row {
  display:flex; align-items:center; gap:0.3rem;
  font-size:0.74rem; color:var(--text-dim); margin-top:0.2rem;
}
.psi-row input[type=number] {
  width:58px; text-align:right;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:3px; padding:0.15rem 0.3rem; color:var(--text);
  font-size:0.74rem; font-family:var(--font-mono); outline:none;
}
.btn-del {
  background:none; border:none; color:var(--text-dim);
  cursor:pointer; font-size:1rem; padding:0.1rem 0.3rem;
  border-radius:3px; transition:color 0.15s;
}
.btn-del:hover { color:#ef5350; }
.btn-del-card {
  background:none; border:none; color:var(--text-dim);
  cursor:pointer; font-size:1.35rem; font-weight:700;
  padding:0 0.45rem; border-radius:4px; line-height:1;
  transition:color 0.15s;
}
.btn-del-card:hover { color:#ef5350; }

.g-type-radio { display:flex; gap:0.4rem; }
.g-type-radio label {
  font-size:0.74rem; color:var(--text-dim); cursor:pointer;
  display:flex; align-items:center; gap:0.2rem;
}

/* Gamma inputs */
.gamma-row {
  display:flex; gap:1rem; flex-wrap:wrap; font-size:0.8rem;
  color:var(--text-dim); margin-bottom:0.75rem; align-items:center;
}
.gamma-field { display:flex; align-items:center; gap:0.3rem; }
.gamma-field input[type=number] {
  width:57px; text-align:right;
  background:var(--surface2); border:1px solid var(--border);
  border-radius:4px; padding:0.25rem 0.35rem; color:var(--text);
  font-size:0.8rem; font-family:var(--font-mono); outline:none;
}

/* Results */
.results-section { margin-bottom:1.5rem; }
.results-title {
  font-size:0.8rem; font-weight:700; text-transform:uppercase;
  letter-spacing:0.06em; color:var(--text-dim); margin-bottom:0.6rem;
  padding-bottom:0.4rem; border-bottom:1px solid var(--border);
}
.combo-table { width:100%; border-collapse:collapse; font-size:0.82rem; }
.combo-table th {
  text-align:left; padding:0.4rem 0.6rem;
  background:var(--surface); border-bottom:2px solid var(--border);
  color:var(--text-dim); font-size:0.72rem; text-transform:uppercase;
  letter-spacing:0.04em;
}
.combo-table td {
  padding:0.4rem 0.6rem; border-bottom:1px solid var(--border); color:var(--text);
}
.combo-table tr:last-child td { border-bottom:none; }
.combo-table .val-cell {
  font-family:var(--font-mono); text-align:right; font-weight:600;
}
.combo-table .formula-cell { color:var(--text-dim); font-size:0.75rem; }
.combo-governing { background:rgba(30,136,229,0.08); }
.combo-governing td { color:var(--accent); }

.btn-copy {
  padding:0.3rem 0.75rem; border-radius:4px;
  border:1px solid var(--border); background:var(--surface2);
  color:var(--text); font-size:0.78rem; cursor:pointer;
  font-family:inherit; transition:all 0.15s; margin-top:0.75rem;
}
.btn-copy:hover { background:var(--accent); border-color:var(--accent); color:#fff; }

.no-results {
  color:var(--text-dim); font-size:0.85rem; font-style:italic;
  padding:1.5rem; text-align:center;
  background:var(--surface); border:1px solid var(--border);
  border-radius:6px;
}

.ec0-note {
  font-size:0.72rem; color:var(--text-dim); margin-top:0.5rem;
  font-style:italic;
}

/* ── Responsive ── */
@media (max-width: 780px) {
  .inputs-col  { flex: 0 0 100%; min-width: 0; }
  .results-col { flex: 0 0 100%; min-width: 0; }
  .tool-content { padding: 0.75rem; }
  .combo-table .formula-cell { display: none; }
}
@media (max-width: 520px) {
  .load-row { flex-wrap: wrap; }
  .inp-name { width: 60px; }
  .inp-val  { width: 62px; }
  .gamma-row { gap: 0.5rem; }
}
