/* GSMVanta shared icon-action system — one semantic visual language across Admin, Client and Public UI. */
.gv-icon-action{
  position:relative;
  width:34px;min-width:34px;max-width:34px;height:34px;min-height:34px;
  padding:0 !important;display:inline-grid !important;place-items:center;flex:0 0 34px;gap:0 !important;
  border-radius:var(--p-radius-control,var(--ui-radius-sm,7px));line-height:1;white-space:nowrap;
}
.gv-icon-action > svg{width:16px;height:16px;display:block;pointer-events:none}
.gv-icon-action.gv-icon-action--danger{color:var(--p-critical,var(--ui-danger,#c93e4f))}
.gv-control-tooltip{
  --gv-tooltip-arrow-offset:50%;
  position:fixed;z-index:2147483647;width:max-content;max-width:min(240px,calc(100vw - 16px));
  padding:7px 9px;border:1px solid rgba(255,255,255,.13);border-radius:6px;
  background:#15191e;color:#fff;box-shadow:0 9px 24px rgba(0,0,0,.22);
  font-size:10px;font-weight:600;line-height:1.3;letter-spacing:0;text-align:center;text-transform:none;
  pointer-events:none;opacity:0;visibility:hidden;transform:scale(.97);
  transition:opacity .12s ease,transform .12s ease,visibility .12s ease;
}
.gv-control-tooltip[data-open="true"]{opacity:1;visibility:visible;transform:scale(1)}
.gv-control-tooltip::after{
  content:"";position:absolute;width:8px;height:8px;background:#15191e;transform:rotate(45deg)
}
.gv-control-tooltip[data-placement="top"]::after{left:var(--gv-tooltip-arrow-offset);bottom:-4px;margin-left:-4px}
.gv-control-tooltip[data-placement="bottom"]::after{left:var(--gv-tooltip-arrow-offset);top:-4px;margin-left:-4px}
.gv-control-tooltip[data-placement="left"]::after{top:var(--gv-tooltip-arrow-offset);right:-4px;margin-top:-4px}
.gv-control-tooltip[data-placement="right"]::after{top:var(--gv-tooltip-arrow-offset);left:-4px;margin-top:-4px}

/* Primary/meaningful actions keep a compact, natural icon-and-label width. */
.gv-action-with-icon{
  display:inline-grid !important;
  grid-template-columns:16px minmax(0,max-content);
  align-items:center;
  justify-content:center;
  column-gap:5px;
  text-align:center;
}
.gv-action-with-icon > .gv-control-icon{width:16px;height:16px;display:grid;place-items:center;pointer-events:none}
.gv-action-with-icon > .gv-control-icon svg{width:15px;height:15px;display:block}
.gv-action-with-icon > .gv-control-label{min-width:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:inherit}

/* Existing server-rendered icon + label controls use the same compact geometry. */
.gv-native-icon-label{
  display:inline-grid !important;
  grid-template-columns:16px minmax(0,max-content);
  align-items:center;
  justify-content:center;
  column-gap:5px;
  text-align:center;
}
.gv-native-icon-label > :first-child{width:16px;height:16px;display:grid;place-items:center;pointer-events:none}
.gv-native-icon-label > :first-child:is(svg){display:block}
.gv-native-icon-label > :first-child svg{width:15px;height:15px;display:block}
.gv-native-icon-label > .gv-native-control-label{min-width:0;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:inherit}

/* View-mode controls are intentionally icon-only: their meaning is familiar and the tooltip/ARIA label preserves clarity. */
.gv-icon-action.gv-view-control{width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;flex-basis:36px}
.catalog-view-switch .gv-view-control,.catalog-view-switch .gv-view-control{padding:0 !important}
.catalog-view-switch .gv-view-control.primary,.catalog-view-switch .gv-view-control.primary,
.catalog-view-switch .gv-view-control[aria-current="page"],.catalog-view-switch .gv-view-control[aria-current="page"]{
  box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent);
}

/* Dense table action groups remain on one row at compact widths. */
table.gv-managed-table :is(.row-actions,.table-actions,.action-buttons,.actions-column){white-space:nowrap}
table.gv-managed-table :is(.row-actions,.table-actions,.action-buttons){align-items:center;gap:6px}


@media(max-width:760px){
  .gv-icon-action{width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;flex-basis:36px}
  .gv-icon-action.gv-view-control{width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;flex-basis:38px}
}
@media(prefers-reduced-motion:reduce){.gv-control-tooltip{transition:none}}
