#calc-lab-launcher {
  position: absolute;
  right: 46px;
  bottom: 6px;
  z-index: 1000;
  padding: 3px;
  border-radius: var(--border-radius);
  background: var(--bg-dark);
  box-shadow: var(--shadow-md);
}
#calc-lab-launcher .layer-btn.active {
  background: var(--primary);
  color: #fff;
}
#calc-lab-launcher .calc-lab-dot {
  position: absolute;
  right: 3px;
  top: 3px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4aa3ff;
  border: 1px solid var(--bg-dark);
}

.calc-lab-panel {
  position: absolute;
  right: 6px;
  bottom: 46px;
  z-index: 1002;
  width: min(540px, calc(100vw - 24px));
  height: min(650px, calc(100vh - 84px));
  min-width: 430px;
  min-height: 430px;
  max-width: min(780px, calc(100vw - 12px));
  max-height: calc(100vh - 18px);
  display: flex;
  flex-direction: column;
  overflow: visible;
  resize: none;
  color: var(--text-primary);
  background: var(--bg-dark);
  border: 1px solid var(--border-color);
  border-radius: calc(var(--border-radius) + 2px);
  box-shadow: var(--shadow-lg);
}
.calc-lab-panel.hidden {
  display: none !important;
}
.calc-lab-panel.is-dragging {
  user-select: none;
  resize: none;
}

