/* Shared internal-page system based on tickets.php */
:root {
  --brand-navy: #081a70;
  --brand-green: #28a745;
  --brand-yellow: #ffc107;
  --brand-mint: #3cb371;
  --brand-sky: #00aeef;

  --cor-bg: #f8f9fb;
  --cor-bg-alt: #ffffff;
  --cor-prim: #2662aa;
  --cor-prim-hover: #06145a;
  --template-blue: #2f6fb6;
  --template-blue-hover: #285f9d;
  --template-blue-ring: rgba(47,111,182,.18);
  --cor-borda: #dee2e6;
  --cor-texto: #212529;
  --cor-texto-sec: #495057;

  --radius-sm: .35rem;
  --radius: .55rem;
  --radius-lg: .75rem;

  --sombra-sm: 0 2px 6px rgba(0,0,0,.08);
  --sombra-md: 0 4px 12px rgba(0,0,0,.12);
  --sombra-lg: 0 8px 24px rgba(0,0,0,.14);
  --trans: .22s cubic-bezier(.4,0,.2,1);

  --ok: #27ae60;
  --warn: #f39c12;
  --err: #e74c3c;
  --stat-blue: #2f80ed;
  --stat-red: #eb5757;
  --stat-amber: #f39c12;
  --stat-green: #27ae60;
  --stat-border: #e8edf3;
  --stat-text: #1f2b39;
  --stat-muted: #6c7b88;

  --internal-section-gap-sm: 20px;
  --internal-section-gap-lg: 28px;
  --internal-stack-gap: 1rem;
}

* {
  box-sizing: border-box;
}

.container {
  max-width: 1065px;
}

.about-hero > .container,
.contact-hero > .container,
.faq-hero > .container,
.news-hero > .container,
.privacy-hero > .container,
.terms-hero > .container,
.thankyou-hero > .container,
.tickets-hero > .container,
.ticket-hero > .container,
.profile-hero > .container,
.transparency-hero > .container,
.login-hero > .container,
.docs-hero > .container,
.container.py-4,
.container.py-5,
.container.main-content,
.main-layout {
  max-width: 1065px !important;
}

.about-hero,
.contact-hero,
.faq-hero,
.news-hero,
.privacy-hero,
.terms-hero,
.thankyou-hero,
.tickets-hero,
.ticket-hero,
.profile-hero,
.transparency-hero,
.login-hero,
.docs-hero {
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-sky) 100%);
  color: #fff;
  padding: 2rem 0 1.5rem !important;
  margin-top: calc(var(--topbar-h, 27px) + 84px) !important;
  margin-bottom: var(--internal-section-gap-sm) !important;
}

@media (min-width: 992px) {
  .about-hero,
  .contact-hero,
  .faq-hero,
  .news-hero,
  .privacy-hero,
  .terms-hero,
  .thankyou-hero,
  .tickets-hero,
  .ticket-hero,
  .profile-hero,
  .transparency-hero,
  .login-hero,
  .docs-hero {
    margin-bottom: var(--internal-section-gap-lg) !important;
  }
}

.about-hero h1,
.about-hero h3,
.about-hero h4,
.contact-hero h1,
.contact-hero h3,
.contact-hero h4,
.faq-hero h1,
.faq-hero h3,
.faq-hero h4,
.news-hero h1,
.news-hero h3,
.news-hero h4,
.privacy-hero h3,
.privacy-hero h4,
.terms-hero h3,
.terms-hero h4,
.thankyou-hero h1,
.thankyou-hero h3,
.thankyou-hero h4,
.tickets-hero h3,
.tickets-hero h4,
.ticket-hero h3,
.ticket-hero h4,
.profile-hero h3,
.profile-hero h4,
.transparency-hero h3,
.transparency-hero h4,
.login-hero h1,
.docs-hero h1 {
  font-weight: 700;
  margin: 0 0 .5rem !important;
  font-size: clamp(1.18rem, 1.02rem + .55vw, 1.55rem) !important;
  line-height: 1.25 !important;
}

.about-hero .lead,
.contact-hero .lead,
.faq-hero .lead,
.news-hero .lead,
.privacy-hero .lead,
.terms-hero .lead,
.thankyou-hero .lead,
.tickets-hero .lead,
.ticket-hero .lead,
.profile-hero .lead,
.transparency-hero .lead,
.login-hero .lead,
.docs-hero .lead {
  font-size: clamp(.88rem, .84rem + .22vw, 1rem) !important;
  opacity: .95;
  margin-bottom: 0 !important;
}

.content-card,
.contact-card,
.privacy-card,
.terms-card,
.thankyou-card,
.modern-card,
.ticket-header,
.profile-card,
.login-card,
.search-section,
.category-filter,
.news-card,
.faq-item {
  background: var(--cor-bg-alt);
  border: 1px solid var(--cor-borda);
  border-radius: 12px !important;
  box-shadow: var(--sombra-sm) !important;
}

