.calculator-modal { width: min(1120px, calc(100vw - 18px)); max-height: min(760px, calc(100vh - 18px)); overflow: hidden; padding: 8px; font-size: 10px; }
.calculator-modal .label,
.calculator-modal .field > span:first-child { font-size: 9px; line-height: 1; }
.calculator-modal .input { height: 26px; padding: 0 7px; border-radius: 8px; font-size: 10px; }

.calculator-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 24px;
}

.calculator-summary {
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
  overflow-x: auto;
  white-space: nowrap;
}

.calculator-summary-value {
  color: #ffffff;
  font-weight: 800;
  line-height: 1.2;
}

.calculator-summary-formula {
  color: #d7e3f8;
  font-size: 10px;
  line-height: 1.2;
}

.calculator-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.85fr) minmax(310px, 1.05fr) minmax(340px, 1.1fr);
  gap: 8px;
  align-items: stretch;
  height: min(700px, calc(100vh - 60px));
  min-height: 0;
}

.calc-panel {
  display: grid;
  gap: 6px;
  align-content: start;
  min-width: 0;
  padding: 8px;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(14, 20, 38, 0.88);
  min-height: 0;
  max-height: 100%;
  overflow: auto;
}

.calc-result-panel { max-height: 100%; }

.calc-panel-head,
.calc-context-head,
.calc-detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
}

.calc-panel-title,
.calc-formula-title,
.calc-sub-title,
.calc-context-title {
  color: #f3f7ff;
  font-weight: 700;
}

.calc-panel-title { font-size: 11px; }
.calc-sub-title { font-size: 10px; }
.calc-formula-title,
.calc-context-title { font-size: 10px; }

.calc-section,
.calc-context-stack { display: grid; gap: 5px; }

.calc-field-grid,
.calc-compact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 6px;
}

.calc-full { grid-column: 1 / -1; }

.calc-toggle-row,
.calc-chip-row,
.calc-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.calc-toggle-btn,
.calc-chip,
.calc-preset-btn {
  min-height: 20px;
  padding: 0 7px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: #d6e6fb;
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}

.calc-toggle-btn.active,
.calc-chip.active {
  background: rgba(126, 224, 255, 0.18);
  border-color: rgba(126, 224, 255, 0.3);
  color: #f3fdff;
}

.calc-preset-btn { min-height: 18px; padding: 0 5px; font-size: 10px; }
.calc-center { text-align: center; font-weight: 700; }

.calc-plain-value {
  min-height: 20px;
  display: flex;
  align-items: center;
  color: #f3f7ff;
  font-size: 10px;
  font-weight: 700;
}

.calc-checkbox-line {
  display: flex;
  align-items: center;
  gap: 4px;
  min-height: 20px;
  color: #dce8fb;
  font-size: 10px;
}

.calc-checkbox-line input {
  width: 12px;
  height: 12px;
  accent-color: #7ee0ff;
}

.calc-sub-card,
.calc-formula-box,
.calc-context-card {
  display: grid;
  gap: 4px;
  padding: 6px;
  border-radius: 9px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.calc-result-value {
  padding: 8px 6px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(9, 15, 27, 0.98), rgba(16, 24, 42, 0.96));
  border: 1px solid rgba(126, 224, 255, 0.16);
  text-align: center;
  font-size: 10px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.03em;
}

.calc-details { display: grid; gap: 0; }

.calc-detail-row {
  padding: 3px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 10px;
}

.calc-detail-row:last-child { border-bottom: 0; padding-bottom: 0; }
.calc-detail-row:first-child { padding-top: 0; }

.calc-detail-key,
.calc-context-subtitle,
.calc-context-empty {
  color: #9fb0cf;
}

.calc-detail-val { color: #f3f7ff; text-align: right; font-weight: 700; }

.calc-formula-text,
.calc-context-desc {
  font-size: 10px;
  line-height: 1.3;
  color: #d7e3f8;
  white-space: pre-wrap;
  word-break: break-word;
}

.calc-context-subtitle {
  font-size: 10px;
  text-align: right;
}

.calc-chip {
  padding: 1px 5px;
  min-height: 0;
  background: rgba(126, 224, 255, 0.12);
  border: 1px solid rgba(126, 224, 255, 0.18);
  color: #dff7ff;
  line-height: 1.4;
  font-size: 10px;
}

.calc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
}

.calc-table th,
.calc-table td {
  padding: 3px 4px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}

.calc-table th {
  color: #e7fbff;
  background: rgba(126, 224, 255, 0.08);
}

@media (max-width: 1080px) {
  .calculator-layout {
    grid-template-columns: 1fr;
    height: min(700px, calc(100vh - 60px));
  }

  .calc-panel { max-height: none; }
}
