/* SORA v138 — notification cleanup, crisp release dialogs, compact users admin. */

/* Remote notifications: one rounded surface without decorative square layers. */
.remote-modal-shell,
.remote-modal-card,
.remote-modal-body,
.modal-partial-section,
.modal-partial-container,
.notifications-section,
.notifications-list,
.notification-card {
  isolation: isolate;
}

.remote-modal-shell::before,
.remote-modal-shell::after,
.remote-modal-card::before,
.remote-modal-card::after,
.remote-modal-body::before,
.remote-modal-body::after,
.modal-partial-section::before,
.modal-partial-section::after,
.modal-partial-container::before,
.modal-partial-container::after,
.notifications-section::before,
.notifications-section::after,
.notifications-head::before,
.notifications-head::after,
.notifications-list::before,
.notifications-list::after,
.notification-card::before,
.notification-card::after,
.remote-modal-close::before,
.remote-modal-close::after {
  content: none !important;
  display: none !important;
}

.remote-modal-card {
  border-radius: 24px !important;
  overflow: hidden !important;
  background: linear-gradient(160deg, #111c2b 0%, #08121f 100%) !important;
  clip-path: inset(0 round 24px) !important;
}

.remote-modal-body,
.modal-partial-section,
.modal-partial-container,
.notifications-section {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

.remote-modal-close {
  border-radius: 13px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 13px) !important;
  background: rgba(255,255,255,.055) !important;
}

.notification-card {
  border-radius: 18px !important;
  overflow: hidden !important;
  clip-path: inset(0 round 18px) !important;
  background: linear-gradient(145deg, rgba(17,32,49,.96), rgba(8,20,34,.98)) !important;
}

/* Release buttons/dialogs stay on whole pixels and never keep a blur filter. */
.release-page .release-participant-button,
.release-page .release-participant-button:hover,
.release-page .release-participant-button:focus-visible,
.release-page .release-participant-button:active,
.release-page .release-participant-visual,
.release-page .release-participant-visual > span,
.release-page .release-participant-button-copy,
.release-page .release-participant-button-copy strong,
.release-page .release-participant-button-copy small,
.release-page .release-participant-button-arrow {
  filter: none !important;
  transform: none !important;
  will-change: auto !important;
  backface-visibility: visible !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

.release-page .release-participant-button {
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

.release-participants-dialog .release-participants-modal-card,
.release-participants-dialog.is-visible .release-participants-modal-card,
.release-participants-dialog.is-closing .release-participants-modal-card {
  filter: none !important;
}

.release-participants-modal-symbol {
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 12px !important;
  font-size: 15px !important;
  transform: none !important;
  filter: none !important;
}

.release-participants-modal-symbol-team {
  color: #70d3ff !important;
  border: 1px solid rgba(71,184,244,.28) !important;
  background: rgba(35,126,184,.16) !important;
}

.release-participants-modal-symbol-characters {
  color: #c2afff !important;
  border: 1px solid rgba(157,125,255,.28) !important;
  background: rgba(92,61,166,.16) !important;
}

/* Users page: single compact row per person, sticky labels and local scrolling. */
.admin-page-users .admin-main {
  max-width: none !important;
  padding: 14px 16px 24px !important;
}

.admin-page-users .admin-main > h1 {
  margin: 0 0 2px !important;
  font-size: clamp(23px, 2vw, 31px) !important;
}

.admin-page-users .admin-main > h1 + .muted {
  margin: 0 0 10px !important;
  font-size: 11px !important;
}

.admin-page-users .admin-panel {
  padding: 10px !important;
  border-radius: 16px !important;
}

.admin-page-users .panel-head {
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.admin-page-users .admin-search input {
  min-height: 36px !important;
}

.admin-page-users .admin-users-table-wrap {
  max-height: calc(100dvh - 230px);
  overflow: auto !important;
  border-radius: 12px !important;
  scrollbar-gutter: stable;
}

.admin-page-users .admin-users-table {
  min-width: 1050px !important;
  table-layout: fixed !important;
  font-size: 11px !important;
}

.admin-page-users .admin-users-table thead {
  position: sticky;
  top: 0;
  z-index: 5;
}

.admin-page-users .admin-users-table th {
  padding: 8px 7px !important;
  background: #0a1625 !important;
  font-size: 9px !important;
  letter-spacing: .04em !important;
  white-space: nowrap;
}

.admin-page-users .admin-users-table td {
  padding: 7px !important;
  height: 56px !important;
  overflow: visible !important;
}

.admin-page-users .admin-users-table th:nth-child(1) { width: 205px !important; }
.admin-page-users .admin-users-table th:nth-child(2) { width: 175px !important; }
.admin-page-users .admin-users-table th:nth-child(3) { width: 145px !important; }
.admin-page-users .admin-users-table th:nth-child(4),
.admin-page-users .admin-users-table th:nth-child(5) { width: 62px !important; }
.admin-page-users .admin-users-table th:nth-child(6) { width: 165px !important; }
.admin-page-users .admin-users-table th:nth-child(7) { width: 90px !important; }
.admin-page-users .admin-users-table th:nth-child(8) { width: 185px !important; }

.admin-user-identity-compact {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
}

.admin-user-identity-compact > a {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(91,164,220,.2);
  border-radius: 10px;
  color: #63c8ff;
  background: rgba(34,125,184,.1);
}

.admin-username-input {
  width: 100% !important;
  min-width: 0 !important;
  height: 32px !important;
  padding: 5px 8px !important;
  border-radius: 9px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.admin-user-description-compact {
  margin: 4px 0 0 38px;
  position: relative;
}

.admin-user-description-compact summary {
  width: max-content;
  cursor: pointer;
  color: #7ea0be;
  font-size: 9px;
  user-select: none;
}

.admin-user-description-compact[open] textarea {
  width: 310px !important;
  min-height: 58px !important;
  margin-top: 6px;
  padding: 8px !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  resize: vertical;
}

.admin-page-users .admin-users-table select,
.admin-page-users .xp-admin-fields input {
  height: 32px !important;
  min-height: 32px !important;
  padding-block: 4px !important;
  font-size: 10px !important;
}

.admin-page-users .xp-admin-fields {
  display: grid !important;
  grid-template-columns: 68px 52px !important;
  gap: 4px !important;
}

.admin-page-users .xp-admin-fields small {
  grid-column: 1 / -1;
  font-size: 8.5px !important;
  white-space: nowrap;
}

.admin-page-users .table-actions {
  grid-template-columns: 1fr 1fr !important;
  gap: 5px !important;
}

.admin-page-users .table-actions .btn {
  min-height: 32px !important;
  padding: 5px 7px !important;
  font-size: 9px !important;
  border-radius: 9px !important;
}

.admin-page-users #create-user {
  margin-top: 12px !important;
}

/* Five mobile utility actions use equal cells and a single optical baseline. */
@media (max-width: 900px) {
  .site-header .main-nav {
    grid-template-columns: repeat(5, minmax(42px, 1fr)) !important;
    align-items: center !important;
    justify-items: stretch !important;
    gap: 8px !important;
  }

  .site-header .main-nav > .user-chip { order: 20 !important; }
  .site-header .main-nav > .nav-favorites-icon { order: 21 !important; }
  .site-header .main-nav > .nav-quests-icon { order: 22 !important; }
  .site-header .main-nav > .notification-link { order: 23 !important; }
  .site-header .main-nav > .theme-toggle { order: 24 !important; }
  .site-header .main-nav > .nav-logout-icon { order: 25 !important; }

  .site-header .main-nav > .nav-favorites-icon,
  .site-header .main-nav > .nav-quests-icon,
  .site-header .main-nav > .notification-link,
  .site-header .main-nav > .theme-toggle,
  .site-header .main-nav > .nav-logout-icon {
    grid-column: auto !important;
    align-self: center !important;
    justify-self: stretch !important;
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px !important;
    line-height: 1 !important;
  }

  .site-header .main-nav > .nav-favorites-icon i,
  .site-header .main-nav > .nav-quests-icon i,
  .site-header .main-nav > .notification-link i,
  .site-header .main-nav > .theme-toggle i,
  .site-header .main-nav > .nav-logout-icon i {
    display: block !important;
    width: 1em !important;
    margin: 0 !important;
    line-height: 1 !important;
    text-align: center !important;
  }

  .site-header .main-nav > .nav-quests-icon > span,
  .site-header .main-nav > .notification-link > span {
    position: absolute !important;
    top: 3px !important;
    right: 3px !important;
  }
}

@media (max-width: 620px) {
  .remote-modal-card {
    border-radius: 19px !important;
    clip-path: inset(0 round 19px) !important;
  }

  .admin-page-users .admin-main { padding-inline: 10px !important; }
  .admin-page-users .admin-users-table-wrap { max-height: calc(100dvh - 210px); }
}