.content-card:hover,
.contact-card:hover,
.privacy-card:hover,
.terms-card:hover,
.thankyou-card:hover,
.modern-card:hover,
.ticket-header:hover,
.profile-card:hover,
.login-card:hover,
.news-card:hover,
.faq-item:hover {
  box-shadow: var(--sombra-md) !important;
}

.content-card h2,
.privacy-card h4,
.terms-card h4,
.login-card h2 {
  color: #2c3e50;
  font-weight: 600;
}

.login-card {
  width: 100%;
  max-width: 460px;
  padding: 1.5rem;
}

.login-card .brand-mark {
  height: 58px;
  object-fit: contain;
  width: 58px;
}

.login-card .form-floating label {
  color: var(--cor-texto-sec);
}

.login-help {
  color: var(--cor-texto-sec);
  font-size: .92rem;
}

.login-secondary-link {
  align-items: center;
  color: var(--cor-prim);
  display: inline-flex;
  font-size: .92rem;
  font-weight: 600;
  text-decoration: none;
}

.login-secondary-link:hover,
.login-secondary-link:focus-visible {
  color: var(--template-blue-hover);
  text-decoration: underline;
}

.login-remember-row {
  align-items: center;
  color: var(--cor-texto-sec);
  display: flex;
  font-size: .92rem;
  gap: .5rem;
}

.login-remember-row .form-check-input {
  border-color: var(--cor-borda);
  cursor: pointer;
  margin: 0;
}

.login-remember-row .form-check-input:checked {
  background-color: var(--cor-prim);
  border-color: var(--cor-prim);
}

.login-remember-row .form-check-label {
  cursor: pointer;
}

.login-register-row {
  align-items: center;
  color: var(--cor-texto-sec);
  display: flex;
  gap: .55rem;
  justify-content: center;
  margin-top: 1.1rem;
}

@media (min-width: 768px) {
  .login-card {
    padding: 2rem;
  }
}

.main-content,
.container.py-4,
.container.py-5 {
  padding-top: 0 !important;
  padding-bottom: var(--internal-section-gap-sm) !important;
}

@media (min-width: 992px) {
  .main-content,
  .container.py-4,
  .container.py-5 {
    padding-bottom: var(--internal-section-gap-lg) !important;
  }
}

.alert {
  border: 0 !important;
  border-radius: .55rem !important;
  margin: 1rem 0 !important;
}

.alert-success {
  background: linear-gradient(135deg, rgba(39,174,96,.08), rgba(46,204,113,.12)) !important;
  color: var(--ok) !important;
}

.alert-danger {
  background: linear-gradient(135deg, rgba(231,76,60,.08), rgba(192,57,43,.12)) !important;
  color: var(--err) !important;
}

.alert-info {
  background: linear-gradient(135deg, rgba(38,98,170,.08), rgba(38,98,170,.12)) !important;
  color: var(--template-blue) !important;
}

.form-control,
.form-select {
  border: 2px solid var(--cor-borda);
  border-radius: var(--radius) !important;
  padding: .6rem .8rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--template-blue) !important;
  box-shadow: 0 0 0 .2rem var(--template-blue-ring) !important;
}

.input-group > .input-group-text {
  border-radius: .55rem 0 0 .55rem !important;
}

.input-group > .form-control:not(:first-child),
.input-group > .form-select:not(:first-child) {
  border-left: 0 !important;
  border-radius: 0 .55rem .55rem 0 !important;
}

.input-group > .form-control:first-child:not(:last-child),
.input-group > .form-select:first-child:not(:last-child) {
  border-right: 0 !important;
  border-radius: .55rem 0 0 .55rem !important;
}

.input-group > .btn:last-child {
  border-radius: 0 .55rem .55rem 0 !important;
  margin-left: 0 !important;
}

.btn-primary,
.btn-success,
.btn-create-ticket,
.back-btn,
.btn-back,
.btn-modern-news,
.thankyou-card .btn-primary {
  border-radius: .30rem !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  transition: var(--trans) !important;
}

.btn-primary,
.btn-success {
  background: var(--template-blue) !important;
  border-color: var(--template-blue) !important;
}

.btn-primary:hover,
.btn-success:hover {
  background: var(--template-blue-hover) !important;
  border-color: var(--template-blue-hover) !important;
  filter: none !important;
}

.btn-create-ticket,
.back-btn,
.btn-back,
.about-hero .btn,
.contact-hero .btn,
.faq-hero .btn,
.news-hero .btn,
.privacy-hero .btn,
.terms-hero .btn,
.thankyou-hero .btn,
.tickets-hero .btn,
.ticket-hero .btn,
.profile-hero .btn,
.transparency-hero .btn,
.login-hero .btn,
.docs-hero .btn {
  background: rgba(255,255,255,.2) !important;
  border: 2px solid rgba(255,255,255,.3) !important;
  color: #fff !important;
  padding: .30rem 1rem !important;
  text-decoration: none !important;
  backdrop-filter: blur(10px);
}

