:root {
  --grh-primary: #CC003D;
  --grh-primary-alt: #CB003C;
  --grh-dark: #061718;
  --grh-gray: #6C7F90;
  --grh-bg: #FFFFFF;
  --grh-bg-soft: #F7F8FA;
  --grh-border: #E5E7EB;
  --grh-radius: 18px;
}

* {
  box-sizing: border-box;
}

body {
  font-family: 'Red Hat Display', sans-serif;
  background: var(--grh-bg-soft);
  color: var(--grh-dark);
}

.grh-primary {
  background-color: var(--grh-primary) !important;
}

.grh-primary-text {
  color: var(--grh-primary) !important;
}

.grh-card {
  background: var(--grh-bg);
  border-radius: var(--grh-radius);
  border: 1px solid var(--grh-border);
  box-shadow: 0 10px 30px rgba(6, 23, 24, 0.06);
}

.grh-btn {
  background: var(--grh-primary);
  color: #fff;
  border-radius: 999px;
  text-transform: none;
  font-weight: 700;
}

.grh-btn:hover {
  background: var(--grh-primary-alt);
}

.grh-muted {
  color: var(--grh-gray);
}

.app-shell {
  min-height: 100vh;
  padding-bottom: 90px;
}

.app-bottom-nav {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  max-width: 520px;
  margin: 0 auto;
  height: 74px;
  background: #fff;
  border-top: 1px solid var(--grh-border);
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  z-index: 1000;
  box-shadow: 0 -10px 30px rgba(6, 23, 24, 0.08);

  /* sobrescreve Materialize */
  line-height: normal !important;
}

.app-bottom-nav a {
  flex: 1;
  height: 100%;
  color: var(--grh-gray);
  font-size: 11px;
  text-align: center;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-decoration: none;
  line-height: 1.1 !important;
  padding: 0;
}

.app-bottom-nav a.active {
  color: var(--grh-primary);
  font-weight: 800;
}

.app-bottom-nav i {
  font-size: 23px;
  line-height: 1 !important;
  height: auto !important;
}

.app-bottom-nav span {
  display: block;
  line-height: 1.1 !important;
}

.platform-shell {
  min-height: 100vh;
  display: flex;
}

.platform-sidebar {
  width: 280px;
  background: var(--grh-dark);
  color: #fff;
  padding: 28px 22px;
  position: fixed;
  inset: 0 auto 0 0;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
}

.platform-sidebar::-webkit-scrollbar {
  width: 6px;
}

.platform-sidebar::-webkit-scrollbar-track {
  background: transparent;
}

.platform-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 999px;
}

.platform-sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.28);
}

.platform-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 36px;
}

.platform-brand-symbol {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: var(--grh-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 900;
  letter-spacing: -1px;
}

.platform-brand strong {
  display: block;
  font-size: 18px;
  line-height: 1;
}

.platform-brand span {
  display: block;
  font-size: 13px;
  color: rgba(255,255,255,.65);
  margin-top: 4px;
}

.platform-menu {
  background: transparent;
  box-shadow: none;
  height: auto;
  line-height: normal;
}

.platform-menu a {
  display: flex;
  align-items: center;
  gap: 12px;
  color: rgba(255,255,255,.72);
  padding: 13px 14px;
  border-radius: 14px;
  margin-bottom: 8px;
  font-weight: 600;
}

.platform-menu a:hover {
  background: rgba(255,255,255,.08);
  color: #fff;
}

.platform-menu i {
  font-size: 21px;
}

.platform-main {
  flex: 1;
  margin-left: 280px;
  padding: 28px;
}

.platform-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 28px;
}

.platform-topbar h5 {
  font-weight: 900;
  margin: 0;
  color: var(--grh-dark);
}

.platform-topbar p {
  margin: 6px 0 0;
  color: var(--grh-gray);
}

.platform-user {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--grh-gray);
  font-weight: 600;
}

.platform-messages {
  margin-bottom: 20px;
}

.grh-page-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.grh-table-card {
  overflow: hidden;
}

.grh-table-card table {
  margin: 0;
}

.grh-table-card th {
  color: var(--grh-gray);
  font-size: 13px;
  font-weight: 700;
}

.grh-status {
  display: inline-flex;
  align-items: center;
  padding: 5px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.grh-status-draft {
  background: #f1f5f9;
  color: #475569;
}

.grh-status-published {
  background: #dcfce7;
  color: #166534;
}

.grh-status-closed {
  background: #fee2e2;
  color: #991b1b;
}

.grh-empty-state {
  padding: 48px 24px;
  text-align: center;
}

.grh-empty-state i {
  font-size: 54px;
  color: var(--grh-gray);
  opacity: .5;
}

.grh-empty-state h5 {
  font-weight: 900;
  margin-top: 16px;
}

.grh-form-card {
  padding: 28px;
}

@media (max-width: 992px) {
  .platform-main {
    margin-left: 0;
    padding: 18px;
  }

  .platform-topbar {
    align-items: flex-start;
    gap: 16px;
  }
}

select.browser-default {
  width: 100%;
  height: 44px;
  border: 1px solid var(--grh-border);
  border-radius: 12px;
  background: #fff;
  padding: 0 12px;
  font-family: 'Red Hat Display', sans-serif;
  color: var(--grh-dark);
}

select.browser-default:focus {
  outline: none;
  border-color: var(--grh-primary);
}

.grh-app-main {
  max-width: 520px;
  margin: 0 auto;
  min-height: 100vh;
  background: var(--grh-bg-soft);
}

.app-header {
  background: linear-gradient(135deg, var(--grh-primary), #9f002f);
  color: #fff;
  padding: 28px 22px 30px;
  border-radius: 0 0 28px 28px;
}

.app-header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.app-logo-pill {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  border-radius: 999px;
  padding: 7px 12px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.app-header h4 {
  font-weight: 900;
  margin: 24px 0 6px;
  line-height: 1.08;
}

.app-header p {
  margin: 0;
  color: rgba(255,255,255,.82);
}

.app-content {
  padding: 18px;
}

.app-section {
  margin-bottom: 24px;
}

.app-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}

.app-section-header h6 {
  font-weight: 900;
  margin: 0;
}

.app-section-header a {
  color: var(--grh-primary);
  font-weight: 800;
  font-size: 13px;
}

.app-card {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.06);
}

.app-card + .app-card {
  margin-top: 12px;
}

.app-quick-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.app-quick-card {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 20px;
  padding: 16px;
  color: var(--grh-dark);
  min-height: 104px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.app-quick-card i {
  color: var(--grh-primary);
}

.app-quick-card strong {
  font-weight: 900;
}

.app-activity-time {
  color: var(--grh-primary);
  font-weight: 900;
  font-size: 13px;
  margin-bottom: 5px;
}

.app-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 10px;
  background: #f1f5f9;
  color: var(--grh-gray);
  font-size: 12px;
  font-weight: 800;
}

.app-post-image {
  width: 100%;
  border-radius: 16px;
  margin-top: 12px;
  object-fit: cover;
  max-height: 220px;
}

.app-sponsor-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.app-sponsor-card {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 18px;
  padding: 14px;
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app-sponsor-card img {
  max-width: 100%;
  max-height: 70px;
  object-fit: contain;
}

.app-empty {
  text-align: center;
  color: var(--grh-gray);
  padding: 18px;
}

.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(204, 0, 61, 0.12), transparent 34%),
    var(--grh-bg-soft);
}

.login-card {
  width: 100%;
  max-width: 430px;
  padding: 34px;
}

.login-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}

.login-brand strong {
  display: block;
  font-size: 20px;
  line-height: 1;
  color: var(--grh-dark);
}

.login-brand span {
  display: block;
  color: var(--grh-gray);
  margin-top: 4px;
}

.login-card h4 {
  font-weight: 900;
  margin: 0 0 8px;
}

.app-page-header {
  background: #fff;
  border-bottom: 1px solid var(--grh-border);
  padding: 18px 18px 16px;
  position: sticky;
  top: 0;
  z-index: 20;
}

.app-page-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-page-top h5 {
  margin: 0;
  font-weight: 900;
  color: var(--grh-dark);
}

.app-page-top p {
  margin: 3px 0 0;
  color: var(--grh-gray);
  font-size: 13px;
}

.app-icon-button {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: var(--grh-bg-soft);
  color: var(--grh-dark);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-day-title {
  margin: 8px 0 12px;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.app-day-title span {
  font-weight: 900;
  color: var(--grh-dark);
  font-size: 18px;
}

.app-day-title strong {
  color: var(--grh-gray);
  font-size: 13px;
  text-transform: capitalize;
}

.app-schedule-card {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
}

.app-schedule-time {
  border-right: 1px solid var(--grh-border);
  padding-right: 12px;
}

.app-schedule-time span {
  display: block;
  font-weight: 900;
  color: var(--grh-primary);
  font-size: 16px;
}

.app-schedule-time small {
  color: var(--grh-gray);
  font-weight: 700;
}

.app-schedule-body strong {
  font-size: 16px;
  line-height: 1.2;
}

.app-speakers-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.app-mini-speaker {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--grh-bg-soft);
  border-radius: 999px;
  padding: 5px 9px 5px 5px;
}

.app-mini-speaker img,
.app-mini-speaker span {
  width: 24px;
  height: 24px;
  border-radius: 50%;
}

.app-mini-speaker img {
  object-fit: cover;
}

.app-mini-speaker span {
  background: var(--grh-primary);
  color: #fff;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
}

.app-mini-speaker small {
  color: var(--grh-dark);
  font-weight: 800;
}

.app-card-link {
  color: var(--grh-dark);
  text-decoration: none;
  display: grid;
}

.app-card-link:hover {
  color: var(--grh-dark);
}

.app-activity-hero h4 {
  margin: 8px 0 0;
  font-weight: 900;
  line-height: 1.08;
  color: var(--grh-dark);
}

.app-favorite-button {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid var(--grh-border);
  background: #fff;
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.app-favorite-button i {
  font-size: 25px;
}

.app-detail-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.app-speaker-card {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: flex-start;
}

.app-speaker-photo img,
.app-speaker-photo span {
  width: 64px;
  height: 64px;
  border-radius: 20px;
}

.app-speaker-photo img {
  object-fit: cover;
}

.app-speaker-photo span {
  background: var(--grh-primary);
  color: #fff;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
}

.app-speaker-card strong {
  font-weight: 900;
  font-size: 17px;
}

.app-favorite-button.active {
  background: var(--grh-primary);
  color: #fff;
  border-color: var(--grh-primary);
}

#activity-favorite-wrapper form {
  margin: 0;
}

.app-timeline-post {
  margin-bottom: 14px;
}

.app-timeline-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}

.app-timeline-avatar {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: var(--grh-primary);
  color: #fff;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: lowercase;
}

.app-timeline-meta strong {
  font-weight: 900;
  color: var(--grh-dark);
}

.app-timeline-meta p {
  margin: 2px 0 0;
  font-size: 12px;
}

.app-timeline-post h6 {
  font-weight: 900;
  margin: 0 0 8px;
  line-height: 1.25;
}

.app-timeline-content {
  margin: 0;
  line-height: 1.6;
  color: var(--grh-dark);
}

.app-timeline-image {
  width: 100%;
  border-radius: 18px;
  margin-top: 14px;
  object-fit: cover;
  max-height: 360px;
}

.app-notification-card {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.app-notification-card.unread {
  border-color: rgba(204, 0, 61, 0.28);
  box-shadow: 0 12px 30px rgba(204, 0, 61, 0.08);
}

.app-notification-icon {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-notification-icon i {
  font-size: 23px;
}

.app-notification-body strong {
  font-weight: 900;
  color: var(--grh-dark);
}

.app-notification-body p {
  margin: 8px 0 8px;
  line-height: 1.55;
  color: var(--grh-dark);
}

.app-unread-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--grh-primary);
  display: inline-block;
}

.app-notification-bell {
  position: relative;
  color: #fff;
  display: inline-flex;
}

.app-notification-bell span {
  position: absolute;
  top: -7px;
  right: -8px;
  min-width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #fff;
  color: var(--grh-primary);
  font-size: 11px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-sponsor-detail-card {
  margin-bottom: 14px;
}

.app-sponsor-logo-box {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 18px;
  min-height: 116px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
  margin-bottom: 14px;
}

.app-sponsor-logo-box img {
  max-width: 100%;
  max-height: 86px;
  object-fit: contain;
}

.app-sponsor-placeholder {
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-sponsor-info strong {
  font-weight: 900;
  font-size: 18px;
  color: var(--grh-dark);
}

.app-sponsor-info p {
  margin: 10px 0;
  line-height: 1.55;
}

.app-sponsor-location {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--grh-gray);
  font-weight: 800;
  margin-top: 2px;
}

.app-sponsor-location i {
  font-size: 17px;
  color: var(--grh-primary);
}

.app-sponsor-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.app-sponsor-links a {
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  font-weight: 900;
  font-size: 13px;
}

.app-search-form {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 22px;
  padding: 16px;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.06);
}

.app-network-card {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  margin-bottom: 12px;
}

.app-network-avatar img,
.app-network-avatar span {
  width: 58px;
  height: 58px;
  border-radius: 20px;
}

.app-network-avatar img {
  object-fit: cover;
}

.app-network-avatar span {
  background: var(--grh-primary);
  color: #fff;
  font-weight: 900;
  font-size: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-network-info strong {
  font-weight: 900;
  font-size: 16px;
  color: var(--grh-dark);
}

.app-network-info p {
  margin: 4px 0 10px;
}

.app-network-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.app-network-actions {
  display: flex;
  gap: 14px;
  margin-top: 12px;
}

.app-network-actions a {
  font-weight: 900;
  font-size: 13px;
}

.app-profile-hero {
  text-align: center;
  padding: 26px 18px;
}

.app-profile-avatar {
  margin: 0 auto 14px;
}

.app-profile-avatar img,
.app-profile-avatar span {
  width: 92px;
  height: 92px;
  border-radius: 30px;
}

.app-profile-avatar img {
  object-fit: cover;
}

.app-profile-avatar span {
  background: var(--grh-primary);
  color: #fff;
  font-weight: 900;
  font-size: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-profile-hero h4 {
  margin: 0;
  font-weight: 900;
  line-height: 1.1;
}

.app-profile-hero p {
  margin: 8px 0 0;
}

.app-profile-tags {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 14px;
}

.app-profile-stats {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.app-profile-stats .app-card {
  text-align: center;
}

.app-profile-stats strong {
  display: block;
  font-size: 24px;
  font-weight: 900;
  color: var(--grh-primary);
  line-height: 1;
}

.app-profile-stats span {
  display: block;
  color: var(--grh-gray);
  margin-top: 6px;
  font-weight: 800;
  font-size: 13px;
}

.app-profile-info-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--grh-border);
}

.app-profile-info-row:last-child {
  border-bottom: 0;
}

.app-profile-info-row span {
  color: var(--grh-gray);
  font-weight: 700;
}

.app-profile-info-row strong {
  color: var(--grh-dark);
  font-weight: 900;
  text-align: right;
  word-break: break-word;
}

.app-chat-list-card {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 14px;
  margin-bottom: 12px;
}

.app-chat-list-card strong {
  font-weight: 900;
  color: var(--grh-dark);
}

.app-chat-list-card p {
  margin: 5px 0 0;
}

.app-chat-content {
  max-width: 520px;
  margin: 0 auto;
  min-height: calc(100vh - 74px);
  padding: 16px 14px 92px;
}

.app-chat-messages {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.app-chat-message {
  display: flex;
}

.app-chat-message.mine {
  justify-content: flex-end;
}

.app-chat-message.theirs {
  justify-content: flex-start;
}

.app-chat-bubble {
  max-width: 82%;
  border-radius: 20px;
  padding: 10px 13px;
  box-shadow: 0 8px 24px rgba(6, 23, 24, 0.06);
}

.app-chat-message.mine .app-chat-bubble {
  background: var(--grh-primary);
  color: #fff;
  border-bottom-right-radius: 6px;
}

.app-chat-message.theirs .app-chat-bubble {
  background: #fff;
  color: var(--grh-dark);
  border-bottom-left-radius: 6px;
}

.app-chat-bubble p {
  margin: 0;
  line-height: 1.45;
}

.app-chat-bubble small {
  display: block;
  margin-top: 5px;
  opacity: .7;
  font-size: 11px;
  text-align: right;
}

.app-chat-form {
  position: fixed;
  left: 50%;
  bottom: 74px;
  transform: translateX(-50%);
  width: 100%;
  max-width: 520px;
  background: #fff;
  border-top: 1px solid var(--grh-border);
  padding: 10px 12px;
  display: grid;
  grid-template-columns: 1fr 52px;
  gap: 8px;
  align-items: end;
  z-index: 900;
}

.app-chat-form textarea {
  min-height: 44px !important;
  max-height: 120px;
  margin: 0 !important;
  border: 1px solid var(--grh-border) !important;
  border-radius: 18px !important;
  padding: 10px 12px !important;
  box-sizing: border-box !important;
  background: var(--grh-bg-soft) !important;
}

.app-chat-form .btn {
  height: 44px;
  width: 52px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-chat-form textarea:focus {
  outline: none !important;
  border-color: var(--grh-primary) !important;
  box-shadow: none !important;
}

.app-chat-form .input-field {
  margin: 0;
}
.app-ranking-user-card {
  background: linear-gradient(135deg, var(--grh-primary), #8f002b);
  color: #fff;
  border: 0;
}

.app-ranking-user-card > span {
  display: block;
  font-size: 13px;
  font-weight: 800;
  opacity: .85;
  margin-bottom: 12px;
}

.app-ranking-user-main {
  display: flex;
  align-items: center;
  gap: 16px;
}

.app-ranking-user-main > strong {
  font-size: 44px;
  line-height: 1;
  font-weight: 900;
}

.app-ranking-user-main h6 {
  margin: 0;
  color: #fff;
  font-weight: 900;
}

.app-ranking-user-main p {
  margin: 4px 0 0;
  color: rgba(255,255,255,.82);
}

.app-ranking-card {
  display: grid;
  grid-template-columns: 42px 48px 1fr 56px;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}

.app-ranking-card.is-me {
  border-color: rgba(204, 0, 61, 0.32);
  box-shadow: 0 12px 30px rgba(204, 0, 61, 0.08);
}

.app-ranking-position {
  font-weight: 900;
  color: var(--grh-primary);
  text-align: center;
}

.app-ranking-avatar img,
.app-ranking-avatar span {
  width: 48px;
  height: 48px;
  border-radius: 17px;
}

.app-ranking-avatar img {
  object-fit: cover;
}

.app-ranking-avatar span {
  background: rgba(204, 0, 61, 0.1);
  color: var(--grh-primary);
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-ranking-info strong {
  color: var(--grh-dark);
  font-weight: 900;
  line-height: 1.15;
}

.app-ranking-info strong small {
  background: rgba(204, 0, 61, 0.1);
  color: var(--grh-primary);
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 900;
  margin-left: 4px;
}

.app-ranking-info p {
  margin: 4px 0 0;
  font-size: 12px;
}

.app-ranking-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 5px;
}

.app-ranking-meta span {
  font-size: 10px;
  font-weight: 800;
  color: var(--grh-gray);
}

.app-ranking-points {
  text-align: right;
}

.app-ranking-points strong {
  display: block;
  color: var(--grh-primary);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.app-ranking-points span {
  font-size: 11px;
  color: var(--grh-gray);
  font-weight: 800;
}

.app-point-card {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.app-point-card strong {
  font-weight: 900;
  color: var(--grh-dark);
}

.app-point-card p {
  margin: 4px 0 0;
  font-size: 12px;
}

.app-point-card > span {
  color: var(--grh-primary);
  font-weight: 900;
  font-size: 18px;
}

.app-ranking-section {
  margin-top: 28px;
}

.app-terms-card h5 {
  font-weight: 900;
  color: var(--grh-dark);
  margin: 14px 0 4px;
}

.app-terms-content {
  margin-top: 18px;
  line-height: 1.65;
  color: var(--grh-dark);
  max-height: 420px;
  overflow-y: auto;
  padding-right: 6px;
}

.app-terms-form {
  margin-top: 14px;
}

.app-terms-form label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.app-terms-form [type="checkbox"] + span:not(.lever) {
  color: var(--grh-dark);
  font-weight: 800;
  line-height: 1.4;
  padding-left: 30px;
}

.app-terms-form [type="checkbox"]:checked + span:not(.lever):before {
  border-right: 2px solid var(--grh-primary);
  border-bottom: 2px solid var(--grh-primary);
}

.platform-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.grh-btn-outline {
  background: #fff !important;
  color: var(--grh-primary) !important;
  border: 1px solid rgba(204, 0, 61, 0.28) !important;
  box-shadow: none !important;
  font-weight: 900;
}

.platform-event-hero {
  background: linear-gradient(135deg, var(--grh-primary), #8f002b);
  color: #fff;
  border-radius: 26px;
  padding: 26px;
  margin-bottom: 22px;
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 22px;
  align-items: stretch;
}

.platform-event-hero h5 {
  margin: 14px 0 8px;
  font-weight: 900;
  color: #fff;
}

.platform-event-hero p {
  color: rgba(255,255,255,.86);
  margin: 0;
  line-height: 1.6;
}

.platform-app-link-card {
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 20px;
  padding: 18px;
  min-width: 0;
}

.platform-app-link-card span,
.platform-app-link-card small {
  display: block;
  color: rgba(255,255,255,.76);
  font-weight: 700;
}

.platform-app-link-card strong {
  display: block;
  color: #fff;
  font-weight: 900;
  margin: 8px 0;
  word-break: break-all;
}

.platform-app-link-card a {
  color: #fff;
  font-weight: 900;
  text-decoration: underline;
}

.platform-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 12px;
  font-weight: 900;
  background: rgba(255,255,255,.18);
  color: #fff;
}

.platform-metric-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.platform-metric-card {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 22px;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.05);
}

.platform-metric-card span {
  display: block;
  color: var(--grh-gray);
  font-weight: 800;
  font-size: 13px;
}

.platform-metric-card strong {
  display: block;
  margin-top: 8px;
  font-size: 32px;
  line-height: 1;
  color: var(--grh-primary);
  font-weight: 900;
}

.platform-metric-card small {
  display: block;
  margin-top: 8px;
  color: var(--grh-gray);
  font-weight: 700;
}

.platform-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .7fr);
  gap: 18px;
  margin-bottom: 18px;
}

.platform-card {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 24px;
  padding: 20px;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.05);
}

.platform-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}

.platform-card-header h6 {
  margin: 0;
  font-weight: 900;
  color: var(--grh-dark);
}

.platform-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 11px;
}

.platform-shortcut-grid a {
  border: 1px solid var(--grh-border);
  border-radius: 18px;
  padding: 14px;
  color: var(--grh-dark);
  font-weight: 900;
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 92px;
  justify-content: center;
}

.platform-shortcut-grid a i {
  color: var(--grh-primary);
}

.platform-ranking-list,
.platform-list-compact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.platform-ranking-row {
  display: grid;
  grid-template-columns: 42px 1fr 72px;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid var(--grh-border);
  padding-bottom: 10px;
}

.platform-ranking-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.platform-ranking-row > strong,
.platform-ranking-row b {
  color: var(--grh-primary);
  font-weight: 900;
}

.platform-ranking-row span,
.platform-list-compact strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
}

.platform-ranking-row small,
.platform-list-compact span {
  display: block;
  color: var(--grh-gray);
  font-size: 12px;
  margin-top: 3px;
}

.platform-list-compact > div {
  border-bottom: 1px solid var(--grh-border);
  padding-bottom: 10px;
}

.platform-list-compact > div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

@media (max-width: 1100px) {
  .platform-event-hero,
  .platform-detail-grid {
    grid-template-columns: 1fr;
  }

  .platform-metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .platform-shortcut-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .platform-metric-grid,
  .platform-shortcut-grid {
    grid-template-columns: 1fr;
  }
}

.platform-page-header {
  margin-bottom: 24px;
}