.calc-lab-header {
  min-height: 44px;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 8px 7px 10px;
  background: var(--bg-dark);
  border-bottom: 1px solid var(--border-color);
  cursor: move;
}
.calc-lab-title-icon {
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  display: grid;
  place-items: center;
  border-radius: var(--border-radius);
  color: var(--primary);
  background: rgba(250, 92, 0, 0.12);
  font-size: 12px;
}
.calc-lab-heading {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.calc-lab-title {
  font-size: 12px;
  font-weight: 750;
  line-height: 1.2;
}
.calc-lab-context {
  font-size: 9px;
  color: var(--text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.calc-lab-header-actions {
  display: flex;
  gap: 4px;
}
.calc-lab-header-btn {
  width: 27px;
  height: 27px;
  border: 0;
  display: grid;
  place-items: center;
  border-radius: var(--border-radius);
  color: var(--text-secondary);
  background: transparent;
  cursor: pointer;
  font-size: 10px;
}
.calc-lab-header-btn:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}

.calc-lab-tabs {
  position: absolute;
  top: 54px;
  left: -38px;
  width: 38px;
  z-index: 4;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
}
.calc-lab-tab {
  position: relative;
  width: 38px;
  min-height: 100px;
  padding: 9px 0;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-right: 0;
  border-radius: 8px 0 0 8px;
  background: linear-gradient(180deg, rgba(23, 34, 45, 0.98), rgba(17, 26, 35, 0.98));
  box-shadow:
    -5px 5px 14px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: var(--text-muted);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  overflow: hidden;
  pointer-events: auto;
  font-size: 9px;
  font-weight: 700;
  transition:
    background 0.15s ease,
    color 0.15s ease,
    box-shadow 0.15s ease;
}
.calc-lab-tab:hover {
  background: linear-gradient(180deg, rgba(30, 43, 56, 0.98), rgba(20, 30, 40, 0.98));
  color: var(--text-primary);
}
.calc-lab-tab.active {
  background: linear-gradient(180deg, rgba(37, 52, 67, 0.98), rgba(22, 33, 44, 0.98));
  color: var(--primary);
  box-shadow:
    -7px 7px 18px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.calc-lab-tab.active::before {
  content: '';
  position: absolute;
  top: 8px;
  right: 0;
  bottom: 8px;
  width: 2px;
  background: var(--primary);
  border-radius: 3px 0 0 3px;
}
.calc-lab-tab i {
  order: 0;
  flex: 0 0 auto;
  margin-top: 1px;
  font-size: 11px;
}
.calc-lab-tab span {
  order: 1;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  display: block;
  max-height: 76px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 8px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.calc-lab-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  border-radius: 0 0 calc(var(--border-radius) + 1px) calc(var(--border-radius) + 1px);
  background: var(--bg-dark);
}
.calc-lab-resize-handle {
  position: absolute;
  right: 2px;
  bottom: 2px;
  width: 15px;
  height: 15px;
  z-index: 6;
  cursor: nwse-resize;
  opacity: 0.55;
  background: linear-gradient(
    135deg,
    transparent 0 48%,
    var(--text-muted) 49% 55%,
    transparent 56% 67%,
    var(--text-muted) 68% 74%,
    transparent 75%
  );
}
.calc-lab-resize-handle:hover {
  opacity: 0.9;
}
.calc-lab-view {
  height: 100%;
  min-height: 0;
}
.calc-lab-view.hidden {
  display: none !important;
}
.calc-tools-shell {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.calc-tools-search-row {
  flex: 0 0 auto;
  padding: 7px;
  border-bottom: 1px solid var(--border-color);
  background: var(--bg-input);
}
.calc-tools-layout {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr);
  flex: 1 1 auto;
  min-height: 0;
}
.calc-tools-nav {
  min-width: 0;
  overflow-y: auto;
  padding: 8px;
  background: color-mix(in srgb, var(--bg-input) 70%, var(--bg-dark) 30%);
  border-right: 1px solid var(--border-color);
}
.calc-tools-search-wrap {
  position: relative;
  width: 100%;
  margin: 0;
}
.calc-tools-search-wrap i {
  position: absolute;
  left: 9px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  font-size: 9px;
}
.calc-tools-search {
  width: 100%;
  height: 30px;
  padding: 0 8px 0 25px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-dark);
  color: var(--text-primary);
  font-size: 9px;
  outline: none;
}
.calc-tools-search:focus {
  border-color: rgba(250, 92, 0, 0.55);
}
.calc-category-btn {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 7px;
  margin: 2px 0;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--text-secondary);
  text-align: left;
  font-size: 9px;
  cursor: pointer;
}
.calc-category-btn i {
  width: 13px;
  text-align: center;
  color: var(--text-muted);
}
.calc-category-btn:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}
.calc-category-btn.active {
  color: var(--primary);
  background: rgba(250, 92, 0, 0.09);
  border-color: rgba(250, 92, 0, 0.22);
}
.calc-category-btn.active i {
  color: var(--primary);
}
.calc-tools-main {
  min-width: 0;
  min-height: 0;
  overflow-y: auto;
  padding: 10px;
}
.calc-tool-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.calc-tool-card {
  min-width: 0;
  min-height: 68px;
  padding: 9px;
  text-align: left;
  cursor: pointer;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-input);
  color: var(--text-primary);
}
.calc-tool-card:hover {
  border-color: rgba(250, 92, 0, 0.4);
  background: color-mix(in srgb, var(--bg-input) 91%, var(--primary) 9%);
}
.calc-tool-card-icon {
  width: 25px;
  height: 25px;
  float: left;
  margin-right: 7px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: rgba(250, 92, 0, 0.09);
  color: var(--primary);
  font-size: 10px;
}
.calc-tool-card-title {
  display: block;
  font-size: 10px;
  font-weight: 700;
  margin-bottom: 3px;
}
.calc-tool-card-desc {
  display: block;
  color: var(--text-muted);
  font-size: 8.5px;
  line-height: 1.35;
}
.calc-empty-filter {
  grid-column: 1/-1;
  padding: 28px 12px;
  text-align: center;
  color: var(--text-muted);
  font-size: 10px;
}