.about-hero .btn-lg,
.contact-hero .btn-lg,
.faq-hero .btn-lg,
.news-hero .btn-lg,
.privacy-hero .btn-lg,
.terms-hero .btn-lg,
.thankyou-hero .btn-lg,
.tickets-hero .btn-lg,
.ticket-hero .btn-lg,
.profile-hero .btn-lg,
.transparency-hero .btn-lg,
.login-hero .btn-lg,
.docs-hero .btn-lg {
  font-size: .95rem !important;
  padding: .30rem 1rem !important;
}

.about-hero .btn i,
.contact-hero .btn i,
.faq-hero .btn i,
.news-hero .btn i,
.privacy-hero .btn i,
.terms-hero .btn i,
.thankyou-hero .btn i,
.tickets-hero .btn i,
.ticket-hero .btn i,
.profile-hero .btn i,
.transparency-hero .btn i,
.login-hero .btn i,
.docs-hero .btn i {
  font-size: .95rem !important;
}

.btn-create-ticket:hover,
.back-btn:hover,
.btn-back:hover,
.about-hero .btn:hover,
.contact-hero .btn:hover,
.faq-hero .btn:hover,
.news-hero .btn:hover,
.privacy-hero .btn:hover,
.terms-hero .btn:hover,
.thankyou-hero .btn:hover,
.tickets-hero .btn:hover,
.ticket-hero .btn:hover,
.profile-hero .btn:hover,
.transparency-hero .btn:hover,
.login-hero .btn:hover,
.docs-hero .btn:hover {
  background: rgba(255,255,255,.2) !important;
  border-color: rgba(255,255,255,.3) !important;
  color: #fff !important;
  transform: none !important;
}

.search-section {
  padding: 1.2rem !important;
  margin: 0 0 var(--internal-stack-gap) !important;
}

.sidebar-search {
  margin: 0 !important;
  padding: .75rem !important;
}

.sidebar-search .form-control {
  font-size: .85rem !important;
  min-height: 40px !important;
  padding: .45rem .65rem !important;
}

.sidebar-search .btn {
  min-width: 42px !important;
  padding: .45rem .65rem !important;
}

.category-filter,
.sidebar {
  background: var(--cor-bg-alt) !important;
  border: 1px solid var(--cor-borda) !important;
  border-radius: 12px !important;
  box-shadow: var(--sombra-sm) !important;
  padding: 1.2rem !important;
  margin-bottom: var(--internal-stack-gap) !important;
}

.category-filter h5,
.sidebar h2 {
  color: var(--cor-texto) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  margin-bottom: .8rem !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

.category-btn,
.nav-list a {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  margin-bottom: .4rem !important;
  padding: .6rem .8rem !important;
  border: 1px solid var(--cor-borda) !important;
  background: var(--cor-bg) !important;
  border-radius: var(--radius-sm) !important;
  color: var(--cor-texto-sec) !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  transition: var(--trans) !important;
}

.category-btn:hover,
.nav-list a:hover {
  background: var(--template-blue) !important;
  color: #fff !important;
  transform: translateX(3px) !important;
  text-decoration: none !important;
}

.category-btn.active,
.nav-list a.active,
.nav-list a[aria-current="true"] {
  background: var(--template-blue) !important;
  color: #fff !important;
  border-color: var(--template-blue) !important;
  box-shadow: 0 0 0 2px var(--template-blue-ring) !important;
}

.category-btn .badge {
  background: #dfe7f0 !important;
  color: #25364a !important;
  font-weight: 700 !important;
  min-width: 1.35rem !important;
}

.category-btn:hover .badge,
.category-btn.active .badge {
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
}

.sidebar-wrapper,
.sidebar {
  position: sticky;
  top: 100px;
  z-index: 10;
}

.sidebar-wrapper {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--internal-stack-gap) !important;
}

.sidebar-wrapper > .search-section,
.sidebar-wrapper > .category-filter,
.sidebar-wrapper > .sidebar {
  margin-bottom: 0 !important;
}

.main-layout {
  gap: var(--internal-section-gap-sm) !important;
  padding-top: 0 !important;
  padding-bottom: var(--internal-section-gap-sm) !important;
}

.main-layout .content-card,
.container.py-4 > .content-card,
.container.py-5 > .content-card,
.container.py-4 > .contact-card,
.container.py-5 > .privacy-card,
.container.py-5 > .terms-card,
.container.py-5 > .profile-card,
.container.py-5 > .login-card,
.container.main-content > .modern-card,
.container.main-content > .ticket-header {
  margin-bottom: var(--internal-section-gap-sm) !important;
}