.app-error-screen {
  min-height: 100vh;
  max-width: 520px;
  margin: 0 auto;
  padding: 42px 18px 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app-error-card {
  width: 100%;
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 28px;
  padding: 30px 22px;
  text-align: center;
  box-shadow: 0 18px 42px rgba(6, 23, 24, 0.08);
}

.app-error-icon {
  width: 72px;
  height: 72px;
  border-radius: 24px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.app-error-icon i {
  font-size: 38px;
}

.app-error-card h4,
.global-error-card h3 {
  font-weight: 900;
  color: var(--grh-dark);
  margin: 0 0 10px;
}

.app-error-card p,
.global-error-card p {
  line-height: 1.6;
}

.app-error-actions {
  margin-top: 22px;
}

.global-error-page {
  min-height: 100vh;
  padding: 40px 18px;
  background: var(--grh-bg-soft);
  display: flex;
  align-items: center;
  justify-content: center;
}

.global-error-card {
  width: 100%;
  max-width: 520px;
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 28px;
  padding: 32px 24px;
  text-align: center;
  box-shadow: 0 18px 42px rgba(6, 23, 24, 0.08);
}

.app-empty-state {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 26px;
  padding: 30px 22px;
  text-align: center;
  box-shadow: 0 14px 34px rgba(6, 23, 24, 0.06);
}

.app-empty-state-icon {
  width: 70px;
  height: 70px;
  border-radius: 24px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.app-empty-state-icon i {
  font-size: 36px;
}

.app-empty-state h6 {
  font-weight: 900;
  color: var(--grh-dark);
  margin: 0 0 8px;
}

.app-empty-state p {
  margin: 0;
  line-height: 1.55;
}

.app-empty-state .btn,
.app-empty-state .grh-btn {
  margin-top: 18px;
}

.app-profile-edit-form .input-field {
  margin-bottom: 18px;
}

.app-form-file {
  margin-bottom: 18px;
}

.app-form-file label,
.app-interest-picker > label {
  display: block;
  font-weight: 900;
  color: var(--grh-dark);
  margin-bottom: 8px;
}

.app-interest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

.app-interest-chip {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin: 0;
}

.app-interest-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.app-interest-chip [type="checkbox"] + span:not(.lever) {
  padding-left: 0;
  height: auto;
  line-height: 1.2;
}

.app-interest-chip [type="checkbox"] + span:not(.lever)::before,
.app-interest-chip [type="checkbox"] + span:not(.lever)::after {
  display: none !important;
}

.app-interest-chip span {
  display: inline-flex;
  border-radius: 999px;
  padding: 9px 14px;
  border: 1px solid rgba(108, 127, 144, 0.22);
  background: #fff;
  color: var(--grh-gray);
  font-size: 13px;
  font-weight: 900;
  transition: .2s ease;
}

.app-interest-chip input:checked + span {
  background: var(--grh-primary);
  border-color: var(--grh-primary);
  color: #fff;
}

.platform-interest-chip:hover span,
.app-interest-chip:hover span {
  border-color: rgba(204, 0, 61, 0.35);
  color: var(--grh-primary);
}

.platform-interest-chip input:checked + span,
.app-interest-chip input:checked + span {
  box-shadow: 0 8px 20px rgba(204, 0, 61, 0.16);
}

.platform-interest-chip [type="checkbox"] + span:not(.lever),
.app-interest-chip [type="checkbox"] + span:not(.lever) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 38px;
  line-height: 1.15;
  padding: 9px 14px;
}

.app-network-suggestion {
  border-color: rgba(204, 0, 61, 0.24);
}

.app-network-match {
  display: inline-flex;
  margin-top: 8px;
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  font-size: 12px;
  font-weight: 900;
}

.app-sponsor-hero h4 {
  margin: 0 0 10px;
  font-weight: 900;
  color: var(--grh-dark);
  line-height: 1.1;
}

.app-card-title {
  margin: 0 0 12px;
  font-weight: 900;
  color: var(--grh-dark);
}

.app-sponsor-material {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 10px;
}

.app-sponsor-material strong {
  font-weight: 900;
  color: var(--grh-dark);
}

.app-sponsor-material p {
  margin: 4px 0 0;
  line-height: 1.4;
}

.app-sponsor-lead-card form {
  margin-top: 12px;
}

.app-alert-success {
  background: rgba(46, 125, 50, 0.09);
  color: #2e7d32;
  border: 1px solid rgba(46, 125, 50, 0.18);
  border-radius: 16px;
  padding: 12px;
  font-weight: 900;
  margin-bottom: 14px;
}

.platform-leads-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.platform-lead-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 16px;
  align-items: start;
  border-bottom: 1px solid var(--grh-border);
  padding-bottom: 12px;
}

.platform-lead-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.platform-lead-row strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
}

.platform-lead-row span {
  display: block;
  color: var(--grh-gray);
  font-size: 12px;
  margin-top: 3px;
}

.platform-lead-row p {
  margin: 8px 0 0;
  color: var(--grh-dark);
  line-height: 1.45;
  font-size: 13px;
}

.platform-lead-meta {
  text-align: right;
}

.platform-lead-meta b {
  display: block;
  color: var(--grh-primary);
  font-weight: 900;
}

.platform-lead-meta small {
  display: block;
  color: var(--grh-gray);
  margin-top: 4px;
  font-size: 12px;
}

@media (max-width: 760px) {
  .platform-lead-row {
    grid-template-columns: 1fr;
  }

  .platform-lead-meta {
    text-align: left;
  }
}

.platform-filter-form .browser-default,
.platform-filter-form input {
  width: 100%;
  border: 1px solid var(--grh-border);
  border-radius: 14px;
  padding: 0 12px;
  height: 44px;
  background: #fff;
  color: var(--grh-dark);
  box-sizing: border-box;
}

.platform-table-wrapper {
  width: 100%;
  overflow-x: auto;
}

.platform-table th {
  color: var(--grh-gray);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-weight: 900;
}

.platform-table td {
  vertical-align: top;
}

.platform-table td strong {
  color: var(--grh-dark);
  font-weight: 900;
}

.platform-empty-state {
  text-align: center;
  padding: 36px 18px;
}

.platform-empty-state i {
  font-size: 46px;
  color: var(--grh-primary);
  opacity: .8;
}

.platform-empty-state h6 {
  font-weight: 900;
  color: var(--grh-dark);
  margin: 10px 0 6px;
}

.platform-interest-picker {
  margin: 8px 0 20px;
}

.platform-interest-picker > label {
  display: block;
  font-weight: 900;
  color: var(--grh-dark);
  margin-bottom: 10px;
  font-size: 13px;
}

.platform-interest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.platform-interest-chip {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin: 0;
}

.platform-interest-chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.platform-interest-chip [type="checkbox"] + span:not(.lever) {
  padding-left: 0;
  height: auto;
  line-height: 1.2;
}

.platform-interest-chip [type="checkbox"] + span:not(.lever)::before,
.platform-interest-chip [type="checkbox"] + span:not(.lever)::after {
  display: none !important;
}

.platform-interest-chip span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 9px 14px;
  border: 1px solid rgba(108, 127, 144, 0.22);
  background: #fff;
  color: var(--grh-gray);
  font-size: 13px;
  font-weight: 900;
  transition: .2s ease;
}

.platform-interest-chip input:checked + span {
  background: var(--grh-primary);
  border-color: var(--grh-primary);
  color: #fff;
}

.platform-interest-chip [type="checkbox"] + span:not(.lever),
.app-interest-chip [type="checkbox"] + span:not(.lever) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center;
  min-height: 38px;
  line-height: 1.15 !important;
  padding: 9px 14px !important;
  box-sizing: border-box;
}

.platform-interest-chip input:checked + span,
.app-interest-chip input:checked + span {
  background: var(--grh-primary);
  border-color: var(--grh-primary);
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(204, 0, 61, 0.16);
}

.platform-interest-chip input:checked:hover + span,
.app-interest-chip input:checked:hover + span {
  color: #fff !important;
  background: var(--grh-primary);
  border-color: var(--grh-primary);
}

.app-survey-card {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  margin-bottom: 14px;
}

.app-survey-icon {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-survey-icon i {
  font-size: 26px;
}

.app-survey-content h6 {
  font-weight: 900;
  color: var(--grh-dark);
  margin: 10px 0 6px;
  line-height: 1.25;
}

.app-survey-content p {
  margin: 0;
  line-height: 1.5;
}

.app-survey-intro {
  margin-bottom: 14px;
}

.app-survey-intro p {
  margin: 14px 0 0;
  line-height: 1.6;
}

.app-survey-question {
  margin-bottom: 14px;
}

.app-survey-question h6 {
  font-weight: 900;
  color: var(--grh-dark);
  margin: 0 0 12px;
  line-height: 1.35;
}

.app-survey-field ul {
  margin: 0;
}

.app-survey-field li {
  margin-bottom: 10px;
}

.app-survey-field label {
  color: var(--grh-dark);
  font-weight: 800;
}

.app-survey-field [type="radio"] + span,
.app-survey-field [type="checkbox"] + span {
  color: var(--grh-dark);
  font-weight: 800;
}

.app-survey-field textarea {
  min-height: 96px;
}

.app-form-errors {
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  border-radius: 12px;
  padding: 10px 12px;
  margin-top: 10px;
  font-weight: 800;
  font-size: 13px;
}

.app-survey-answered {
  text-align: center;
  padding: 30px 22px;
}

.app-survey-answered h4 {
  margin: 0 0 10px;
  font-weight: 900;
  color: var(--grh-dark);
}

/* =========================================================
   28. App - Home do evento com capa dinâmica
   Usa event.banner via --event-bg no wrapper .app-event-page
   ========================================================= */

/* Evita estouro horizontal no PWA */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.grh-app-main,
.app-shell,
.app-main,
.app-event-page,
.app-content,
.app-bottom-nav {
  max-width: 100vw;
  overflow-x: hidden;
}

img,
video,
iframe {
  max-width: 100%;
}

/* Página da Home com background do evento */
.app-event-page {
  position: relative;
  isolation: isolate;
  max-width: 100%;
  overflow-x: hidden;
}

/* Fundo sutil no corpo da Home */
.app-event-page::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(
      180deg,
      rgba(247, 248, 250, 0.90) 0%,
      rgba(247, 248, 250, 0.96) 34%,
      rgba(247, 248, 250, 1) 76%
    ),
    var(--event-bg);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: 0.52;
  pointer-events: none;
  z-index: -1;
}

/* Header/capa do evento */
.app-event-cover {
  position: relative;
  min-height: 330px;
  margin: -18px -18px 0;
  padding: 20px 28px 54px;
  border-radius: 0;
  color: #fff;
  overflow: hidden;
  background: #061718;
  box-shadow: none;
}

/* Imagem de capa do evento */
.app-event-cover-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(
      180deg,
      rgba(6, 23, 24, 0.18) 0%,
      rgba(6, 23, 24, 0.48) 56%,
      rgba(6, 23, 24, 0.88) 100%
    ),
    var(--event-bg);
  background-size: cover;
  background-position: center 38%;
  background-repeat: no-repeat;
  transform: scale(1.03);
  z-index: 0;
}

/* Remove efeitos antigos do header */
.app-event-cover::before,
.app-event-cover::after {
  display: none;
}

/* Conteúdo interno do header */
.app-event-cover-top,
.app-event-cover-content {
  position: relative;
  z-index: 2;
}

.app-event-cover-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.app-event-cover-content {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* Logo do evento */
.app-event-logo-dark,
.app-event-logo-fallback-dark {
  width: 128px;
  height: 92px;
  margin-left: 0;
  border-radius: 24px;
  background: rgba(6, 23, 24, 0.34);
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(10px);
}

.app-event-logo-dark {
  padding: 8px 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-event-logo-dark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.app-event-logo-fallback-dark {
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -2px;
}

/* Ações do topo: notificações e perfil */
.app-event-cover-actions {
  display: flex;
  align-items: center;
  gap: 5px;
}

.app-event-cover-actions a {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(8px);
  text-decoration: none;
}

.app-event-cover-actions a span {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--grh-primary);
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Textos da capa */
.app-event-cover-content > span {
  width: fit-content;
  display: inline-flex;
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  margin-bottom: 8px;
  backdrop-filter: blur(8px);
}

.app-event-cover-content h3 {
  margin: 0 0 10px;
  color: #fff;
  font-weight: 900;
  font-size: 32px;
  line-height: 1.02;
  letter-spacing: -1.2px;
  text-shadow: 0 8px 26px rgba(0, 0, 0, 0.34);
}

.app-event-cover-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.app-event-cover-info p {
  display: flex;
  align-items: center;
  gap: 6px;
  color: rgba(255, 255, 255, 0.88);
  margin: 0;
  font-size: 13px;
  font-weight: 800;
}

.app-event-cover-info p i {
  font-size: 17px;
}

/* Corpo da Home sobrepondo a capa */
.app-event-page > .app-content {
  position: relative;
  margin-top: -34px;
  padding-top: 34px;
  border-radius: 34px 34px 0 0;
  background:
    linear-gradient(
      180deg,
      rgba(247, 248, 250, 0.96) 0%,
      rgba(247, 248, 250, 0.98) 34%,
      rgba(247, 248, 250, 1) 100%
    );
  box-shadow: 0 -18px 38px rgba(6, 23, 24, 0.16);
  overflow: hidden;
}

/* Efeito do background dentro do content */
.app-event-page > .app-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(
      180deg,
      rgba(247, 248, 250, 0.82) 0%,
      rgba(247, 248, 250, 0.96) 42%,
      rgba(247, 248, 250, 1) 100%
    ),
    var(--event-bg);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: 0.32;
  pointer-events: none;
  z-index: -1;
}

.app-event-page .app-section {
  position: relative;
  z-index: 2;
}

.app-event-page .app-card,
.app-event-page .app-quick-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
}

/* Responsivo */
@media (max-width: 420px) {
  .app-event-cover {
    min-height: 320px;
    padding-left: 30px;
    padding-right: 22px;
    padding-top: 18px;
    padding-bottom: 56px;
  }

  .app-event-cover-bg {
    background-position: center 35%;
  }

  .app-event-cover-content {
    min-height: 132px;
  }

  .app-event-cover-content h3 {
    font-size: 28px;
  }

  .app-event-logo-dark,
  .app-event-logo-fallback-dark {
    width: 118px;
    height: 86px;
    border-radius: 22px;
  }

  .app-event-page > .app-content {
    margin-top: -36px;
    border-radius: 32px 32px 0 0;
  }
}

/* =========================================================
   29. App - Tema dinâmico por evento
   Usa primary_color e secondary_color do cadastro do evento
   ========================================================= */

/* Botões principais */
.app-event-theme .grh-btn,
.app-event-theme .btn.grh-btn {
  background: linear-gradient(
    135deg,
    var(--event-primary),
    var(--event-secondary)
  ) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--event-primary) 26%, transparent);
}

.app-event-theme .grh-btn:hover,
.app-event-theme .btn.grh-btn:hover {
  background: linear-gradient(
    135deg,
    var(--event-secondary),
    var(--event-primary)
  ) !important;
}

/* Botões outline */
.app-event-theme .grh-btn-outline {
  color: var(--event-primary) !important;
  border-color: color-mix(in srgb, var(--event-primary) 32%, transparent) !important;
}

/* Textos principais */
.app-event-theme .grh-primary-text,
.app-event-theme .app-section-header a,
.app-event-theme .app-activity-time {
  color: var(--event-primary) !important;
}

/* Ícones do quick grid com degradê, sem mudar o card */
.app-event-theme .app-quick-card i.material-icons {
  background: linear-gradient(
    135deg,
    var(--event-primary),
    var(--event-secondary)
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--event-primary) !important;
}

/* Bottom nav ativo com degradê no ícone e texto */
.app-event-theme .app-bottom-nav a.active {
  color: var(--event-primary) !important;
}

.app-event-theme .app-bottom-nav a.active i,
.app-event-theme .app-bottom-nav a.active span {
  background: linear-gradient(
    135deg,
    var(--event-primary),
    var(--event-secondary)
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--event-primary) !important;
}

/* Tags e badges suaves */
.app-event-theme .app-tag {
  background: color-mix(in srgb, var(--event-primary) 9%, white);
  color: var(--event-primary);
}

/* Ícones e indicadores do app */
.app-event-theme .app-favorite-button,
.app-event-theme .app-notification-icon,
.app-event-theme .app-sponsor-location i,
.app-event-theme .app-ranking-position,
.app-event-theme .app-ranking-points strong,
.app-event-theme .app-point-card > span {
  color: var(--event-primary) !important;
}

/* Estados ativos com fundo */
.app-event-theme .app-favorite-button.active,
.app-event-theme .app-ranking-user-card,
.app-event-theme .app-chat-message.mine .app-chat-bubble {
  background: linear-gradient(
    135deg,
    var(--event-primary),
    var(--event-secondary)
  ) !important;
  color: #fff !important;
  border-color: var(--event-primary) !important;
}

/* Badges de notificação */
.app-event-theme .app-event-cover-actions a span,
.app-event-theme .app-notification-bell span,
.app-event-theme .app-unread-dot {
  background: var(--event-primary) !important;
  color: #fff !important;
}

.app-event-theme .app-event-cover-content > span {
  background: color-mix(in srgb, var(--event-primary) 42%, transparent);
}

/* =========================================================
   30. Login personalizado por evento
   Usa context_event via --event-bg, --event-primary e --event-secondary
   ========================================================= */

.login-page.login-event-page {
  position: relative !important;
  min-height: 100vh !important;
  padding: 24px !important;
  overflow: hidden !important;
  background: #061718 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.login-event-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(
      180deg,
      rgba(6, 23, 24, 0.18) 0%,
      rgba(6, 23, 24, 0.58) 50%,
      rgba(6, 23, 24, 0.92) 100%
    ),
    var(--event-bg, none);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1.04);
  z-index: 0;
}

.login-page.login-event-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 16% 18%,
      color-mix(in srgb, var(--event-primary, #CC003D) 42%, transparent),
      transparent 34%
    ),
    radial-gradient(
      circle at 86% 16%,
      color-mix(in srgb, var(--event-secondary, #061718) 52%, transparent),
      transparent 38%
    );
  pointer-events: none;
  z-index: 1;
}

.login-page.login-event-page::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      135deg,
      rgba(204, 0, 61, 0.14),
      rgba(0, 93, 112, 0.10),
      rgba(6, 23, 24, 0.30)
    );
  pointer-events: none;
  z-index: 1;
}

.login-event-card {
  position: relative !important;
  z-index: 2 !important;
  width: 100%;
  max-width: 430px;
  padding: 32px;
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255, 255, 255, 0.24);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.login-event-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
}

.login-event-logo {
  width: 108px;
  height: 76px;
  border-radius: 22px;
  padding: 8px;
  background: rgba(6, 23, 24, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.login-event-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.login-event-card h4 {
  margin: 0 0 8px;
  color: var(--grh-dark);
  font-weight: 900;
}

.login-event-subtitle {
  margin: 0 0 22px;
  line-height: 1.45;
}

.login-event-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.login-event-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
}

.login-event-field label {
  position: static !important;
  transform: none !important;
  color: var(--grh-dark) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  pointer-events: auto !important;
}

.login-event-field input[type="text"],
.login-event-field input[type="password"] {
  display: block !important;
  width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  color: var(--grh-dark) !important;
  border: 1px solid rgba(108, 127, 144, 0.26) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  outline: none !important;
  font-family: 'Red Hat Display', sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

.login-event-field input[type="text"]::placeholder,
.login-event-field input[type="password"]::placeholder {
  color: rgba(108, 127, 144, 0.72);
  font-weight: 600;
}

.login-event-field input[type="text"]:focus,
.login-event-field input[type="password"]:focus {
  border-color: var(--event-primary) !important;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--event-primary) 14%, transparent) !important;
}

.login-event-button,
.login-event-page .grh-btn {
  width: 100%;
  height: 48px;
  margin-top: 8px !important;
  border-radius: 999px !important;
  font-weight: 900;
  text-transform: none;
  background: linear-gradient(
    135deg,
    var(--event-primary),
    var(--event-secondary)
  ) !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: 0 12px 26px color-mix(in srgb, var(--event-primary) 28%, transparent);
}

.login-event-button:hover,
.login-event-page .grh-btn:hover {
  background: linear-gradient(
    135deg,
    var(--event-secondary),
    var(--event-primary)
  ) !important;
}

@media (max-width: 520px) {
  .login-page.login-event-page {
    padding: 20px !important;
    align-items: flex-end !important;
  }

  .login-event-card {
    padding: 28px 24px;
    border-radius: 30px;
  }

  .login-event-brand {
    margin-bottom: 22px;
  }

  .login-event-logo {
    width: 98px;
    height: 70px;
  }
}

/* =========================================================
   LOGIN - Centralização no mobile/PWA
========================================================= */

@media (max-width: 520px) {
  .login-page.login-event-page {
    min-height: 100vh !important;
    padding: 22px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .login-event-card {
    width: 100% !important;
    max-width: 430px !important;
    margin: -34px auto 0 !important;
    padding: 28px 24px !important;
    border-radius: 30px !important;
  }
}

/* =========================================================
   Plataforma - Resultados agregados de pesquisas
========================================================= */

.survey-result-card {
  margin-bottom: 18px;
}

.survey-result-options {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.survey-result-option-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 7px;
}

.survey-result-option-top strong {
  color: var(--grh-dark);
  font-weight: 900;
}

.survey-result-option-top span {
  color: var(--grh-gray);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.survey-result-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: #eef2f6;
  overflow: hidden;
}

.survey-result-bar > div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, var(--grh-primary), var(--grh-primary-alt));
}

.survey-rating-result {
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.08);
  border: 1px solid rgba(204, 0, 61, 0.16);
  padding: 22px;
  text-align: center;
}

.survey-rating-result strong {
  display: block;
  color: var(--grh-primary);
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
}

.survey-rating-result span {
  display: block;
  margin-top: 6px;
  color: var(--grh-dark);
  font-weight: 900;
}

.survey-rating-result small {
  display: block;
  margin-top: 4px;
  color: var(--grh-gray);
  font-weight: 700;
}

/* =========================================================
   Plataforma - Mapas do evento
========================================================= */

.platform-map-preview {
  margin: 12px 0 22px;
  border-radius: 22px;
  border: 1px solid var(--grh-border);
  overflow: hidden;
  background: var(--grh-bg-soft);
}

.platform-map-preview img {
  width: 100%;
  display: block;
  object-fit: contain;
  max-height: 520px;
}

/* =========================================================
   App - Mapa do evento
========================================================= */

.app-map-intro h4 {
  margin: 12px 0 8px;
  font-weight: 900;
  color: var(--grh-dark);
  line-height: 1.08;
}

.app-map-intro p {
  margin: 0;
  line-height: 1.55;
}

.app-map-image-card {
  background: #fff;
  border: 1px solid var(--grh-border);
  border-radius: 24px;
  padding: 10px;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.06);
  margin-bottom: 24px;
  overflow: hidden;
}

.app-map-image-card img {
  width: 100%;
  display: block;
  border-radius: 18px;
  object-fit: contain;
}

.app-map-points {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.app-map-point-card {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  align-items: flex-start;
}

.app-map-point-icon {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-map-point-icon i {
  font-size: 25px;
}

.app-map-point-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.app-map-point-title strong {
  font-weight: 900;
  color: var(--grh-dark);
  line-height: 1.15;
}

.app-map-point-title span {
  border-radius: 999px;
  padding: 4px 8px;
  background: var(--grh-bg-soft);
  color: var(--grh-gray);
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.app-map-location {
  display: flex;
  gap: 5px;
  align-items: center;
  margin: 8px 0 6px;
  color: var(--grh-gray);
  font-size: 13px;
  font-weight: 800;
}

.app-map-location i {
  font-size: 16px;
  color: var(--grh-primary);
}

.app-map-point-body p {
  margin: 7px 0 0;
  line-height: 1.5;
}

.app-map-sponsor-link {
  margin-top: 10px;
  color: var(--grh-primary);
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.app-map-sponsor-link i {
  font-size: 17px;
}

/* Cores por tipo de ponto */
.app-map-point-stage {
  background: rgba(204, 0, 61, 0.10);
  color: #CC003D;
}

.app-map-point-room {
  background: rgba(25, 118, 210, 0.10);
  color: #1976D2;
}

.app-map-point-booth {
  background: rgba(103, 58, 183, 0.10);
  color: #673AB7;
}

.app-map-point-credentials {
  background: rgba(46, 125, 50, 0.10);
  color: #2E7D32;
}

.app-map-point-food {
  background: rgba(245, 124, 0, 0.10);
  color: #F57C00;
}

.app-map-point-experience {
  background: rgba(0, 150, 136, 0.10);
  color: #009688;
}

.app-map-point-restroom {
  background: rgba(216, 27, 96, 0.10);
  color: #D81B60;
}

.app-map-point-support {
  background: rgba(251, 192, 45, 0.16);
  color: #F9A825;
}

/* Tema dinâmico do evento aplicado ao mapa */
.app-event-theme .app-map-sponsor-link,
.app-event-theme .app-map-location i {
  color: var(--event-primary) !important;
}

.app-event-theme .app-map-point-icon {
  background: color-mix(in srgb, var(--event-primary) 9%, white);
}

.app-event-theme .app-map-point-stage {
  color: var(--event-primary);
}

/* =========================================================
   App - Experiências do evento
========================================================= */

.app-experience-featured-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.app-experience-featured-card {
  position: relative;
  min-height: 210px;
  border-radius: 26px;
  overflow: hidden;
  background: var(--grh-dark);
  color: #fff;
  display: block;
  box-shadow: 0 18px 38px rgba(6, 23, 24, 0.14);
}

.app-experience-featured-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-experience-featured-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(6, 23, 24, 0.12) 0%,
    rgba(6, 23, 24, 0.42) 46%,
    rgba(6, 23, 24, 0.88) 100%
  );
}

.app-experience-featured-overlay {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  padding: 20px;
}

.app-experience-featured-overlay span {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  margin-bottom: 8px;
  backdrop-filter: blur(8px);
}

.app-experience-featured-overlay strong {
  display: block;
  color: #fff;
  font-size: 22px;
  line-height: 1.08;
  font-weight: 900;
}

.app-experience-featured-overlay small {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  color: rgba(255, 255, 255, 0.86);
  font-weight: 800;
}

.app-experience-featured-overlay small i {
  font-size: 16px;
}

.app-experience-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.app-experience-card {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 14px;
  color: var(--grh-dark);
  text-decoration: none;
}

.app-experience-card:hover {
  color: var(--grh-dark);
}

.app-experience-thumb img,
.app-experience-thumb span {
  width: 92px;
  height: 92px;
  border-radius: 20px;
}

.app-experience-thumb img {
  object-fit: cover;
}

.app-experience-thumb span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
}

.app-experience-thumb span i {
  font-size: 34px;
}

.app-experience-body strong {
  display: block;
  font-weight: 900;
  line-height: 1.18;
  color: var(--grh-dark);
}

.app-experience-body p {
  margin: 7px 0 0;
  line-height: 1.45;
  font-size: 13px;
}

.app-experience-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 7px;
}

.app-experience-meta span,
.app-experience-meta b {
  display: inline-flex;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 900;
}

.app-experience-meta span {
  background: var(--grh-bg-soft);
  color: var(--grh-gray);
}

.app-experience-meta b {
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
}

.app-experience-info {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.app-experience-info small {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: var(--grh-gray);
  font-size: 11px;
  font-weight: 800;
}

.app-experience-info small i {
  font-size: 14px;
  color: var(--grh-primary);
}

.app-experience-detail-card h4 {
  margin: 14px 0 10px;
  font-weight: 900;
  color: var(--grh-dark);
  line-height: 1.08;
}

.app-experience-detail-image {
  width: 100%;
  border-radius: 22px;
  display: block;
  object-fit: cover;
  max-height: 340px;
  margin-bottom: 14px;
}

.app-experience-description {
  line-height: 1.65;
  margin: 0;
}

.app-experience-detail-info {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.app-experience-detail-info > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: flex-start;
}

.app-experience-detail-info i {
  width: 42px;
  height: 42px;
  border-radius: 15px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 21px;
}

.app-experience-detail-info span {
  color: var(--grh-gray);
  line-height: 1.45;
  font-weight: 700;
}

.app-experience-detail-info strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
  margin-bottom: 2px;
}