.calc-tool-detail-head {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  margin-bottom: 10px;
}
.calc-back-btn {
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-input);
  color: var(--text-secondary);
  cursor: pointer;
}
.calc-back-btn:hover {
  color: var(--primary);
  border-color: rgba(250, 92, 0, 0.4);
}
.calc-tool-detail-title {
  font-size: 12px;
  font-weight: 750;
  margin-bottom: 2px;
}
.calc-tool-detail-desc {
  font-size: 9px;
  color: var(--text-muted);
  line-height: 1.4;
}
.calc-selection-strip {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 7px 0 10px;
  padding: 7px 8px;
  border: 1px solid var(--border-color);
  border-radius: 7px;
  background: rgba(74, 163, 255, 0.06);
  font-size: 9px;
  color: var(--text-secondary);
}
.calc-selection-strip strong {
  color: var(--text-primary);
}
.calc-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.calc-field {
  min-width: 0;
}
.calc-field.full {
  grid-column: 1/-1;
}
.calc-field label {
  display: block;
  margin: 0 0 4px 1px;
  color: var(--text-secondary);
  font-size: 8.5px;
  font-weight: 650;
}
.calc-field input:not([type='checkbox']),
.calc-field select,
.calc-field textarea {
  width: 100%;
  min-height: 32px;
  padding: 6px 8px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-input);
  color: var(--text-primary);
  font-size: 10px;
  outline: none;
}
.calc-field input:focus,
.calc-field select:focus,
.calc-field textarea:focus {
  border-color: rgba(250, 92, 0, 0.55);
}
.calc-lab-panel .calc-field input[type='number'] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
.calc-lab-panel .calc-field input[type='number']::-webkit-inner-spin-button,
.calc-lab-panel .calc-field input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  margin: 0 !important;
  opacity: 0 !important;
  width: 0 !important;
}
.calc-lab-panel .sv-number-wrap {
  width: 100%;
}
.calc-lab-panel .sv-number-wrap > input[type='number'] {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  padding-right: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
.calc-check-label {
  min-height: 32px;
  display: flex !important;
  align-items: center;
  gap: 7px;
  margin-top: 16px !important;
  padding: 0 8px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-input);
  cursor: pointer;
}
.calc-check-label input {
  accent-color: var(--primary);
}
.calc-run-row {
  display: flex;
  gap: 6px;
  margin-top: 11px;
}
.calc-primary-btn,
.calc-secondary-btn,
.calc-ghost-btn {
  min-height: 31px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 700;
  cursor: pointer;
}
.calc-primary-btn {
  border: 1px solid var(--primary);
  background: var(--primary);
  color: #fff;
}
.calc-primary-btn:hover {
  filter: brightness(1.08);
}
.calc-secondary-btn {
  border: 1px solid rgba(250, 92, 0, 0.35);
  background: rgba(250, 92, 0, 0.08);
  color: var(--primary);
}
.calc-ghost-btn {
  border: 1px solid var(--border-color);
  background: var(--bg-input);
  color: var(--text-secondary);
}
.calc-primary-btn:disabled,
.calc-secondary-btn:disabled,
.calc-ghost-btn:disabled {
  opacity: 0.5;
  cursor: default;
}
.calc-result {
  margin-top: 11px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  background: var(--bg-input);
}
.calc-result-head {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 8px 9px;
  border-bottom: 1px solid var(--border-color);
  background: rgba(250, 92, 0, 0.055);
}
.calc-result-head i {
  color: var(--primary);
  margin-top: 2px;
}
.calc-result-head-text {
  min-width: 0;
  flex: 1;
}
.calc-result-title {
  font-size: 10px;
  font-weight: 750;
}
.calc-result-summary {
  margin-top: 2px;
  font-size: 9px;
  color: var(--text-muted);
}
.calc-result-body {
  padding: 8px;
}
.calc-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
}
.calc-metric {
  min-width: 0;
  padding: 6px 7px;
  border: 1px solid color-mix(in srgb, var(--border-color) 78%, transparent);
  border-radius: 6px;
  background: var(--bg-dark);
}
.calc-metric-label {
  display: block;
  font-size: 7.5px;
  color: var(--text-muted);
  margin-bottom: 2px;
}
.calc-metric-value {
  display: block;
  font-size: 10px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.calc-table-wrap {
  overflow: auto;
  margin-top: 8px;
  max-height: 190px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
}
.calc-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 8.5px;
}
.calc-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 6px;
  text-align: left;
  color: var(--text-secondary);
  background: var(--bg-dark);
  border-bottom: 1px solid var(--border-color);
  white-space: nowrap;
}
.calc-table td {
  padding: 6px;
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 65%, transparent);
  white-space: nowrap;
}
.calc-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.calc-note {
  margin-top: 7px;
  padding: 6px 7px;
  border-left: 2px solid #f5b642;
  background: rgba(245, 182, 66, 0.06);
  color: var(--text-secondary);
  font-size: 8.5px;
  line-height: 1.4;
}
.calc-chart {
  margin-top: 8px;
  width: 100%;
  height: 170px;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  background: var(--bg-dark);
}
.calc-chart text {
  fill: var(--text-muted);
  font-size: 8px;
}
.calc-chart path.profile {
  fill: none;
  stroke: var(--primary);
  stroke-width: 1.8;
}
.calc-chart path.area {
  fill: rgba(250, 92, 0, 0.1);
  stroke: none;
}
.calc-chart line.grid {
  stroke: var(--border-color);
  stroke-width: 0.7;
}
.calc-spinner {
  width: 13px;
  height: 13px;
  border: 2px solid var(--border-color);
  border-top-color: var(--primary);
  border-radius: 50%;
  animation: calcSpin 0.8s linear infinite;
}
@keyframes calcSpin {
  to {
    transform: rotate(360deg);
  }
}
.calc-history {
  height: 100%;
  overflow-y: auto;
  padding: 10px;
}
.calc-history-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.calc-history-toolbar strong {
  font-size: 10px;
}
.calc-history-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.calc-history-item {
  padding: 8px;
  border: 1px solid var(--border-color);
  border-radius: 7px;
  background: var(--bg-input);
}
.calc-history-top {
  display: flex;
  gap: 7px;
  align-items: center;
}
.calc-history-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: rgba(250, 92, 0, 0.08);
  color: var(--primary);
  font-size: 9px;
}
.calc-history-copy {
  margin-left: auto;
  width: 25px;
  height: 25px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
}
.calc-history-copy:hover {
  background: var(--bg-hover);
  color: var(--text-primary);
}
.calc-history-title {
  font-size: 9.5px;
  font-weight: 700;
}
.calc-history-time {
  font-size: 7.5px;
  color: var(--text-muted);
  margin-top: 1px;
}
.calc-history-summary {
  margin-top: 5px;
  font-size: 8.5px;
  color: var(--text-secondary);
  line-height: 1.4;
}
.calc-history-empty {
  padding: 45px 12px;
  text-align: center;
  color: var(--text-muted);
  font-size: 9.5px;
}

