/* Shared actions. Variants are intentionally minimal. */
:root {
  --rs-button-height-sm: 30px;
  --rs-button-height-base: 32px;
  --rs-button-height-md: 38px;
  --rs-button-padding-x: 12px;
  --rs-button-gap: 8px;
}

.rs-action-button,
.rs-primary-button {
  min-height: var(--rs-button-height-base);
  padding: 0 var(--rs-button-padding-x);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rs-button-gap);
  border: 1px solid var(--rst-ui-divider);
  border-radius: var(--rst-ui-radius-sm);
  background: transparent;
  color: var(--rst-ui-text);
  font: inherit;
  font-size: 12px;
  line-height: 1;
  font-weight: var(--rst-fw-bold);
  white-space: nowrap;
  cursor: pointer;
}

.rs-action-button:is(:hover,:focus-visible),
.rs-primary-button:hover { background: var(--rst-ui-section-row-hover); }
.rs-action-button:disabled,
.rs-primary-button:disabled { cursor: default; opacity: .45; }
.rs-action-button svg { width: 15px; height: 15px; flex: 0 0 auto; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.rs-action-button.is-compact { min-height: var(--rs-button-height-sm); padding-inline: 10px; }
.rs-action-button:is(.is-primary,.is-success,.is-save.is-active) { color: var(--rst-state-success-text); border-color: var(--rst-state-success-border); }
.rs-action-button.is-danger { color: var(--rst-state-danger-text); border-color: var(--rst-state-danger-border); }
.rs-action-button.is-secondary { color: var(--rst-state-neutral-text); }

.rs-icon-action,
.rs-icon-button { width: 34px; min-width: 34px; min-height: 34px; padding: 0; gap: 0; }
.rs-icon-action svg { width: 17px; height: 17px; }

.rs-action-tile-grid {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: var(--rs-button-gap);
}
.rs-action-tile {
  min-width: 0;
  min-height: 54px;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  border: 1px solid var(--rst-ui-divider);
  border-radius: var(--rst-ui-radius-md);
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  text-align: left;
}
.rs-action-tile:hover { background: var(--rst-ui-section-row-hover); }
.rs-action-tile span {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--rst-state-neutral-border);
  border-radius: var(--rst-ui-radius-md);
  background: var(--rst-state-neutral-bg);
  color: var(--rst-state-neutral-text);
}
.rs-action-tile:is(.is-team,.is-success) span { border-color: var(--rst-state-success-border); background: var(--rst-state-success-bg); color: var(--rst-state-success-text); }
.rs-action-tile:is(.is-planning,.is-actuals,.is-info) span { border-color: var(--rst-state-info-border); background: var(--rst-state-info-bg); color: var(--rst-state-info-text); }
.rs-action-tile:is(.is-warning) span { border-color: var(--rst-state-warning-border); background: var(--rst-state-warning-bg); color: var(--rst-state-warning-text); }
.rs-action-tile:is(.is-danger) span { border-color: var(--rst-state-danger-border); background: var(--rst-state-danger-bg); color: var(--rst-state-danger-text); }
.rs-action-tile:is(.is-absence) span { border-color: var(--rst-state-absence-border); background: var(--rst-state-absence-bg); color: var(--rst-state-absence-text); }
.rs-action-tile svg { width: 17px; height: 17px; }
.rs-action-tile strong { overflow: hidden; color: var(--rst-ui-text); font-size: 11px; font-weight: var(--rst-fw-bold); text-overflow: ellipsis; white-space: nowrap; }

.rs-primary-button {
  min-height: 52px;
  border-color: transparent;
  background: var(--rst-blue);
  color: var(--rst-on-accent-text);
  font-weight: var(--rst-fw-display);
}

.rs-pager {
  display: flex;
  align-items: center;
  gap: 6px;
}

.rs-pager-current {
  width: 29px;
  height: 29px;
  display: grid;
  place-items: center;
  border: 1px solid var(--rst-ui-divider);
  border-radius: var(--rst-ui-radius-sm);
  color: var(--rst-ui-text);
  font-size: 12px;
  font-weight: var(--rst-fw-bold);
}

.rs-pager .rs-icon-action {
  width: 29px;
  min-width: 29px;
  min-height: 29px;
}

.rs-pager .rs-icon-action svg { width: 15px; height: 15px; }