.app-experience-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 22px;
}

.app-experience-actions .btn {
  width: 100%;
}

/* Home - experiências */
.app-experience-home-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.app-experience-home-card {
  display: grid;
  grid-template-columns: 84px 1fr;
  gap: 13px;
  color: var(--grh-dark);
  text-decoration: none;
}

.app-experience-home-card:hover {
  color: var(--grh-dark);
}

.app-experience-home-card img {
  width: 84px;
  height: 84px;
  border-radius: 18px;
  object-fit: cover;
}

.app-experience-home-card strong {
  display: block;
  margin-top: 8px;
  font-weight: 900;
  color: var(--grh-dark);
  line-height: 1.15;
}

.app-experience-home-card small {
  display: flex;
  align-items: center;
  gap: 3px;
  margin-top: 8px;
  color: var(--grh-gray);
  font-size: 12px;
  font-weight: 800;
}

.app-experience-home-card small i {
  font-size: 15px;
  color: var(--grh-primary);
}

/* Tema dinâmico */
.app-event-theme .app-experience-thumb span,
.app-event-theme .app-experience-detail-info i {
  background: color-mix(in srgb, var(--event-primary) 9%, white);
  color: var(--event-primary);
}

.app-event-theme .app-experience-meta b,
.app-event-theme .app-experience-info small i,
.app-event-theme .app-experience-home-card small i {
  color: var(--event-primary);
}

/* =========================================================
   Plataforma - Analytics do app
========================================================= */

.platform-analytics-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.platform-analytics-box {
  border: 1px solid var(--grh-border);
  border-radius: 22px;
  padding: 16px;
  background: var(--grh-bg-soft);
}

.platform-analytics-box h6 {
  margin: 0 0 12px;
  color: var(--grh-dark);
  font-weight: 900;
}

.platform-analytics-row {
  display: grid;
  grid-template-columns: 1fr 48px;
  gap: 10px;
  align-items: center;
}

.platform-analytics-row strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
  line-height: 1.2;
}

.platform-analytics-row span {
  display: block;
  margin-top: 3px;
  color: var(--grh-gray);
  font-size: 12px;
  font-weight: 700;
}

.platform-analytics-row b {
  color: var(--grh-primary);
  font-size: 22px;
  font-weight: 900;
  text-align: right;
}

@media (max-width: 900px) {
  .platform-analytics-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Plataforma - Relatório executivo do evento
========================================================= */

.platform-report-page {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.platform-report-cover {
  background:
    linear-gradient(
      135deg,
      rgba(204, 0, 61, 0.94),
      rgba(6, 23, 24, 0.94)
    );
  color: #fff;
  border-radius: 30px;
  padding: 28px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: flex-start;
  box-shadow: 0 18px 42px rgba(6, 23, 24, 0.16);
}

.platform-report-cover h4 {
  margin: 8px 0 10px;
  color: #fff;
  font-weight: 900;
  line-height: 1.08;
}

.platform-report-cover p {
  color: rgba(255, 255, 255, 0.82);
  margin: 0;
  max-width: 760px;
  line-height: 1.55;
}

.platform-report-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.platform-report-meta span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(255, 255, 255, 0.13);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.platform-report-meta i {
  font-size: 17px;
}

.platform-report-actions {
  flex-shrink: 0;
}

.platform-report-actions .grh-btn-outline {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: #fff !important;
}

.platform-report-section {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.platform-report-section-header h5 {
  margin: 0;
  color: var(--grh-dark);
  font-weight: 900;
}

.platform-report-section-header p {
  margin: 5px 0 0;
  color: var(--grh-gray);
}

.platform-report-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.platform-report-row {
  display: grid;
  grid-template-columns: 1fr 54px;
  gap: 12px;
  align-items: center;
}

.platform-report-row strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
  line-height: 1.2;
}

.platform-report-row span {
  display: block;
  margin-top: 3px;
  color: var(--grh-gray);
  font-size: 12px;
  font-weight: 700;
}

.platform-report-row b {
  color: var(--grh-primary);
  font-size: 24px;
  font-weight: 900;
  text-align: right;
}

@media (max-width: 900px) {
  .platform-report-cover {
    flex-direction: column;
  }

  .platform-report-actions {
    width: 100%;
  }

  .platform-report-actions .btn {
    width: 100%;
  }

  .platform-report-grid {
    grid-template-columns: 1fr;
  }
}

.platform-report-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.platform-report-actions .grh-btn {
  background: #fff !important;
  color: var(--grh-primary) !important;
  border: 1px solid rgba(255, 255, 255, 0.24) !important;
}

.platform-report-actions .grh-btn-outline {
  background: rgba(255, 255, 255, 0.12) !important;
  border-color: rgba(255, 255, 255, 0.24) !important;
  color: #fff !important;
}

/* =========================================================
   App - Notificações segmentadas
========================================================= */

.app-notification-link {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--grh-primary);
  font-weight: 900;
}

.app-notification-link i {
  font-size: 17px;
}

.app-event-theme .app-notification-link {
  color: var(--event-primary);
}

/* =========================================================
   App - Detalhe da notificação
========================================================= */

.app-notification-detail-card {
  text-align: left;
}

.app-notification-detail-icon {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}

.app-notification-detail-icon i {
  font-size: 30px;
}

.app-notification-detail-card h4 {
  margin: 12px 0 10px;
  color: var(--grh-dark);
  font-weight: 900;
  line-height: 1.08;
}

.app-notification-detail-message {
  color: var(--grh-dark);
  line-height: 1.65;
  margin: 0 0 14px;
}

.app-notification-detail-actions {
  margin-top: 22px;
}

.app-notification-detail-actions .btn {
  width: 100%;
}

.app-event-theme .app-notification-detail-icon {
  background: color-mix(in srgb, var(--event-primary) 9%, white);
  color: var(--event-primary);
}

/* =========================================================
   App - Lista de notificações clicável
========================================================= */

a.app-notification-card {
  color: var(--grh-dark);
  text-decoration: none;
  display: grid;
}

a.app-notification-card:hover {
  color: var(--grh-dark);
}

.app-notification-card .app-notification-link {
  margin-top: 10px;
}

/* =========================================================
   App - Dashboard único de eventos
========================================================= */

.app-dashboard-hero {
  margin: -18px -18px 0;
  padding: 28px 22px 34px;
  border-radius: 0 0 34px 34px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.28), transparent 34%),
    linear-gradient(135deg, var(--grh-dark), #10292b);
  color: #fff;
  box-shadow: 0 18px 42px rgba(6, 23, 24, 0.22);
}

.app-dashboard-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.app-dashboard-logo {
  width: 54px;
  height: 54px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.96);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

.app-dashboard-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.app-dashboard-hero .app-eyebrow {
  color: rgba(255, 255, 255, 0.74);
  margin-bottom: 4px;
}

.app-dashboard-hero h5 {
  margin: 0;
  font-weight: 900;
  color: #fff;
  line-height: 1.1;
}

.app-dashboard-hero p {
  margin: 18px 0 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.5;
  max-width: 520px;
}

.app-dashboard-content {
  padding-top: 50px;
}

.app-dashboard-summary-card {
  margin-top: -36px;
  margin-bottom: 22px;
  padding: 18px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(6, 23, 24, 0.12);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.app-dashboard-summary-card span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.app-dashboard-summary-card strong {
  display: block;
  margin-top: 4px;
  color: var(--grh-dark);
  font-size: 2rem;
  line-height: 1;
  font-weight: 950;
}

.app-dashboard-summary-card small {
  display: block;
  margin-top: 4px;
  color: var(--grh-muted);
}

.app-dashboard-summary-card i {
  width: 54px;
  height: 54px;
  border-radius: 20px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
}

.app-eyebrow {
  display: inline-flex;
  color: var(--grh-primary);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-event-list {
  display: grid;
  gap: 14px;
  margin-bottom: 26px;
}

.app-event-card {
  padding: 0;
  overflow: hidden;
  color: var(--grh-dark);
  text-decoration: none;
  display: block;
  border-radius: 28px;
}

.app-event-card:hover {
  color: var(--grh-dark);
}

.app-event-card-cover {
  position: relative;
  height: 138px;
  background: linear-gradient(135deg, rgba(204, 0, 61, 0.12), rgba(6, 23, 24, 0.12));
  overflow: hidden;
}

.app-event-card-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(6, 23, 24, 0.38));
}

.app-event-card-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.app-event-card-placeholder {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--grh-primary);
}

.app-event-card-placeholder i {
  font-size: 44px;
}

.app-event-card-logo {
  position: absolute;
  left: 16px;
  bottom: 14px;
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: #fff;
  padding: 8px;
  z-index: 2;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.18);
}

.app-event-card-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.app-event-card-body {
  padding: 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
}

.app-event-card-body h6 {
  margin: 10px 0 6px;
  font-weight: 900;
  color: var(--grh-dark);
  line-height: 1.15;
}

.app-event-card-body p {
  margin: 0;
  color: var(--grh-muted);
  font-size: 0.92rem;
}

.app-event-card-body small {
  margin-top: 9px;
  color: var(--grh-muted);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.app-event-card-body small i {
  font-size: 16px;
}

.app-event-card-action {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-event-card-action i {
  font-size: 22px;
}

.app-dashboard-empty {
  margin-top: 18px;
}

/* =========================================================
   App - Dispositivo bloqueado
========================================================= */

.app-device-blocked-card {
  text-align: center;
  margin-top: 28px;
}

.app-device-blocked-icon {
  width: 74px;
  height: 74px;
  border-radius: 26px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}

.app-device-blocked-icon i {
  font-size: 38px;
}

.app-device-blocked-card h5 {
  margin: 0 0 12px;
  color: var(--grh-dark);
  font-weight: 900;
  line-height: 1.1;
}

.app-device-blocked-card p {
  color: var(--grh-muted);
  line-height: 1.55;
  margin: 0 0 18px;
}

.app-device-blocked-info {
  text-align: left;
  padding: 14px;
  border-radius: 20px;
  background: rgba(6, 23, 24, 0.04);
  margin-bottom: 22px;
}

.app-device-blocked-info strong {
  display: block;
  color: var(--grh-dark);
  margin-bottom: 4px;
}

.app-device-blocked-info span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.92rem;
}

/* =========================================================
   App - Push notifications
========================================================= */

.app-push-card {
  margin-bottom: 22px;
  display: grid;
  gap: 14px;
}

.app-push-card h6 {
  margin: 10px 0 6px;
  color: var(--grh-dark);
  font-weight: 900;
}

.app-push-card p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.45;
}

.app-push-card .btn {
  width: 100%;
}

.app-push-card small {
  display: block;
  line-height: 1.4;
}

/* =========================================================
   App - Card Clube Gestão no Dashboard
========================================================= */

.app-club-access-card,
a.app-club-access-card {
  margin-bottom: 26px;
  padding: 18px !important;
  display: grid !important;
  grid-template-columns: 58px 1fr 46px;
  gap: 14px;
  align-items: center;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.13), transparent 34%),
    #ffffff;
  box-shadow: 0 18px 44px rgba(6, 23, 24, 0.10);
  overflow: hidden;
}

.app-club-access-card:hover,
a.app-club-access-card:hover {
  color: var(--grh-dark) !important;
  text-decoration: none !important;
}

.app-club-access-icon {
  width: 58px;
  height: 58px;
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-access-icon i {
  font-size: 30px;
}

.app-club-access-content {
  min-width: 0;
}

.app-club-access-content .app-tag {
  margin-bottom: 8px;
}

.app-club-access-content h6 {
  margin: 8px 0 6px;
  color: var(--grh-dark) !important;
  font-weight: 900;
  line-height: 1.15;
}

.app-club-access-content p {
  margin: 0;
  color: var(--grh-muted) !important;
  line-height: 1.45;
  font-size: 0.95rem;
}

.app-club-access-arrow {
  width: 46px;
  height: 46px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-access-arrow i {
  font-size: 24px;
}

@media (max-width: 420px) {
  .app-club-access-card,
  a.app-club-access-card {
    grid-template-columns: 52px 1fr;
  }

  .app-club-access-arrow {
    grid-column: 1 / -1;
    width: 100%;
    height: 44px;
    margin-top: 4px;
  }
}

/* =========================================================
   App - Clube Gestão Home
========================================================= */

.app-club-hero {
  margin: -18px -18px 0;
  padding: 26px 22px 34px;
  border-radius: 0 0 34px 34px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.30), transparent 34%),
    linear-gradient(135deg, var(--grh-dark), #10292b);
  color: #fff;
  box-shadow: 0 18px 42px rgba(6, 23, 24, 0.22);
}

.app-club-hero .app-page-top {
  align-items: flex-start;
}

.app-club-hero .app-icon-button {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.app-club-hero .app-eyebrow {
  color: rgba(255, 255, 255, 0.74);
}

.app-club-hero h5 {
  margin: 6px 0 8px;
  color: #fff;
  font-weight: 950;
  line-height: 1.05;
}

.app-club-hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.45;
}

.app-club-content {
  padding-top: 18px;
}

.app-club-feature-card {
  margin-bottom: 22px;
  padding: 20px;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(6, 23, 24, 0.13);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  align-items: center;
}

.app-club-feature-card h5 {
  margin: 12px 0 8px;
  color: var(--grh-dark);
  font-weight: 950;
  line-height: 1.08;
}

.app-club-feature-card p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.5;
}

.app-club-feature-icon {
  width: 64px;
  height: 64px;
  border-radius: 24px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-feature-icon i {
  font-size: 34px;
}

.app-club-grid {
  display: grid;
  gap: 14px;
  margin-bottom: 24px;
}

.app-club-menu-card,
a.app-club-menu-card {
  padding: 16px !important;
  display: grid !important;
  grid-template-columns: 52px 1fr auto;
  gap: 14px;
  align-items: center;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  border-radius: 26px;
}

.app-club-menu-card:hover,
a.app-club-menu-card:hover {
  color: var(--grh-dark) !important;
  text-decoration: none !important;
}

.app-club-menu-icon {
  width: 52px;
  height: 52px;
  border-radius: 19px;
  background: rgba(204, 0, 61, 0.09);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-menu-icon i {
  font-size: 27px;
}

.app-club-menu-card h6 {
  margin: 0 0 5px;
  color: var(--grh-dark);
  font-weight: 900;
}

.app-club-menu-card p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.4;
  font-size: 0.92rem;
}

.app-club-menu-card > i {
  color: var(--grh-primary);
}

.app-club-coming-soon {
  padding: 16px;
  border-radius: 24px;
  background: rgba(6, 23, 24, 0.04);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: flex-start;
  color: var(--grh-dark);
}

.app-club-coming-soon > i {
  color: var(--grh-primary);
  font-size: 28px;
}

.app-club-coming-soon strong {
  display: block;
  margin-bottom: 4px;
  font-weight: 900;
}

.app-club-coming-soon span {
  display: block;
  color: var(--grh-muted);
  line-height: 1.45;
  font-size: 0.92rem;
}

@media (max-width: 420px) {
  .app-club-feature-card {
    grid-template-columns: 1fr;
  }

  .app-club-feature-icon {
    width: 56px;
    height: 56px;
  }

  .app-club-menu-card,
  a.app-club-menu-card {
    grid-template-columns: 48px 1fr;
  }

  .app-club-menu-card > i {
    display: none;
  }
}

/* =========================================================
   App - Clube Gestão Feed
========================================================= */

.app-club-feed-content {
  padding-top: 12px;
}

.app-club-feed-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-bottom: 14px;
}

.app-club-search-field {
  min-height: 48px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid rgba(6, 23, 24, 0.08);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  padding: 0 14px;
}

.app-club-search-field i {
  color: var(--grh-muted);
  font-size: 22px;
}

.app-club-search-field input {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  height: 46px !important;
  color: var(--grh-dark);
}

.app-club-feed-search .btn {
  height: 48px;
  border-radius: 18px;
}

.app-club-category-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 14px;
  margin-bottom: 4px;
}

.app-club-category-scroll::-webkit-scrollbar {
  display: none;
}

.app-club-category-chip,
a.app-club-category-chip {
  flex: 0 0 auto;
  padding: 9px 14px;
  border-radius: 999px;
  background: #fff;
  color: var(--grh-muted);
  font-weight: 800;
  text-decoration: none;
  font-size: 0.86rem;
  border: 1px solid rgba(6, 23, 24, 0.08);
}

.app-club-category-chip.active,
a.app-club-category-chip.active {
  background: var(--grh-primary);
  color: #fff;
  border-color: var(--grh-primary);
}

.app-club-filter-info {
  margin-bottom: 14px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.07);
}

.app-club-filter-info span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.app-club-filter-info strong {
  color: var(--grh-dark);
}

.app-club-feed-list {
  display: grid;
  gap: 16px;
}

.app-club-post-card,
a.app-club-post-card {
  padding: 0 !important;
  overflow: hidden;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  display: block;
  border-radius: 28px;
}

.app-club-post-card:hover,
a.app-club-post-card:hover {
  color: var(--grh-dark) !important;
  text-decoration: none !important;
}

.app-club-post-cover {
  height: 150px;
  background: linear-gradient(135deg, rgba(204, 0, 61, 0.12), rgba(6, 23, 24, 0.12));
  overflow: hidden;
}

.app-club-post-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.app-club-post-body {
  padding: 18px;
}

.app-club-post-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 10px;
}

.app-club-post-meta > span:not(.app-tag) {
  color: var(--grh-muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.app-club-post-body h6 {
  margin: 0 0 8px;
  color: var(--grh-dark);
  font-weight: 950;
  line-height: 1.12;
}

.app-club-post-body p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.5;
}

.app-club-post-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}

.app-club-post-tags span {
  color: var(--grh-primary);
  background: rgba(204, 0, 61, 0.07);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.78rem;
  font-weight: 800;
}

.app-club-post-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(6, 23, 24, 0.07);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.app-club-post-author {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.app-club-post-author img,
.app-club-post-avatar-placeholder {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  flex: 0 0 auto;
}

.app-club-post-author img {
  object-fit: cover;
}

.app-club-post-avatar-placeholder {
  background: rgba(6, 23, 24, 0.06);
  color: var(--grh-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-post-avatar-placeholder i {
  font-size: 22px;
}

.app-club-post-author strong {
  display: block;
  color: var(--grh-dark);
  font-size: 0.88rem;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

.app-club-post-author span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.78rem;
  margin-top: 2px;
}

.app-club-post-stats {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--grh-muted);
}

.app-club-post-stats span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-weight: 800;
  font-size: 0.84rem;
}

.app-club-post-stats i {
  font-size: 18px;
}

.app-club-post-stats .liked {
  color: var(--grh-primary);
}

@media (max-width: 480px) {
  .app-club-feed-search {
    grid-template-columns: 1fr;
  }

  .app-club-feed-search .btn {
    width: 100%;
  }

  .app-club-post-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-club-post-author strong {
    max-width: 220px;
  }
}

/* =========================================================
   App - Clube Gestão Feed Detalhe
========================================================= */

.app-club-post-detail-content {
  padding-top: 12px;
}

.app-club-post-detail-card {
  padding: 0 !important;
  overflow: hidden;
  border-radius: 30px;
}

.app-club-post-detail-cover {
  height: 190px;
  background: linear-gradient(135deg, rgba(204, 0, 61, 0.12), rgba(6, 23, 24, 0.12));
  overflow: hidden;
}

.app-club-post-detail-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-post-detail-body {
  padding: 20px;
}

.app-club-post-detail-body h4 {
  margin: 10px 0 10px;
  color: var(--grh-dark);
  font-weight: 950;
  line-height: 1.08;
}

.app-club-post-detail-summary {
  margin: 0 0 16px;
  color: var(--grh-muted);
  font-size: 1rem;
  line-height: 1.5;
}

.app-club-post-detail-author {
  margin: 16px 0;
  padding: 14px;
  border-radius: 22px;
  background: rgba(6, 23, 24, 0.04);
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-club-post-detail-author img,
.app-club-post-detail-author .app-club-post-avatar-placeholder {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  flex: 0 0 auto;
}

.app-club-post-detail-author img {
  object-fit: cover;
}

.app-club-post-detail-author strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
}

.app-club-post-detail-author span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.88rem;
  margin-top: 2px;
}

.app-club-post-detail-text {
  margin-top: 18px;
  color: var(--grh-dark);
  line-height: 1.68;
  font-size: 1rem;
}

.app-club-post-detail-text p {
  margin: 0 0 14px;
}

.app-club-post-resources {
  margin-top: 20px;
  padding: 16px;
  border-radius: 24px;
  background: rgba(204, 0, 61, 0.06);
  display: grid;
  gap: 10px;
}

.app-club-post-resources h6 {
  margin: 0 0 4px;
  color: var(--grh-dark);
  font-weight: 900;
}

.app-club-post-resources a {
  color: var(--grh-primary);
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.app-club-post-resources a i {
  font-size: 21px;
}

.app-club-post-actions {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(6, 23, 24, 0.07);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.app-club-like-button {
  border: none;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(6, 23, 24, 0.06);
  color: var(--grh-muted);
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 900;
  cursor: pointer;
}

.app-club-like-button i {
  font-size: 21px;
}

.app-club-like-button.liked {
  background: rgba(204, 0, 61, 0.10);
  color: var(--grh-primary);
}

.app-club-comments-card {
  margin-top: 18px;
}

.app-section-title.compact {
  margin-bottom: 12px;
}

.app-club-comment-form {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
}

.app-club-comment-form textarea {
  width: 100%;
  min-height: 92px;
  border: 1px solid rgba(6, 23, 24, 0.09);
  border-radius: 20px;
  padding: 14px;
  resize: vertical;
  outline: none;
  font-family: inherit;
  color: var(--grh-dark);
  background: rgba(6, 23, 24, 0.02);
}

.app-club-comment-form textarea:focus {
  border-color: rgba(204, 0, 61, 0.45);
  background: #fff;
}

.app-club-comment-form .btn {
  width: 100%;
}

.app-club-comments-list {
  display: grid;
  gap: 14px;
}

.app-club-comment-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: flex-start;
}

.app-club-comment-item > img,
.app-club-comment-item > .app-club-post-avatar-placeholder {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  flex: 0 0 auto;
}

.app-club-comment-item > img {
  object-fit: cover;
}

.app-club-comment-item strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
  line-height: 1.1;
}

.app-club-comment-item small {
  display: block;
  color: var(--grh-muted);
  margin-top: 2px;
  font-size: 0.78rem;
}

.app-club-comment-item p {
  margin: 7px 0 0;
  color: var(--grh-dark);
  line-height: 1.45;
}

@media (max-width: 440px) {
  .app-club-post-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .app-club-like-button {
    width: 100%;
    justify-content: center;
  }
}

/* =========================================================
   App - Clube Gestão Form de Post
========================================================= */

.app-club-feed-actions {
  margin-bottom: 14px;
}

.app-club-feed-actions .btn {
  width: 100%;
  border-radius: 18px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-post-form-content {
  padding-top: 12px;
}

.app-club-post-form-card {
  display: grid;
  gap: 16px;
}

.app-form-field {
  display: grid;
  gap: 7px;
}

.app-form-field label {
  color: var(--grh-dark);
  font-weight: 900;
  font-size: 0.9rem;
}

.app-form-field input[type="text"],
.app-form-field input[type="url"],
.app-form-field input[type="email"],
.app-form-field input[type="number"],
.app-form-field input[type="file"],
.app-form-field select,
.app-form-field textarea {
  width: 100%;
  border: 1px solid rgba(6, 23, 24, 0.10) !important;
  border-radius: 18px !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
  background: rgba(6, 23, 24, 0.02);
  color: var(--grh-dark);
  font-family: inherit;
}

.app-form-field input[type="file"] {
  padding: 11px !important;
}

.app-form-field textarea {
  min-height: 110px;
  resize: vertical;
}

.app-form-field input:focus,
.app-form-field select:focus,
.app-form-field textarea:focus {
  border-color: rgba(204, 0, 61, 0.50) !important;
  background: #fff;
  outline: none;
}

.app-form-field small {
  color: var(--grh-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.app-form-field .errorlist {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #b00020;
  font-size: 0.82rem;
  font-weight: 700;
}

.app-form-errors {
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(176, 0, 32, 0.08);
  color: #b00020;
  font-weight: 700;
}

.app-full-button {
  width: 100%;
  height: 50px;
  border-radius: 18px;
}

/* =========================================================
   App - Aviso de moderação do Feed
========================================================= */

.app-club-moderation-notice {
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.07);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: flex-start;
}

.app-club-moderation-notice > i {
  color: var(--grh-primary);
  font-size: 26px;
}

.app-club-moderation-notice strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
  margin-bottom: 3px;
}

.app-club-moderation-notice span {
  display: block;
  color: var(--grh-muted);
  line-height: 1.4;
  font-size: 0.9rem;
}

/* =========================================================
   Plataforma - Moderação Feed Clube
========================================================= */

.grh-filter-card {
  margin-bottom: 18px;
}

.grh-filter-form {
  display: grid;
  grid-template-columns: 1fr 240px auto;
  gap: 14px;
  align-items: end;
}

.grh-table-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
}

.grh-table-header h2 {
  margin: 0;
  color: var(--grh-dark);
  font-weight: 900;
  font-size: 1.35rem;
}

.grh-table-header p {
  margin: 4px 0 0;
  color: var(--grh-muted);
}

.grh-responsive-table {
  overflow-x: auto;
}

.grh-table td {
  vertical-align: top;
}

.grh-table td strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
}

.grh-table td small {
  display: block;
  color: var(--grh-muted);
  margin-top: 3px;
}

