/* Formel CodeMirror cells inside Craft EditableTable */

td.calc-formula-cell {
  position: relative;
  vertical-align: top;
  min-width: 18rem;
  text-align: left !important;
}

/* Craft sizes multiline cells with a visible value copy — hide it when CM is used */
td.calc-formula-cell .editable-table-preview {
  display: none !important;
}

td.calc-formula-cell .calc-formula-cm {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid #c5cdd6;
  border-radius: 3px;
  background: #fafbfc;
  overflow: hidden;
  text-align: left;
}

td.calc-formula-cell .calc-formula-cm .cm-editor {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  height: 12rem;
  max-height: 12rem;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
}

td.calc-formula-cell .calc-formula-cm .cm-scroller {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Monaco, monospace;
  overflow: auto !important;
  text-align: left;
}

td.calc-formula-cell .calc-formula-cm .cm-content,
td.calc-formula-cell .calc-formula-cm .cm-line {
  text-align: left !important;
}

td.calc-formula-cell .calc-formula-cm .cm-focused {
  outline: none;
}

td.calc-formula-cell .calc-formula-cm .cm-editor.cm-focused {
  box-shadow: 0 0 0 1px #0d78f2, 0 0 0 3px rgba(13, 120, 242, 0.25);
}

td.calc-formula-cell .calc-formula-cm .cm-gutters {
  background: #f3f5f7;
  border-right: 1px solid #e3e6ea;
  color: #8f98a3;
}

td.calc-formula-cell .calc-formula-cm .cm-activeLineGutter {
  background: #e8eef6;
}

td.calc-formula-cell .calc-formula-cm .cm-activeLine {
  background: rgba(13, 120, 242, 0.06);
}

/* Keep the real textarea in the form, but out of layout and focus order */
td.calc-formula-cell textarea.calc-formula-native {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  resize: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
