/* Oficina Portátil — refinamentos gerais v47.15.25 */

/* ZERADO: glow no contorno do card, sem brilho na marca d'água. */
.sap-page .material-card.op-zero-stock {
  border-color: #f59e0b !important;
  box-shadow:
    0 0 0 1px rgba(245, 158, 11, .72),
    0 0 18px rgba(245, 158, 11, .56),
    0 0 42px rgba(245, 158, 11, .25),
    0 18px 42px rgba(91, 49, 0, .14) !important;
}

.sap-page .material-card.op-zero-stock::before {
  text-shadow: none !important;
  filter: none !important;
}

/* Ações do material sempre alinhadas no canto superior direito. */
.sap-page .material-card .sap-global-stock {
  position: absolute !important;
  z-index: 8 !important;
  top: 22px !important;
  right: 22px !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
}

.sap-page .material-card .sap-reference-origin {
  position: absolute !important;
  z-index: 9 !important;
  top: 22px !important;
  right: 82px !important;
  bottom: auto !important;
  left: auto !important;
  margin: 0 !important;
  cursor: help;
}

.sap-page .material-card .sap-reference-origin::after {
  content: attr(data-tooltip);
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: max-content;
  max-width: min(290px, 72vw);
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--panel-solid);
  color: var(--text);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
  font-size: 12px;
  font-weight: 750;
  line-height: 1.25;
  white-space: normal;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-5px);
  transition: opacity .16s ease, transform .16s ease;
}

.sap-page .material-card .sap-reference-origin:hover::after,
.sap-page .material-card .sap-reference-origin:focus-visible::after {
  opacity: 1;
  transform: none;
}

.sap-page .deposit-grid > div > span[hidden] {
  display: none !important;
}

.sap-page .deposit-grid > div.op-deposit-one-meta {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

.sap-page .deposit-grid > div.op-deposit-no-meta {
  grid-template-columns: 1fr !important;
}

.sap-page .deposit-grid > div.op-deposit-no-meta > strong {
  justify-self: end;
}

/* Acessos sem largura rígida e sem scroll horizontal no desktop. */
.access-table-modern {
  width: 100%;
  min-width: 0;
  overflow-x: clip !important;
}

.access-table-modern > article {
  width: 100%;
  min-width: 0 !important;
  grid-template-columns:
    minmax(132px, 1.45fr)
    minmax(70px, .55fr)
    minmax(112px, .85fr)
    minmax(90px, .7fr)
    minmax(110px, .85fr)
    minmax(48px, .42fr)
    minmax(48px, .42fr)
    minmax(82px, .65fr)
    minmax(70px, .55fr)
    minmax(94px, .75fr) !important;
  gap: clamp(5px, .65vw, 10px) !important;
}

.access-table-modern > article > *,
.access-table-modern input,
.access-table-modern select,
.access-table-modern button {
  min-width: 0 !important;
  max-width: 100%;
}

.access-table-modern input,
.access-table-modern select {
  padding-inline: clamp(6px, .7vw, 11px) !important;
  font-size: clamp(11px, .84vw, 15px);
}

.access-table-modern button {
  padding-inline: clamp(7px, .7vw, 12px) !important;
  font-size: clamp(10px, .8vw, 14px);
}

/* Mais área útil nas páginas solicitadas. */
.settings-page > .simple-hero[hidden],
[data-native-page="reference"] > .op-native-heading[hidden] {
  display: none !important;
}

.settings-page .settings-layout,
[data-native-page="reference"] .op-ref-local-v471523 {
  margin-top: 0;
}

/* Avatar: a moldura delimita e recorta a foto sem espaços externos. */
.rank-avatar.ranked .rank-photo,
.rank-avatar.ranked .rank-initials {
  overflow: hidden !important;
  border-radius: 50% !important;
  clip-path: circle(49% at 50% 50%);
  background: var(--panel-solid) !important;
}

.rank-avatar.ranked .rank-photo img,
.rank-avatar.ranked > img.rank-photo {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  border-radius: 50% !important;
  clip-path: circle(49% at 50% 50%);
}

.rank-avatar.ranked .rank-frame {
  pointer-events: none;
}

/* referênCIA hospedado no site. */
.op-ref-migrate {
  background: color-mix(in srgb, var(--accent) 9%, var(--panel-solid)) !important;
  color: var(--accent) !important;
  border-color: color-mix(in srgb, var(--accent) 35%, var(--line)) !important;
  font-weight: 850 !important;
}

/* Instalação: modal com profundidade, movimento e acabamento do portal. */
.op-compat-overlay {
  background:
    radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 34%),
    rgba(2, 20, 18, .72) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.2) !important;
}

.op-compat-modal {
  position: relative;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 30%, var(--line)) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(145deg, color-mix(in srgb, var(--accent) 9%, var(--panel-solid)), var(--panel-solid) 62%) !important;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .42), 0 0 0 1px color-mix(in srgb, var(--accent) 13%, transparent) !important;
  animation: op-install-arrive .38s cubic-bezier(.2, .8, .2, 1) both;
}

.op-compat-modal::before {
  content: "";
  position: absolute;
  width: 260px;
  height: 260px;
  top: -155px;
  right: -80px;
  border: 34px solid color-mix(in srgb, var(--accent) 10%, transparent);
  border-radius: 50%;
  pointer-events: none;
}

.op-compat-head,
.op-compat-body,
.op-compat-actions {
  position: relative;
  z-index: 1;
}

.op-compat-icon {
  box-shadow: 0 14px 32px color-mix(in srgb, var(--accent) 25%, transparent);
  animation: op-install-float 3.6s ease-in-out infinite;
}

.op-compat-body {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: color-mix(in srgb, var(--panel-solid) 78%, transparent);
  padding: 22px !important;
}

@keyframes op-install-arrive {
  from { opacity: 0; transform: translateY(18px) scale(.96); }
  to { opacity: 1; transform: none; }
}

@keyframes op-install-float {
  50% { transform: translateY(-5px) rotate(-2deg); }
}

@media (max-width: 1180px) {
  .access-table-modern { overflow-x: clip !important; }
  .access-table-modern > article {
    min-width: 0 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 16px !important;
  }

  .access-table-modern > article > button,
  .access-table-modern > article > label {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 720px) {
  .access-table-modern > article { grid-template-columns: minmax(0, 1fr) !important; }
  .sap-page .material-card .sap-global-stock { top: 16px !important; right: 16px !important; }
  .sap-page .material-card .sap-reference-origin { top: 16px !important; right: 70px !important; }
  .op-ref-actions { flex-wrap: wrap; }
  .op-ref-migrate { flex: 1 1 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .op-compat-modal,
  .op-compat-icon { animation: none !important; }
}