.calc-toast-error {
  margin-top: 8px;
  padding: 7px 8px;
  border: 1px solid rgba(239, 68, 68, 0.35);
  border-radius: 6px;
  background: rgba(239, 68, 68, 0.07);
  color: #ff9c9c;
  font-size: 9px;
  line-height: 1.4;
}
.calc-preview-tooltip {
  font-size: 9px !important;
}
@keyframes calcActionIn {
  from {
    opacity: 0;
    transform: translateY(3px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
@media (max-width: 700px) {
  #calc-lab-launcher {
    right: max(8px, var(--safe-right, 8px));
    bottom: calc(38px + var(--safe-bottom, 0px));
  }
  #calc-lab-launcher .layer-btn {
    width: 46px !important;
    height: 46px !important;
  }
  .calc-lab-panel {
    position: fixed;
    left: 35px;
    right: 6px;
    top: 48px;
    bottom: 6px;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none;
    resize: none;
  }
  .calc-tools-layout {
    grid-template-columns: 112px minmax(0, 1fr);
  }
  .calc-tool-list {
    grid-template-columns: 1fr;
  }
  .calc-form-grid {
    grid-template-columns: 1fr;
  }
  .calc-field.full {
    grid-column: auto;
  }
}

@media (max-width: 460px) {
  .calc-tools-layout {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .calc-category-btn {
    gap: 4px;
    padding: 7px 5px;
  }
  .calc-metrics {
    grid-template-columns: 1fr;
  }
}

@media print {
  #calc-lab-launcher,
  #calc-lab-panel {
    display: none !important;
  }
}
body.export-capturing #calc-lab-launcher,
body.export-capturing #calc-lab-panel {
  display: none !important;
}
#calc-lab-launcher.hidden {
  display: none !important;
}
#map .leaflet-control-zoom,
#map .leaflet-control-scale,
#map .maplibregl-ctrl-scale,
#map .maptiler-ctrl-scale {
  display: none !important;
}
#map .maplibregl-ctrl-group:has(.maplibregl-ctrl-zoom-in),
#map .maplibregl-ctrl-group:has(.maplibregl-ctrl-zoom-out) {
  display: none !important;
}
#map .maptiler-ctrl-group:has(.maptiler-ctrl-zoom-in),
#map .maptiler-ctrl-group:has(.maptiler-ctrl-zoom-out) {
  display: none !important;
}

