:root {
  --sky-deep: #0b3558;
  --sky-navy: #0d426d;
  --sky-primary: #168bd2;
  --sky-primary-dark: #0869ad;
  --sky-cyan: #2ab6d9;
  --sky-ice: #eef8ff;
  --sky-pale: #dff2ff;
  --sky-line: #b9dcf2;
  --sky-text: #17384f;
  --primary: var(--sky-primary);
  --primary-dark: var(--sky-primary-dark);
  --accent: var(--sky-cyan);
  --ink: var(--sky-text);
  --muted: #60788a;
  --line: #cfe3f1;
  --page: #f2f9fe;
  --wash: #f2f9fe;
  --xmetai-navy: var(--sky-deep);
  --xmetai-blue: var(--sky-primary);
  --xmetai-cyan: var(--sky-cyan);
  --xmetai-ice: var(--sky-ice);
  --xmetai-line: var(--sky-line);
  --xmetai-text: var(--sky-text);
  --shadow: 0 14px 38px rgba(25, 107, 163, .12);
}

.shared-logo,
.shared-logo--mini {
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
}

.shared-logo img,
.shared-logo--mini img {
  display: block;
  width: auto;
  object-fit: contain;
}

.shared-logo img { height: 82px; }
.shared-logo--mini img { height: 34px; }
.shared-logo--form { height: 72px; width: auto; }
.shared-logo--admin { height: 72px; width: auto; }
.shared-logo--topbar { height: 46px; width: auto; }

@media (max-width: 640px) {
  .shared-logo img { height: 64px; }
  .shared-logo--mini img { height: 28px; }
  .shared-logo--form { height: 58px; }
  .shared-logo--admin { height: 58px; }
  .shared-logo--topbar { height: 38px; }
}

html,
body {
  background-color: var(--sky-ice);
}

body {
  color: var(--sky-text);
  background-image:
    radial-gradient(circle at 8% 6%, rgba(78, 190, 236, .12), transparent 30%),
    radial-gradient(circle at 92% 20%, rgba(41, 139, 210, .09), transparent 32%);
}

/* Main conference site */
.top-info-bar,
.iac-topbar,
.utility-bar {
  color: #fff !important;
  background: linear-gradient(105deg, #0872ba, #28aee0) !important;
}

.top-info-bar a,
.iac-topbar a,
.utility-bar a {
  color: #fff !important;
}

#navbar > header,
#navbar header,
header.w-full {
  border-bottom-color: rgba(22, 139, 210, .13) !important;
  box-shadow: 0 8px 26px rgba(17, 91, 141, .07);
}

#navbar .nav-link-active,
#navbar .mobile-nav-link-active,
.nav-link:hover,
.mobile-nav-link:hover,
.text-primary,
.text-accent,
.text-secondary,
.hover\:text-primary:hover,
.hover\:text-accent:hover {
  color: var(--sky-primary) !important;
}

#navbar .nav-link-active::after,
.bg-primary,
.bg-secondary {
  background-color: var(--sky-primary) !important;
}

#navbar .mobile-nav-link-active {
  border-left-color: var(--sky-primary) !important;
  background-color: #eef8ff !important;
}

.bg-accent,
.hover\:bg-accent:hover {
  background-color: var(--sky-cyan) !important;
}

.border-primary {
  border-color: var(--sky-primary) !important;
}