.main-layout .content-card:last-child,
.container.py-4 > .content-card:last-child,
.container.py-5 > .content-card:last-child,
.container.py-4 > .contact-card:last-child,
.container.py-5 > .privacy-card:last-child,
.container.py-5 > .terms-card:last-child,
.container.py-5 > .profile-card:last-child,
.container.py-5 > .login-card:last-child,
.container.main-content > .modern-card:last-child,
.container.main-content > .ticket-header:last-child {
  margin-bottom: 0 !important;
}

@media (min-width: 992px) {
  .main-layout {
    gap: var(--internal-section-gap-lg) !important;
    padding-bottom: var(--internal-section-gap-lg) !important;
  }

  .main-layout .content-card,
  .container.py-4 > .content-card,
  .container.py-5 > .content-card,
  .container.py-4 > .contact-card,
  .container.py-5 > .privacy-card,
  .container.py-5 > .terms-card,
  .container.py-5 > .profile-card,
  .container.py-5 > .login-card,
  .container.main-content > .modern-card,
  .container.main-content > .ticket-header {
    margin-bottom: var(--internal-section-gap-lg) !important;
  }
}

.nswl-guide-panel {
  margin-bottom: var(--internal-section-gap-sm) !important;
}

@media (min-width: 992px) {
  .nswl-guide-panel {
    margin-bottom: var(--internal-section-gap-lg) !important;
  }
}

.ticket-card,
.news-card,
.faq-item,
.article-card,
.content-card,
.privacy-card,
.terms-card,
.thankyou-card,
.contact-card,
.login-card,
.profile-card,
.modern-card,
.ticket-header {
  overflow: hidden;
}

.ticket-card::before,
.news-card::before,
.faq-item::before {
  content: none !important;
}

.ticket-content,
.news-card .card-body,
.faq-item .card-body,
.card-body-modern {
  padding: .9rem .95rem .9rem 1.1rem !important;
}

.modal-content {
  border: 1px solid var(--cor-borda) !important;
  border-radius: 12px !important;
  box-shadow: var(--sombra-lg) !important;
}

.modal-header {
  background: linear-gradient(135deg, var(--brand-navy) 0%, var(--brand-sky) 100%) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 12px 12px 0 0 !important;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin: 0 0 1.75rem;
}

.stat-card {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #fff;
  border: 1px solid var(--stat-border);
  border-radius: 16px;
  padding: 2.1rem 1.25rem 1.4rem;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  overflow: visible;
}

.stat-card::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 6px;
  border-radius: 16px 16px 0 0;
  background: var(--stat-blue);
}

.stat-card .icon-badge {
  position: absolute;
  top: -18px;
  left: 22px;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  border: 3px solid var(--stat-blue);
  box-shadow: 0 10px 20px rgba(0,0,0,.15);
}

.stat-card .icon-badge i {
  color: var(--stat-blue);
  font-size: 24px;
}

.stat-number {
  color: var(--stat-text);
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .3px;
  margin: .35rem 0 .45rem;
  text-shadow: 0 1px 2px rgba(0,0,0,.12);
}

.stat-label {
  color: var(--stat-muted);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
}

.stat-card.total::before { background: var(--stat-blue); }
.stat-card.open::before { background: var(--stat-red); }
.stat-card.in-progress::before { background: var(--stat-amber); }
.stat-card.closed::before { background: var(--stat-green); }
.stat-card.total .icon-badge { border-color: var(--stat-blue); }
.stat-card.open .icon-badge { border-color: var(--stat-red); }
.stat-card.in-progress .icon-badge { border-color: var(--stat-amber); }
.stat-card.closed .icon-badge { border-color: var(--stat-green); }
.stat-card.total .icon-badge i { color: var(--stat-blue); }
.stat-card.open .icon-badge i { color: var(--stat-red); }
.stat-card.in-progress .icon-badge i { color: var(--stat-amber); }
.stat-card.closed .icon-badge i { color: var(--stat-green); }

/* News list: aligned with the homepage latest-news rows */
.news-list-panel {
  background: #fff !important;
  border: 1px solid var(--cor-borda) !important;
  border-radius: 12px !important;
  box-shadow: var(--sombra-sm) !important;
  padding: 1.25rem 1.35rem !important;
}

.news-list-panel .news-card {
  align-items: flex-start !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #d1d1d1 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  gap: 1.25rem !important;
  margin: 0 0 1.35rem !important;
  overflow: visible !important;
  padding: 0 0 1.35rem !important;
}