.grh-row-warning {
  background: rgba(255, 193, 7, 0.10);
}

.grh-inline-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.grh-inline-tags span {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  font-weight: 800;
  font-size: 0.75rem;
}

.grh-status-pill {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 0.78rem;
}

.grh-status-draft {
  background: rgba(255, 193, 7, 0.16);
  color: #8a6200;
}

.grh-status-published {
  background: rgba(46, 125, 50, 0.12);
  color: #2e7d32;
}

.grh-status-hidden {
  background: rgba(251, 140, 0, 0.13);
  color: #ef6c00;
}

.grh-status-archived {
  background: rgba(97, 97, 97, 0.13);
  color: #616161;
}

.grh-table-actions {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  flex-wrap: wrap;
}

.grh-table-actions form {
  display: inline;
}

.grh-table-actions .btn-flat {
  padding: 0 8px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .grh-filter-form {
    grid-template-columns: 1fr;
  }

  .grh-table-actions {
    justify-content: flex-start;
  }
}

/* =========================================================
   Plataforma - Moderação Feed Clube
========================================================= */

.club-moderation-row-draft {
  background: rgba(255, 193, 7, 0.10);
}

.club-moderation-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.club-moderation-tags span {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  font-weight: 800;
  font-size: 0.75rem;
}

.club-status-pill {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 900;
  font-size: 0.78rem;
  white-space: nowrap;
}

.club-status-draft {
  background: rgba(255, 193, 7, 0.16);
  color: #8a6200;
}

.club-status-published {
  background: rgba(46, 125, 50, 0.12);
  color: #2e7d32;
}

.club-status-hidden {
  background: rgba(251, 140, 0, 0.13);
  color: #ef6c00;
}

.club-status-archived {
  background: rgba(97, 97, 97, 0.13);
  color: #616161;
}

.club-moderation-actions {
  display: flex;
  justify-content: flex-end;
  gap: 4px;
  flex-wrap: wrap;
}

.club-moderation-actions form {
  display: inline;
}

.club-moderation-actions .btn-flat {
  padding: 0 8px;
  font-weight: 800;
}

.club-moderation-help-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.club-moderation-help-list p {
  margin: 6px 0 0;
  color: var(--grh-muted);
  line-height: 1.4;
}

@media (max-width: 992px) {
  .club-moderation-actions {
    justify-content: flex-start;
  }
}

/* =========================================================
   Plataforma - Correção menu collapse lateral
========================================================= */

.platform-menu details,
.platform-menu details.platform-menu-group {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

.platform-menu details > summary,
.platform-menu details.platform-menu-group > summary {
  list-style: none !important;
  cursor: pointer;
  width: 100%;
  min-height: 46px;
  padding: 0 14px;
  border-radius: 16px;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 11px;
  font-weight: 800;
  transition: 0.18s ease;
}

.platform-menu details > summary::-webkit-details-marker {
  display: none !important;
}

.platform-menu details > summary::marker {
  content: "" !important;
  display: none !important;
}

.platform-menu details > summary > span {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 11px;
  min-width: 0;
}

.platform-menu details > summary > span i {
  flex: 0 0 auto;
}

.platform-menu details > summary:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.platform-menu-chevron {
  margin-left: auto;
  flex: 0 0 auto;
  transition: transform 0.18s ease;
  opacity: 0.78;
}

.platform-menu details[open] .platform-menu-chevron {
  transform: rotate(180deg);
}

.platform-submenu {
  display: grid;
  gap: 4px;
  margin: 4px 0 8px 14px;
  padding-left: 10px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}

.platform-submenu a {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 14px;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px;
  font-size: 0.92rem;
  font-weight: 800;
}

.platform-submenu a:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.platform-submenu a.active {
  background: var(--grh-primary);
  color: #fff;
}

.platform-submenu a i {
  font-size: 20px;
  flex: 0 0 auto;
}

.club-moderation-row-hidden {
  background: rgba(251, 140, 0, 0.08);
}

/* =========================================================
   App - Clube Gestão Networking
========================================================= */

.app-club-networking-content {
  padding-top: 12px;
}

.app-club-networking-filter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 14px;
}

.app-club-networking-filter select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(6, 23, 24, 0.08);
  border-radius: 18px;
  padding: 0 14px;
  background: #fff;
  color: var(--grh-dark);
}

.app-club-networking-filter .btn {
  height: 48px;
  border-radius: 18px;
}

.app-club-networking-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 16px;
}

.app-club-networking-tabs a {
  min-height: 42px;
  border-radius: 999px;
  background: #fff;
  color: var(--grh-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 900;
  border: 1px solid rgba(6, 23, 24, 0.08);
}

.app-club-networking-tabs a.active {
  background: var(--grh-primary);
  color: #fff;
  border-color: var(--grh-primary);
}

.app-club-members-list {
  display: grid;
  gap: 14px;
}

.app-club-member-card,
a.app-club-member-card {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  gap: 13px;
  align-items: center;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  border-radius: 26px;
}

.app-club-member-avatar {
  width: 58px;
  height: 58px;
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-member-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-member-avatar i {
  font-size: 31px;
}

.app-club-member-info {
  min-width: 0;
}

.app-club-member-info h6 {
  margin: 0 0 4px;
  color: var(--grh-dark);
  font-weight: 950;
  line-height: 1.1;
}

.app-club-member-info p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.35;
  font-size: 0.9rem;
}

.app-club-member-location {
  margin-top: 7px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--grh-muted);
  font-size: 0.8rem;
  font-weight: 800;
}

.app-club-member-location i {
  font-size: 16px;
}

.app-club-member-interests {
  margin-top: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.app-club-member-interests span {
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.07);
  color: var(--grh-primary);
  font-size: 0.74rem;
  font-weight: 900;
}

.app-club-member-interests.large span {
  font-size: 0.82rem;
  padding: 7px 10px;
}

.app-club-member-fav {
  color: var(--grh-muted);
}

.app-club-member-fav.active {
  color: var(--grh-primary);
}

.app-club-member-fav i {
  font-size: 25px;
}

.app-club-member-hero {
  margin: -18px -18px 0;
  padding: 24px 22px 36px;
  border-radius: 0 0 34px 34px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.30), transparent 34%),
    linear-gradient(135deg, var(--grh-dark), #10292b);
  color: #fff;
}

.app-club-member-hero .app-icon-button {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.app-member-favorite-button.active {
  background: rgba(204, 0, 61, 0.95) !important;
  color: #fff !important;
}

.app-club-member-hero-content {
  text-align: center;
  padding-top: 18px;
}

.app-club-member-hero-avatar {
  width: 92px;
  height: 92px;
  border-radius: 32px;
  margin: 0 auto 16px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-member-hero-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-member-hero-avatar i {
  font-size: 48px;
}

.app-club-member-hero h5 {
  margin: 7px 0 8px;
  color: #fff;
  font-weight: 950;
}

.app-club-member-hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.app-club-member-profile-content {
  padding-top: 18px;
}

.app-club-member-profile-card {
  margin-bottom: 14px;
}

.app-club-member-profile-card h6 {
  margin: 0 0 12px;
  color: var(--grh-dark);
  font-weight: 950;
}

.app-club-member-profile-card p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.55;
}

.app-club-profile-info-list {
  display: grid;
  gap: 12px;
}

.app-club-profile-info-list span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.app-club-profile-info-list strong {
  display: block;
  color: var(--grh-dark);
  margin-top: 2px;
}

.app-club-profile-link-card,
a.app-club-profile-link-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  font-weight: 900;
}

.app-club-profile-link-card i {
  color: var(--grh-primary);
}

/* =========================================================
   App - Clube Gestão Chat
========================================================= */

.app-club-member-profile-actions {
  margin-bottom: 14px;
}

.app-club-member-profile-actions .btn {
  width: 100%;
  height: 48px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-chat-content {
  padding-top: 12px;
}

.app-club-chat-list {
  display: grid;
  gap: 14px;
}

.app-club-chat-card,
a.app-club-chat-card {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 13px;
  align-items: center;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  border-radius: 26px;
}

.app-club-chat-avatar {
  width: 54px;
  height: 54px;
  border-radius: 20px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-chat-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-chat-avatar i {
  font-size: 30px;
}

.app-club-chat-info {
  min-width: 0;
}

.app-club-chat-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.app-club-chat-title h6 {
  margin: 0;
  color: var(--grh-dark);
  font-weight: 950;
  line-height: 1.1;
}

.app-club-chat-title span {
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--grh-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 900;
}

.app-club-chat-info p {
  margin: 5px 0 0;
  color: var(--grh-muted);
  line-height: 1.35;
  font-size: 0.9rem;
}

.app-club-chat-info small {
  display: block;
  margin-top: 3px;
  color: var(--grh-muted);
  font-size: 0.76rem;
}

.app-club-chat-arrow {
  color: var(--grh-primary);
}

.app-club-chat-detail-content {
  padding-top: 12px;
  padding-bottom: 92px;
}

.app-club-chat-messages {
  display: grid;
  gap: 10px;
}

.app-club-chat-message {
  display: flex;
}

.app-club-chat-message > div {
  max-width: 82%;
  padding: 12px 14px;
  border-radius: 22px;
}

.app-club-chat-message.sent {
  justify-content: flex-end;
}

.app-club-chat-message.sent > div {
  background: var(--grh-primary);
  color: #fff;
  border-bottom-right-radius: 8px;
}

.app-club-chat-message.received {
  justify-content: flex-start;
}

.app-club-chat-message.received > div {
  background: #fff;
  color: var(--grh-dark);
  border-bottom-left-radius: 8px;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.08);
}

.app-club-chat-message p {
  margin: 0;
  line-height: 1.42;
}

.app-club-chat-message small {
  display: block;
  margin-top: 5px;
  opacity: 0.75;
  font-size: 0.72rem;
}

.app-club-chat-empty {
  padding: 42px 18px;
  text-align: center;
  color: var(--grh-muted);
}

.app-club-chat-empty i {
  font-size: 52px;
  color: var(--grh-primary);
}

.app-club-chat-empty h6 {
  margin: 8px 0 4px;
  color: var(--grh-dark);
  font-weight: 950;
}

.app-club-chat-form {
  position: fixed;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  width: min(520px, calc(100% - 28px));
  padding: 10px;
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(6, 23, 24, 0.16);
  display: grid;
  grid-template-columns: 1fr 52px;
  gap: 8px;
  z-index: 12;
}

.app-club-chat-form textarea {
  width: 100%;
  min-height: 52px;
  max-height: 130px;
  border: none;
  resize: vertical;
  outline: none;
  padding: 12px 10px;
  font-family: inherit;
  color: var(--grh-dark);
}

.app-club-chat-form .btn {
  width: 52px;
  height: 52px;
  border-radius: 20px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-chat-form .btn i {
  margin: 0;
}

@media (min-width: 768px) {
  .app-club-networking-filter {
    grid-template-columns: 1fr 220px auto;
    align-items: center;
  }
}

/* =========================================================
   App - Clube Gestão Patrocinadores
========================================================= */

.app-club-sponsors-content {
  padding-top: 12px;
}

.app-club-sponsor-filter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 18px;
}

.app-club-sponsor-filter select {
  width: 100%;
  min-height: 48px;
  border: 1px solid rgba(6, 23, 24, 0.08);
  border-radius: 18px;
  padding: 0 14px;
  background: #fff;
  color: var(--grh-dark);
}

.app-club-sponsor-filter .btn {
  height: 48px;
  border-radius: 18px;
}

.app-club-sponsor-list {
  display: grid;
  gap: 16px;
  margin-bottom: 22px;
}

.app-club-sponsor-card,
a.app-club-sponsor-card {
  padding: 0 !important;
  overflow: hidden;
  display: block;
  border-radius: 28px;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
}

.app-club-sponsor-card.featured {
  box-shadow: 0 20px 48px rgba(204, 0, 61, 0.16);
}

.app-club-sponsor-cover {
  height: 140px;
  background: linear-gradient(135deg, rgba(204, 0, 61, 0.12), rgba(6, 23, 24, 0.12));
  overflow: hidden;
}

.app-club-sponsor-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-sponsor-body {
  padding: 18px;
}

.app-club-sponsor-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.app-club-sponsor-logo {
  width: 62px;
  height: 62px;
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-sponsor-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.app-club-sponsor-logo i {
  font-size: 32px;
}

.app-club-sponsor-body h6 {
  margin: 0 0 6px;
  color: var(--grh-dark);
  font-weight: 950;
}

.app-club-sponsor-segment {
  display: block;
  color: var(--grh-primary);
  font-size: 0.84rem;
  font-weight: 900;
  margin-bottom: 8px;
}

.app-club-sponsor-body p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.45;
}

.app-club-sponsor-footer {
  margin-top: 15px;
  padding-top: 13px;
  border-top: 1px solid rgba(6, 23, 24, 0.07);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--grh-primary);
  font-weight: 900;
}

.app-club-sponsor-footer i {
  font-size: 22px;
}

.app-club-sponsor-hero {
  margin: -18px -18px 0;
  padding: 24px 22px 32px;
  border-radius: 0 0 34px 34px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.30), transparent 34%),
    linear-gradient(135deg, var(--grh-dark), #10292b);
  color: #fff;
}

.app-club-sponsor-hero .app-icon-button {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.app-club-sponsor-hero h5 {
  margin: 6px 0 8px;
  color: #fff;
  font-weight: 950;
}

.app-club-sponsor-hero p {
  margin: 0;
  color: rgba(255, 255, 255, 0.76);
}

.app-club-sponsor-hero-cover {
  margin-top: 18px;
  height: 150px;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.12);
}

.app-club-sponsor-hero-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-sponsor-detail-content {
  padding-top: 18px;
}

.app-club-sponsor-detail-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  align-items: center;
  margin-bottom: 14px;
}

.app-club-sponsor-detail-logo {
  width: 76px;
  height: 76px;
  border-radius: 26px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-sponsor-detail-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.app-club-sponsor-detail-logo i {
  font-size: 38px;
}

.app-club-sponsor-detail-card h5 {
  margin: 10px 0 7px;
  color: var(--grh-dark);
  font-weight: 950;
}

.app-club-sponsor-detail-card p,
.app-club-sponsor-section-card p,
.app-club-sponsor-offer-card p {
  margin: 0;
  color: var(--grh-muted);
  line-height: 1.5;
}

.app-club-sponsor-section-card,
.app-club-sponsor-offer-card {
  margin-bottom: 14px;
}

.app-club-sponsor-section-card h6,
.app-club-sponsor-offer-card h6 {
  margin: 0 0 10px;
  color: var(--grh-dark);
  font-weight: 950;
}

.app-club-sponsor-offer-card {
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.12), transparent 34%),
    #fff;
}

.app-club-sponsor-lead-form {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.app-club-sponsor-lead-form select,
.app-club-sponsor-lead-form textarea {
  width: 100%;
  border: 1px solid rgba(6, 23, 24, 0.09);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(6, 23, 24, 0.02);
  color: var(--grh-dark);
  font-family: inherit;
}

.app-club-sponsor-lead-form textarea {
  min-height: 92px;
  resize: vertical;
}

.app-club-sponsor-lead-form .btn {
  width: 100%;
  height: 48px;
  border-radius: 18px;
}

.app-club-sponsor-links {
  display: grid;
  gap: 12px;
}

.app-club-sponsor-links a {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  color: var(--grh-dark) !important;
  text-decoration: none !important;
  font-weight: 900;
}

.app-club-sponsor-links a i {
  color: var(--grh-primary);
}

@media (min-width: 768px) {
  .app-club-sponsor-filter {
    grid-template-columns: 1fr 210px auto;
    align-items: center;
  }
}

/* =========================================================
   Plataforma - Patrocinadores do Clube
========================================================= */

.club-platform-sponsor-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.club-platform-sponsor-logo {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex: 0 0 auto;
}

.club-platform-sponsor-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.club-platform-sponsor-logo i {
  font-size: 25px;
}

/* Plataforma - Integrações/API */
.integration-status {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border-radius: 18px;
  padding: 16px;
  margin-top: 18px;
}

.integration-status i {
  font-size: 28px;
}

.integration-status strong {
  display: block;
  font-size: 0.98rem;
  margin-bottom: 4px;
}

.integration-status span {
  display: block;
  color: var(--grh-muted);
  font-size: 0.92rem;
}

.integration-status-success {
  background: rgba(46, 125, 50, 0.1);
  color: #2e7d32;
}

.integration-status-error {
  background: rgba(198, 40, 40, 0.1);
  color: #c62828;
}

.integration-doc-box {
  margin-top: 20px;
  border-radius: 18px;
  padding: 16px;
  background: rgba(6, 23, 24, 0.04);
}

.integration-doc-box h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.integration-doc-box p {
  margin: 0 0 10px;
  color: var(--grh-muted);
}

.integration-doc-box code,
.integration-endpoints-card code {
  display: inline-block;
  border-radius: 10px;
  padding: 4px 8px;
  background: rgba(6, 23, 24, 0.08);
  color: #061718;
  font-size: 0.86rem;
}

.integration-code-block {
  border-radius: 18px;
  padding: 16px;
  overflow-x: auto;
  background: #061718;
  color: #fff;
  font-size: 0.9rem;
}

.integration-code-block code {
  color: #fff;
  white-space: pre-wrap;
}

.integration-method-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 10px;
  background: rgba(204, 0, 61, 0.1);
  color: var(--grh-primary);
  font-weight: 800;
  font-size: 0.78rem;
}

.integration-endpoints-card {
  margin-top: 24px;
}

@media (max-width: 768px) {
  .integration-endpoints-card table {
    min-width: 780px;
  }
}

/* =========================================================
   App Dashboard Premium - Grupo Gestão RH
   ========================================================= */

.app-premium-dashboard {
  min-height: 100vh;
  margin: -16px;
  padding: 0 0 28px;
  background:
    radial-gradient(circle at 20% 0%, rgba(204, 0, 61, 0.34), transparent 32%),
    radial-gradient(circle at 100% 18%, rgba(204, 0, 61, 0.18), transparent 30%),
    linear-gradient(145deg, #020708 0%, #061718 48%, #020708 100%);
  color: #fff;
  overflow: hidden;
}

.app-premium-hero {
  position: relative;
  padding: 28px 20px 26px;
  border-bottom-left-radius: 34px;
  border-bottom-right-radius: 34px;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02)),
    linear-gradient(135deg, rgba(204, 0, 61, 0.2), transparent 55%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
}

.app-premium-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.08), transparent 30%),
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.055) 0,
      rgba(255, 255, 255, 0.055) 1px,
      transparent 1px,
      transparent 18px
    );
  opacity: 0.38;
  pointer-events: none;
}

.app-premium-hero::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 190px;
  height: 190px;
  border-radius: 999px;
  border: 1px solid rgba(204, 0, 61, 0.45);
  box-shadow:
    0 0 0 28px rgba(204, 0, 61, 0.08),
    0 0 70px rgba(204, 0, 61, 0.35);
  pointer-events: none;
}

.app-premium-hero-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.app-premium-line {
  position: absolute;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #cc003d, transparent);
  opacity: 0.88;
  transform: rotate(-18deg);
}

.app-premium-line-1 {
  width: 220px;
  top: 38px;
  right: -70px;
}

.app-premium-line-2 {
  width: 170px;
  top: 128px;
  right: 18px;
  opacity: 0.52;
}

.app-premium-line-3 {
  width: 260px;
  bottom: 42px;
  left: -96px;
  opacity: 0.42;
}

.app-premium-brand-row,
.app-premium-hero-content,
.app-premium-hero-stats {
  position: relative;
  z-index: 2;
}

.app-premium-brand-row {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 26px;
}

.app-premium-logo {
  width: 54px;
  height: 54px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.25);
  overflow: hidden;
}

.app-premium-logo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.app-premium-eyebrow {
  display: block;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.app-premium-brand-row h4 {
  margin: 2px 0 0;
  color: #fff;
  font-weight: 900;
  font-size: 1.2rem;
}

.app-premium-tag,
.app-premium-mini-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  border-radius: 999px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-premium-tag {
  padding: 8px 12px;
  color: #fff;
  font-size: 0.68rem;
  background: rgba(204, 0, 61, 0.22);
  border: 1px solid rgba(204, 0, 61, 0.46);
}

.app-premium-tag i {
  font-size: 16px;
}

.app-premium-mini-tag {
  padding: 5px 9px;
  color: #cc003d;
  font-size: 0.64rem;
  background: rgba(204, 0, 61, 0.1);
}

.app-premium-hero-content h1 {
  margin: 14px 0 10px;
  color: #fff;
  font-size: clamp(1.75rem, 7vw, 2.65rem);
  line-height: 0.98;
  font-weight: 950;
  letter-spacing: -0.055em;
}

.app-premium-hero-content p {
  max-width: 580px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.98rem;
  line-height: 1.55;
}

.app-premium-hero-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
}

.app-premium-hero-stats div {
  border-radius: 22px;
  padding: 14px 15px;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(14px);
}

.app-premium-hero-stats strong {
  display: block;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 950;
}

.app-premium-hero-stats span {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.78rem;
  font-weight: 700;
}

.app-premium-content {
  position: relative;
  z-index: 3;
  padding: 20px 16px 34px;
}

.app-premium-action-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.5fr;
  gap: 14px;
  margin-top: -4px;
}

.app-premium-summary-card,
.app-premium-push-card,
.app-premium-club-card {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
  color: #061718;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.24);
}

.app-premium-summary-card {
  min-height: 154px;
  padding: 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.app-premium-summary-card::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -42px;
  width: 116px;
  height: 116px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.12);
}

.app-premium-summary-card span,
.app-premium-summary-card small {
  display: block;
}

.app-premium-summary-card span {
  color: #6c7f90;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-premium-summary-card strong {
  display: block;
  margin: 8px 0 2px;
  color: #061718;
  font-size: 2.35rem;
  line-height: 1;
  font-weight: 950;
}

.app-premium-summary-card small {
  max-width: 120px;
  color: #6c7f90;
  font-size: 0.8rem;
  font-weight: 700;
}

.app-premium-summary-card i {
  position: relative;
  z-index: 2;
  color: #cc003d;
  font-size: 32px;
}

.app-premium-push-card {
  min-height: 154px;
  padding: 18px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 13px;
  align-items: start;
}

.app-premium-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(204, 0, 61, 0.1);
  color: #cc003d;
}

.app-premium-card-icon i {
  font-size: 25px;
}

.app-premium-push-card h6 {
  margin: 10px 0 6px;
  color: #061718;
  font-size: 1rem;
  font-weight: 950;
}

.app-premium-push-card p {
  margin: 0;
  color: #6c7f90;
  font-size: 0.86rem;
  line-height: 1.45;
}

.app-premium-push-button {
  grid-column: 1 / -1;
  width: 100%;
  margin-top: 4px;
  border-radius: 999px;
}

.app-premium-status-message {
  grid-column: 1 / -1;
  display: block;
  color: #6c7f90;
  font-size: 0.78rem;
}

.app-premium-section {
  margin-top: 26px;
}

.app-premium-section-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 12px;
}

.app-premium-section-title span {
  display: block;
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.app-premium-section-title h6 {
  margin: 3px 0 0;
  color: #fff;
  font-size: 1.12rem;
  font-weight: 950;
}

.app-premium-club-card {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 146px;
  padding: 20px;
  text-decoration: none;
  background:
    linear-gradient(135deg, rgba(204, 0, 61, 0.98), rgba(94, 0, 28, 0.96)),
    linear-gradient(145deg, #cc003d, #061718);
  color: #fff;
}

.app-premium-club-card:hover {
  color: #fff;
}

.app-premium-club-glow {
  position: absolute;
  right: -54px;
  top: -54px;
  width: 150px;
  height: 150px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.13);
  box-shadow: 0 0 70px rgba(255, 255, 255, 0.16);
}

.app-premium-club-icon {
  position: relative;
  z-index: 2;
  width: 58px;
  height: 58px;
  border-radius: 22px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.app-premium-club-icon i {
  font-size: 30px;
}

.app-premium-club-card > div:not(.app-premium-club-glow):not(.app-premium-club-icon),
.app-premium-arrow {
  position: relative;
  z-index: 2;
}

.app-premium-club-card .app-premium-mini-tag {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
}

.app-premium-club-card h5 {
  margin: 8px 0 6px;
  color: #fff;
  font-size: 1.16rem;
  font-weight: 950;
}

.app-premium-club-card p {
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.88rem;
  line-height: 1.45;
}

.app-premium-arrow {
  margin-left: auto;
  font-size: 28px;
  color: #fff;
}

.app-premium-event-list {
  display: grid;
  gap: 12px;
}

.app-premium-event-list .app-card {
  border-radius: 26px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.2);
}

.app-premium-empty {
  margin-top: 26px;
}

.app-premium-empty .app-empty-state,
.app-premium-empty .app-card {
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.96);
}

@media (max-width: 720px) {
  .app-premium-dashboard {
    margin: -12px;
  }

  .app-premium-hero {
    padding: 24px 18px 24px;
  }

  .app-premium-action-grid {
    grid-template-columns: 1fr;
  }

  .app-premium-club-card {
    align-items: flex-start;
  }

  .app-premium-arrow {
    align-self: center;
  }
}

@media (min-width: 900px) {
  .app-premium-dashboard {
    margin: -24px;
    padding-bottom: 48px;
  }

  .app-premium-hero {
    padding: 42px 44px 38px;
  }

  .app-premium-content {
    max-width: 980px;
    margin: 0 auto;
    padding: 28px 24px 48px;
  }

  .app-premium-hero-content h1 {
    max-width: 760px;
  }
}

/* =========================================================
   Correção de scroll do App Dashboard Premium
   ========================================================= */

.app-premium-dashboard {
  min-height: auto;
  width: calc(100% + 32px);
  margin: -16px -16px 0;
  padding-bottom: 32px;
}

.app-premium-content {
  padding-bottom: 18px;
}

.app-premium-empty,
.app-premium-section:last-child {
  margin-bottom: 0;
}