.calc-lab-title-icon {
  color: #fff;
  background: var(--primary);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--primary) 75%, #000 25%);
}
.calc-tool-card-icon {
  background: color-mix(in srgb, var(--bg-dark) 82%, var(--border-color) 18%);
  border: 1px solid var(--border-color);
  color: var(--primary);
}
.calc-tool-detail-title {
  display: flex;
  align-items: center;
  gap: 7px;
}
.calc-tool-detail-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  border: 1px solid var(--border-color);
  background: var(--bg-input);
  color: var(--primary);
  font-size: 10px;
}
.calc-crs-strip {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin: 7px 0 9px;
  padding: 7px 8px;
  border: 1px solid rgba(74, 163, 255, 0.24);
  border-radius: 7px;
  background: rgba(74, 163, 255, 0.055);
  color: var(--text-secondary);
  font-size: 8.5px;
  line-height: 1.42;
}
.calc-crs-strip > i {
  color: #4aa3ff;
  margin-top: 2px;
}
.calc-crs-strip strong {
  color: var(--text-primary);
  font-weight: 700;
}
.calc-result-crs {
  margin-top: 4px;
  color: #4aa3ff;
  font-size: 7.8px;
  font-weight: 700;
  letter-spacing: 0.01em;
}
.calc-result-crs i {
  margin-right: 4px;
  color: #4aa3ff;
}

.calc-glossary {
  margin-top: 10px;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  overflow: hidden;
  background: color-mix(in srgb, var(--bg-input) 88%, var(--bg-dark) 12%);
}
.calc-glossary-pre {
  margin-bottom: 10px;
}
.calc-glossary-post {
  margin-top: 10px;
}
.calc-glossary-head {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  padding: 7px 8px;
  border-bottom: 1px solid var(--border-color);
  background: rgba(74, 163, 255, 0.045);
}
.calc-glossary-head > i {
  color: #4aa3ff;
  margin-top: 2px;
  font-size: 9px;
}
.calc-glossary-head strong {
  display: block;
  color: var(--text-primary);
  font-size: 9px;
}
.calc-glossary-head span {
  display: block;
  margin-top: 1px;
  color: var(--text-muted);
  font-size: 7.8px;
  line-height: 1.35;
}
.calc-glossary-list {
  display: grid;
  grid-template-columns: 1fr;
}
.calc-glossary-item {
  display: grid;
  grid-template-columns: minmax(95px, 32%) minmax(0, 1fr);
  gap: 8px;
  padding: 6px 8px;
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 62%, transparent);
}
.calc-glossary-item:last-child {
  border-bottom: 0;
}
.calc-glossary-term {
  color: var(--text-secondary);
  font-size: 8px;
  font-weight: 750;
}
.calc-glossary-definition {
  color: var(--text-muted);
  font-size: 8px;
  line-height: 1.38;
}

@media (max-width: 460px) {
  .calc-glossary-item {
    grid-template-columns: 1fr;
    gap: 2px;
  }
}
.calc-lab-tab[data-calc-tab='ai'] {
  min-height: 108px;
}
.calc-lab-tab[data-calc-tab='ai'] span {
  max-height: 84px;
}
html.calc-lab-dragging,
html.calc-lab-dragging * {
  cursor: grabbing !important;
}
.calc-lab-panel.is-dragging {
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.48);
}
.calc-lab-header {
  user-select: none;
  -webkit-user-select: none;
}
.sv-assistant-panel .calc-field input[type='number'] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}
.sv-assistant-panel .calc-field input[type='number']::-webkit-inner-spin-button,
.sv-assistant-panel .calc-field input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  margin: 0 !important;
  opacity: 0 !important;
  width: 0 !important;
}
.sv-assistant-panel .sv-number-wrap {
  width: 100%;
}
.sv-assistant-panel .sv-number-wrap > input[type='number'] {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  padding-right: 8px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