.news-list-panel .news-card:last-child {
  border-bottom: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.news-list-panel .news-card:hover {
  box-shadow: none !important;
}

.news-list-panel .news-card__body {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: .15rem 0 0 !important;
}

.news-list-panel .news-card header {
  padding: 0 !important;
}

.news-title,
.news-title.display-6 {
  color: #2c3e50 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 .45rem !important;
  text-shadow: none !important;
}

.news-title a:hover {
  color: var(--template-blue) !important;
}

.news-meta {
  align-items: center !important;
  color: var(--cor-texto-sec) !important;
  display: flex !important;
  flex-wrap: wrap !important;
  font-size: .78rem !important;
  gap: .55rem !important;
  margin-bottom: .6rem !important;
}

.news-list-panel .news-card__body > .lead {
  color: var(--cor-texto) !important;
  font-size: .95rem !important;
  line-height: 1.55 !important;
  margin: 0 !important;
  padding: .1rem 0 0 !important;
}

.news-list-panel .news-card__media-link {
  display: block !important;
  flex: 0 0 280px !important;
}

.news-list-panel .news-card__media {
  display: block !important;
  aspect-ratio: 5 / 3 !important;
  background: #f3f7fb !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.1) !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  width: 100% !important;
}

.news-list-panel .news-card__media img {
  display: block !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  width: 100% !important;
}

.news-category {
  background: #eaf3ff !important;
  border: 1px solid #c9d9ee !important;
  border-radius: 999px !important;
  color: var(--template-blue) !important;
  display: inline-block !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  letter-spacing: .5px !important;
  line-height: 1.2 !important;
  padding: .25rem .65rem !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
}

.news-category:hover {
  background: #dcecff !important;
  border-color: #a9c6e8 !important;
  color: var(--template-blue-hover) !important;
}

@media (max-width: 767.98px) {
  .news-list-panel {
    padding: .9rem !important;
  }

  .news-list-panel .news-card {
    background: #fff !important;
    border: 1px solid var(--cor-borda) !important;
    border-radius: 10px !important;
    box-shadow: var(--sombra-sm) !important;
    display: block !important;
    margin-bottom: 1rem !important;
    overflow: hidden !important;
    padding: 0 !important;
  }

  .news-list-panel .news-card__media-link {
    flex-basis: auto !important;
  }

  .news-list-panel .news-card__media {
    aspect-ratio: 16 / 9 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .news-list-panel .news-card__body {
    padding: .95rem !important;
  }
}

.faq-card,
.faq-item {
  margin-bottom: .9rem !important;
}

.faq-question {
  color: #2c3e50 !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
}

.helpful-btn {
  border-radius: .30rem !important;
}

.content-card h2 {
  align-items: center;
  border-bottom: 1px solid #d1d1d1;
  display: flex;
  font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem);
  gap: .5rem;
  padding-bottom: .5rem;
}

.content-card h2::before {
  background: var(--template-blue);
  border-radius: 2px;
  content: "";
  height: 20px;
  width: 4px;
}

/* Override legacy inline blues in FAQ, news and transparency pages */
.progress-bar {
  background: linear-gradient(90deg, var(--template-blue), var(--brand-sky)) !important;
}

.copy-section {
  border-left-color: var(--template-blue) !important;
}

.copy-box .nswl-btn,
.copy-btn {
  background: var(--template-blue) !important;
  border-color: var(--template-blue) !important;
}

.copy-box .nswl-btn.copied,
.copy-btn.copied {
  background: var(--template-blue-hover) !important;
  border-color: var(--template-blue-hover) !important;
}

.external-link,
.external-link:hover,
.faq-toggle,
.faq-question.active,
.content-card li::marker {
  color: var(--template-blue) !important;
}

.faq-question.active {
  background: linear-gradient(0deg, rgba(47,111,182,.08), rgba(0,174,239,.06)) !important;
}

.faq-category-tag,
.report-example::before {
  background: var(--template-blue) !important;
}

.internal-note {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-left: 4px solid var(--brand-green);
  border-radius: 10px;
  color: #2c3e50;
  padding: 1rem 1.2rem;
}

.docs-shell {
  --docs-gap: var(--internal-section-gap-sm);
}

.docs-layout {
  display: grid;
  gap: var(--docs-gap);
  grid-template-columns: 260px minmax(0, 1fr);
}

.docs-sidebar {
  align-self: start;
  background: #fff;
  border: 1px solid var(--cor-borda);
  border-radius: 12px;
  box-shadow: var(--sombra-sm);
  padding: 1rem;
  position: sticky;
  top: 100px;
}

.docs-sidebar-title {
  align-items: center;
  border-bottom: 1px solid #dbe5ef;
  color: #2c3e50;
  display: flex;
  font-size: .98rem;
  font-weight: 700;
  gap: .5rem;
  margin-bottom: .75rem;
  padding-bottom: .65rem;
}

.docs-nav {
  display: grid;
  gap: .4rem;
}

.docs-nav a {
  align-items: center;
  background: var(--cor-bg);
  border: 1px solid var(--cor-borda);
  border-radius: var(--radius-sm);
  color: var(--cor-texto-sec);
  display: grid;
  font-size: .88rem;
  font-weight: 600;
  gap: .55rem;
  grid-template-columns: 20px minmax(0, 1fr);
  line-height: 1.25;
  padding: .62rem .72rem;
  text-decoration: none;
  transition: var(--trans);
}

.docs-nav a:hover,
.docs-nav a:focus-visible {
  background: var(--template-blue);
  border-color: var(--template-blue);
  color: #fff;
  text-decoration: none;
}

.docs-nav a.active,
.docs-nav a[aria-current="true"] {
  background: var(--template-blue);
  border-color: var(--template-blue);
  box-shadow: 0 0 0 2px var(--template-blue-ring);
  color: #fff;
}

.docs-progress-wrapper {
  background: #e9ecef;
  border-radius: 100px;
  height: 6px;
  margin-top: .9rem;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.docs-progress-wrapper .progress-bar {
  background: linear-gradient(90deg, var(--template-blue), var(--brand-sky));
  height: 100%;
  transition: width .2s linear;
  width: 0;
}

.docs-content {
  display: grid;
  gap: var(--docs-gap);
  min-width: 0;
}

.docs-overview-card,
.docs-card {
  background: #fff;
  border: 1px solid var(--cor-borda);
  border-radius: 12px;
  box-shadow: var(--sombra-sm);
}

.docs-overview-card {
  align-items: center;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 1.25rem 1.35rem;
}

.docs-overview-card h2,
.docs-card h2 {
  color: #2c3e50;
  font-size: clamp(1.12rem, 1rem + .45vw, 1.35rem);
  font-weight: 700;
  line-height: 1.3;
  margin: .18rem 0 .5rem;
}

.docs-overview-card p,
.docs-card p {
  color: var(--cor-texto-sec);
  font-size: .97rem;
  line-height: 1.65;
  margin: 0;
}

.docs-updated {
  align-items: center;
  background: #eaf3ff;
  border: 1px solid #c9d9ee;
  border-radius: 999px;
  color: var(--template-blue);
  display: inline-flex;
  font-size: .88rem;
  font-weight: 700;
  gap: .45rem;
  padding: .45rem .75rem;
  white-space: nowrap;
}

.docs-date-stack {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: .5rem;
}

.docs-started {
  background: #f7fafd;
  color: #2f4a66;
}

.docs-update-note {
  align-items: flex-start;
  background: #f7fafd;
  border: 1px solid #dbe5ef;
  border-left: 4px solid var(--template-blue);
  border-radius: 12px;
  box-shadow: var(--sombra-sm);
  color: #2f4a66;
  display: grid;
  gap: .85rem;
  grid-template-columns: 38px minmax(0, 1fr);
  padding: 1rem 1.1rem;
}

.docs-update-note > i {
  align-items: center;
  background: #e8f1fb;
  border-radius: 9px;
  color: var(--template-blue);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.docs-update-note strong {
  color: #2c3e50;
  display: block;
  font-size: .98rem;
  margin-bottom: .25rem;
}

.docs-update-note p {
  color: var(--cor-texto-sec);
  line-height: 1.55;
  margin: 0;
}

.docs-card {
  scroll-margin-top: 118px;
  padding: 1.35rem;
}

.docs-section-heading {
  align-items: center;
  border-bottom: 1px solid #dbe5ef;
  display: flex;
  gap: .85rem;
  margin-bottom: 1rem;
  padding-bottom: .85rem;
}

.docs-section-icon {
  align-items: center;
  background: #e8f1fb;
  border-radius: 10px;
  color: var(--template-blue);
  display: inline-flex;
  flex: 0 0 42px;
  font-size: 1.25rem;
  height: 42px;
  justify-content: center;
  width: 42px;
}

.docs-kicker {
  color: var(--template-blue);
  display: block;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.docs-address-list,
.docs-roadmap,
.docs-resource-list,
.docs-checklist {
  margin-top: 1rem;
}

.docs-address-list {
  display: grid;
  gap: .85rem;
}

.docs-address-row {
  display: grid;
  gap: .45rem;
}

.docs-address-row strong {
  color: #2c3e50;
  font-size: .9rem;
}

.docs-address-row .form-control {
  font-family: Consolas, Monaco, monospace;
  font-size: .86rem;
}

.docs-token-address-row {
  margin-top: .1rem;
}

.token-address-row {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 10px;
  box-shadow: 0 3px 10px rgba(15,44,74,.06);
  display: grid;
  gap: .55rem;
  grid-template-columns: minmax(0,1fr) auto;
  padding: .45rem;
}

.token-address-row input {
  background: transparent;
  border: 0;
  color: #2f4a66;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  font-size: .9rem;
  min-width: 0;
  overflow: hidden;
  padding: .55rem .6rem;
  text-overflow: ellipsis;
}

.token-address-row input:focus {
  outline: none;
}

.token-copy-btn {
  align-items: center;
  background: var(--template-blue);
  border: 1px solid var(--template-blue);
  border-radius: 8px;
  color: #fff;
  display: inline-flex;
  font-size: .82rem;
  font-weight: 700;
  gap: .35rem;
  justify-content: center;
  line-height: 1.1;
  min-height: 32px;
  padding: .28rem .56rem;
  white-space: nowrap;
}

.token-copy-btn:hover,
.token-copy-btn.copied {
  background: var(--template-blue-hover);
  border-color: var(--template-blue-hover);
  color: #fff;
}

.token-copy-btn i {
  color: #fff;
  font-size: .92rem;
  line-height: 1;
}

.token-copy-btn.copied i {
  color: #fff !important;
}

.copy-btn i,
.home-token-copy i,
.token-copy-btn i,
.copy-inline i {
  color: #fff !important;
}

.copy-inline.copy-btn {
  align-items: center;
  background: var(--template-blue) !important;
  border: 1px solid var(--template-blue) !important;
  border-radius: 8px !important;
  color: #fff !important;
  display: inline-flex !important;
  gap: .35rem;
  height: auto !important;
  justify-content: center;
  min-height: 34px;
  min-width: 42px;
  padding: .42rem .58rem !important;
  vertical-align: middle;
  width: auto !important;
}

.copy-inline.copy-btn:hover,
.copy-inline.copy-btn:focus-visible,
.copy-inline.copy-btn.copied {
  background: var(--template-blue-hover) !important;
  border-color: var(--template-blue-hover) !important;
  color: #fff !important;
}

.copy-inline .copy-label {
  display: none;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
}

.copy-inline.copied .copy-label {
  display: inline;
}

.docs-muted {
  color: var(--cor-texto-sec);
  font-size: .92rem;
}

.docs-callout {
  align-items: flex-start;
  background: #f4f9ff;
  border: 1px solid #c9d9ee;
  border-left: 4px solid var(--template-blue);
  border-radius: 10px;
  color: #2f4a66;
  display: flex;
  gap: .65rem;
  line-height: 1.55;
  margin-top: 1rem;
  padding: .9rem 1rem;
}

.docs-callout-warning {
  background: #fff8ec;
  border-color: #f5d19b;
  border-left-color: var(--warn);
  color: #6d4a14;
}

.docs-roadmap {
  display: grid;
  gap: .85rem;
}

.docs-roadmap-item {
  border-left: 4px solid var(--template-blue);
  padding: .15rem 0 .15rem 1rem;
}

.docs-roadmap-item h3 {
  color: #2c3e50;
  font-size: 1rem;
  font-weight: 700;
  margin: .45rem 0 .25rem;
}

.docs-status {
  border-radius: 999px;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .04em;
  padding: .25rem .55rem;
  text-transform: uppercase;
}

.docs-status-done {
  background: rgba(39,174,96,.12);
  color: var(--ok);
}

.docs-status-active {
  background: rgba(47,111,182,.12);
  color: var(--template-blue);
}

.docs-status-planned {
  background: rgba(243,156,18,.13);
  color: #9b6208;
}

.docs-checklist {
  background: #f7fafd;
  border: 1px solid #dbe5ef;
  border-radius: 10px;
  padding: 1rem 1.1rem;
}

.docs-checklist strong {
  color: #2c3e50;
  display: block;
  margin-bottom: .55rem;
}

.docs-checklist ul {
  color: var(--cor-texto-sec);
  line-height: 1.65;
  margin: 0;
  padding-left: 1.1rem;
}

.docs-resource-list {
  display: grid;
  gap: .75rem;
}

.docs-resource-link {
  align-items: center;
  background: #f7fafd;
  border: 1px solid #dbe5ef;
  border-radius: 10px;
  color: #2f4a66;
  display: grid;
  gap: .8rem;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  padding: .85rem .95rem;
  text-decoration: none;
  transition: var(--trans);
}

.docs-resource-link > i {
  align-items: center;
  background: #e8f1fb;
  border-radius: 9px;
  color: var(--template-blue);
  display: inline-flex;
  height: 38px;
  justify-content: center;
  width: 38px;
}

.docs-resource-link strong,
.docs-resource-link small {
  display: block;
}

.docs-resource-link small {
  color: #6c7b88;
  font-size: .82rem;
  line-height: 1.35;
  margin-top: .12rem;
}

.docs-resource-link em {
  color: var(--template-blue);
  font-size: .82rem;
  font-style: normal;
  font-weight: 700;
}

.docs-resource-link:hover,
.docs-resource-link:focus-visible {
  background: #f0f7ff;
  border-color: #a9c6e8;
  color: var(--template-blue-hover);
  text-decoration: none;
}

@media (max-width: 991.98px) {
  .docs-layout {
    grid-template-columns: 1fr;
  }

  .docs-sidebar {
    position: static;
  }

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

  .docs-overview-card {
    grid-template-columns: 1fr;
  }

  .docs-date-stack {
    align-items: flex-start;
  }
}

@media (max-width: 575.98px) {
  .docs-hero {
    padding: 1.55rem 0 1.1rem !important;
  }

  .docs-nav,
  .docs-resource-link {
    grid-template-columns: 1fr;
  }

  .token-address-row {
    grid-template-columns: 1fr;
  }

  .token-copy-btn {
    width: 100%;
  }

  .docs-resource-link > i {
    display: none;
  }

  .docs-card,
  .docs-overview-card {
    padding: 1rem;
  }
}

.error-hero {
  background: linear-gradient(135deg, #103f91 0%, #079bd3 100%);
  color: #fff;
  margin-top: calc(var(--topbar-h, 27px) + 84px);
  padding: 1.65rem 0 1.45rem;
}

.error-hero-title {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.error-hero-title > i {
  border: 2px solid rgba(255,255,255,.86);
  border-radius: 50%;
  display: grid;
  flex: 0 0 42px;
  font-size: 1.35rem;
  height: 42px;
  place-items: center;
  width: 42px;
}

.error-hero-title h1 {
  font-size: clamp(1.18rem, 1.02rem + .55vw, 1.55rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 .5rem;
}

.error-hero-title p {
  font-size: clamp(.88rem, .84rem + .22vw, 1rem);
  line-height: 1.5;
  margin: 0;
  max-width: 760px;
  opacity: .95;
}

.container.error-shell {
  padding-bottom: var(--internal-section-gap-lg);
  padding-top: var(--internal-section-gap-lg);
}

.error-card {
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 12px;
  box-shadow: 0 10px 26px rgba(15, 44, 74, .08);
  display: grid;
  gap: 1.5rem;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
  padding: 1.75rem;
}

.error-main {
  align-self: center;
}

.error-code {
  align-items: center;
  background: #e8f1fb;
  border-radius: 999px;
  color: var(--template-blue);
  display: inline-flex;
  font-size: .88rem;
  font-weight: 800;
  gap: .45rem;
  padding: .38rem .72rem;
}

.error-main h2 {
  color: #2c3e50;
  font-size: clamp(1.35rem, 1.15rem + .7vw, 1.8rem);
  font-weight: 700;
  line-height: 1.25;
  margin: 1rem 0 .75rem;
}

.error-main p {
  color: var(--cor-texto-sec);
  font-size: 1rem;
  line-height: 1.65;
  margin: 0 0 .45rem;
  max-width: 640px;
}

.error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .7rem;
  margin-top: 1.35rem;
}

.error-actions .btn {
  align-items: center;
  display: inline-flex;
  gap: .45rem;
  justify-content: center;
}

.error-aside {
  background: #f7fafd;
  border: 1px solid #dbe5ef;
  border-radius: 10px;
  padding: 1rem;
}

.error-aside h3 {
  color: #2c3e50;
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 .75rem;
}

.error-link {
  align-items: center;
  background: #fff;
  border: 1px solid #dbe5ef;
  border-radius: 8px;
  color: #2f4a66;
  display: grid;
  gap: .75rem;
  grid-template-columns: 34px minmax(0, 1fr);
  padding: .82rem .9rem;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.error-link + .error-link {
  margin-top: .65rem;
}

.error-link i {
  align-items: center;
  background: #e8f1fb;
  border-radius: 8px;
  color: var(--template-blue);
  display: inline-flex;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.error-link strong,
.error-link small {
  display: block;
}

.error-link strong {
  font-size: .96rem;
  line-height: 1.2;
}

.error-link small {
  color: #6c7b88;
  font-size: .78rem;
  line-height: 1.35;
  margin-top: .15rem;
}

.error-link:hover,
.error-link:focus-visible {
  background: #f3f8fd;
  border-color: #a9c6e8;
  color: var(--template-blue-hover);
  text-decoration: none;
}

.error-link:hover i,
.error-link:focus-visible i {
  background: var(--template-blue);
  color: #fff;
}

@media (max-width: 767.98px) {
  .error-card {
    grid-template-columns: 1fr;
    padding: 1.2rem;
  }

  .error-aside {
    padding: .85rem;
  }

  .error-actions .btn {
    width: 100%;
  }
}

@media (max-width: 575.98px) {
  .about-hero,
  .contact-hero,
  .faq-hero,
  .news-hero,
  .privacy-hero,
  .terms-hero,
  .thankyou-hero,
  .tickets-hero,
  .ticket-hero,
  .profile-hero,
  .transparency-hero,
  .login-hero,
  .error-hero {
    padding: 1.55rem 0 1.1rem !important;
  }

  .error-hero-title {
    align-items: flex-start;
    gap: .75rem;
  }

  .error-hero-title > i {
    flex-basis: 38px;
    font-size: 1.2rem;
    height: 38px;
    width: 38px;
  }

  .container.error-shell {
    padding-top: var(--internal-section-gap-sm);
  }

  .stats-grid {
    grid-template-columns: 1fr;
  }

  .stat-card {
    padding: 1.7rem 1rem 1.2rem;
  }

  .stat-card .icon-badge {
    height: 46px;
    left: 18px;
    top: -12px;
    width: 46px;
  }

  .stat-card .icon-badge i {
    font-size: 22px;
  }

  .stat-number {
    font-size: 30px;
  }
}

@media (min-width: 576px) and (max-width: 991.98px) {
  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