@media (max-width: 720px) {
  .app-premium-dashboard {
    width: calc(100% + 24px);
    margin: -12px -12px 0;
  }
}

@media (min-width: 900px) {
  .app-premium-dashboard {
    width: calc(100% + 48px);
    margin: -24px -24px 0;
  }
}

/* =========================================================
   App Clube Gestão - Home Premium
   ========================================================= */

.app-club-premium-home {
  width: calc(100% + 32px);
  margin: -16px -16px 0;
  padding-bottom: 32px;
  background:
    radial-gradient(circle at 12% 0%, rgba(204, 0, 61, 0.38), transparent 34%),
    radial-gradient(circle at 100% 18%, rgba(204, 0, 61, 0.18), transparent 32%),
    linear-gradient(145deg, #020708 0%, #061718 46%, #020708 100%);
  color: #fff;
  overflow: hidden;
}

.app-club-premium-hero {
  position: relative;
  padding: 24px 20px 34px;
  min-height: 560px;
  border-bottom-left-radius: 38px;
  border-bottom-right-radius: 38px;
  overflow: hidden;
  background:
    linear-gradient(140deg, rgba(204, 0, 61, 0.28), transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.app-club-premium-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.055) 0,
      rgba(255, 255, 255, 0.055) 1px,
      transparent 1px,
      transparent 18px
    );
  opacity: 0.32;
  pointer-events: none;
}

.app-club-premium-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.app-club-orbit {
  position: absolute;
  border-radius: 999px;
  border: 1px solid rgba(204, 0, 61, 0.44);
}

.app-club-orbit-1 {
  right: -130px;
  top: -120px;
  width: 310px;
  height: 310px;
  box-shadow:
    0 0 0 44px rgba(204, 0, 61, 0.08),
    0 0 90px rgba(204, 0, 61, 0.24);
  animation: clubOrbitPulse 6s ease-in-out infinite;
}

.app-club-orbit-2 {
  left: -150px;
  bottom: -170px;
  width: 280px;
  height: 280px;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 0 70px rgba(204, 0, 61, 0.18);
}

.app-club-red-line {
  position: absolute;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, #cc003d, transparent);
  transform: rotate(-18deg);
  opacity: 0.82;
}

.app-club-red-line-1 {
  top: 118px;
  right: -58px;
  width: 330px;
}

.app-club-red-line-2 {
  top: 210px;
  right: 20px;
  width: 260px;
  opacity: 0.48;
}

.app-club-red-line-3 {
  bottom: 90px;
  left: -86px;
  width: 280px;
  opacity: 0.34;
}

.app-club-dots {
  position: absolute;
  right: 16px;
  bottom: 96px;
  width: 118px;
  height: 118px;
  opacity: 0.22;
  background-image: radial-gradient(rgba(255, 255, 255, 0.85) 2px, transparent 2px);
  background-size: 14px 14px;
  border-radius: 999px;
}

.app-club-premium-top,
.app-club-premium-content,
.app-club-premium-stats {
  position: relative;
  z-index: 2;
}

.app-club-premium-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 70px;
}

.app-club-back-button {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(14px);
}

.app-club-back-button:hover {
  color: #fff;
  background: rgba(204, 0, 61, 0.3);
}

.app-club-premium-logo {
  width: 54px;
  height: 54px;
  border-radius: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.app-club-premium-logo img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.app-club-premium-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  border-radius: 999px;
  padding: 9px 13px;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  background: rgba(204, 0, 61, 0.22);
  border: 1px solid rgba(204, 0, 61, 0.5);
}

.app-club-premium-eyebrow i {
  font-size: 16px;
}

.app-club-premium-content h1 {
  max-width: 780px;
  margin: 16px 0 12px;
  color: #fff;
  font-size: clamp(2rem, 8vw, 3.1rem);
  line-height: 0.95;
  font-weight: 950;
  letter-spacing: -0.06em;
}

.app-club-premium-content p {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 1rem;
  line-height: 1.58;
}

.app-club-premium-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 36px;
}

.app-club-premium-stats div {
  border-radius: 24px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.095);
  border: 1px solid rgba(255, 255, 255, 0.13);
  backdrop-filter: blur(14px);
}

.app-club-premium-stats strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 950;
}

.app-club-premium-stats span {
  display: block;
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.78rem;
  font-weight: 750;
}

.app-club-premium-content-area {
  position: relative;
  z-index: 3;
  padding: 22px 16px 34px;
}

.app-club-feature-highlight,
.app-club-premium-card,
.app-club-premium-coming {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-feature-highlight {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 22px;
  margin-top: -58px;
  background:
    linear-gradient(135deg, rgba(204, 0, 61, 0.96), rgba(75, 0, 25, 0.96)),
    linear-gradient(145deg, #cc003d, #061718);
  color: #fff;
}

.app-club-feature-highlight-glow {
  position: absolute;
  right: -46px;
  top: -46px;
  width: 140px;
  height: 140px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  box-shadow: 0 0 80px rgba(255, 255, 255, 0.16);
}

.app-club-feature-highlight-icon {
  position: relative;
  z-index: 2;
  width: 54px;
  height: 54px;
  border-radius: 21px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.app-club-feature-highlight-icon i {
  font-size: 28px;
}

.app-club-feature-highlight div:not(.app-club-feature-highlight-glow):not(.app-club-feature-highlight-icon) {
  position: relative;
  z-index: 2;
}

.app-club-feature-highlight span,
.app-club-premium-card span,
.app-club-premium-coming span {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-club-feature-highlight span {
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
}

.app-club-feature-highlight h5 {
  margin: 9px 0 7px;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1.12;
  font-weight: 950;
}

.app-club-feature-highlight p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9rem;
  line-height: 1.48;
}

.app-club-premium-section-title {
  margin: 28px 0 13px;
}

.app-club-premium-section-title span {
  display: block;
  color: rgba(255, 255, 255, 0.52);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.app-club-premium-section-title h6 {
  margin: 3px 0 0;
  color: #fff;
  font-size: 1.18rem;
  font-weight: 950;
}

.app-club-premium-grid {
  display: grid;
  gap: 14px;
}

.app-club-premium-card {
  display: flex;
  align-items: center;
  gap: 15px;
  min-height: 132px;
  padding: 18px;
  text-decoration: none;
  color: #061718;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.9));
}

.app-club-premium-card:hover {
  color: #061718;
  transform: translateY(-1px);
}

.app-club-premium-card-main {
  min-height: 158px;
  color: #fff;
  background:
    linear-gradient(135deg, rgba(6, 23, 24, 0.96), rgba(6, 23, 24, 0.76)),
    radial-gradient(circle at 0% 0%, rgba(204, 0, 61, 0.6), transparent 38%);
}

.app-club-premium-card-main:hover {
  color: #fff;
}

.app-club-card-shine {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.12), transparent 28%),
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.05) 0,
      rgba(255, 255, 255, 0.05) 1px,
      transparent 1px,
      transparent 16px
    );
  opacity: 0.7;
}

.app-club-premium-card-icon {
  position: relative;
  z-index: 2;
  width: 54px;
  height: 54px;
  border-radius: 21px;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(204, 0, 61, 0.1);
  color: #cc003d;
}

.app-club-premium-card-main .app-club-premium-card-icon {
  color: #fff;
  background: rgba(204, 0, 61, 0.28);
  border: 1px solid rgba(204, 0, 61, 0.45);
}

.app-club-premium-card-icon i {
  font-size: 28px;
}

.app-club-premium-card > div:not(.app-club-card-shine):not(.app-club-premium-card-icon),
.app-club-premium-arrow {
  position: relative;
  z-index: 2;
}

.app-club-premium-card span {
  color: #cc003d;
  background: rgba(204, 0, 61, 0.1);
}

.app-club-premium-card-main span {
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
}

.app-club-premium-card h5 {
  margin: 8px 0 6px;
  color: inherit;
  font-size: 1.08rem;
  font-weight: 950;
}

.app-club-premium-card p {
  margin: 0;
  color: #6c7f90;
  font-size: 0.86rem;
  line-height: 1.45;
}

.app-club-premium-card-main p {
  color: rgba(255, 255, 255, 0.7);
}

.app-club-premium-arrow {
  margin-left: auto;
  color: #cc003d;
  font-size: 28px;
}

.app-club-premium-card-main .app-club-premium-arrow {
  color: #fff;
}

.app-club-premium-coming {
  margin-top: 24px;
  padding: 20px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  backdrop-filter: blur(16px);
}

.app-club-premium-coming span {
  color: #fff;
  background: rgba(204, 0, 61, 0.2);
}

.app-club-premium-coming h6 {
  margin: 9px 0 6px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 950;
}

.app-club-premium-coming p {
  margin: 0;
  color: rgba(255, 255, 255, 0.64);
  font-size: 0.88rem;
  line-height: 1.45;
}

.app-club-premium-coming > i {
  margin-left: auto;
  color: #cc003d;
  font-size: 34px;
}

@keyframes clubOrbitPulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.95;
  }

  50% {
    transform: scale(1.05);
    opacity: 0.62;
  }
}

@media (max-width: 720px) {
  .app-club-premium-home {
    width: calc(100% + 24px);
    margin: -12px -12px 0;
  }

  .app-club-premium-hero {
    min-height: 540px;
    padding: 22px 18px 30px;
  }

  .app-club-premium-top {
    margin-bottom: 58px;
  }

  .app-club-feature-highlight,
  .app-club-premium-card {
    align-items: flex-start;
  }

  .app-club-premium-arrow {
    align-self: center;
  }
}

@media (min-width: 760px) {
  .app-club-premium-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .app-club-premium-card-main {
    grid-column: span 2;
  }
}

@media (min-width: 900px) {
  .app-club-premium-home {
    width: calc(100% + 48px);
    margin: -24px -24px 0;
    padding-bottom: 48px;
  }

  .app-club-premium-hero {
    padding: 38px 44px 44px;
  }

  .app-club-premium-content-area {
    max-width: 980px;
    margin: 0 auto;
    padding: 26px 24px 48px;
  }
}

/* =========================================================
   Ajuste Dashboard Premium - cards menores lado a lado
   ========================================================= */

.app-premium-action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
}

.app-premium-summary-card,
.app-premium-push-card {
  min-height: 176px;
  border-radius: 26px;
}

.app-premium-summary-card {
  padding: 16px;
}

.app-premium-summary-card strong {
  font-size: 2rem;
}

.app-premium-summary-card small {
  max-width: 100%;
  font-size: 0.76rem;
  line-height: 1.35;
}

.app-premium-summary-card i {
  font-size: 30px;
}

.app-premium-push-card {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.app-premium-push-card .app-premium-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 16px;
}

.app-premium-push-card h6 {
  margin: 6px 0 4px;
  font-size: 0.96rem;
  line-height: 1.15;
}

.app-premium-push-card p {
  font-size: 0.78rem;
  line-height: 1.35;
}

.app-premium-push-button {
  width: 100%;
  margin-top: auto;
  height: 40px;
  line-height: 40px;
  font-size: 0.82rem;
  padding: 0 12px;
}

.app-premium-status-message {
  font-size: 0.72rem;
  line-height: 1.25;
}

@media (max-width: 420px) {
  .app-premium-action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .app-premium-summary-card,
  .app-premium-push-card {
    min-height: 168px;
    border-radius: 24px;
    padding: 14px;
  }

  .app-premium-summary-card strong {
    font-size: 1.8rem;
  }

  .app-premium-summary-card span {
    font-size: 0.66rem;
  }

  .app-premium-summary-card small {
    font-size: 0.7rem;
  }

  .app-premium-push-card h6 {
    font-size: 0.86rem;
  }

  .app-premium-push-card p {
    display: none;
  }

  .app-premium-push-button {
    font-size: 0.74rem;
  }
}

/* =========================================================
   99. App/PWA - Correções globais finais
   Mantém o menu inferior visível e elimina a sobra acima dele
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

body {
  background: var(--grh-bg-soft);
}

.grh-app-main {
  position: relative;
  max-width: 520px;
  min-height: 100vh;
  margin: 0 auto;
  background: var(--grh-bg-soft);
  overflow-x: hidden;
  overflow-y: visible;
}

.app-shell {
  position: relative;
  min-height: 100vh;
  padding-bottom: 0;
  overflow-x: hidden;
  overflow-y: visible;
}

/* Fundo correto nas telas premium para não aparecer faixa clara acima do menu */
.app-shell:has(.app-premium-dashboard),
.app-shell:has(.app-club-premium-home),
.grh-app-main:has(.app-premium-dashboard),
.grh-app-main:has(.app-club-premium-home) {
  background:
    radial-gradient(circle at 20% 0%, rgba(204, 0, 61, 0.26), transparent 32%),
    linear-gradient(145deg, #020708 0%, #061718 48%, #020708 100%);
}

/* Camada escura atrás do bottom nav nas telas premium */
.app-shell:has(.app-premium-dashboard)::after,
.app-shell:has(.app-club-premium-home)::after {
  content: "";
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width: 520px;
  height: calc(106px + env(safe-area-inset-bottom));
  pointer-events: none;
  z-index: 99990;
  background:
    linear-gradient(
      180deg,
      rgba(2, 7, 8, 0) 0%,
      rgba(2, 7, 8, 0.88) 34%,
      #020708 100%
    );
}

/* Conteúdo reserva espaço para o menu sem deixar faixa clara */
.app-content,
.app-premium-content,
.app-club-premium-content-area,
.app-club-feed-content,
.app-club-networking-content,
.app-club-chat-content,
.app-club-sponsors-content,
.app-club-sponsor-detail-content,
.app-club-member-profile-content,
.app-chat-content {
  padding-bottom: calc(112px + env(safe-area-inset-bottom));
}

/* Telas premium estendem o fundo até atrás do menu */
.app-premium-dashboard,
.app-club-premium-home {
  position: relative;
  z-index: 1;
  min-height: 100vh;
  padding-bottom: calc(92px + env(safe-area-inset-bottom));
  overflow-x: hidden;
  overflow-y: visible;
}

.app-premium-dashboard {
  width: calc(100% + 32px);
  margin: -16px -16px 0;
}

.app-club-premium-home {
  width: calc(100% + 32px);
  margin: -16px -16px 0;
}

.app-premium-hero,
.app-club-premium-hero {
  position: relative;
  z-index: 1;
}

.app-premium-content,
.app-club-premium-content-area {
  position: relative;
  z-index: 2;
}

/* Menu inferior sempre acima de qualquer página */
.app-bottom-nav {
  position: fixed !important;
  left: 50% !important;
  right: auto !important;
  bottom: 0 !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  max-width: 520px !important;
  height: calc(74px + env(safe-area-inset-bottom)) !important;
  padding-bottom: env(safe-area-inset-bottom) !important;
  display: flex !important;
  align-items: stretch !important;
  justify-content: space-around !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  z-index: 99999 !important;
  background: rgba(255, 255, 255, 0.98) !important;
  border-top: 1px solid rgba(229, 231, 235, 0.92) !important;
  box-shadow: 0 -12px 34px rgba(2, 7, 8, 0.18) !important;
  overflow: visible !important;
  line-height: normal !important;
}

.app-bottom-nav a {
  flex: 1;
  height: 100%;
  padding: 0 2px !important;
  color: var(--grh-gray);
  font-size: 11px;
  text-align: center;
  text-decoration: none;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  line-height: 1.1 !important;
}

.app-bottom-nav a.active {
  color: var(--grh-primary) !important;
  font-weight: 900;
}

.app-bottom-nav i {
  display: block !important;
  font-size: 24px;
  height: auto !important;
  line-height: 1 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.app-bottom-nav span {
  display: block !important;
  line-height: 1.1 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Chat: campo de mensagem sobe acima do menu */
.app-club-chat-form {
  z-index: 99991;
  bottom: calc(86px + env(safe-area-inset-bottom));
}

/* Remove espaços finais duplicados */
.app-premium-section:last-child,
.app-club-premium-content-area > *:last-child,
.app-club-sponsor-detail-content > *:last-child,
.app-club-member-profile-content > *:last-child,
.app-club-chat-content > *:last-child,
.app-club-feed-content > *:last-child,
.app-club-networking-content > *:last-child,
.app-club-sponsors-content > *:last-child,
.app-content > *:last-child {
  margin-bottom: 0;
}

@media (max-width: 720px) {
  .app-premium-dashboard,
  .app-club-premium-home {
    width: calc(100% + 24px);
    margin: -12px -12px 0;
  }
}

@media (min-width: 521px) {
  .app-bottom-nav {
    border-left: 1px solid var(--grh-border) !important;
    border-right: 1px solid var(--grh-border) !important;
  }
}

@media (min-width: 900px) {
  .app-premium-dashboard,
  .app-club-premium-home {
    width: calc(100% + 48px);
    margin: -24px -24px 0;
  }
}

/* =========================================================
   Clube Premium - Páginas internas e Feed
========================================================= */

.app-club-page-premium {
  min-height: 100vh;
}

.app-club-page-hero {
  position: relative;
  min-height: 360px;
  padding: 24px 20px 34px;
  border-bottom-left-radius: 38px;
  border-bottom-right-radius: 38px;
  overflow: hidden;
  background:
    linear-gradient(140deg, rgba(204, 0, 61, 0.28), transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.app-club-page-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.055) 0,
      rgba(255, 255, 255, 0.055) 1px,
      transparent 1px,
      transparent 18px
    );
  opacity: 0.32;
  pointer-events: none;
}

.app-club-page-hero-compact {
  min-height: 330px;
}

.app-club-page-pill {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 44px;
  border-radius: 999px;
  padding: 0 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.14);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(14px);
}

.app-club-page-pill i {
  font-size: 17px;
}

.app-club-premium-action-button {
  width: 100%;
  height: 48px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-bottom: 14px;
}

.app-club-premium-search-field {
  min-height: 48px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  padding: 0 14px;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
}

.app-club-premium-search-field i {
  color: #6c7f90;
  font-size: 22px;
}

.app-club-premium-search-field input {
  border: none !important;
  box-shadow: none !important;
  margin: 0 !important;
  height: 46px !important;
  color: #061718;
  font-weight: 700;
}

.app-club-premium-search .btn {
  height: 48px;
  border-radius: 18px;
}

.app-club-premium-category-scroll {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 2px 0 16px;
  margin-bottom: 4px;
}

.app-club-premium-category-scroll::-webkit-scrollbar {
  display: none;
}

.app-club-premium-category-chip,
a.app-club-premium-category-chip {
  flex: 0 0 auto;
  padding: 9px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.72);
  font-weight: 900;
  text-decoration: none;
  font-size: 0.86rem;
  border: 1px solid rgba(255, 255, 255, 0.13);
}

.app-club-premium-category-chip.active,
a.app-club-premium-category-chip.active {
  background: #cc003d;
  color: #fff;
  border-color: #cc003d;
}

.app-club-premium-filter-info {
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.22);
  border: 1px solid rgba(204, 0, 61, 0.36);
}

.app-club-premium-filter-info span {
  display: block;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-club-premium-filter-info strong {
  display: block;
  margin-top: 3px;
  color: #fff;
  font-weight: 950;
}

.app-club-premium-feed-list {
  display: grid;
  gap: 16px;
}

.app-club-premium-post-card,
a.app-club-premium-post-card {
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 30px;
  color: #fff !important;
  text-decoration: none !important;
  background:
    linear-gradient(135deg, rgba(6, 23, 24, 0.96), rgba(6, 23, 24, 0.76)),
    radial-gradient(circle at 0% 0%, rgba(204, 0, 61, 0.6), transparent 38%);
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-premium-post-cover {
  position: relative;
  z-index: 2;
  height: 170px;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 10%, rgba(204, 0, 61, 0.55), transparent 40%),
    linear-gradient(135deg, #061718, #020708);
}

.app-club-premium-post-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-premium-post-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(6, 23, 24, 0.62));
}

.app-club-premium-post-cover-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.64);
}

.app-club-premium-post-cover-empty i {
  font-size: 48px;
}

.app-club-premium-post-body {
  position: relative;
  z-index: 2;
  padding: 18px;
}

.app-club-premium-post-body h6 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 1.18rem;
  font-weight: 950;
  line-height: 1.12;
}

.app-club-premium-post-body p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.5;
}

.app-club-premium-mini-tag-light {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  color: #fff;
  background: rgba(255, 255, 255, 0.13);
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-club-premium-post-card .app-club-post-meta > span:not(.app-club-premium-mini-tag-light),
.app-club-premium-detail-card .app-club-post-meta > span:not(.app-club-premium-mini-tag-light) {
  color: rgba(255, 255, 255, 0.58);
}

.app-club-premium-post-card .app-club-post-tags span {
  color: #fff;
  background: rgba(204, 0, 61, 0.36);
}

.app-club-premium-post-card .app-club-post-footer {
  border-top-color: rgba(255, 255, 255, 0.1);
}

.app-club-premium-post-card .app-club-post-author strong {
  color: #fff;
}

.app-club-premium-post-card .app-club-post-author span,
.app-club-premium-post-card .app-club-post-stats {
  color: rgba(255, 255, 255, 0.58);
}

.app-club-premium-post-card .app-club-post-stats .liked {
  color: #fff;
}

.app-club-premium-empty .app-empty-state {
  background: rgba(255, 255, 255, 0.96);
  border-radius: 30px;
}

.app-club-premium-form-card,
.app-club-premium-detail-card,
.app-club-premium-comments-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.97);
  color: #061718;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.24);
}

.app-club-premium-form-card {
  display: grid;
  gap: 16px;
}

.app-club-premium-notice {
  margin-bottom: 14px;
  padding: 16px;
  border-radius: 26px;
  background:
    linear-gradient(135deg, rgba(204, 0, 61, 0.96), rgba(75, 0, 25, 0.96));
  color: #fff;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: flex-start;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.2);
}

.app-club-premium-notice > i {
  font-size: 28px;
}

.app-club-premium-notice strong {
  display: block;
  font-weight: 950;
  margin-bottom: 4px;
}

.app-club-premium-notice span {
  display: block;
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.4;
  font-size: 0.9rem;
}

.app-club-premium-detail-card {
  padding: 0;
}

.app-club-premium-detail-card .app-club-post-detail-cover {
  height: 220px;
}

.app-club-premium-detail-card .app-club-post-detail-body {
  padding: 20px;
}

.app-club-premium-detail-card h4 {
  color: #061718;
}

.app-club-premium-comments-card {
  margin-top: 18px;
}

.app-club-premium-comments-card .app-club-premium-section-title {
  margin-top: 0;
}

.app-club-premium-comments-card .app-club-premium-section-title span {
  color: #cc003d;
}

.app-club-premium-comments-card .app-club-premium-section-title h6 {
  color: #061718;
}

.app-club-premium-muted {
  margin: 0;
  color: #6c7f90;
}

@media (max-width: 520px) {
  .app-club-page-hero {
    min-height: 340px;
    padding: 22px 18px 30px;
  }

  .app-club-page-hero-compact {
    min-height: 310px;
  }

  .app-club-premium-search {
    grid-template-columns: 1fr;
  }

  .app-club-premium-search .btn {
    width: 100%;
  }

  .app-club-premium-post-cover {
    height: 150px;
  }
}

/* =========================================================
   Clube Premium - Networking e Perfil do Membro
========================================================= */

.app-club-premium-networking-filter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 14px;
}

.app-club-premium-select,
select.app-club-premium-select {
  width: 100%;
  min-height: 48px;
  height: 48px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.98);
  color: #061718;
  padding: 0 14px;
  font-family: 'Red Hat Display', sans-serif;
  font-weight: 800;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.16);
}

.app-club-premium-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.app-club-premium-tabs a {
  min-height: 46px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  color: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.13);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  text-decoration: none;
  font-weight: 950;
}

.app-club-premium-tabs a i {
  font-size: 18px;
}

.app-club-premium-tabs a.active {
  background: #cc003d;
  color: #fff;
  border-color: #cc003d;
}

.app-club-premium-members-list {
  display: grid;
  gap: 14px;
}

.app-club-premium-member-card,
a.app-club-premium-member-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 64px 1fr auto;
  gap: 14px;
  align-items: center;
  min-height: 142px;
  padding: 18px;
  border-radius: 30px;
  color: #fff !important;
  text-decoration: none !important;
  background:
    linear-gradient(135deg, rgba(6, 23, 24, 0.96), rgba(6, 23, 24, 0.76)),
    radial-gradient(circle at 0% 0%, rgba(204, 0, 61, 0.6), transparent 38%);
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-premium-member-avatar {
  position: relative;
  z-index: 2;
  width: 64px;
  height: 64px;
  border-radius: 24px;
  flex: 0 0 auto;
  background: rgba(204, 0, 61, 0.22);
  color: #fff;
  border: 1px solid rgba(204, 0, 61, 0.38);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-premium-member-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-premium-member-avatar i {
  font-size: 34px;
}

.app-club-premium-member-info {
  position: relative;
  z-index: 2;
  min-width: 0;
}

.app-club-premium-member-info h6 {
  margin: 8px 0 5px;
  color: #fff;
  font-weight: 950;
  line-height: 1.1;
}

.app-club-premium-member-info p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.35;
  font-size: 0.9rem;
}

.app-club-premium-member-location {
  margin-top: 9px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.8rem;
  font-weight: 850;
}

.app-club-premium-member-location i {
  font-size: 16px;
}

.app-club-premium-interest-list {
  position: relative;
  z-index: 2;
}

.app-club-premium-interest-list span {
  color: #fff;
  background: rgba(204, 0, 61, 0.34);
}

.app-club-premium-member-fav {
  position: relative;
  z-index: 2;
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.09);
  color: rgba(255, 255, 255, 0.56);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-member-fav.active {
  color: #fff;
  background: rgba(204, 0, 61, 0.42);
}

.app-club-premium-member-fav i {
  font-size: 25px;
}

/* Perfil premium do associado */