.banner-btn,
.hover\:bg-primary\/90:hover {
  border-color: transparent !important;
  background: linear-gradient(100deg, #0872ba, #24a9db) !important;
  box-shadow: 0 10px 24px rgba(5, 109, 178, .2);
}

.banner-btn:hover {
  box-shadow: 0 13px 30px rgba(5, 109, 178, .3);
  transform: translateY(-1px);
}

.xmetai-header-brand,
.xmetai-hero-title,
.conference-doc-heading h1,
.conference-doc-heading h2,
.conference-doc-card h2,
.conference-doc-card h3 {
  color: var(--sky-deep) !important;
}

.xmetai-header-brand small {
  color: #527993 !important;
}

.xmetai-hero-orgs span {
  border-color: rgba(22, 139, 210, .32) !important;
  color: #076ba9 !important;
  background: rgba(239, 249, 255, .84) !important;
  box-shadow: 0 5px 16px rgba(14, 111, 174, .1);
}

.conference-doc-section,
.iac-registration-bank-section {
  background:
    radial-gradient(circle at 92% 0, rgba(42, 182, 217, .14), transparent 34%),
    linear-gradient(180deg, #f5fbff 0%, #eaf7ff 100%) !important;
}

.conference-doc-card,
.conference-person-card,
.xmetai-resource-grid a,
.iac-bank-card {
  border-color: var(--sky-line) !important;
  box-shadow: 0 16px 40px rgba(25, 107, 163, .1) !important;
}

.conference-doc-kicker,
.xmetai-home-action a,
.conference-person-avatar,
.conference-day-label {
  color: var(--sky-primary) !important;
}

.conference-person-avatar,
.conference-day-label {
  border-color: #a9d7f1 !important;
  background: linear-gradient(145deg, #e7f7ff, #c9ecff) !important;
}

.xmetai-resource-grid a:hover,
.conference-person-card:hover {
  border-color: #6fc1ec !important;
  box-shadow: 0 20px 46px rgba(19, 120, 184, .16) !important;
}

footer.bg-primary {
  background: linear-gradient(135deg, #083e69, #096fae) !important;
}

.countdown-container::before {
  background: linear-gradient(135deg, rgba(42, 182, 217, .09), rgba(22, 139, 210, .05)) !important;
}

.countdown-box {
  border-color: rgba(22, 139, 210, .2) !important;
  background: linear-gradient(145deg, #fff, #f0f9ff) !important;
  box-shadow: 0 11px 26px rgba(18, 117, 181, .1) !important;
  animation: none !important;
}

.countdown-box::after,
.countdown-number::after {
  background: linear-gradient(90deg, rgba(42, 182, 217, 0), var(--sky-cyan), rgba(22, 139, 210, 0)) !important;
}

.countdown-separator::before {
  color: var(--sky-primary) !important;
}

.timeline-item:hover::before {
  background: linear-gradient(var(--sky-primary), var(--sky-cyan)) !important;
}

.timeline-item:hover .timeline-dot {
  box-shadow: 0 0 0 6px rgba(22, 139, 210, .12) !important;
}

.timeline-item:hover .timeline-content h3,
.timeline-item:hover .timeline-date {
  color: var(--sky-primary-dark) !important;
}

footer > .container > .border-t:last-child > .flex:first-child {
  flex-direction: column !important;
  justify-content: center !important;
  gap: 12px;
  text-align: center;
}

footer > .container > .border-t:last-child > .flex:first-child > p {
  margin: 0 !important;
}

footer [class*="text-white/50"] {
  color: rgba(255, 255, 255, .78) !important;
}

footer [class*="text-white/30"] {
  color: rgba(255, 255, 255, .66) !important;
}

footer > .container > .border-t:last-child p {
  font-style: normal !important;
  line-height: 1.7 !important;
}

*,
html,
body {
  scrollbar-color: var(--sky-primary) #edf7fd;
}

::-webkit-scrollbar-track,
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: #edf7fd !important;
}

::-webkit-scrollbar-thumb,
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  border-color: #edf7fd !important;
  background: linear-gradient(180deg, var(--sky-cyan), var(--sky-primary)) !important;
}

/* Registration information route */
.iac-bank-heading > span,
.iac-bank-summary strong,
.iac-bank-panel h2,
.iac-payment-status,
.iac-payment-status.is-pending {
  color: var(--sky-primary-dark) !important;
}

.iac-bank-summary > div,
.iac-bank-panel,
.iac-payment-reference,
.iac-voucher-box {
  border-color: var(--sky-line) !important;
  background: #f3faff !important;
}

.iac-payment-reference {
  border-left-color: var(--sky-primary) !important;
}

.iac-voucher-controls button,
.iac-register-now,
.iac-open-center,
.iac-registration-actions a {
  border-color: var(--sky-primary) !important;
  color: #fff !important;
  background: linear-gradient(100deg, #0872ba, #24a9db) !important;
}

/* Account and personal center */
.conference-banner {
  position: relative;
  display: grid !important;
  min-height: 190px;
  align-content: center;
  gap: 7px;
  overflow: hidden;
  padding: 30px max(28px, calc((100vw - 1180px) / 2)) !important;
  color: #fff !important;
  background:
    linear-gradient(100deg, rgba(5, 55, 91, .92), rgba(18, 143, 201, .72)),
    url("./assets/img/about/xiongan-1.webp") center 60% / cover no-repeat !important;
  text-decoration: none;
}

.conference-banner::after {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 82% 24%, rgba(126, 222, 255, .3), transparent 27%);
  content: "";
  pointer-events: none;
}

.conference-banner__mark,
.conference-banner__title,
.conference-banner__date {
  position: relative;
  z-index: 1;
}

.conference-banner__mark {
  font-size: clamp(1.9rem, 4vw, 3.2rem);
  font-weight: 900;
  letter-spacing: -.025em;
  line-height: 1;
}

.conference-banner__title {
  max-width: 900px;
  font-size: clamp(.95rem, 1.8vw, 1.22rem);
  font-weight: 650;
}

.conference-banner__date {
  color: #c8efff;
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.home-button,
.section-kicker,
.tab.is-active,
.account-links button,
.account-links a,
.login-now button,
.eyebrow,
.text-link,
.text-button,
.return-link {
  color: var(--sky-primary-dark) !important;
}

.tab.is-active::after,
.primary-button,
.small-button,
.file-icon {
  border-color: var(--sky-primary) !important;
  background: linear-gradient(100deg, #0872ba, #24a9db) !important;
}

.input-shell:focus-within,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--sky-primary) !important;
  box-shadow: 0 0 0 3px rgba(22, 139, 210, .14) !important;
}

.registration-summary,
.registration-details div,
.upload-drop,
.selected-file {
  border-color: #8ccbed !important;
  color: var(--sky-navy) !important;
  background: #edf8ff !important;
}

.registration-summary strong,
.registration-details strong,
.selected-file {
  color: var(--sky-primary-dark) !important;
}

.avatar {
  background: linear-gradient(135deg, #28b5dc, #0871ba) !important;
  box-shadow: 0 9px 22px rgba(8, 113, 186, .22);
}

.welcome-panel {
  border-top-color: var(--sky-primary) !important;
}

.profile-card,
.panel,
.guest-card,
.account-card,
.conference-notice,
.loading-state {
  border-color: var(--sky-line) !important;
  box-shadow: var(--shadow) !important;
}

/* Registration form */
.site-header {
  border-bottom-color: rgba(22, 139, 210, .18) !important;
}

.brand,
.back-link,
.form-card h2,
.success-panel h2 {
  color: var(--sky-deep) !important;
}

.account-link,
.auth-gate__actions a,
.submit-button {
  border-color: var(--sky-primary) !important;
  background: linear-gradient(100deg, #0872ba, #24a9db) !important;
}

.hero {
  background:
    linear-gradient(115deg, rgba(4, 54, 91, .9), rgba(15, 139, 197, .68)),
    url("./assets/img/about/xiongan-1.webp") center 58% / cover no-repeat !important;
}

.hero .eyebrow {
  color: #c8efff !important;
  text-shadow: 0 1px 12px rgba(0, 42, 72, .35);
}

.steps li.is-active span,
.section-number,
.success-icon {
  color: #fff !important;
  background: var(--sky-primary) !important;
}

.form-card,
.auth-gate,
.success-panel,
.steps {
  border-color: var(--sky-line) !important;
  box-shadow: var(--shadow) !important;
}

/* Administration */
.admin-login {
  background:
    linear-gradient(135deg, rgba(4, 45, 76, .96), rgba(8, 112, 171, .86)),
    url("./assets/img/about/xiongan-1.webp") center / cover !important;
}

.admin-brand strong,
.topbar-brand strong,
.sidebar > a,
.message-meta a {
  color: #63c9ef !important;
}

.topbar {
  background: linear-gradient(100deg, #073a61, #0b659e) !important;
}

.sidebar {
  background: #082f4e !important;
}

.nav-item.is-active {
  background: #0d527f !important;
  box-shadow: inset 3px 0 var(--sky-cyan) !important;
}

.stats-grid article,
.message-copy p {
  border-left-color: var(--sky-primary) !important;
}

.filter.is-active,
.message-filter.is-active {
  border-color: var(--sky-primary) !important;
  background: var(--sky-primary) !important;
}

.login-card,
.data-panel,
.stats-grid article,
.modal {
  border-color: var(--sky-line) !important;
  box-shadow: var(--shadow) !important;
}

/* Contact message area */
.iac-inquiry-tracker,
.iac-inquiry-card,
.iac-admin-reply {
  border-color: var(--sky-line) !important;
  background: #f2faff !important;
}

.iac-tracker-heading h3,
.iac-tracker-kicker,
.iac-inquiry-top strong,
.iac-admin-reply strong {
  color: var(--sky-primary-dark) !important;
}

.iac-tracker-heading button {
  border-color: var(--sky-primary) !important;
  color: var(--sky-primary-dark) !important;
}

.iac-admin-reply {
  border-left-color: var(--sky-primary) !important;
}

/* Submission and legacy content pages */
main .download-link,
main .download-link .fa,
main h3.text-xl.font-semibold {
  color: var(--sky-primary-dark) !important;
}

main .info-card {
  border-left-color: var(--sky-primary) !important;
  background: linear-gradient(105deg, #f4fbff, #fff) !important;
  box-shadow: 0 10px 28px rgba(20, 104, 160, .09) !important;
}

main .btn-primary {
  border-color: var(--sky-primary) !important;
  background: linear-gradient(100deg, #0872ba, #24a9db) !important;
}

main hr,
main .section-divider,
main h3.text-xl.font-semibold + div {
  border-color: var(--sky-line) !important;
}

/* Preserve the original plenary-speaker directory and detail pages. */
.speaker-card {
  border: 1px solid var(--sky-line) !important;
  box-shadow: 0 12px 30px rgba(12, 91, 146, .1) !important;
}

.speaker-card:hover {
  border-color: #99d8f1 !important;
  box-shadow: 0 18px 42px rgba(12, 91, 146, .18) !important;
}

.speaker-card .text-primary,
.speaker-card a,
.speaker-detail .text-primary,
.speaker-detail a {
  color: var(--sky-primary-dark) !important;
}

.speaker-detail .border-primary,
.speaker-profile-image,
.speaker-avatar {
  border-color: var(--sky-primary) !important;
}

.speaker-detail .content-section,
.speaker-detail-card {
  border: 1px solid var(--sky-line) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 12px 32px rgba(12, 91, 146, .08) !important;
}

@media (max-width: 680px) {
  .top-info-bar,
  .iac-topbar,
  .utility-bar {
    background: linear-gradient(100deg, #0872ba, #21a4d7) !important;
  }

  .banner-btn {
    box-shadow: 0 7px 18px rgba(5, 109, 178, .18);
  }

  .conference-banner {
    min-height: 160px;
    padding: 24px 18px !important;
  }
}
