/* Componentes opt-in derivados das escolhas existing-v3. */
:root {
  --gc-action-icon-size: 15px;
  --gc-action-icon-only-size: 17px;
  --gc-action-icon-target: 33px;
  --gc-action-icon-stroke: 2;
  --gc-action-target: 36px;
  --gc-confirm-bg: var(--gc-color-danger);
  --gc-confirm-hover: var(--gc-color-danger-hover);
  --gc-confirm-text: var(--gc-color-text-inverse);
  --gc-tooltip-bg: var(--gc-color-surface-inverse);
  --gc-tooltip-text: var(--gc-color-text-inverse);
  --gc-tooltip-radius: 3px;
  --gc-tooltip-layer: 1200;
}
.gc-action {
  min-height: var(--gc-action-target);
  gap: 6px;
}
.gc-action.gc-action--back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.gc-action:not(.gc-action--icon):not(.gc-action--prominent):not(.tab-btn):not(.mobile-tab-btn):not(.markdown-btn):not(.variable-tag):not(.print-button):not(.rounded-full):not([role="tab"]):not([role="switch"]) {
  box-sizing: border-box;
  height: auto !important;
  padding: 7px 9px !important;
  border-radius: var(--radius-button, 3px) !important;
  font-family: var(--gc-font-sans, Poppins), system-ui, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
}
.gc-action.gc-action--prominent {
  box-sizing: border-box;
  min-height: 48px;
  padding: 11px 23px !important;
  border-radius: var(--radius-card-compact, 12px) !important;
  font-family: var(--gc-font-sans, Poppins), system-ui, sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 24px !important;
}
.gc-action.gc-action--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--gc-action-icon-target);
  height: var(--gc-action-icon-target);
  min-width: var(--gc-action-icon-target);
  min-height: var(--gc-action-icon-target);
  padding: 0;
  border-radius: var(--radius-button, 3px) !important;
  box-sizing: border-box;
  flex-shrink: 0;
}
.gc-action > svg:not([data-gc-icon-exempt]), svg.gc-action-icon {
  width: var(--gc-action-icon-size) !important;
  height: var(--gc-action-icon-size) !important;
  flex-shrink: 0;
}
.gc-action.gc-action--icon > svg:not([data-gc-icon-exempt]) {
  width: var(--gc-action-icon-only-size) !important;
  height: var(--gc-action-icon-only-size) !important;
}
.gc-action > svg:not([data-gc-icon-exempt]) :is(path, circle, line, polyline, polygon, rect, ellipse),
svg.gc-action-icon :is(path, circle, line, polyline, polygon, rect, ellipse) {
  stroke-width: var(--gc-action-icon-stroke);
}
.gc-action-icon--whatsapp > path {
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(0.84);
}
.gc-action.gc-action--danger {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--gc-confirm-bg);
  border-color: var(--gc-confirm-bg);
  color: var(--gc-confirm-text);
  border-radius: 3px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 600;
}
.gc-action.gc-action--danger:hover:not(:disabled) {
  background-color: var(--gc-confirm-hover);
  border-color: var(--gc-confirm-hover);
}
.gc-action.gc-action--lookup {
  align-self: center;
  border: 1px solid var(--gc-color-border-strong);
  border-radius: var(--radius-input, 3px);
  background: var(--gc-color-surface);
  color: var(--color-slate-600);
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.gc-action.gc-action--lookup:hover:not(:disabled) {
  border-color: var(--gc-color-text-subtle);
  background: var(--gc-color-surface-subtle);
  color: var(--color-slate-700);
}
.gc-field-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.gc-field-action-row > :is(input, select, textarea, .custom-select-wrapper) {
  flex: 1 1 0%;
  width: auto;
  min-width: 0;
}
.gc-action:focus-visible {
  outline: 2px solid var(--gc-color-focus);
  outline-offset: 3px;
}
.gc-action:disabled {
  cursor: not-allowed;
}
.gc-tooltip-panel {
  position: fixed;
  inset: auto;
  z-index: var(--gc-tooltip-layer);
  width: max-content;
  max-width: min(320px, calc(100vw - 16px));
  box-sizing: border-box;
  margin: 0;
  padding: 6px 12px;
  border: 0;
  border-radius: var(--gc-tooltip-radius);
  background: var(--gc-tooltip-bg);
  color: var(--gc-tooltip-text);
  font: 500 12px/16px Poppins, sans-serif;
  white-space: normal;
  overflow-wrap: anywhere;
  pointer-events: auto;
  overflow: visible;
  left: var(--gc-tooltip-left, 8px);
  top: var(--gc-tooltip-top, 8px);
}
.gc-tooltip-panel[hidden] { display: none; }
.gc-tooltip-panel::before {
  content: '';
  position: absolute;
  left: var(--gc-tooltip-arrow, 50%);
  top: -8px;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-bottom-color: var(--gc-tooltip-bg);
}
.gc-tooltip-panel[data-placement="top"]::before {
  top: auto;
  bottom: -8px;
  border-bottom-color: transparent;
  border-top-color: var(--gc-tooltip-bg);
}
@media print { .gc-tooltip-panel { display: none !important; } }

.gc-action-group { display: flex; flex-wrap: wrap; gap: 6px; }
@media (max-width: 767px) { :root { --gc-action-target: 40px; --gc-action-icon-target: 40px; } }
@media (max-width: 767px) {
  .gc-user-actions-row { flex-wrap: wrap; }
  .gc-user-actions-row > .gc-action-group { flex-basis: 100%; justify-content: flex-end; }
}