.app-club-member-premium-hero {
  position: relative;
  min-height: 460px;
  padding: 24px 20px 38px;
  border-bottom-left-radius: 38px;
  border-bottom-right-radius: 38px;
  overflow: hidden;
  background:
    linear-gradient(140deg, rgba(204, 0, 61, 0.28), transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.app-club-member-premium-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.055) 0,
      rgba(255, 255, 255, 0.055) 1px,
      transparent 1px,
      transparent 18px
    );
  opacity: 0.32;
  pointer-events: none;
}

.app-club-premium-favorite-form {
  position: relative;
  z-index: 2;
  margin: 0;
}

.app-club-premium-favorite-button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: rgba(255, 255, 255, 0.11);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(14px);
  cursor: pointer;
}

.app-club-premium-favorite-button.active {
  background: rgba(204, 0, 61, 0.95);
  border-color: rgba(204, 0, 61, 0.95);
  color: #fff;
}

.app-club-member-premium-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding-top: 16px;
}

.app-club-member-premium-avatar {
  width: 104px;
  height: 104px;
  border-radius: 36px;
  margin: 0 auto 18px;
  background: rgba(204, 0, 61, 0.22);
  color: #fff;
  border: 1px solid rgba(204, 0, 61, 0.42);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-member-premium-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-member-premium-avatar i {
  font-size: 54px;
}

.app-club-member-premium-content h1 {
  max-width: 780px;
  margin: 16px auto 10px;
  color: #fff;
  font-size: clamp(2rem, 8vw, 3rem);
  line-height: 0.96;
  font-weight: 950;
  letter-spacing: -0.06em;
}

.app-club-member-premium-content p {
  max-width: 620px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.72);
  font-size: 1rem;
  line-height: 1.5;
}

.app-club-premium-profile-card,
.app-club-premium-profile-link-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.97);
  color: #061718;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.24);
  margin-bottom: 14px;
}

.app-club-premium-profile-card-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.app-club-premium-profile-card-header span {
  display: block;
  color: #cc003d;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.app-club-premium-profile-card-header h6 {
  margin: 3px 0 0;
  color: #061718;
  font-size: 1.08rem;
  font-weight: 950;
}

.app-club-premium-profile-card-header > i {
  width: 44px;
  height: 44px;
  border-radius: 17px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-profile-card p {
  margin: 0;
  color: #6c7f90;
  line-height: 1.55;
}

.app-club-premium-info-list {
  display: grid;
  gap: 12px;
}

.app-club-premium-info-list div {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(6, 23, 24, 0.08);
}

.app-club-premium-info-list div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.app-club-premium-info-list span {
  display: block;
  color: #6c7f90;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-club-premium-info-list strong {
  display: block;
  margin-top: 3px;
  color: #061718;
  font-weight: 950;
}

.app-club-premium-profile-link-card,
a.app-club-premium-profile-link-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  color: #061718 !important;
  text-decoration: none !important;
  font-weight: 950;
}

.app-club-premium-profile-link-card div {
  width: 44px;
  height: 44px;
  border-radius: 17px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-profile-link-card > i {
  color: #cc003d;
}

@media (min-width: 768px) {
  .app-club-premium-networking-filter {
    grid-template-columns: 1fr 220px auto;
    align-items: center;
  }
}

@media (max-width: 520px) {
  .app-club-premium-member-card,
  a.app-club-premium-member-card {
    grid-template-columns: 58px 1fr;
    align-items: flex-start;
  }

  .app-club-premium-member-avatar {
    width: 58px;
    height: 58px;
    border-radius: 22px;
  }

  .app-club-premium-member-fav {
    grid-column: 1 / -1;
    width: 100%;
    height: 40px;
  }

  .app-club-member-premium-hero {
    min-height: 430px;
    padding: 22px 18px 34px;
  }
}

/* =========================================================
   Clube Premium - Conversas e Chat
========================================================= */

.app-club-premium-chat-list {
  display: grid;
  gap: 14px;
}

.app-club-premium-chat-card,
a.app-club-premium-chat-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 62px 1fr auto;
  gap: 14px;
  align-items: center;
  min-height: 132px;
  padding: 18px;
  border-radius: 30px;
  color: #fff !important;
  text-decoration: none !important;
  background:
    linear-gradient(135deg, rgba(6, 23, 24, 0.96), rgba(6, 23, 24, 0.76)),
    radial-gradient(circle at 0% 0%, rgba(204, 0, 61, 0.6), transparent 38%);
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-premium-chat-avatar {
  position: relative;
  z-index: 2;
  width: 62px;
  height: 62px;
  border-radius: 24px;
  background: rgba(204, 0, 61, 0.22);
  color: #fff;
  border: 1px solid rgba(204, 0, 61, 0.38);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-premium-chat-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-premium-chat-avatar i {
  font-size: 34px;
}

.app-club-premium-chat-info,
.app-club-premium-chat-arrow {
  position: relative;
  z-index: 2;
}

.app-club-premium-chat-info {
  min-width: 0;
}

.app-club-premium-chat-title {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.app-club-premium-chat-title h6 {
  margin: 8px 0 5px;
  color: #fff;
  font-weight: 950;
  line-height: 1.1;
}

.app-club-premium-chat-title strong {
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 950;
}

.app-club-premium-chat-info p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.35;
  font-size: 0.9rem;
}

.app-club-premium-chat-info small {
  display: block;
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.48);
  font-size: 0.76rem;
  font-weight: 800;
}

.app-club-premium-chat-arrow {
  color: #fff;
  font-size: 28px;
}

/* Detalhe do chat */

.app-club-chat-page {
  min-height: 100vh;
}

.app-club-chat-premium-header {
  position: sticky;
  top: 0;
  z-index: 30;
  padding: 16px 18px;
  background:
    linear-gradient(140deg, rgba(204, 0, 61, 0.28), transparent 58%),
    linear-gradient(145deg, #020708 0%, #061718 54%, #020708 100%);
  color: #fff;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
}

.app-club-chat-premium-header::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.045) 0,
      rgba(255, 255, 255, 0.045) 1px,
      transparent 1px,
      transparent 18px
    );
  opacity: 0.32;
  pointer-events: none;
}

.app-club-chat-premium-top {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
}

.app-club-chat-premium-person {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 11px;
  align-items: center;
  min-width: 0;
}

.app-club-chat-premium-person-avatar {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.22);
  color: #fff;
  border: 1px solid rgba(204, 0, 61, 0.38);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.app-club-chat-premium-person-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-chat-premium-person-avatar i {
  font-size: 28px;
}

.app-club-chat-premium-person span {
  display: block;
  color: rgba(255, 255, 255, 0.54);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.app-club-chat-premium-person h5 {
  margin: 2px 0 2px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 950;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-club-chat-premium-person p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.82rem;
  font-weight: 750;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-club-chat-detail-content {
  padding-top: 18px;
  padding-bottom: calc(172px + env(safe-area-inset-bottom)) !important;
}

.app-club-premium-chat-messages {
  display: grid;
  gap: 10px;
}

.app-club-premium-chat-message {
  display: flex;
}

.app-club-premium-chat-message.sent {
  justify-content: flex-end;
}

.app-club-premium-chat-message.received {
  justify-content: flex-start;
}

.app-club-premium-chat-message > div {
  max-width: 82%;
  padding: 12px 14px;
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}

.app-club-premium-chat-message.sent > div {
  background: linear-gradient(135deg, #cc003d, #7b0028);
  color: #fff;
  border-bottom-right-radius: 8px;
}

.app-club-premium-chat-message.received > div {
  background: rgba(255, 255, 255, 0.96);
  color: #061718;
  border-bottom-left-radius: 8px;
}

.app-club-premium-chat-message p {
  margin: 0;
  line-height: 1.42;
}

.app-club-premium-chat-message small {
  display: block;
  margin-top: 5px;
  opacity: 0.72;
  font-size: 0.72rem;
  text-align: right;
}

.app-club-premium-chat-empty {
  padding: 44px 18px;
  text-align: center;
  color: rgba(255, 255, 255, 0.66);
}

.app-club-premium-chat-empty i {
  font-size: 54px;
  color: #cc003d;
}

.app-club-premium-chat-empty h6 {
  margin: 8px 0 4px;
  color: #fff;
  font-weight: 950;
}

.app-club-premium-chat-empty p {
  margin: 0;
  color: rgba(255, 255, 255, 0.58);
}

.app-club-premium-chat-form {
  position: fixed;
  left: 50%;
  bottom: calc(84px + env(safe-area-inset-bottom));
  transform: translateX(-50%);
  width: min(520px, calc(100% - 28px));
  padding: 10px;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
  display: grid;
  grid-template-columns: 1fr 52px;
  gap: 8px;
  z-index: 9999;
  border: 1px solid rgba(255, 255, 255, 0.18);
}

.app-club-premium-chat-form textarea {
  width: 100%;
  min-height: 52px;
  max-height: 130px;
  border: 0 !important;
  resize: vertical;
  outline: none;
  padding: 12px 10px !important;
  margin: 0 !important;
  font-family: inherit;
  color: #061718;
  background: transparent !important;
  box-shadow: none !important;
}

.app-club-premium-chat-form textarea:focus {
  border: 0 !important;
  box-shadow: none !important;
}

.app-club-premium-chat-form .btn {
  width: 52px;
  height: 52px;
  border-radius: 20px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-chat-form .btn i {
  margin: 0;
}

@media (max-width: 520px) {
  .app-club-premium-chat-card,
  a.app-club-premium-chat-card {
    grid-template-columns: 58px 1fr;
    align-items: flex-start;
  }

  .app-club-premium-chat-avatar {
    width: 58px;
    height: 58px;
    border-radius: 22px;
  }

  .app-club-premium-chat-arrow {
    grid-column: 1 / -1;
    width: 100%;
    height: 38px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.09);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .app-club-premium-chat-message > div {
    max-width: 88%;
  }
}

/* =========================================================
   Clube Premium - Patrocinadores
========================================================= */

.app-club-premium-sponsor-filter {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-bottom: 18px;
}

.app-club-premium-sponsor-list {
  display: grid;
  gap: 16px;
  margin-bottom: 24px;
}

.app-club-premium-sponsor-card,
a.app-club-premium-sponsor-card {
  position: relative;
  overflow: hidden;
  display: block;
  border-radius: 30px;
  color: #fff !important;
  text-decoration: none !important;
  background:
    linear-gradient(135deg, rgba(6, 23, 24, 0.96), rgba(6, 23, 24, 0.76)),
    radial-gradient(circle at 0% 0%, rgba(204, 0, 61, 0.6), transparent 38%);
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-premium-sponsor-card.featured {
  box-shadow:
    0 24px 64px rgba(204, 0, 61, 0.24),
    0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-premium-sponsor-cover {
  position: relative;
  z-index: 2;
  height: 150px;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 10%, rgba(204, 0, 61, 0.55), transparent 40%),
    linear-gradient(135deg, #061718, #020708);
}

.app-club-premium-sponsor-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-premium-sponsor-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(6, 23, 24, 0.64));
}

.app-club-premium-sponsor-cover-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.62);
}

.app-club-premium-sponsor-cover-empty i {
  font-size: 50px;
}

.app-club-premium-sponsor-body {
  position: relative;
  z-index: 2;
  padding: 18px;
}

.app-club-premium-sponsor-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 14px;
}

.app-club-premium-sponsor-logo {
  width: 66px;
  height: 66px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.app-club-premium-sponsor-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.app-club-premium-sponsor-logo i {
  font-size: 34px;
}

.app-club-premium-sponsor-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.app-club-premium-sponsor-body h6 {
  margin: 0 0 7px;
  color: #fff;
  font-size: 1.18rem;
  font-weight: 950;
  line-height: 1.12;
}

.app-club-premium-sponsor-segment {
  display: block;
  color: #fff;
  font-size: 0.84rem;
  font-weight: 950;
  margin-bottom: 8px;
}

.app-club-premium-sponsor-body p {
  margin: 0;
  color: rgba(255, 255, 255, 0.68);
  line-height: 1.45;
}

.app-club-premium-sponsor-footer {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.10);
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  font-weight: 950;
}

.app-club-premium-sponsor-footer i {
  font-size: 24px;
}

/* Detalhe do patrocinador */

.app-club-sponsor-premium-hero {
  position: relative;
  min-height: 470px;
  padding: 24px 20px 38px;
  border-bottom-left-radius: 38px;
  border-bottom-right-radius: 38px;
  overflow: hidden;
  background:
    linear-gradient(140deg, rgba(204, 0, 61, 0.32), transparent 58%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.app-club-sponsor-premium-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.055) 0,
      rgba(255, 255, 255, 0.055) 1px,
      transparent 1px,
      transparent 18px
    );
  opacity: 0.32;
  pointer-events: none;
  z-index: 1;
}

.app-club-sponsor-premium-hero-cover {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.app-club-sponsor-premium-hero-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92);
}

.app-club-sponsor-premium-hero-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 7, 8, 0.22), rgba(2, 7, 8, 0.86)),
    radial-gradient(circle at 15% 20%, rgba(204, 0, 61, 0.42), transparent 38%);
}

.app-club-sponsor-premium-content {
  position: relative;
  z-index: 2;
  text-align: center;
  padding-top: 26px;
}

.app-club-sponsor-premium-logo {
  width: 104px;
  height: 104px;
  border-radius: 36px;
  margin: 0 auto 18px;
  background: rgba(255, 255, 255, 0.96);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.28);
}

.app-club-sponsor-premium-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.app-club-sponsor-premium-logo i {
  font-size: 54px;
}

.app-club-sponsor-premium-content h1 {
  max-width: 780px;
  margin: 16px auto 10px;
  color: #fff;
  font-size: clamp(2rem, 8vw, 3rem);
  line-height: 0.96;
  font-weight: 950;
  letter-spacing: -0.06em;
}

.app-club-sponsor-premium-content p {
  max-width: 620px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.76);
  font-size: 1rem;
  line-height: 1.5;
}

.app-club-premium-sponsor-summary-card,
.app-club-premium-offer-card,
.app-club-premium-lead-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 20px;
  background: rgba(255, 255, 255, 0.97);
  color: #061718;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.24);
  margin-bottom: 14px;
}

.app-club-premium-sponsor-summary-card h5 {
  margin: 12px 0 8px;
  color: #061718;
  font-size: 1.28rem;
  font-weight: 950;
  line-height: 1.12;
}

.app-club-premium-sponsor-summary-card p,
.app-club-premium-lead-card p {
  margin: 0;
  color: #6c7f90;
  line-height: 1.5;
}

.app-club-premium-mini-tag-dark {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  color: #cc003d;
  background: rgba(204, 0, 61, 0.10);
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-right: 4px;
}

.app-club-premium-offer-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.14), transparent 34%),
    rgba(255, 255, 255, 0.98);
}

.app-club-premium-offer-icon {
  width: 52px;
  height: 52px;
  border-radius: 20px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-offer-icon i {
  font-size: 28px;
}

.app-club-premium-offer-card span {
  display: inline-flex;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 9px;
  color: #cc003d;
  background: rgba(204, 0, 61, 0.10);
  font-size: 0.64rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.app-club-premium-offer-card h6 {
  margin: 10px 0 8px;
  color: #061718;
  font-size: 1.08rem;
  font-weight: 950;
}

.app-club-premium-offer-card p {
  margin: 0;
  color: #6c7f90;
  line-height: 1.5;
}

.app-club-premium-lead-form {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.app-club-premium-lead-select,
select.app-club-premium-lead-select,
.app-club-premium-lead-form textarea {
  width: 100%;
  border: 1px solid rgba(6, 23, 24, 0.10);
  border-radius: 18px;
  padding: 12px 14px;
  background: rgba(6, 23, 24, 0.02);
  color: #061718;
  font-family: inherit;
  font-weight: 800;
}

.app-club-premium-lead-select,
select.app-club-premium-lead-select {
  height: 48px;
  padding: 0 14px;
}

.app-club-premium-lead-form textarea {
  min-height: 96px;
  resize: vertical;
}

.app-club-premium-lead-form .btn {
  width: 100%;
  height: 48px;
  border-radius: 18px;
}

.app-club-premium-sponsor-links {
  display: grid;
  gap: 12px;
}

.app-club-premium-sponsor-links a {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 14px;
  border-radius: 26px;
  background: rgba(255, 255, 255, 0.97);
  color: #061718 !important;
  text-decoration: none !important;
  font-weight: 950;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.20);
}

.app-club-premium-sponsor-links a div {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-club-premium-sponsor-links a > i {
  color: #cc003d;
}

@media (min-width: 768px) {
  .app-club-premium-sponsor-filter {
    grid-template-columns: 1fr 210px auto;
    align-items: center;
  }

  .app-club-premium-sponsor-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .app-club-sponsor-premium-hero {
    min-height: 430px;
    padding: 22px 18px 34px;
  }

  .app-club-premium-sponsor-cover {
    height: 140px;
  }

  .app-club-premium-offer-card {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   App Bottom Nav - Itens bloqueados
========================================================= */

.app-bottom-nav-disabled {
  flex: 1;
  height: 100%;
  padding: 0 2px !important;
  color: rgba(108, 127, 144, 0.5);
  font-size: 11px;
  text-align: center;
  text-decoration: none;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  line-height: 1.1 !important;
  cursor: not-allowed;
  pointer-events: none;
}

.app-bottom-nav-disabled i {
  display: block !important;
  font-size: 22px;
  height: auto !important;
  line-height: 1 !important;
  opacity: 0.72;
}

.app-bottom-nav-disabled span {
  display: block !important;
  line-height: 1.1 !important;
}

/* =========================================================
   App Bottom Nav - modo compacto com 2 botões
========================================================= */

.app-bottom-nav.app-bottom-nav-compact {
  justify-content: center !important;
  gap: 8px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
}

.app-bottom-nav.app-bottom-nav-compact a,
.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled {
  flex: 0 1 180px;
  max-width: 190px;
  border-radius: 20px;
  margin: 8px 0;
  height: calc(100% - 16px);
}

.app-bottom-nav.app-bottom-nav-compact a.active {
  background: rgba(204, 0, 61, 0.10);
}

.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled {
  background: rgba(108, 127, 144, 0.08);
}


/* =========================================================
   Ajuste alinhamento item bloqueado no menu compacto
========================================================= */

.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 3px !important;
}

.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled i,
.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled span {
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  margin: 0 auto !important;
}

.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled i {
  font-size: 28px !important;
  line-height: 1 !important;
}

.app-bottom-nav.app-bottom-nav-compact .app-bottom-nav-disabled span {
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

/* =========================================================
   Ajuste logo GRH - Dashboard e Clube
========================================================= */

.app-premium-logo,
.app-club-premium-logo {
  overflow: hidden !important;
  padding: 0 !important;
  background: #fff !important;
}

.app-premium-logo img,
.app-club-premium-logo img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: inherit !important;
}

/* =========================================================
   Clube - Meu Perfil
========================================================= */

.club-premium-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  box-shadow: 0 18px 42px rgba(6, 23, 24, 0.18);
}

.club-premium-eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  opacity: 0.84;
}

.club-premium-hero h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.club-premium-hero p {
  max-width: 520px;
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 14px;
  line-height: 1.45;
}

.club-premium-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 42px;
  padding: 0 16px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: #cc003d;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 12px 28px rgba(6, 23, 24, 0.16);
}

.club-premium-action i {
  font-size: 19px;
}

.club-premium-action.secondary {
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  box-shadow: none;
}

.club-profile-card h2 {
  margin: 0 0 18px;
  color: #061718;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -0.03em;
}

.club-profile-header {
  display: flex;
  align-items: center;
  gap: 16px;
}

.club-profile-avatar {
  width: 86px;
  height: 86px;
  flex: 0 0 86px;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  font-weight: 950;
  box-shadow: 0 16px 34px rgba(6, 23, 24, 0.16);
}

.club-profile-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.club-profile-header h2 {
  margin: 0;
  font-size: 24px;
}

.club-profile-header p {
  margin: 5px 0 0;
  color: #6c7f90;
  font-size: 14px;
  line-height: 1.35;
}

.club-profile-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.club-profile-badges span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.08);
  color: #cc003d;
  font-size: 12px;
  font-weight: 900;
}

.club-profile-badges i {
  font-size: 16px;
}

.club-profile-section {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(6, 23, 24, 0.08);
}

.club-profile-section h3 {
  margin: 0 0 8px;
  color: #061718;
  font-size: 15px;
  font-weight: 950;
}

.club-profile-section p {
  margin: 0;
  color: #40515f;
  font-size: 14px;
  line-height: 1.55;
}

.club-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.club-profile-info-box {
  padding: 14px;
  border-radius: 20px;
  background: #f7f8fb;
  border: 1px solid rgba(6, 23, 24, 0.06);
}

.club-profile-info-box small {
  display: block;
  margin-bottom: 5px;
  color: #6c7f90;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.club-profile-info-box strong,
.club-profile-info-box a {
  color: #061718;
  font-size: 14px;
  font-weight: 900;
  text-decoration: none;
}

.club-profile-chips,
.club-interest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.club-profile-chips span {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(6, 23, 24, 0.06);
  color: #061718;
  font-size: 12px;
  font-weight: 900;
}


.club-form-avatar-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}

.club-file-field {
  flex: 1;
}

.club-interest-chip {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.club-interest-chip input {
  display: none;
}

.club-interest-chip span {
  display: inline-flex;
  padding: 9px 13px;
  border-radius: 999px;
  background: #f7f8fb;
  border: 1px solid rgba(6, 23, 24, 0.08);
  color: #40515f;
  font-size: 12px;
  font-weight: 900;
}

.club-interest-chip input:checked + span {
  background: rgba(204, 0, 61, 0.1);
  border-color: rgba(204, 0, 61, 0.28);
  color: #cc003d;
}

.club-profile-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.club-form-error {
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 18px;
  background: #ffebee;
  color: #b71c1c;
  font-weight: 800;
}

@media (max-width: 600px) {
  .club-premium-hero {
    flex-direction: column;
    padding: 20px;
  }

  .club-profile-header {
    align-items: flex-start;
  }

  .club-profile-grid {
    grid-template-columns: 1fr;
  }

  .club-form-avatar-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .club-file-field {
    width: 100%;
  }
}

/* =========================================================
   Clube - Ajustes formulário Meu Perfil
========================================================= */

.club-profile-form {
  width: 100%;
}

.club-profile-form .club-profile-card {
  overflow: hidden;
}

/* Corrige upload de avatar */
.club-form-avatar-row {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 22px;
  flex-wrap: wrap;
}

.club-file-field {
  flex: 1;
  min-width: 0;
  margin: 0 !important;
}

.club-file-field .btn,
.club-file-field .club-premium-action {
  height: 46px;
  line-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  box-shadow: none;
  white-space: nowrap;
}

.club-file-field .file-path-wrapper {
  width: 100%;
  max-width: 100%;
  padding-left: 0 !important;
  margin-top: 10px;
}

.club-file-field .file-path-wrapper input.file-path {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  color: #061718;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Inputs mais limpos no perfil do clube */
.club-profile-form .input-field {
  margin-top: 18px;
  margin-bottom: 18px;
}

.club-profile-form .input-field input,
.club-profile-form .input-field textarea {
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(6, 23, 24, 0.22) !important;
  box-shadow: none !important;
  color: #061718 !important;
  font-size: 16px !important;
}

.club-profile-form .input-field input:focus,
.club-profile-form .input-field textarea:focus {
  border-bottom-color: #cc003d !important;
  box-shadow: 0 1px 0 0 #cc003d !important;
}

.club-profile-form .input-field label {
  color: #6c7f90 !important;
  font-size: 14px;
}

.club-profile-form .input-field label.active {
  transform: translateY(-14px) scale(0.85);
}

/* Interesses profissionais como chips premium */
.club-interest-picker {
  margin-top: 24px;
  margin-bottom: 22px;
}

.club-interest-picker > label {
  display: block;
  margin-bottom: 12px;
  color: #6c7f90;
  font-size: 16px;
  font-weight: 900;
}

.club-interest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.club-interest-chip {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  cursor: pointer;
}

.club-interest-chip input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.club-interest-chip span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 15px !important;
  border-radius: 999px;
  background: #f7f8fb;
  border: 1px solid rgba(6, 23, 24, 0.08);
  color: #40515f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
  transition: 0.2s ease;
}

.club-interest-chip input[type="checkbox"]:checked + span {
  background: rgba(204, 0, 61, 0.10);
  border-color: rgba(204, 0, 61, 0.32);
  color: #cc003d;
}

.club-interest-chip input[type="checkbox"]:checked + span::before {
  content: "check";
  font-family: "Material Icons";
  margin-right: 6px;
  font-size: 17px;
  font-weight: normal;
  line-height: 1;
}

/* Remove interferências do Materialize nos labels dos checkboxes */
.club-interest-chip [type="checkbox"] + span:not(.lever) {
  height: auto !important;
  padding-left: 15px !important;
  line-height: 1.1 !important;
}

.club-interest-chip [type="checkbox"] + span:not(.lever)::before,
.club-interest-chip [type="checkbox"] + span:not(.lever)::after {
  display: none !important;
}

/* Cards do formulário */
.club-profile-card h2 {
  line-height: 1.15;
}

.club-profile-card .materialize-textarea {
  min-height: 90px;
}

/* Botões finais */
.club-profile-form-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 0 4px 24px;
}

.club-profile-form-actions .club-premium-action.secondary {
  background: #f0f2f5;
  color: #061718;
}

/* Mobile */
@media (max-width: 600px) {
  .club-form-avatar-row {
    align-items: flex-start;
  }

  .club-file-field {
    width: 100%;
    flex: 0 0 100%;
  }

  .club-interest-list {
    gap: 8px;
  }

  .club-interest-chip span {
    font-size: 12px;
    min-height: 36px;
    padding: 8px 12px !important;
  }
}

/* =========================================================
   Clube Premium - Meu Perfil
========================================================= */

.app-club-profile-content {
  position: relative;
  z-index: 2;
}

.app-club-profile-premium-card {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
  padding: 22px;
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(255,255,255,0.88));
  border: 1px solid rgba(255, 255, 255, 0.76);
  box-shadow: 0 18px 44px rgba(6, 23, 24, 0.10);
}

.app-club-profile-main-card {
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.12), transparent 36%),
    linear-gradient(135deg, #ffffff, #f7f8fb);
}

.app-club-profile-premium-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 16px;
}

.app-club-profile-premium-avatar {
  width: 86px;
  height: 86px;
  flex: 0 0 86px;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 18px 34px rgba(6, 23, 24, 0.18);
}

.app-club-profile-premium-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.app-club-profile-premium-avatar i {
  font-size: 40px;
}

.app-club-profile-premium-main-info {
  min-width: 0;
  flex: 1;
}

.app-club-profile-premium-main-info h2 {
  margin: 8px 0 4px;
  color: #061718;
  font-size: 24px;
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.app-club-profile-premium-main-info p {
  margin: 0;
  color: #6c7f90;
  font-size: 14px;
  line-height: 1.35;
}

.app-club-profile-premium-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.app-club-profile-premium-badges span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.08);
  color: #cc003d;
  font-size: 12px;
  font-weight: 900;
}

.app-club-profile-premium-badges i {
  font-size: 16px;
}

.app-club-profile-edit-button {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 18px;
  min-height: 44px;
  padding: 0 16px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(204, 0, 61, 0.22);
}

.app-club-profile-edit-button i {
  font-size: 18px;
}

.app-club-profile-premium-card h3 {
  margin: 0 0 14px;
  color: #061718;
  font-size: 20px;
  font-weight: 950;
  letter-spacing: -0.03em;
}

.app-club-profile-premium-card p {
  margin: 0;
  color: #40515f;
  font-size: 14px;
  line-height: 1.55;
}

.app-club-profile-premium-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.app-club-profile-premium-info {
  padding: 16px;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(247,248,251,0.94));
  border: 1px solid rgba(6, 23, 24, 0.06);
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.07);
}

.app-club-profile-premium-info small {
  display: block;
  margin-bottom: 6px;
  color: #6c7f90;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-club-profile-premium-info strong,
.app-club-profile-premium-info a {
  color: #061718;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none;
  word-break: break-word;
}

/* Formulário premium */
.app-club-profile-form-premium {
  width: 100%;
}

.app-club-profile-form-premium .input-field {
  margin-top: 20px;
  margin-bottom: 18px;
}

.app-club-profile-form-premium .input-field input,
.app-club-profile-form-premium .input-field textarea {
  width: 100%;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(6, 23, 24, 0.22) !important;
  box-shadow: none !important;
  color: #061718 !important;
  font-size: 16px !important;
}

.app-club-profile-form-premium .input-field input:focus,
.app-club-profile-form-premium .input-field textarea:focus {
  border-bottom-color: #cc003d !important;
  box-shadow: 0 1px 0 0 #cc003d !important;
}

.app-club-profile-form-premium .input-field label {
  color: #6c7f90 !important;
  font-size: 14px;
}

.app-club-profile-avatar-edit-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.app-club-file-field {
  flex: 1;
  min-width: 0;
  margin: 0 !important;
}

.app-club-file-field .btn {
  height: 44px;
  line-height: 44px;
  border-radius: 999px;
  box-shadow: none;
}

.app-club-file-field .file-path-wrapper {
  padding-left: 0 !important;
  margin-top: 10px;
}

.app-club-file-field .file-path {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  color: #061718;
  font-size: 14px;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Chips do formulário */
.app-club-interest-picker {
  margin-top: 24px;
  margin-bottom: 22px;
}

.app-club-interest-picker > label {
  display: block;
  margin-bottom: 12px;
  color: #6c7f90;
  font-size: 16px;
  font-weight: 950;
}

.app-club-interest-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.app-club-interest-chip {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  margin: 0 !important;
  cursor: pointer;
}

.app-club-interest-chip input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.app-club-interest-chip span {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 15px !important;
  border-radius: 999px;
  background: #f7f8fb;
  border: 1px solid rgba(6, 23, 24, 0.08);
  color: #40515f;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.1;
}

.app-club-interest-chip input[type="checkbox"]:checked + span {
  background: rgba(204, 0, 61, 0.10);
  border-color: rgba(204, 0, 61, 0.32);
  color: #cc003d;
}

.app-club-interest-chip input[type="checkbox"]:checked + span::before {
  content: "check";
  font-family: "Material Icons";
  margin-right: 6px;
  font-size: 17px;
  font-weight: normal;
  line-height: 1;
}

.app-club-interest-chip [type="checkbox"] + span:not(.lever) {
  height: auto !important;
  padding-left: 15px !important;
  line-height: 1.1 !important;
}

.app-club-interest-chip [type="checkbox"] + span:not(.lever)::before,
.app-club-interest-chip [type="checkbox"] + span:not(.lever)::after {
  display: none !important;
}

.app-club-profile-form-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  padding: 4px 2px 24px;
}

.app-club-profile-cancel {
  color: #061718;
  font-weight: 900;
}

.app-club-form-error {
  margin-bottom: 16px;
  padding: 14px;
  border-radius: 18px;
  background: #ffebee;
  color: #b71c1c;
  font-weight: 800;
}

@media (max-width: 600px) {
  .app-club-profile-premium-header {
    align-items: flex-start;
  }

  .app-club-profile-premium-avatar {
    width: 76px;
    height: 76px;
    flex-basis: 76px;
    border-radius: 24px;
  }

  .app-club-profile-premium-main-info h2 {
    font-size: 21px;
  }

  .app-club-profile-premium-grid {
    grid-template-columns: 1fr;
  }

  .app-club-file-field {
    width: 100%;
    flex: 0 0 100%;
  }

  .app-club-interest-list {
    gap: 8px;
  }

  .app-club-interest-chip span {
    min-height: 36px;
    padding: 8px 12px !important;
    font-size: 12px;
  }
}

/* =========================================================
   Clube Premium - Upload de avatar limpo
========================================================= */

.app-club-avatar-upload-box {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.app-club-avatar-upload-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: fit-content;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(204, 0, 61, 0.22);
}

.app-club-avatar-upload-button i {
  font-size: 19px;
}

.app-club-avatar-upload-box input[type="file"] {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
}

.app-club-avatar-upload-box small {
  color: #6c7f90;
  font-size: 12px;
  font-weight: 800;
}

.app-club-form-field-error {
  color: #b71c1c;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 600px) {
  .app-club-avatar-upload-box {
    width: 100%;
    flex: 0 0 100%;
  }

  .app-club-avatar-upload-button {
    width: 100%;
  }
}

/* =========================================================
   Clube Premium - Ações no topo da home
========================================================= */

.app-club-premium-top {
  display: flex;
  align-items: center;
  gap: 12px;
}

.app-club-cover-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.app-club-cover-actions a {
  position: relative;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.app-club-cover-actions a i {
  font-size: 24px;
}

.app-club-cover-actions a span {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* =========================================================
   Clube Premium - Notificações
========================================================= */

.app-club-notifications-content {
  position: relative;
  z-index: 2;
}

.app-club-notification-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.app-club-notification-card {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 14px;
  padding: 18px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(247,248,251,0.94));
  border: 1px solid rgba(255,255,255,0.74);
  box-shadow: 0 16px 38px rgba(6, 23, 24, 0.09);
  text-decoration: none;
  color: inherit;
}

.app-club-notification-card.unread {
  border-color: rgba(204, 0, 61, 0.28);
  box-shadow: 0 18px 44px rgba(204, 0, 61, 0.12);
}

.app-club-notification-icon {
  position: relative;
  z-index: 2;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 18px;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

.app-club-notification-icon i {
  font-size: 25px;
}

.app-club-notification-info {
  position: relative;
  z-index: 2;
  min-width: 0;
  flex: 1;
}

.app-club-notification-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}

.app-club-notification-meta span {
  color: #cc003d;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.app-club-notification-meta small {
  color: #6c7f90;
  font-size: 11px;
  font-weight: 800;
}

.app-club-notification-info h3 {
  margin: 0;
  color: #061718;
  font-size: 17px;
  font-weight: 950;
  letter-spacing: -0.03em;
  line-height: 1.12;
}

.app-club-notification-info p {
  margin: 7px 0 0;
  color: #40515f;
  font-size: 13px;
  line-height: 1.45;
}

.app-club-notification-highlight {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  margin-top: 10px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(204, 0, 61, 0.08);
  color: #cc003d;
  font-size: 11px;
  font-weight: 950;
}

.app-club-notification-highlight i {
  font-size: 15px;
}

.app-club-notification-unread-dot {
  position: absolute;
  top: 17px;
  right: 17px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #cc003d;
  box-shadow: 0 0 0 5px rgba(204, 0, 61, 0.11);
}

.app-club-notification-detail-card {
  position: relative;
  overflow: hidden;
  padding: 22px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(247,248,251,0.94));
  border: 1px solid rgba(255,255,255,0.74);
  box-shadow: 0 16px 38px rgba(6, 23, 24, 0.09);
}

.app-club-notification-detail-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.app-club-notification-detail-message {
  position: relative;
  z-index: 2;
  color: #25323c;
  font-size: 15px;
  line-height: 1.62;
}

.app-club-notification-open-link {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  margin-top: 22px;
  padding: 0 16px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(204, 0, 61, 0.22);
}

.app-club-notification-open-link i {
  font-size: 18px;
}

@media (max-width: 600px) {
  .app-club-notification-card {
    padding: 16px;
    border-radius: 24px;
  }

  .app-club-notification-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
    border-radius: 16px;
  }

  .app-club-notification-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .app-club-notification-detail-top {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* =========================================================
   Clube - Posts patrocinados
========================================================= */

.app-club-sponsored-post-card {
  border-color: rgba(204, 0, 61, 0.34) !important;
  box-shadow: 0 20px 48px rgba(204, 0, 61, 0.14) !important;
}

.app-club-sponsored-post-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(204, 0, 61, 0.12), transparent 34%);
  pointer-events: none;
}

.app-club-sponsored-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: rgba(204, 0, 61, 0.10) !important;
  color: #cc003d !important;
  border: 1px solid rgba(204, 0, 61, 0.20);
}

.app-club-sponsored-badge i {
  font-size: 15px;
}

.app-club-sponsored-by {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin: 8px 0 2px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(6, 23, 24, 0.05);
  color: #40515f;
  font-size: 12px;
  font-weight: 900;
}

.app-club-sponsored-by img {
  width: 22px;
  height: 22px;
  border-radius: 8px;
  object-fit: cover;
  background: #fff;
}

.app-club-sponsored-detail-box {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0 16px;
  padding: 14px;
  border-radius: 20px;
  background: rgba(204, 0, 61, 0.07);
  border: 1px solid rgba(204, 0, 61, 0.14);
}

.app-club-sponsored-detail-box img {
  width: 46px;
  height: 46px;
  border-radius: 16px;
  object-fit: cover;
  background: #fff;
}

.app-club-sponsored-detail-box span {
  display: block;
  margin-bottom: 3px;
  color: #6c7f90;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.app-club-sponsored-detail-box strong {
  color: #061718;
  font-size: 15px;
  font-weight: 950;
}

/* =========================================================
   Clube - Posts restritos por público
========================================================= */

.app-club-restricted-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  background: rgba(6, 23, 24, 0.08) !important;
  color: #061718 !important;
  border: 1px solid rgba(6, 23, 24, 0.12);
}

.app-club-restricted-badge i {
  font-size: 15px;
}

/* =========================================================
   Plataforma - Relatórios Clube
========================================================= */

.club-report-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.club-report-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(6, 23, 24, 0.08);
}

.club-report-item:last-child {
  border-bottom: 0;
}

.club-report-item strong {
  display: block;
  color: var(--grh-dark);
  font-weight: 900;
}

.club-report-item small {
  display: block;
  margin-top: 2px;
}

.club-report-item > span {
  min-width: 36px;
  height: 36px;
  border-radius: 14px;
  background: rgba(204, 0, 61, 0.08);
  color: var(--grh-primary);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 950;
}

/* =========================================================
   Plataforma - Dashboard de relatórios do Clube
========================================================= */

.club-report-kpi-card {
  padding: 24px;
  min-height: 142px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.club-report-kpi-card span {
  color: var(--grh-muted);
  font-size: 13px;
  font-weight: 800;
}

.club-report-kpi-card strong {
  display: block;
  margin: 10px 0 4px;
  color: var(--grh-dark);
  font-size: 38px;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.05em;
}

.club-report-kpi-card small {
  color: var(--grh-muted);
  font-weight: 700;
}

.club-report-section-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 18px;
}

.club-report-section-header span {
  display: block;
  color: var(--grh-primary);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.club-report-section-header h6 {
  margin: 4px 0 0;
  font-weight: 950;
  color: var(--grh-dark);
}

.club-report-small-card {
  margin-bottom: 12px;
  padding: 18px;
  border-radius: 18px;
  background: rgba(6, 23, 24, 0.035);
  border: 1px solid rgba(6, 23, 24, 0.06);
}

.club-report-small-card span {
  display: block;
  color: var(--grh-muted);
  font-size: 12px;
  font-weight: 850;
}

.club-report-small-card strong {
  display: block;
  margin-top: 7px;
  color: var(--grh-dark);
  font-size: 28px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

/* =========================================================
   Plataforma - Área do Patrocinador
========================================================= */

.sponsor-area-hero {
  padding: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  overflow: hidden;
  position: relative;
}

.sponsor-area-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at top right, rgba(204, 0, 61, 0.10), transparent 34%);
  pointer-events: none;
}

.sponsor-area-hero > * {
  position: relative;
  z-index: 1;
}

.sponsor-area-hero-logo {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(6, 23, 24, 0.10);
  margin-bottom: 14px;
}

.sponsor-area-hero span {
  display: block;
  color: var(--grh-primary);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.sponsor-area-hero h4 {
  margin: 5px 0 6px;
  color: var(--grh-dark);
  font-weight: 950;
  letter-spacing: -0.04em;
}

.sponsor-area-hero p {
  margin: 0;
  color: var(--grh-muted);
  max-width: 560px;
}

.sponsor-area-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 800px) {
  .sponsor-area-hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .sponsor-area-hero-actions {
    justify-content: flex-start;
  }
}

/* =========================================================
   App Clube - Materiais do patrocinador
========================================================= */

.app-club-sponsor-materials {
  margin-top: 18px;
}

.app-club-sponsor-material-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.app-club-sponsor-material-card {
  position: relative;
  overflow: hidden;
  display: flex;
  gap: 14px;
  padding: 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(247,248,251,0.94));
  border: 1px solid rgba(255,255,255,0.74);
  box-shadow: 0 14px 32px rgba(6, 23, 24, 0.08);
  color: inherit;
  text-decoration: none;
}

.app-club-sponsor-material-icon {
  position: relative;
  z-index: 2;
  width: 46px;
  height: 46px;
  border-radius: 17px;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
}

.app-club-sponsor-material-card > div:last-child {
  position: relative;
  z-index: 2;
}

.app-club-sponsor-material-card strong {
  display: block;
  color: #061718;
  font-size: 15px;
  font-weight: 950;
}

.app-club-sponsor-material-card p {
  margin: 5px 0 7px;
  color: #40515f;
  font-size: 13px;
  line-height: 1.42;
}

.app-club-sponsor-material-card span {
  color: #cc003d;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.app-club-sponsor-section-spacer {
  height: 28px;
}

/* =========================================================
   App Clube - Carrossel de materiais do patrocinador
========================================================= */

.app-club-sponsor-material-carousel {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 4px 0 12px;
  margin: 0 -18px;
  padding-left: 18px;
  padding-right: 18px;
  -webkit-overflow-scrolling: touch;
}

.app-club-sponsor-material-carousel::-webkit-scrollbar {
  display: none;
}

.app-club-sponsor-material-slide {
  position: relative;
  overflow: hidden;
  flex: 0 0 86%;
  max-width: 430px;
  scroll-snap-align: start;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(247,248,251,0.94));
  border: 1px solid rgba(255,255,255,0.76);
  box-shadow: 0 16px 38px rgba(6, 23, 24, 0.10);
}

.app-club-sponsor-material-preview {
  position: relative;
  z-index: 2;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #061718;
  overflow: hidden;
  border-radius: 30px 30px 0 0;
}

.app-club-sponsor-material-preview img,
.app-club-sponsor-material-preview video,
.app-club-sponsor-material-preview iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  object-fit: cover;
  background: #061718;
}

.app-club-sponsor-material-file-preview {
  width: 100%;
  height: 100%;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.35), transparent 36%),
    linear-gradient(135deg, #061718, #0e2528);
}

.app-club-sponsor-material-file-preview i {
  font-size: 42px;
  color: #fff;
}

.app-club-sponsor-material-file-preview span {
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.app-club-sponsor-material-slide-body {
  position: relative;
  z-index: 2;
  padding: 16px 18px 18px;
}

.app-club-sponsor-material-slide-type {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 9px;
  color: #cc003d;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.app-club-sponsor-material-slide-type i {
  font-size: 16px;
}

.app-club-sponsor-material-slide-body strong {
  display: block;
  color: #061718;
  font-size: 18px;
  line-height: 1.15;
  font-weight: 950;
  letter-spacing: -0.03em;
}

.app-club-sponsor-material-slide-body p {
  margin: 8px 0 0;
  color: #40515f;
  font-size: 13px;
  line-height: 1.42;
}

.app-club-sponsor-material-slide-body a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
  margin-top: 12px;
  color: #cc003d;
  font-size: 13px;
  font-weight: 950;
  text-decoration: none;
}

.app-club-sponsor-material-slide-body a i {
  font-size: 17px;
}

.app-club-sponsor-material-carousel-hint {
  margin: 2px 0 0;
  color: rgba(255,255,255,0.62);
  font-size: 12px;
  font-weight: 800;
}

@media (min-width: 760px) {
  .app-club-sponsor-material-slide {
    flex-basis: 380px;
  }
}

/* =========================================================
   PWA Install Onboarding
========================================================= */

html.pwa-install-locked,
body.pwa-install-locked {
  overflow: hidden !important;
  height: 100%;
}

.pwa-install-onboarding {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
}

.pwa-install-onboarding.active {
  display: block;
}

.pwa-install-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.20), transparent 34%),
    rgba(0, 12, 14, 0.92);
  backdrop-filter: blur(10px);
}

.pwa-install-card {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  width: min(92vw, 520px);
  max-height: calc(100vh - 36px);
  overflow-y: auto;
  padding: 24px;
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,0.98), rgba(246,248,250,0.96));
  box-shadow: 0 26px 80px rgba(0,0,0,0.38);
}

.pwa-install-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.pwa-install-icon {
  width: 58px;
  height: 58px;
  border-radius: 22px;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 58px;
}

.pwa-install-icon i {
  font-size: 31px;
}

.pwa-install-brand span {
  display: block;
  color: #cc003d;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.pwa-install-brand h2 {
  margin: 4px 0 0;
  color: #061718;
  font-size: 24px;
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -0.05em;
}

.pwa-install-description {
  margin: 16px 0 20px;
  color: #536777;
  font-size: 15px;
  line-height: 1.48;
}

.pwa-install-steps {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.pwa-install-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 13px;
  border-radius: 20px;
  background: rgba(6, 23, 24, 0.045);
  border: 1px solid rgba(6, 23, 24, 0.07);
}

.pwa-install-step.active {
  background: rgba(204, 0, 61, 0.08);
  border-color: rgba(204, 0, 61, 0.18);
}

.pwa-install-step strong {
  width: 30px;
  height: 30px;
  border-radius: 12px;
  background: #061718;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  font-size: 13px;
  font-weight: 950;
}

.pwa-install-step.active strong {
  background: #cc003d;
}

.pwa-install-step h3 {
  margin: 0;
  color: #061718;
  font-size: 15px;
  font-weight: 950;
}

.pwa-install-step p {
  margin: 4px 0 0;
  color: #637789;
  font-size: 13px;
  line-height: 1.35;
}

.pwa-install-main-button {
  width: 100%;
  margin-top: 18px;
  border-radius: 999px;
  font-weight: 950;
}

.pwa-install-secondary-button {
  width: 100%;
  margin-top: 10px;
  border: 0;
  background: transparent;
  color: #cc003d;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
}

.pwa-install-manual {
  margin-top: 12px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.08);
  color: #40515f;
  font-size: 13px;
  line-height: 1.45;
}

.pwa-install-ios-visual {
  margin-bottom: 16px;
}

.pwa-install-phone-frame {
  padding: 16px;
  border-radius: 28px;
  background: #061718;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.pwa-install-phone-top {
  width: 70px;
  height: 5px;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
  margin: 0 auto 14px;
}

.pwa-install-ios-row {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 13px;
  border-radius: 18px;
  background: rgba(255,255,255,0.08);
  color: #fff;
  font-weight: 850;
  margin-bottom: 8px;
}

.pwa-install-ios-row.highlighted {
  background: rgba(204, 0, 61, 0.95);
}

.pwa-install-ios-row i {
  font-size: 22px;
}

.pwa-install-ios-warning {
  margin: 12px 0 0;
  color: #637789;
  font-size: 12px;
  text-align: center;
  font-weight: 800;
}

.pwa-install-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid rgba(6, 23, 24, 0.08);
  color: #6b7f90;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 800;
}

.pwa-install-footer i {
  color: #cc003d;
  font-size: 18px;
}

@media (min-width: 760px) {
  .pwa-install-card {
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 420px) {
  .pwa-install-card {
    width: 100vw;
    bottom: 0;
    border-radius: 34px 34px 0 0;
    max-height: 92vh;
  }

  .pwa-install-brand h2 {
    font-size: 21px;
  }
}

/* =========================================================
   PWA Install Onboarding - Premium improvements
========================================================= */

.pwa-install-progress {
  display: flex;
  gap: 7px;
  margin-bottom: 18px;
}

.pwa-install-progress span {
  height: 5px;
  flex: 1;
  border-radius: 999px;
  background: rgba(6, 23, 24, 0.10);
  transition: background 0.2s ease, transform 0.2s ease;
}

.pwa-install-progress span.active {
  background: #cc003d;
  transform: scaleY(1.2);
}

.pwa-install-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
  margin: 0 0 18px;
}

.pwa-install-benefits div {
  padding: 11px 7px;
  border-radius: 18px;
  background: rgba(6, 23, 24, 0.045);
  border: 1px solid rgba(6, 23, 24, 0.06);
  text-align: center;
}

.pwa-install-benefits i {
  display: block;
  margin-bottom: 5px;
  color: #cc003d;
  font-size: 22px;
}

.pwa-install-benefits span {
  color: #061718;
  font-size: 11px;
  line-height: 1.2;
  font-weight: 900;
}

.pwa-install-phone-demo {
  margin-bottom: 16px;
  padding: 13px;
  border-radius: 28px;
  background: #061718;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.pwa-install-phone-header {
  width: 68px;
  height: 5px;
  margin: 0 auto 13px;
  border-radius: 999px;
  background: rgba(255,255,255,0.22);
}

.pwa-install-phone-screen {
  min-height: 150px;
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.28), transparent 34%),
    linear-gradient(135deg, #ffffff, #f5f7f8);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  overflow: hidden;
  padding: 18px;
  text-align: center;
}

.pwa-install-app-icon-demo {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: linear-gradient(135deg, #cc003d, #061718);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
  box-shadow: 0 12px 28px rgba(204, 0, 61, 0.22);
}

.pwa-install-app-icon-demo i {
  font-size: 30px;
}

.pwa-install-phone-screen strong {
  color: #061718;
  font-size: 16px;
  font-weight: 950;
}

.pwa-install-phone-screen span {
  margin-top: 3px;
  color: #64798a;
  font-size: 12px;
  font-weight: 800;
}

.pwa-install-demo-button {
  margin-top: 14px;
  padding: 9px 18px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}

.pwa-install-ios-spotlight {
  margin-bottom: 16px;
  padding: 16px;
  border-radius: 30px;
  background: #061718;
  position: relative;
  overflow: hidden;
}

.pwa-install-ios-spotlight::before {
  content: "";
  position: absolute;
  right: 22px;
  bottom: 76px;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: rgba(204, 0, 61, 0.20);
  box-shadow:
    0 0 0 12px rgba(204, 0, 61, 0.12),
    0 0 0 24px rgba(204, 0, 61, 0.06);
  animation: pwaPulse 1.5s ease-in-out infinite;
}

.pwa-install-ios-toolbar {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 9px;
  align-items: center;
  padding: 12px;
  margin-bottom: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,0.08);
}

.pwa-install-ios-toolbar > span {
  height: 7px;
  flex: 1;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
}

.pwa-install-ios-share-highlight {
  width: 44px;
  height: 44px;
  border-radius: 17px;
  background: #cc003d;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  box-shadow: 0 12px 24px rgba(204, 0, 61, 0.34);
}

.pwa-install-ios-share-menu {
  position: relative;
  z-index: 2;
  padding: 10px;
  border-radius: 24px;
  background: rgba(255,255,255,0.96);
}

.pwa-install-ios-share-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 16px;
  color: #061718;
  font-size: 13px;
  font-weight: 900;
}

.pwa-install-ios-share-row i {
  color: #64798a;
}

.pwa-install-ios-share-row.highlighted {
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
}

.pwa-install-ios-share-row.highlighted i {
  color: #cc003d;
}

@keyframes pwaPulse {
  0% {
    transform: scale(0.92);
    opacity: 0.8;
  }

  50% {
    transform: scale(1.05);
    opacity: 1;
  }

  100% {
    transform: scale(0.92);
    opacity: 0.8;
  }
}

@media (max-width: 420px) {
  .pwa-install-benefits {
    grid-template-columns: 1fr;
  }

  .pwa-install-benefits div {
    display: flex;
    align-items: center;
    gap: 9px;
    text-align: left;
  }

  .pwa-install-benefits i {
    margin-bottom: 0;
  }
}

.login-event-button.grh-btn-dark,
button.login-event-button.grh-btn-dark,
.btn.login-event-button.grh-btn-dark {
  background: #061718 !important;
  color: #ffffff !important;
  font-weight: 900 !important;
}

.login-event-button.grh-btn-dark:hover,
.login-event-button.grh-btn-dark:focus,
button.login-event-button.grh-btn-dark:hover,
button.login-event-button.grh-btn-dark:focus,
.btn.login-event-button.grh-btn-dark:hover,
.btn.login-event-button.grh-btn-dark:focus {
  background: #0b2528 !important;
  color: #ffffff !important;
}

/* =========================================================
   Mapas interativos
========================================================= */

.platform-map-preview-interactive {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #f3f5f6;
}

.platform-map-preview-interactive img {
  display: block;
  width: 100%;
  height: auto;
}

.platform-map-pin {
  position: absolute;
  transform: translate(-50%, -100%);
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 0;
  background: #cc003d;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 12px 24px rgba(204, 0, 61, 0.28);
  cursor: pointer;
  z-index: 3;
}

.platform-map-pin i {
  font-size: 25px;
}

.platform-map-pin-current {
  pointer-events: none;
  background: #061718;
}

.app-map-interactive-card {
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 34px rgba(6, 23, 24, 0.10);
}

.app-map-image-wrap {
  position: relative;
  width: 100%;
  overflow: auto;
  background: #f3f5f6;
  -webkit-overflow-scrolling: touch;
}

.app-map-image-wrap img {
  display: block;
  width: 100%;
  height: auto;
}

.app-map-pin {
  position: absolute;
  transform: translate(-50%, -100%);
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 2px solid #fff;
  background: #cc003d;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 12px 24px rgba(204, 0, 61, 0.34),
    0 0 0 8px rgba(204, 0, 61, 0.12);
  cursor: pointer;
  z-index: 3;
  animation: mapPinPulse 1.8s ease-in-out infinite;
}

.app-map-pin i {
  font-size: 25px;
}

@keyframes mapPinPulse {
  0% {
    box-shadow:
      0 12px 24px rgba(204, 0, 61, 0.34),
      0 0 0 5px rgba(204, 0, 61, 0.12);
  }

  50% {
    box-shadow:
      0 14px 28px rgba(204, 0, 61, 0.42),
      0 0 0 11px rgba(204, 0, 61, 0.08);
  }

  100% {
    box-shadow:
      0 12px 24px rgba(204, 0, 61, 0.34),
      0 0 0 5px rgba(204, 0, 61, 0.12);
  }
}

.app-map-point-sheet {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.app-map-point-sheet.active {
  display: block;
}

.app-map-point-sheet-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 12, 14, 0.54);
  backdrop-filter: blur(6px);
}

.app-map-point-sheet-card {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(100%, 520px);
  max-height: 82vh;
  overflow-y: auto;
  padding: 24px;
  border-radius: 32px 32px 0 0;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    #fff;
  box-shadow: 0 -18px 50px rgba(0,0,0,0.25);
}

.app-map-point-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 999px;
  background: rgba(6, 23, 24, 0.06);
  color: #061718;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-map-point-sheet-card h5 {
  margin: 14px 44px 10px 0;
  color: #061718;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.app-map-point-sheet-card p {
  color: #40515f;
  line-height: 1.55;
}

.app-map-point-location {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  font-weight: 850;
}

.app-map-point-location i {
  color: #cc003d;
  font-size: 18px;
}

body.app-map-sheet-open {
  overflow: hidden;
}

/* =========================================================
   Ajuste final - Pins sobre a imagem do mapa
========================================================= */

.platform-map-preview-interactive {
  position: relative;
  overflow: auto;
  border-radius: 24px;
  background: #f3f5f6;
  padding: 16px;
  text-align: center;
}

.platform-map-image-layer {
  position: relative;
  display: inline-block;
  max-width: 100%;
  line-height: 0;
}

.platform-map-image-layer img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 18px;
}

.platform-map-pin {
  position: absolute !important;
  transform: translate(-50%, -100%) !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  border: 4px solid #ffffff !important;
  background: #cc003d !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow:
    0 14px 28px rgba(204, 0, 61, 0.38),
    0 0 0 8px rgba(204, 0, 61, 0.12) !important;
  cursor: pointer;
  z-index: 5;
  text-decoration: none !important;
}

.platform-map-pin i {
  color: #ffffff !important;
  font-size: 31px !important;
  line-height: 1 !important;
}

.platform-map-pin-current {
  background: #cc003d !important;
  pointer-events: none;
}


/* App mapa */

.app-map-interactive-card {
  overflow: hidden;
  border-radius: 30px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 34px rgba(6, 23, 24, 0.10);
}

.app-map-image-wrap {
  width: 100%;
  overflow: auto;
  background: #f3f5f6;
  padding: 0;
  -webkit-overflow-scrolling: touch;
}

.app-map-image-layer {
  position: relative;
  display: inline-block;
  min-width: 100%;
  line-height: 0;
}

.app-map-image-layer img {
  display: block;
  width: 100%;
  height: auto;
}

.app-map-pin {
  position: absolute !important;
  transform: translate(-50%, -100%) !important;
  width: 50px !important;
  height: 50px !important;
  min-width: 50px !important;
  border-radius: 999px !important;
  border: 4px solid #ffffff !important;
  background: #cc003d !important;
  color: #ffffff !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow:
    0 14px 28px rgba(204, 0, 61, 0.42),
    0 0 0 9px rgba(204, 0, 61, 0.13) !important;
  cursor: pointer;
  z-index: 5;
  animation: mapPinPulse 1.8s ease-in-out infinite;
}

.app-map-pin i {
  color: #ffffff !important;
  font-size: 32px !important;
  line-height: 1 !important;
}

@keyframes mapPinPulse {
  0% {
    box-shadow:
      0 14px 28px rgba(204, 0, 61, 0.42),
      0 0 0 6px rgba(204, 0, 61, 0.13);
  }

  50% {
    box-shadow:
      0 16px 32px rgba(204, 0, 61, 0.50),
      0 0 0 13px rgba(204, 0, 61, 0.07);
  }

  100% {
    box-shadow:
      0 14px 28px rgba(204, 0, 61, 0.42),
      0 0 0 6px rgba(204, 0, 61, 0.13);
  }
}

/* =========================================================
   Ajuste bottom sheet do mapa - conteúdo completo
========================================================= */

.app-map-point-sheet-card {
  max-height: calc(100vh - 96px) !important;
  padding-bottom: 120px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}

.app-map-point-sheet-card .app-card:last-child {
  margin-bottom: 24px;
}

@media (max-width: 600px) {
  .app-map-point-sheet-card {
    max-height: calc(100vh - 84px) !important;
    padding-bottom: 140px !important;
  }
}

.app-map-point-sheet-card::after {
  content: "";
  display: block;
  height: 28px;
}

/* =========================================================
   Event Gallery
========================================================= */

.platform-gallery-album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 18px;
}

.platform-gallery-album-card {
  display: block;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(6, 23, 24, 0.08);
  box-shadow: 0 10px 28px rgba(6, 23, 24, 0.06);
  color: inherit;
  text-decoration: none;
}

.platform-gallery-album-cover {
  height: 150px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.18), transparent 36%),
    linear-gradient(135deg, #061718, #123236);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.platform-gallery-album-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.platform-gallery-album-cover i {
  font-size: 46px;
}

.platform-gallery-album-card div:last-child {
  padding: 14px;
}

.platform-gallery-album-card strong,
.platform-gallery-photo-card strong {
  display: block;
  color: #061718;
  font-weight: 950;
}

.platform-gallery-album-card span,
.platform-gallery-album-card small,
.platform-gallery-photo-card small {
  display: block;
  color: #6b7f90;
  margin-top: 4px;
}

.platform-gallery-photo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 16px;
}

.platform-gallery-photo-card {
  overflow: hidden;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(6, 23, 24, 0.08);
  box-shadow: 0 10px 28px rgba(6, 23, 24, 0.06);
}

.platform-gallery-photo-image {
  height: 160px;
  background: #f3f5f6;
}

.platform-gallery-photo-image img,
.platform-gallery-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.platform-gallery-photo-body {
  padding: 13px;
}

.platform-gallery-photo-preview {
  overflow: hidden;
  border-radius: 24px;
  background: #f3f5f6;
  min-height: 320px;
}


/* App */

.app-event-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

.app-event-gallery-photo {
  border: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #f3f5f6;
  aspect-ratio: 1 / 1;
  box-shadow: 0 10px 24px rgba(6, 23, 24, 0.08);
}

.app-event-gallery-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.app-event-gallery-viewer {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.app-event-gallery-viewer.active {
  display: block;
}

.app-event-gallery-viewer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 12, 14, 0.82);
  backdrop-filter: blur(8px);
}

.app-event-gallery-viewer-card {
  position: absolute;
  left: 50%;
  top: 50%;
  width: min(94vw, 620px);
  max-height: 88vh;
  transform: translate(-50%, -50%);
  overflow: hidden;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.42);
}

.app-event-gallery-viewer-card img {
  width: 100%;
  max-height: 76vh;
  object-fit: contain;
  display: block;
  background: #061718;
}

.app-event-gallery-viewer-card p {
  margin: 0;
  padding: 14px 18px;
  color: #40515f;
  font-weight: 800;
}

.app-event-gallery-close {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.92);
  color: #061718;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

body.app-gallery-open {
  overflow: hidden;
}

@media (min-width: 760px) {
  .app-event-gallery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* =========================================================
   Gallery downloads
========================================================= */

.app-gallery-download-bar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 0 0 18px;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(6, 23, 24, 0.10);
  backdrop-filter: blur(10px);
}

.app-gallery-download-bar strong {
  display: block;
  color: #061718;
  font-weight: 950;
}

.app-gallery-download-bar small {
  display: block;
  color: #6b7f90;
  margin-top: 2px;
}

.app-gallery-download-selected {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  white-space: nowrap;
}

.app-gallery-download-selected i {
  font-size: 18px;
}

.app-event-gallery-photo-wrap {
  position: relative;
}

.app-gallery-select-photo {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 4;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255,255,255,0.94);
  box-shadow: 0 8px 18px rgba(6, 23, 24, 0.20);
  display: flex;
  align-items: center;
  justify-content: center;
}

.app-gallery-select-photo [type="checkbox"] + span:not(.lever) {
  height: 22px;
  padding-left: 22px;
}

.app-gallery-select-photo [type="checkbox"] + span:not(.lever)::before,
.app-gallery-select-photo [type="checkbox"] + span:not(.lever)::after {
  left: 0;
  top: 0;
}

.app-gallery-photo-download {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(255,255,255,0.94);
  color: #cc003d;
  box-shadow: 0 8px 18px rgba(6, 23, 24, 0.20);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.app-gallery-photo-download i {
  font-size: 20px;
}

.app-event-gallery-viewer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
}

.app-event-gallery-viewer-footer p {
  flex: 1;
  margin: 0;
  padding: 0;
  color: #40515f;
  font-weight: 800;
}

.app-event-gallery-viewer-footer .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  white-space: nowrap;
}

.app-event-gallery-viewer-footer .btn i {
  font-size: 18px;
}

@media (max-width: 600px) {
  .app-gallery-download-bar {
    align-items: stretch;
    flex-direction: column;
  }

  .app-gallery-download-selected {
    width: 100%;
    justify-content: center;
  }

  .app-event-gallery-viewer-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .app-event-gallery-viewer-footer .btn {
    width: 100%;
    justify-content: center;
  }
}

.app-gallery-download-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.app-gallery-select-all {
  border-radius: 999px;
  color: #cc003d;
  font-weight: 950;
  white-space: nowrap;
}

@media (max-width: 600px) {
  .app-gallery-download-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
  }

  .app-gallery-select-all {
    width: 100%;
    text-align: center;
  }
}

/* =========================================================
   Facial consent / Minhas fotos
========================================================= */

.app-facial-consent-card,
.app-facial-status-card {
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.10), transparent 34%),
    #ffffff;
  border: 1px solid rgba(204, 0, 61, 0.12);
}

.app-facial-consent-card {
  margin: 18px 0 22px;
  padding: 18px;
}

.app-facial-consent-icon,
.app-facial-status-icon {
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
}

.app-facial-status-icon {
  flex: 0 0 auto;
  margin-bottom: 0;
}

.app-facial-consent-icon i,
.app-facial-status-icon i {
  font-size: 28px;
}

.app-facial-consent-card strong,
.app-facial-status-card strong {
  color: #061718;
}

.app-facial-consent-card p {
  color: #40515f;
  line-height: 1.55;
  margin: 8px 0 0;
}

.app-facial-reference-preview {
  width: 100%;
  margin-top: 16px;
  overflow: hidden;
  border-radius: 22px;
  background: #f3f5f6;
  aspect-ratio: 4 / 3;
}

.app-facial-reference-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* =========================================================
   App file upload padrão
========================================================= */

.app-file-upload {
  margin-bottom: 18px;
}

.app-file-upload > label {
  display: block;
  margin-bottom: 8px;
  color: #40515f;
  font-size: 13px;
  font-weight: 900;
}

.app-file-upload-box {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  border-radius: 22px;
  border: 1px dashed rgba(204, 0, 61, 0.34);
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 32%),
    rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 24px rgba(6, 23, 24, 0.06);
  cursor: pointer;
}

.app-file-upload-box i {
  width: 46px;
  height: 46px;
  border-radius: 18px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  flex: 0 0 auto;
}

.app-file-upload-box strong {
  display: block;
  color: #061718;
  font-weight: 950;
}

.app-file-upload-box span {
  display: block;
  margin-top: 3px;
  color: #6b7f90;
  font-size: 12px;
  font-weight: 700;
  word-break: break-word;
}

.app-file-upload-box input[type="file"] {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.app-file-upload-box:hover {
  border-color: rgba(204, 0, 61, 0.68);
  box-shadow: 0 14px 30px rgba(204, 0, 61, 0.10);
}

/* =========================================================
   Ajuste visual upload perfil/facial
========================================================= */

.app-file-upload-box {
  min-height: 88px;
  align-items: center !important;
}

.app-file-upload-box > div {
  flex: 1;
  min-width: 0;
}

.app-file-upload-box strong {
  display: block;
  font-size: 16px;
  line-height: 1.25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.app-file-upload-box span {
  display: block;
  margin-top: 5px;
  font-size: 13px;
  line-height: 1.3;
  white-space: normal;
}

.app-file-upload-box input[type="file"] {
  font-size: 0;
}

.app-file-upload-current {
  display: block;
  margin-top: 8px;
  color: #6b7f90;
  font-size: 12px;
  font-weight: 700;
  word-break: break-word;
}

/* =========================================================
   Minhas fotos
========================================================= */

.app-my-photos-consent-card {
  margin-bottom: 18px;
  border: 1px solid rgba(204, 0, 61, 0.12);
  background:
    radial-gradient(circle at top right, rgba(204, 0, 61, 0.08), transparent 34%),
    #fff;
}

.app-my-photos-consent-card i {
  color: #cc003d;
  font-size: 28px;
}

.app-my-photos-consent-card strong {
  color: #061718;
  font-weight: 950;
}

/* =========================================================
   Checkbox consentimento facial
========================================================= */

.app-facial-consent-checkbox {
  margin: 18px 0 24px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(204, 0, 61, 0.06);
  border: 1px solid rgba(204, 0, 61, 0.14);
}

.app-facial-consent-checkbox label {
  display: block;
  position: relative;
  min-height: 28px;
}

.app-facial-consent-checkbox [type="checkbox"] + span:not(.lever) {
  display: block;
  min-height: 28px;
  padding-left: 44px;
  color: #061718;
  font-weight: 900;
  font-size: 15px;
  line-height: 1.45;
}

.app-facial-consent-checkbox [type="checkbox"] + span:not(.lever)::before,
.app-facial-consent-checkbox [type="checkbox"] + span:not(.lever)::after {
  top: 2px;
  left: 0;
}

.app-facial-consent-checkbox small {
  display: block;
  margin-top: 10px;
  padding-left: 44px;
  color: #6b7f90;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

/* =========================================================
   Galeria - Identificações pendentes
========================================================= */

.platform-gallery-match-filters .browser-default,
.platform-gallery-match-filters input {
  width: 100%;
}

.platform-gallery-match-filter-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}

.platform-gallery-match-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 18px;
  padding: 14px;
  border-radius: 18px;
  background: #f8fafb;
  border: 1px solid rgba(6, 23, 24, 0.06);
}

.platform-gallery-match-select-all {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
}

.platform-gallery-match-select-all [type="checkbox"] + span:not(.lever) {
  color: #061718;
  font-weight: 900;
}

.platform-gallery-match-toolbar-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-left: auto;
}

.platform-gallery-match-list {
  display: grid;
  gap: 14px;
}

.platform-gallery-match-card {
  display: grid;
  grid-template-columns: 34px 132px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 14px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(6, 23, 24, 0.08);
  box-shadow: 0 10px 24px rgba(6, 23, 24, 0.04);
}

.platform-gallery-match-check {
  display: flex;
  align-items: center;
  justify-content: center;
}

.platform-gallery-match-photo {
  display: block;
  width: 132px;
  height: 92px;
  border-radius: 16px;
  overflow: hidden;
  background: #edf1f3;
}

.platform-gallery-match-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.platform-gallery-match-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.platform-gallery-match-title strong {
  font-weight: 950;
  color: #061718;
}

.platform-gallery-match-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.platform-gallery-match-meta span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #6b7f90;
  font-size: 12px;
  font-weight: 800;
}

.platform-gallery-match-meta i {
  font-size: 16px;
  color: #cc003d;
}

.platform-gallery-match-notes {
  margin: 8px 0 0;
  color: #40515f;
  font-size: 12px;
  line-height: 1.45;
}

.platform-gallery-match-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

@media (max-width: 900px) {
  .platform-gallery-match-card {
    grid-template-columns: 34px 110px 1fr;
  }

  .platform-gallery-match-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    padding-left: 50px;
  }
}

@media (max-width: 600px) {
  .platform-gallery-match-card {
    grid-template-columns: 34px 1fr;
  }

  .platform-gallery-match-photo {
    grid-column: 2;
    width: 100%;
    height: 180px;
  }

  .platform-gallery-match-info {
    grid-column: 1 / -1;
  }

  .platform-gallery-match-actions {
    grid-column: 1 / -1;
    padding-left: 0;
  }

  .platform-gallery-match-actions .btn-small,
  .platform-gallery-match-toolbar-actions,
  .platform-gallery-match-toolbar-actions .btn-small {
    width: 100%;
  }

  .platform-gallery-match-toolbar-actions {
    margin-left: 0;
  }
}

/* =========================================================
   Sponsor area - sem acesso
========================================================= */

.sponsor-area-no-access {
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
  padding: 34px;
}

.sponsor-area-no-access-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  border-radius: 26px;
  background: rgba(204, 0, 61, 0.10);
  color: #cc003d;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sponsor-area-no-access-icon i {
  font-size: 38px;
}

.sponsor-area-no-access h5 {
  margin: 0;
  color: #061718;
  font-weight: 950;
}

.sponsor-area-no-access p {
  max-width: 560px;
  margin: 12px auto 0;
  color: #40515f;
  line-height: 1.55;
}

.sponsor-area-no-access-steps {
  display: grid;
  gap: 12px;
  margin: 26px 0;
  text-align: left;
}

.sponsor-area-no-access-steps div {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border-radius: 18px;
  background: #f8fafb;
  border: 1px solid rgba(6, 23, 24, 0.06);
}

.sponsor-area-no-access-steps strong {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #cc003d;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  font-weight: 950;
}

.sponsor-area-no-access-steps span {
  color: #40515f;
  font-weight: 800;
}

.sponsor-area-no-access-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}

.sponsor-area-no-access-actions .btn {
  border-radius: 999px;
  font-weight: 900;
}

@media (max-width: 600px) {
  .sponsor-area-no-access {
    padding: 24px 18px;
  }

  .sponsor-area-no-access-actions .btn {
    width: 100%;
  }
}

.app-timeline-avatar img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
  display: block;
}

.app-timeline-avatar img[alt] {
  background: #fff;
}

/* =========================================================
   App - alerta forte de perfil incompleto
========================================================= */

.app-profile-completion-section {
  margin-top: 18px;
  margin-bottom: 26px;
}

.app-profile-completion-alert-danger {
  position: relative;
  overflow: hidden;
  min-height: 270px;
  padding: 28px 24px;
  border-radius: 34px;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.20), transparent 34%),
    linear-gradient(135deg, #cc003d 0%, #9f0030 48%, #2a0615 100%);
  box-shadow:
    0 28px 70px rgba(204, 0, 61, 0.32),
    0 12px 28px rgba(6, 23, 24, 0.16);
}

.app-profile-completion-alert-danger::before {
  content: "!";
  position: absolute;
  right: -18px;
  top: -56px;
  font-size: 220px;
  line-height: 1;
  font-weight: 950;
  color: rgba(255, 255, 255, 0.10);
  pointer-events: none;
}

.app-profile-completion-alert-danger::after {
  content: "";
  position: absolute;
  left: -60px;
  bottom: -80px;
  width: 210px;
  height: 210px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  pointer-events: none;
}

.app-profile-completion-alert-header {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
}

.app-profile-completion-alert-icon {
  width: 62px;
  height: 62px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid rgba(255, 255, 255, 0.26);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
}

.app-profile-completion-alert-icon i {
  color: #fff;
  font-size: 38px;
}

.app-profile-completion-alert-header span {
  display: inline-flex;
  margin-bottom: 4px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.app-profile-completion-alert-header strong {
  display: block;
  color: #fff;
  font-size: 24px;
  line-height: 1.12;
  font-weight: 950;
}

.app-profile-completion-alert-danger p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
}

.app-profile-completion-missing {
  position: relative;
  z-index: 1;
  margin-top: 18px;
}

.app-profile-completion-missing > span {
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.app-profile-completion-missing-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.app-profile-completion-missing-list small {
  display: flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: 100%;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.app-profile-completion-missing-list small i {
  font-size: 17px;
  color: #fff;
}

.app-profile-completion-button {
  position: relative;
  z-index: 1;
  margin-top: 22px;
  width: 100%;
  height: 54px;
  line-height: 54px;
  border-radius: 999px;
  background: #fff !important;
  color: #cc003d !important;
  font-weight: 950;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.20);
}

.app-profile-completion-button:hover {
  background: #fff !important;
  color: #9f0030 !important;
}

.app-profile-completion-button i {
  color: #cc003d !important;
}

@media (max-width: 600px) {
  .app-profile-completion-alert-danger {
    min-height: 300px;
    padding: 26px 20px;
    border-radius: 32px;
  }

  .app-profile-completion-alert-header {
    align-items: flex-start;
  }

  .app-profile-completion-alert-icon {
    width: 58px;
    height: 58px;
    border-radius: 22px;
  }

  .app-profile-completion-alert-header strong {
    font-size: 22px;
  }

  .app-profile-completion-alert-danger p {
    font-size: 15px;
  }

  .app-profile-completion-button {
    height: 56px;
    line-height: 56px;
  }
}

/* =========================================================
   Plataforma - seleção de múltiplos eventos do participante
========================================================= */

.grh-checkbox-list {
  display: grid;
  gap: 10px;
  margin: 8px 0 8px;
  padding: 16px;
  border-radius: 18px;
  background: #f8fafb;
  border: 1px solid rgba(6, 23, 24, 0.08);
}

.grh-checkbox-item {
  display: flex;
  align-items: center;
  min-height: 34px;
  color: #061718;
  font-weight: 800;
}

.grh-checkbox-item [type="checkbox"] + span:not(.lever) {
  color: #061718;
  font-weight: 800;
  line-height: 1.35;
}

.grh-checkbox-item [type="checkbox"]:checked + span:not(.lever)::before {
  border-right-color: #cc003d;
  border-bottom-color: #cc003d;
}

.grh-checkbox-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.grh-checkbox-list li {
  margin: 0;
}

/* =========================================================
   Plataforma - documentação de integração
========================================================= */

.integration-api-docs {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.integration-doc-section {
  border-radius: 22px;
  border: 1px solid rgba(6, 23, 24, 0.08);
  background: #fff;
  overflow: hidden;
}

.integration-doc-section[open] {
  box-shadow: 0 16px 34px rgba(6, 23, 24, 0.06);
}

.integration-doc-section summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 20px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  background: #f8fafb;
}

.integration-doc-section summary::-webkit-details-marker {
  display: none;
}

.integration-doc-section summary strong {
  display: block;
  color: #061718;
  font-size: 16px;
  font-weight: 950;
}

.integration-doc-section summary small {
  display: block;
  margin-top: 4px;
  color: #6b7f90;
  font-weight: 800;
}

.integration-doc-section summary > i {
  color: #cc003d;
  transition: transform 0.2s ease;
}

.integration-doc-section[open] summary > i {
  transform: rotate(180deg);
}

.integration-doc-content {
  padding: 20px;
}

.integration-doc-content p {
  color: #40515f;
  line-height: 1.6;
  margin-top: 0;
}

.integration-doc-content h4 {
  margin: 22px 0 10px;
  color: #061718;
  font-size: 15px;
  font-weight: 950;
}

.integration-code-block {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  padding: 16px;
  border-radius: 18px;
  background: #061718;
  color: #d6f5ec;
  font-size: 13px;
  line-height: 1.55;
  white-space: pre;
}

.integration-code-block code {
  color: inherit;
  background: transparent;
  font-family: "Courier New", monospace;
}

.integration-doc-section-highlight summary {
  background: linear-gradient(135deg, rgba(204, 0, 61, 0.10), rgba(204, 0, 61, 0.03));
}

.integration-warning-box {
  display: flex;
  gap: 12px;
  margin-top: 18px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255, 193, 7, 0.12);
  border: 1px solid rgba(255, 193, 7, 0.30);
}

.integration-warning-box i {
  color: #b77900;
}

.integration-warning-box p {
  margin: 0;
  color: #5d4300;
  font-weight: 700;
}