:root {
  --mys-navy: #06172d;
  --mys-navy-2: #0a2746;
  --mys-blue: #008fd0;
  --mys-cyan: #39c6ed;
  --mys-gold: #f7c744;
  --mys-ink: #0c2037;
  --mys-soft: #f2f6fa;
  --mys-border: #dce5ee;
  --mys-shadow: 0 24px 70px rgba(4, 23, 45, .13);
}

.mys-one-page {
  background: #f8fafc;
}
.navbar-guide-compact { display: none; margin-left: auto; margin-right: .55rem; }

.mys-one-page .content-section {
  padding-top: clamp(2rem, 5vw, 4.5rem);
  padding-bottom: clamp(3rem, 7vw, 6rem);
}

.mys-one-page .page-hero {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 82% 24%, rgba(0, 151, 218, .26), transparent 34%),
    linear-gradient(128deg, #06162c 0%, #0b2948 100%);
}

.mys-one-page .page-hero::after,
.compact-service-hero::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -130px;
  top: -240px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(255, 255, 255, .025), 0 0 0 110px rgba(255, 255, 255, .018);
  pointer-events: none;
}

.mys-one-page .page-hero .container { position: relative; z-index: 1; }
.mys-one-page .page-hero h1 { max-width: 900px; color: #fff; font-size: clamp(2.35rem, 6vw, 5.6rem); line-height: .98; letter-spacing: -.055em; }
.mys-one-page .page-hero p { max-width: 760px; color: rgba(255, 255, 255, .72); font-size: clamp(1rem, 1.8vw, 1.2rem); }
.compact-service-hero { padding: clamp(3.5rem, 8vw, 7rem) 0; }
.compact-service-hero h1 { margin: .55rem 0 1rem; }

.page-stats {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.8rem;
}
.page-stats span {
  display: inline-flex;
  align-items: baseline;
  gap: .35rem;
  padding: .65rem .85rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: rgba(255, 255, 255, .76);
  background: rgba(255, 255, 255, .06);
  font-size: .82rem;
}
.page-stats strong { color: #fff; }

.service-filter-form {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(190px, .35fr) auto;
  gap: .75rem;
  padding: .8rem;
  background: #fff;
  border: 1px solid var(--mys-border);
  border-radius: 18px;
  box-shadow: 0 12px 42px rgba(7, 22, 44, .07);
}
.service-filter-search { position: relative; }
.service-filter-search i { position: absolute; left: 1rem; top: 50%; z-index: 2; transform: translateY(-50%); color: #728096; }
.service-filter-search .form-control { padding-left: 2.7rem; }
.service-filter-form .form-control,
.service-filter-form .form-select { min-height: 48px; border-color: #e1e7ee; border-radius: 11px; }
.service-filter-form .btn { min-height: 48px; border-radius: 11px; }

.service-inline-notice,
.pilot-note {
  display: flex;
  align-items: flex-start;
  gap: .8rem;
  padding: 1rem 1.1rem;
  border: 1px solid #d7e8f4;
  border-radius: 14px;
  color: #24425d;
  background: #eef8fd;
}
.service-inline-notice > i,
.pilot-note > i { color: var(--mys-blue); font-size: 1.2rem; }
.service-inline-notice strong { display: block; color: var(--mys-navy); }
.service-inline-notice p { margin: .2rem 0 0; color: #5d7184; }
.service-inline-notice.danger { background: #fff5f5; border-color: #f5cece; }

/* Services */
.service-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 10vw, 9rem) 0 clamp(3rem, 8vw, 7rem);
  color: #fff;
  background: radial-gradient(circle at 82% 30%, rgba(0, 151, 218, .32), transparent 30%), linear-gradient(128deg, #051329, #0b2f51);
}
.service-hero::before { content: ""; position: absolute; inset: 0; opacity: .17; background-image: linear-gradient(rgba(255,255,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, transparent, #000); }
.service-hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .6fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.service-hero h1 { margin: .7rem 0 1.2rem; max-width: 830px; font-size: clamp(2.8rem, 7vw, 6.8rem); line-height: .92; letter-spacing: -.06em; }
.service-hero p { max-width: 720px; font-size: clamp(1rem, 1.6vw, 1.22rem); color: rgba(255,255,255,.72); }
.service-hero-actions, .hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.6rem; }
.service-hero-actions .btn, .hero-actions .btn { display: inline-flex; align-items: center; gap: .55rem; border-radius: 12px; }
.service-hero-panel { padding: 1.4rem; border: 1px solid rgba(255,255,255,.16); border-radius: 24px; background: rgba(7, 22, 44, .48); box-shadow: 0 30px 80px rgba(0,0,0,.24); backdrop-filter: blur(14px); }
.service-hero-panel > small { color: var(--mys-gold); font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.service-hero-panel h2 { margin: .4rem 0 1.2rem; font-size: 1.45rem; }
.service-hero-panel article { display: flex; align-items: center; gap: .8rem; padding: .85rem 0; border-top: 1px solid rgba(255,255,255,.1); }
.service-hero-panel article i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--mys-gold); background: rgba(255,255,255,.08); font-size: 1.1rem; }
.service-hero-panel article span { display: grid; }
.service-hero-panel article small { color: rgba(255,255,255,.55); }
.service-section { padding: clamp(3rem, 7vw, 6rem) 0; }
.service-section + .service-section { padding-top: 0; }
.service-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 1.6rem; }
.service-heading h2 { margin: .35rem 0 0; color: var(--mys-navy); font-size: clamp(1.8rem, 4vw, 3.5rem); letter-spacing: -.04em; }
.service-heading p { max-width: 540px; margin: 0; color: #68798b; }
.service-group-grid, .service-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.service-group, .service-card { position: relative; display: flex; flex-direction: column; min-height: 100%; padding: 1.45rem; border: 1px solid var(--mys-border); border-radius: 20px; background: #fff; box-shadow: 0 10px 35px rgba(7,22,44,.055); }
.service-card:hover { transform: translateY(-3px); border-color: #b6dff1; box-shadow: var(--mys-shadow); }
.service-card { transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; text-decoration: none; color: inherit; }
.service-card-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 1rem; border-radius: 15px; color: var(--mys-blue); background: #edf8fd; font-size: 1.3rem; }
.service-card h3, .service-card h2, .service-group h2 { color: var(--mys-navy); }
.service-card p, .service-group p { color: #68798b; }
.service-card small { margin-top: auto; color: var(--mys-blue); font-weight: 750; }
.service-card.coming-soon { background: linear-gradient(145deg, #fff, #f4f7fa); }
.service-card.coming-soon::after { content: ""; position: absolute; width: 80px; height: 3px; left: 1.45rem; bottom: 0; background: var(--mys-gold); }
.athlete-card h2 a { color: inherit; text-decoration: none; }
.athlete-profile-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: .75rem; color: var(--mys-blue); font-size: .77rem; font-weight: 800; text-decoration: none; }
.service-mini-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.service-mini-grid a { display: flex; align-items: center; gap: 1rem; padding: 1.25rem; border: 1px solid var(--mys-border); border-radius: 18px; color: inherit; background: #fff; text-decoration: none; }
.service-mini-grid i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: var(--mys-blue); background: #edf8fd; font-size: 1.25rem; }
.service-mini-grid span { display: grid; }
.service-mini-grid small { color: #718093; }

/* Account auth */
.account-stage,
.account-auth-page { min-height: 100vh; background: var(--mys-navy); }
.account-stage,
.account-auth-shell { position: relative; overflow: hidden; min-height: calc(100vh - 72px); padding: clamp(2rem, 6vw, 6rem) 0; color: #fff; background: radial-gradient(circle at 14% 18%, rgba(0,151,218,.28), transparent 30%), linear-gradient(135deg, #06152b, #0a2948); }
.account-grid,
.account-auth-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, 490px); align-items: center; gap: clamp(2.5rem, 8vw, 8rem); }
.account-story h1,
.account-auth-copy h1 { margin: .7rem 0 1.2rem; font-size: clamp(2.6rem, 6vw, 5.8rem); line-height: .95; letter-spacing: -.055em; }
.account-story > p,
.account-auth-copy > p { max-width: 620px; color: rgba(255,255,255,.7); font-size: 1.12rem; }
.account-benefits { display: grid; gap: .8rem; margin-top: 2rem; }
.account-benefits article { display: flex; align-items: center; gap: .8rem; }
.account-benefits article > i { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; color: var(--mys-gold); background: rgba(255,255,255,.08); }
.account-benefits article div { display: grid; }
.account-benefits article span { color: rgba(255,255,255,.58); font-size: .86rem; }
.account-card { padding: clamp(1.2rem, 3vw, 2rem); color: var(--mys-ink); border-radius: 24px; background: #fff; box-shadow: 0 34px 90px rgba(0,0,0,.3); }
.account-card .account-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; padding: .35rem; margin-bottom: 1.5rem; border-radius: 12px; background: #edf2f7; }
.account-card .account-tabs a { padding: .7rem; border-radius: 9px; color: #637286; text-align: center; text-decoration: none; font-weight: 750; }
.account-card .account-tabs a.active { color: #fff; background: var(--mys-navy); }
.account-card-heading span { color: var(--mys-blue); font-size: .76rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.account-card-heading h2 { margin: .3rem 0 1.2rem; color: var(--mys-navy); }
.mys-form { display: grid; gap: .9rem; }
.mys-form .form-control { min-height: 56px; border-radius: 12px; }
.password-field { position: relative; }
.password-field button { position: absolute; right: .55rem; top: 50%; z-index: 5; width: 40px; height: 40px; transform: translateY(-50%); border: 0; border-radius: 10px; color: #5f6f82; background: transparent; }
.form-help { margin: -.35rem 0 0; color: #758397; font-size: .8rem; }
.consent-check { display: flex; align-items: flex-start; gap: .65rem; cursor: pointer; color: #516175; font-size: .87rem; }
.consent-check input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: .12rem; accent-color: var(--mys-blue); }
.consent-check.compact { font-size: .82rem; }
.government-login { margin-top: 1.4rem; padding-top: 1.3rem; border-top: 1px solid var(--mys-border); }
.government-login > div { display: flex; align-items: center; gap: .7rem; }
.government-login > div > span { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: #8a6915; background: #fff5d8; }
.government-login > div div { display: grid; }
.government-login small { color: #af7900; font-weight: 800; text-transform: uppercase; }
.government-login p { margin: .55rem 0 0; color: #748397; font-size: .82rem; }

/* Personal workspace */
.account-guest-hero { padding: clamp(4rem, 10vw, 9rem) 0; color: #fff; background: radial-gradient(circle at 75% 32%, rgba(0,151,218,.32), transparent 30%), linear-gradient(125deg, #06152b, #0c2f51); }
.account-guest-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .58fr); align-items: center; gap: clamp(2rem, 8vw, 8rem); }
.account-guest-hero h1 { margin: .65rem 0 1rem; font-size: clamp(3rem, 7vw, 6.6rem); line-height: .92; letter-spacing: -.06em; }
.account-guest-hero p { max-width: 720px; color: rgba(255,255,255,.72); font-size: 1.12rem; }
.account-guest-hero .pilot-note { margin-top: 1.5rem; color: rgba(255,255,255,.76); border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.06); }
.account-preview { overflow: hidden; border: 1px solid rgba(255,255,255,.17); border-radius: 24px; background: rgba(5,20,39,.58); box-shadow: 0 35px 90px rgba(0,0,0,.3); backdrop-filter: blur(15px); }
.account-preview-head, .account-preview-row { display: flex; align-items: center; gap: .85rem; padding: 1.15rem 1.25rem; }
.account-preview-head { border-bottom: 1px solid rgba(255,255,255,.12); }
.account-preview-head span, .account-preview-row span { display: grid; }
.account-preview-head small, .account-preview-row small { color: rgba(255,255,255,.5); }
.account-preview-row { border-bottom: 1px solid rgba(255,255,255,.08); }
.account-preview-row:last-child { border-bottom: 0; }
.account-preview-row > i { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; color: var(--mys-gold); background: rgba(255,255,255,.08); }
.account-shell-hero { padding: 2rem 0; color: #fff; background: linear-gradient(125deg, #06152b, #0d3356); }
.account-shell-head { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.account-user-lockup { display: flex; align-items: center; gap: 1rem; }
.account-avatar { display: grid; place-items: center; width: 68px; height: 68px; border-radius: 19px; color: var(--mys-navy); background: var(--mys-gold); font-size: 1.8rem; font-weight: 900; }
.account-user-lockup h1 { margin: .1rem 0; font-size: clamp(1.7rem, 4vw, 2.6rem); }
.account-user-lockup p { margin: 0; color: rgba(255,255,255,.6); }
.account-head-actions { display: flex; align-items: center; gap: 1rem; }
.account-head-actions form { margin: 0; }
.profile-completion { width: min(330px, 100%); }
.profile-completion div { display: flex; justify-content: space-between; }
.profile-completion progress { display: block; width: 100%; height: 7px; margin: .55rem 0; border: 0; border-radius: 99px; overflow: hidden; }
.profile-completion progress::-webkit-progress-bar { background: rgba(255,255,255,.14); }
.profile-completion progress::-webkit-progress-value { background: var(--mys-gold); }
.profile-completion a { display: inline-flex; gap: .35rem; color: var(--mys-gold); font-size: .82rem; font-weight: 800; text-decoration: none; }
.account-workspace { padding-top: 1.4rem; padding-bottom: 6rem; }
.account-workspace > .account-tabs { display: flex; gap: .35rem; margin-bottom: 1.3rem; padding: .4rem; overflow-x: auto; border: 1px solid var(--mys-border); border-radius: 16px; background: #fff; scrollbar-width: none; }
.account-workspace > .account-tabs::-webkit-scrollbar { display: none; }
.account-workspace > .account-tabs a { position: relative; display: inline-flex; align-items: center; justify-content: center; flex: 1 0 auto; gap: .45rem; min-height: 48px; padding: .65rem .85rem; border-radius: 11px; color: #607085; text-decoration: none; font-size: .83rem; font-weight: 800; white-space: nowrap; }
.account-workspace > .account-tabs a.active { color: #fff; background: var(--mys-navy); }
.account-workspace > .account-tabs b { display: grid; place-items: center; min-width: 19px; height: 19px; padding: 0 .25rem; border-radius: 99px; color: #fff; background: #e33b45; font-size: .68rem; }
.account-panel { padding: clamp(1.1rem, 3vw, 1.7rem); border: 1px solid var(--mys-border); border-radius: 20px; background: #fff; box-shadow: 0 12px 38px rgba(7,22,44,.06); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.panel-heading h2 { margin: .2rem 0 0; color: var(--mys-navy); font-size: clamp(1.3rem, 3vw, 2rem); letter-spacing: -.025em; }
.panel-heading a { display: inline-flex; align-items: center; gap: .35rem; text-decoration: none; font-weight: 750; white-space: nowrap; }
.mys-one-page .panel-heading > a:not(.btn) { min-height: 36px; padding: .35rem .15rem; }
.account-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; margin-bottom: 1rem; }
.account-stat-grid a { display: flex; align-items: center; gap: .85rem; min-height: 104px; padding: 1.1rem; border: 1px solid var(--mys-border); border-radius: 18px; color: inherit; background: #fff; text-decoration: none; }
.account-stat-grid a > i { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: var(--mys-blue); background: #edf8fd; font-size: 1.3rem; }
.account-stat-grid span { display: grid; }
.account-stat-grid strong { color: var(--mys-navy); font-size: 1.75rem; line-height: 1; }
.account-stat-grid small { color: #728195; }
.account-two-column { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .65fr); gap: 1rem; }
.recommendation-list, .quick-service-list { display: grid; }
.recommendation-list a, .quick-service-list a { display: flex; align-items: center; gap: .8rem; padding: .9rem 0; border-top: 1px solid #edf0f4; color: inherit; text-decoration: none; }
.recommendation-list a:first-child, .quick-service-list a:first-child { border-top: 0; }
.recommendation-list a > i { margin-left: auto; color: #91a0b1; }
.recommendation-icon, .quick-service-list > a > i { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; color: var(--mys-blue); background: #edf8fd; }
.recommendation-list a span:nth-child(2), .quick-service-list a span { display: grid; }
.recommendation-list small, .quick-service-list small { color: #778599; }
.recommendation-list strong { color: var(--mys-navy); }
.service-form { display: grid; gap: 1rem; }
.service-form label:not(.consent-check) { display: grid; gap: .4rem; color: #3e5066; font-size: .86rem; font-weight: 700; }
.service-form .form-control, .service-form .form-select { min-height: 50px; border-color: #dce4ec; border-radius: 11px; }
.service-form textarea.form-control { min-height: auto; }
.service-form label small { color: #8290a1; font-weight: 500; }
.form-grid { display: grid; gap: 1rem; }
.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.interest-fieldset, .notification-fieldset { padding: 1rem; border: 1px solid var(--mys-border); border-radius: 14px; }
.interest-fieldset legend, .notification-fieldset legend { float: none; width: auto; padding: 0 .35rem; margin: 0 0 .55rem; color: var(--mys-navy); font-size: .9rem; font-weight: 800; }
.interest-options { display: flex; flex-wrap: wrap; gap: .55rem; }
.interest-options label { cursor: pointer; }
.interest-options input { position: absolute; opacity: 0; }
.interest-options span { display: inline-flex; padding: .58rem .75rem; border: 1px solid var(--mys-border); border-radius: 999px; color: #596a7f; background: #fff; font-size: .8rem; }
.interest-options input:checked + span { color: #fff; border-color: var(--mys-blue); background: var(--mys-blue); }
.notification-fieldset { display: flex; flex-wrap: wrap; gap: 1rem; }
.notification-fieldset legend { flex-basis: 100%; }
.security-chip { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .65rem; border-radius: 999px; color: #32644f; background: #eaf8f1; font-size: .75rem; font-weight: 800; }
.application-list { display: grid; gap: 1rem; }
.application-card { padding: 1.2rem; border: 1px solid var(--mys-border); border-radius: 17px; background: #fbfcfe; }
.application-card-head { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.application-kind { display: inline-flex; align-items: center; gap: .45rem; color: #667589; font-size: .8rem; font-weight: 800; }
.application-card h3 { margin: .8rem 0 .2rem; color: var(--mys-navy); }
.application-code { color: #8995a5; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .72rem; }
.status-badge { display: inline-flex; align-items: center; width: fit-content; padding: .38rem .58rem; border-radius: 999px; color: #5f6c7d; background: #e9edf2; font-size: .72rem; font-weight: 850; }
.status-approved, .status-checked_in, .status-completed, .status-valid, .status-active, .status-responded, .status-closed { color: #11683f; background: #dff5e9; }
.status-rejected, .status-cancelled, .status-revoked { color: #a0262e; background: #fde5e6; }
.status-submitted, .status-received, .status-registered { color: #17618c; background: #e0f2fb; }
.status-under_review, .status-waitlisted { color: #84600b; background: #fff2cc; }
.status-timeline, .appeal-status-timeline { display: flex; gap: 0; padding: 0; margin: 1rem 0; list-style: none; }
.status-timeline li, .appeal-status-timeline li { position: relative; flex: 1; padding-top: 1.3rem; }
.status-timeline li::before, .appeal-status-timeline li::before { content: ""; position: absolute; left: 7px; right: -7px; top: 5px; height: 2px; background: #dce5ec; }
.status-timeline li:last-child::before, .appeal-status-timeline li:last-child::before { right: calc(100% - 9px); }
.status-timeline li > i, .appeal-status-timeline li > i { position: absolute; left: 2px; top: 0; z-index: 1; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: var(--mys-blue); box-shadow: 0 0 0 1px var(--mys-blue); }
.status-timeline li span, .appeal-status-timeline li span { display: grid; padding-right: .5rem; }
.status-timeline small, .appeal-status-timeline small { color: #7e8b9b; font-size: .7rem; }
.application-actions { display: flex; align-items: center; gap: .6rem; }
.application-actions form { margin: 0; }
.pass-list, .certificate-list, .notification-list { display: grid; gap: .75rem; }
.pass-list article, .certificate-list article, .notification-list a { display: flex; align-items: center; gap: .9rem; padding: 1rem; border: 1px solid var(--mys-border); border-radius: 15px; color: inherit; background: #fbfcfd; text-decoration: none; }
.pass-list article > i, .notification-list a > i { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 13px; color: var(--mys-blue); background: #edf8fd; font-size: 1.25rem; }
.pass-list article > span, .notification-list a > span { display: grid; min-width: 0; flex: 1; }
.pass-list article > b { margin-left: auto; }
.notification-list a.unread { border-color: #b8ddec; background: #f0faff; }
.notification-list p { margin: .2rem 0; color: #637386; }
.notification-list small { color: #8995a4; }
.certificate-seal { display: grid; place-items: center; flex: 0 0 auto; width: 64px; height: 64px; border: 1px solid #e8c55c; border-radius: 50%; color: #a97c09; background: #fff8dc; font-size: 1.7rem; }
.certificate-list article > div { flex: 1; }
.certificate-list h3 { margin: .15rem 0; color: var(--mys-navy); font-size: 1rem; }
.certificate-list p { margin: 0; color: #728095; font-size: .8rem; }

/* Opportunities */
.opportunity-toolbar { display: grid; gap: .8rem; margin-bottom: 1.4rem; }
.source-freshness { display: flex; align-items: center; gap: .45rem; color: #557365; font-size: .8rem; font-weight: 750; }
.source-freshness i { color: #15945c; }
.opportunity-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.opportunity-card { display: flex; flex-direction: column; padding: 1.25rem; border: 1px solid var(--mys-border); border-radius: 19px; background: #fff; box-shadow: 0 10px 34px rgba(7,22,44,.055); }
.opportunity-card-top { display: flex; align-items: center; justify-content: space-between; gap: .6rem; }
.opportunity-type { display: inline-flex; align-items: center; gap: .35rem; color: #096f9f; font-size: .75rem; font-weight: 850; }
.opportunity-card time { color: #8995a5; font-size: .72rem; }
.opportunity-card h2 { margin: .8rem 0 .55rem; color: var(--mys-navy); font-size: 1.2rem; }
.opportunity-card > p { color: #6a798b; }
.opportunity-meta { display: grid; gap: .4rem; margin-top: auto; padding: .85rem 0; border-top: 1px solid #edf0f4; }
.opportunity-meta span { display: flex; gap: .45rem; color: #6f7d8f; font-size: .78rem; }
.opportunity-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.opportunity-card form { display: grid; gap: .65rem; margin-top: .8rem; }

/* Facilities */
.facility-filter { grid-template-columns: minmax(240px, 1fr) minmax(210px, .4fr) auto auto; margin-bottom: 1rem; }
.facility-map-shell { overflow: hidden; border: 1px solid var(--mys-border); border-radius: 22px; background: #fff; box-shadow: var(--mys-shadow); }
.facility-map-toolbar, .facility-map-legend { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .85rem 1rem; }
.facility-map-toolbar > div { display: grid; }
.facility-map-toolbar span { color: #738196; font-size: .78rem; }
.facility-map-toolbar button { display: inline-flex; align-items: center; gap: .4rem; border: 0; color: var(--mys-blue); background: transparent; font-weight: 750; }
.facility-map { height: clamp(420px, 58vw, 660px); background: #dce6ea; }
.facility-map-legend { color: #69788a; font-size: .74rem; }
.facility-map-legend a { display: inline-flex; align-items: center; min-height: 32px; }
.facility-map-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.facility-map-legend span i { width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: var(--mys-blue); box-shadow: 0 0 0 1px var(--mys-blue); }
.facility-marker-wrap { background: transparent !important; border: 0 !important; }
.facility-marker { display: block; width: 32px; height: 42px; color: var(--mys-blue); filter: drop-shadow(0 7px 7px rgba(7,22,44,.3)); transform: none; transition: color .2s ease, filter .2s ease; }
.facility-marker svg { display: block; overflow: visible; width: 100%; height: 100%; }
.facility-marker path { fill: currentColor; stroke: #fff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.facility-marker circle { fill: #fff; }
.facility-marker-wrap.is-nearby .facility-marker { color: var(--mys-gold); filter: drop-shadow(0 8px 8px rgba(144,102,0,.38)); }
.facility-user-location { border: 3px solid #fff; border-radius: 50%; background: var(--mys-navy); box-shadow: 0 0 0 4px rgba(0,143,208,.28), 0 6px 16px rgba(7,22,44,.28); }
.facility-popup { display: grid; gap: .35rem; }
.facility-popup-photo { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; }
.facility-popup strong { color: var(--mys-navy); font-size: .95rem; }
.facility-popup p { margin: 0; color: #6c7888; font-size: .75rem; }
.facility-popup a { font-weight: 800; text-decoration: none; }
.facility-list-heading { margin-top: 3rem; }
.facility-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.facility-card { overflow: hidden; border: 1px solid var(--mys-border); border-radius: 19px; background: #fff; box-shadow: 0 9px 30px rgba(7,22,44,.05); }
.facility-card-media { position: relative; display: block; height: 210px; overflow: hidden; background: #eaf1f5; }
.facility-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.facility-card:hover .facility-card-media img { transform: scale(1.04); }
.facility-card-media > span { display: grid; place-items: center; height: 100%; color: #90a2b4; font-size: 3rem; }
.facility-card-media small { position: absolute; left: .75rem; bottom: .75rem; padding: .38rem .55rem; border-radius: 999px; color: #fff; background: rgba(7,22,44,.82); backdrop-filter: blur(6px); }
.facility-card-body { padding: 1.1rem; }
.facility-card h3 { font-size: 1.08rem; }
.facility-card h3 a { color: var(--mys-navy); text-decoration: none; }
.facility-card p { min-height: 3.2em; color: #6e7d8f; font-size: .82rem; }
.facility-card-actions { display: flex; justify-content: space-between; gap: .5rem; }
.facility-card-actions a, .facility-card-actions button { display: inline-flex; align-items: center; gap: .35rem; padding: 0; border: 0; color: var(--mys-blue); background: transparent; font-size: .78rem; font-weight: 800; text-decoration: none; }
.facility-card-actions a, .facility-card-actions button, .facility-map-toolbar button { min-width: 36px; min-height: 36px; padding-inline: .25rem; }
.facility-filter [data-use-location][aria-pressed="true"] { color: #06172d; border-color: var(--mys-gold); background: var(--mys-gold); }
.facility-filter [data-use-location][aria-busy="true"] i { animation: facility-location-pulse 1s ease-in-out infinite; }
.facility-nearby-panel { margin-top: 1.15rem; padding: clamp(1rem, 2.5vw, 1.5rem); border: 1px solid #d8e4ed; border-radius: 22px; background: linear-gradient(145deg, #fff 0%, #f4f9fc 100%); box-shadow: 0 18px 52px rgba(7,22,44,.08); }
.facility-nearby-panel[hidden] { display: none; }
.facility-nearby-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.facility-nearby-heading h2 { margin: .25rem 0; color: var(--mys-navy); font-size: clamp(1.45rem, 3vw, 2.15rem); letter-spacing: -.035em; }
.facility-nearby-heading p { margin: 0; color: #69798b; }
.facility-nearby-heading .btn { flex: 0 0 auto; min-height: 44px; }
.facility-nearby-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.facility-nearby-card { position: relative; display: flex; flex-direction: column; min-width: 0; min-height: 178px; padding: 1rem; border: 1px solid #dce6ee; border-radius: 17px; background: rgba(255,255,255,.92); box-shadow: 0 8px 24px rgba(7,22,44,.045); }
.facility-nearby-rank { position: absolute; top: .85rem; right: .85rem; display: grid; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: #6f5200; background: #fff2bd; font-size: .75rem; font-weight: 900; }
.facility-nearby-card h3 { padding-right: 2.5rem; margin: .15rem 0 .45rem; overflow-wrap: anywhere; color: var(--mys-navy); font-size: 1rem; line-height: 1.3; }
.facility-nearby-card > p { margin: 0; color: #748296; font-size: .78rem; }
.facility-nearby-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .55rem; margin-top: auto; padding-top: .85rem; }
.facility-nearby-actions strong { color: #9b7200; font-size: .9rem; }
.facility-nearby-actions div { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .4rem; margin-left: auto; }
.facility-nearby-actions a,
.facility-nearby-actions button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: .45rem .65rem; border-radius: 10px; font-size: .76rem; font-weight: 800; text-decoration: none; }
.facility-nearby-actions button { border: 1px solid #b9dbea; color: #0873a4; background: #fff; }
.facility-nearby-actions a { color: #fff; background: var(--mys-navy); }
@keyframes facility-location-pulse { 50% { transform: scale(1.16); opacity: .6; } }
.facility-detail-hero { padding: clamp(3rem, 8vw, 7rem) 0; color: #fff; background: linear-gradient(125deg, #06152b, #0a3154); }
.account-back { display: inline-flex; align-items: center; gap: .45rem; min-height: 36px; padding-block: .3rem; margin-bottom: 1.4rem; color: rgba(255,255,255,.72); text-decoration: none; font-weight: 750; }
.facility-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr); align-items: center; gap: clamp(2rem, 6vw, 6rem); }
.facility-detail-copy h1 { margin: .6rem 0 1rem; font-size: clamp(2.5rem, 6vw, 5.2rem); line-height: .97; letter-spacing: -.05em; }
.facility-detail-copy p { color: rgba(255,255,255,.68); font-size: 1.1rem; }
.facility-detail-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.facility-source-line { display: flex; gap: .45rem; margin-top: 1rem; color: rgba(255,255,255,.5); font-size: .78rem; }
.facility-detail-media { overflow: hidden; min-height: 390px; border: 1px solid rgba(255,255,255,.15); border-radius: 24px; background: rgba(255,255,255,.07); box-shadow: 0 35px 80px rgba(0,0,0,.28); }
.facility-detail-media img { width: 100%; height: 100%; min-height: 390px; object-fit: cover; }
.facility-detail-media > span { display: grid; place-items: center; min-height: 390px; color: rgba(255,255,255,.3); font-size: 5rem; }
.facility-detail-panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.facility-detail-panels article { padding: 1.3rem; border: 1px solid var(--mys-border); border-radius: 18px; background: #fff; }
.facility-detail-panels article > small { color: #a67800; font-weight: 850; text-transform: uppercase; }

/* Events */
.event-detail-hero { padding: clamp(3rem, 8vw, 7rem) 0; color: #fff; background: radial-gradient(circle at 80% 30%, rgba(0,151,218,.26), transparent 30%), linear-gradient(125deg, #06152b, #0a3154); }
.event-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .55fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.event-detail-badges { display: flex; gap: .5rem; }
.event-detail-badges span { padding: .45rem .6rem; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; color: rgba(255,255,255,.75); background: rgba(255,255,255,.06); font-size: .75rem; }
.event-detail-layout h1 { margin: 1rem 0; font-size: clamp(2.5rem, 6vw, 5.5rem); line-height: .95; letter-spacing: -.055em; }
.event-detail-layout > div > p { color: rgba(255,255,255,.68); font-size: 1.08rem; }
.event-detail-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.4rem; }
.event-fact-card { padding: 1.1rem 1.3rem; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: rgba(5,20,39,.55); backdrop-filter: blur(12px); }
.event-fact-card article { display: flex; align-items: center; gap: .8rem; padding: .85rem 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.event-fact-card article:last-child { border-bottom: 0; }
.event-fact-card article > i { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--mys-gold); background: rgba(255,255,255,.08); }
.event-fact-card article div { display: grid; }
.event-fact-card small { color: rgba(255,255,255,.5); }
.event-registration-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .62fr); gap: clamp(2rem, 7vw, 7rem); }
.event-registration-grid h2 { margin: .35rem 0 1rem; color: var(--mys-navy); font-size: clamp(2rem, 4vw, 3.6rem); letter-spacing: -.045em; }
.event-registration-grid > div > p { color: #68798b; }
.participation-steps { display: grid; grid-template-columns: repeat(2, 1fr); gap: .7rem; padding: 0; margin-top: 1.5rem; list-style: none; }
.participation-steps li { display: flex; align-items: center; gap: .65rem; padding: .85rem; border: 1px solid var(--mys-border); border-radius: 13px; background: #fff; }
.participation-steps span { color: var(--mys-blue); font-size: .73rem; font-weight: 900; }
.registration-card { padding: 1.4rem; border: 1px solid var(--mys-border); border-radius: 21px; background: #fff; box-shadow: var(--mys-shadow); }
.registration-identity { display: flex; align-items: center; gap: .75rem; padding: .8rem; border-radius: 13px; background: #f2f6f9; }
.registration-identity > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; color: #fff; background: var(--mys-navy); font-weight: 900; }
.registration-identity > div { display: grid; }
.registration-identity small, .registration-identity em { color: #718095; font-size: .75rem; font-style: normal; }
.application-confirmed, .account-needed { text-align: center; }
.application-confirmed > span { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 1rem; border-radius: 50%; color: #fff; background: #16a166; font-size: 2rem; }

/* Digital pass and verification */
.digital-pass-layout { display: grid; grid-template-columns: minmax(320px, 480px) minmax(300px, 1fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.digital-pass-card { position: relative; overflow: hidden; padding: 1.25rem; color: #fff; border-radius: 28px; background: radial-gradient(circle at 100% 0, rgba(0,151,218,.45), transparent 35%), linear-gradient(145deg, #06152b, #0b2d4d); box-shadow: 0 38px 90px rgba(7,22,44,.32); }
.digital-pass-card::after { content: "AZ"; position: absolute; right: -10px; bottom: -55px; color: rgba(255,255,255,.035); font-size: 11rem; font-weight: 950; pointer-events: none; }
.pass-brand { position: relative; z-index: 1; display: flex; align-items: center; gap: .65rem; }
.pass-brand span { display: grid; }
.pass-brand small { color: rgba(255,255,255,.52); }
.pass-brand > i { margin-left: auto; color: var(--mys-gold); font-size: 1.4rem; }
.pass-identity { position: relative; z-index: 1; padding: 1.4rem 0 .9rem; }
.pass-identity small { color: rgba(255,255,255,.48); text-transform: uppercase; letter-spacing: .12em; }
.pass-identity h2 { margin: .2rem 0; font-size: 1.8rem; }
.pass-identity p { margin: 0; color: rgba(255,255,255,.72); }
.pass-qr-wrap { position: relative; z-index: 1; display: grid; place-items: center; width: min(280px, 88%); aspect-ratio: 1; margin: .6rem auto; padding: 1rem; border-radius: 20px; background: #fff; }
.pass-qr-wrap svg { display: block; width: 100%; height: 100%; }
.pass-qr-fallback { color: var(--mys-navy); font-size: 8rem; }
.pass-validity { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: .8rem; margin-top: 1rem; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.06); }
.pass-validity span { display: inline-flex; gap: .4rem; color: rgba(255,255,255,.7); }
.pass-validity strong { color: var(--mys-gold); font-family: ui-monospace, monospace; }
.pass-validity.expired { border-color: rgba(239,51,64,.5); }
.pass-validity.expired strong { color: #ff8088; }
.pass-code { position: relative; z-index: 1; display: grid; gap: .2rem; padding-top: .8rem; color: rgba(255,255,255,.45); font-size: .7rem; }
.pass-code code { color: rgba(255,255,255,.72); overflow-wrap: anywhere; }
.digital-pass-info h2 { margin: .9rem 0 1.3rem; color: var(--mys-navy); font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.04em; }
.digital-pass-info ol { display: grid; gap: .8rem; padding: 0; list-style: none; }
.digital-pass-info li { display: flex; align-items: center; gap: .8rem; }
.digital-pass-info li > span { display: grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; border-radius: 11px; color: var(--mys-blue); background: #e9f7fd; font-weight: 900; }
.digital-pass-info li p { margin: 0; color: #5f7185; }
.privacy-note { display: flex; gap: .55rem; margin-top: 1.2rem; color: #718095; font-size: .8rem; }
.pass-check-shell { display: grid; place-items: center; min-height: calc(100vh - 72px); padding: 2rem 1rem; background: radial-gradient(circle at 50% 0, rgba(0,151,218,.24), transparent 32%), var(--mys-navy); }
.pass-check-card { width: min(600px, 100%); padding: clamp(1.3rem, 4vw, 2.2rem); border-radius: 25px; background: #fff; box-shadow: 0 35px 100px rgba(0,0,0,.34); }
.pass-check-brand { display: flex; align-items: center; gap: .7rem; padding-bottom: 1.2rem; border-bottom: 1px solid var(--mys-border); }
.pass-check-brand span { display: grid; }
.pass-check-brand small { color: #748295; }
.verification-state { padding: 2rem 0 1.2rem; text-align: center; }
.verification-state > span { display: grid; place-items: center; width: 78px; height: 78px; margin: 0 auto 1rem; border-radius: 50%; color: #fff; background: #16a166; font-size: 2.3rem; box-shadow: 0 12px 30px rgba(22,161,102,.26); }
.pass-check-card.invalid .verification-state > span { background: #df3540; box-shadow: 0 12px 30px rgba(223,53,64,.24); }
.verification-state small { color: #748295; font-weight: 800; text-transform: uppercase; letter-spacing: .11em; }
.verification-state h1 { margin: .45rem 0; color: var(--mys-navy); font-size: clamp(1.6rem, 5vw, 2.5rem); }
.verification-state p { color: #6f7e90; }
.verification-data { display: grid; margin: 0 0 1.2rem; border: 1px solid var(--mys-border); border-radius: 14px; overflow: hidden; }
.verification-data div { display: flex; justify-content: space-between; gap: 1rem; padding: .8rem; border-bottom: 1px solid var(--mys-border); }
.verification-data div:last-child { border-bottom: 0; }
.verification-data dt { color: #748295; font-weight: 600; }
.verification-data dd { margin: 0; color: var(--mys-navy); font-weight: 800; text-align: right; }
.checkin-form .btn { width: 100%; }
.verification-complete { display: flex; align-items: center; justify-content: center; gap: .5rem; padding: 1rem; border-radius: 12px; color: #11683f; background: #e3f7ec; font-weight: 800; }
.pass-check-home { display: inline-flex; gap: .4rem; margin-top: 1rem; color: #728095; text-decoration: none; font-size: .8rem; }

/* Public athlete passport */
.athlete-passport-hero { padding: clamp(3rem, 8vw, 7rem) 0; color: #fff; background: radial-gradient(circle at 78% 25%, rgba(0,151,218,.27), transparent 32%), linear-gradient(125deg, #06152b, #0b3153); }
.athlete-passport-grid { display: grid; grid-template-columns: minmax(230px, 340px) minmax(0, 1fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.athlete-passport-photo { position: relative; display: grid; place-items: center; overflow: hidden; aspect-ratio: .82; border: 1px solid rgba(255,255,255,.16); border-radius: 25px; background: rgba(255,255,255,.07); box-shadow: 0 32px 80px rgba(0,0,0,.28); }
.athlete-passport-photo img { width: 100%; height: 100%; object-fit: cover; }
.athlete-passport-photo > span { color: rgba(255,255,255,.82); font-size: 8rem; font-weight: 900; }
.athlete-passport-photo b { position: absolute; left: .8rem; right: .8rem; bottom: .8rem; display: flex; align-items: center; justify-content: center; gap: .4rem; padding: .65rem; border: 1px solid rgba(255,255,255,.17); border-radius: 12px; background: rgba(7,22,44,.78); backdrop-filter: blur(8px); font-size: .76rem; }
.athlete-passport-photo b i { color: var(--mys-gold); }
.athlete-passport-copy h1 { margin: .7rem 0 .8rem; font-size: clamp(3rem, 7vw, 6.7rem); line-height: .92; letter-spacing: -.06em; }
.athlete-passport-copy > p { color: rgba(255,255,255,.7); font-size: 1.2rem; }
.athlete-passport-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }
.athlete-passport-tags span { padding: .48rem .65rem; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; color: rgba(255,255,255,.72); background: rgba(255,255,255,.06); font-size: .78rem; }
.athlete-passport-source { display: flex; align-items: center; gap: .65rem; max-width: 560px; padding: .8rem; margin-top: 1.2rem; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(255,255,255,.05); }
.athlete-passport-source > i { color: var(--mys-gold); font-size: 1.25rem; }
.athlete-passport-source span { display: grid; flex: 1; }
.athlete-passport-source small { color: rgba(255,255,255,.5); }
.athlete-passport-source a { color: #fff; }
.athlete-passport-source a { display: grid; place-items: center; width: 36px; height: 36px; }
.athlete-passport-content { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .4fr); gap: 1rem; }
.athlete-passport-main, .athlete-passport-side { display: grid; align-content: start; gap: 1rem; }
.athlete-profile-data { display: grid; margin: 0; border: 1px solid var(--mys-border); border-radius: 15px; overflow: hidden; }
.athlete-profile-data div { display: grid; grid-template-columns: minmax(140px, .35fr) 1fr; gap: 1rem; padding: .85rem 1rem; border-bottom: 1px solid var(--mys-border); }
.athlete-profile-data div:last-child { border-bottom: 0; }
.athlete-profile-data dt { color: #788699; font-weight: 650; }
.athlete-profile-data dd { margin: 0; color: var(--mys-navy); font-weight: 800; }
.athlete-result-list { display: grid; }
.athlete-result-list article { display: flex; align-items: center; gap: .8rem; padding: .9rem 0; border-top: 1px solid #edf0f4; }
.athlete-result-list article:first-child { border-top: 0; }
.athlete-result-list article > span { display: grid; place-items: center; width: 43px; height: 43px; border-radius: 12px; color: #a87900; background: #fff5d6; }
.athlete-result-list article > div { flex: 1; }
.athlete-result-list h3 { margin: .15rem 0; color: var(--mys-navy); font-size: 1rem; }
.athlete-result-list p { margin: 0; color: #718095; font-size: .8rem; }
.athlete-news-list { display: grid; }
.athlete-news-list a { display: grid; gap: .25rem; padding: .8rem 0; border-top: 1px solid #edf0f4; color: var(--mys-navy); text-decoration: none; }
.athlete-news-list a:first-child { border-top: 0; }
.athlete-news-list small { color: #7d8998; }
.passport-future-card { padding: 1.25rem; border-radius: 18px; color: #fff; background: linear-gradient(145deg, #07172d, #0c3457); }
.passport-future-card small { color: var(--mys-gold); font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.passport-future-card h3 { margin: .5rem 0; }
.passport-future-card p { color: rgba(255,255,255,.65); font-size: .86rem; }
.passport-future-card > span { display: inline-flex; padding: .4rem .58rem; border-radius: 999px; color: var(--mys-navy); background: var(--mys-gold); font-size: .72rem; font-weight: 850; }

/* Certificates */
.certificate-workspace { max-width: 1120px; }
.certificate-search { max-width: 680px; margin: 0 auto 2rem; padding: 1rem; border: 1px solid var(--mys-border); border-radius: 17px; background: #fff; box-shadow: 0 10px 35px rgba(7,22,44,.06); }
.certificate-search > label { display: block; margin-bottom: .45rem; color: #526276; font-size: .82rem; font-weight: 800; }
.certificate-search > div { display: flex; gap: .6rem; }
.certificate-search .form-control { min-height: 50px; border-radius: 11px; text-transform: uppercase; }
.verified-certificate { display: grid; gap: 1rem; }
.certificate-border { position: relative; padding: clamp(1.3rem, 5vw, 3.5rem); border: 12px solid var(--mys-navy); outline: 2px solid var(--mys-gold); outline-offset: -18px; background: #fff; box-shadow: var(--mys-shadow); }
.certificate-brand { display: flex; align-items: center; gap: .7rem; }
.certificate-brand span { display: grid; }
.certificate-brand b { display: inline-flex; align-items: center; gap: .4rem; margin-left: auto; color: #16714a; font-size: .8rem; }
.certificate-body { padding: clamp(2rem, 6vw, 5rem) 0; text-align: center; }
.certificate-body .certificate-seal { margin: 0 auto 1rem; }
.certificate-body > small { color: #947000; font-weight: 850; text-transform: uppercase; letter-spacing: .12em; }
.certificate-body h2 { max-width: 780px; margin: .7rem auto 1.4rem; color: var(--mys-navy); font-size: clamp(1.8rem, 4vw, 3.2rem); }
.certificate-body p { margin: 0; color: #7b8796; }
.certificate-body h3 { display: inline-block; min-width: min(460px, 100%); padding: .45rem 1rem; border-bottom: 1px solid var(--mys-gold); color: var(--mys-navy); font-size: clamp(1.5rem, 3vw, 2.3rem); }
.certificate-footer { display: flex; justify-content: space-between; gap: 1rem; }
.certificate-footer span { display: grid; color: #7c8998; font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.certificate-footer strong { color: var(--mys-navy); font-size: .86rem; letter-spacing: 0; }
.certificate-actions { display: flex; justify-content: center; gap: .7rem; }
.verification-not-found { padding: 3rem 1rem; border: 1px solid #f0d1d4; border-radius: 18px; text-align: center; background: #fff6f7; }
.verification-not-found > i { color: #d73540; font-size: 3rem; }

/* Appeals */
.appeal-hero { padding: clamp(4rem, 9vw, 8rem) 0; color: #fff; background: radial-gradient(circle at 80% 30%, rgba(0,151,218,.3), transparent 30%), linear-gradient(125deg, #06152b, #0a3154); }
.appeal-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(290px, .48fr); align-items: center; gap: clamp(2rem, 7vw, 7rem); }
.appeal-hero h1 { margin: .6rem 0 1rem; font-size: clamp(2.7rem, 7vw, 6.1rem); line-height: .94; letter-spacing: -.06em; }
.appeal-hero p { max-width: 730px; color: rgba(255,255,255,.7); }
.appeal-hero .pilot-note { margin-top: 1.4rem; color: rgba(255,255,255,.72); border-color: rgba(255,255,255,.15); background: rgba(255,255,255,.06); }
.appeal-steps { display: grid; }
.appeal-steps div { display: flex; align-items: center; gap: .9rem; padding: 1.1rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.appeal-steps span { color: var(--mys-gold); font-size: .75rem; font-weight: 900; }
.appeal-success { display: flex; align-items: center; gap: 1rem; padding: 1.1rem; margin-bottom: 1rem; border: 1px solid #bde5cf; border-radius: 17px; background: #edfaf3; }
.appeal-success > span { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; color: #fff; background: #17a364; font-size: 1.5rem; }
.appeal-success > div { flex: 1; }
.appeal-success h2 { margin: .1rem 0; color: var(--mys-navy); font-family: ui-monospace, monospace; }
.appeal-success p { margin: 0; color: #5e7468; }
.appeal-workspace { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .46fr); gap: 1rem; }
.appeal-sidebar { display: grid; align-content: start; gap: 1rem; }
.official-channel-card { display: flex; gap: .85rem; padding: 1.2rem; border-radius: 18px; color: #fff; background: var(--mys-navy); }
.official-channel-card > i { color: var(--mys-gold); font-size: 1.45rem; }
.official-channel-card span { display: grid; }
.official-channel-card small { color: var(--mys-gold); text-transform: uppercase; font-size: .68rem; font-weight: 850; }
.official-channel-card p { margin: .55rem 0; color: rgba(255,255,255,.64); font-size: .82rem; }
.official-channel-card a { color: #fff; font-weight: 800; text-decoration: none; }
.official-channel-card a { display: inline-flex; align-items: center; gap: .35rem; min-height: 36px; padding-block: .3rem; }
.tracked-appeal { margin-top: 1rem; padding: 1.3rem; border: 1px solid var(--mys-border); border-radius: 19px; background: #fff; }
.tracked-appeal-head { display: flex; align-items: center; gap: .8rem; }
.tracked-appeal-head > span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; color: var(--mys-blue); background: #edf8fd; }
.tracked-appeal-head > div { flex: 1; }
.tracked-appeal-head h2 { margin: .15rem 0; color: var(--mys-navy); font-size: 1.25rem; }

/* Tourism */
.tourism-hero { position: relative; overflow: hidden; padding: clamp(4rem, 10vw, 9rem) 0; color: #fff; background: radial-gradient(circle at 80% 40%, rgba(24,173,121,.25), transparent 30%), linear-gradient(125deg, #06152b, #0c3a4b); }
.tourism-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .55fr); align-items: center; gap: clamp(2rem, 8vw, 8rem); }
.tourism-hero h1 { margin: .7rem 0 1rem; font-size: clamp(2.8rem, 7vw, 6.4rem); line-height: .93; letter-spacing: -.06em; }
.tourism-hero p { max-width: 700px; color: rgba(255,255,255,.72); }
.tourism-visual { position: relative; display: grid; place-items: center; aspect-ratio: 1; }
.tourism-visual > i { color: var(--mys-gold); font-size: clamp(6rem, 15vw, 10rem); }
.tourism-orbit { position: absolute; inset: 8%; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; }
.tourism-orbit.two { inset: 21%; border-style: dashed; animation: mysSpin 22s linear infinite; }
.tourism-visual > div { position: absolute; right: 0; bottom: 12%; display: grid; padding: .8rem 1rem; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(7,22,44,.65); backdrop-filter: blur(10px); }
.tourism-visual strong { color: var(--mys-gold); font-size: 1.5rem; }
.tourism-visual small { color: rgba(255,255,255,.6); }
@keyframes mysSpin { to { transform: rotate(360deg); } }
.tourism-route-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.tourism-route-grid article { padding: 1.2rem; border: 1px solid var(--mys-border); border-radius: 18px; background: #fff; }
.tourism-route-grid article > span { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 1rem; border-radius: 14px; color: #168059; background: #e8f8f1; font-size: 1.3rem; }
.tourism-route-grid small { color: #798698; }
.tourism-route-grid h2 { margin: .35rem 0 1rem; color: var(--mys-navy); font-size: 1.2rem; }
.tourism-route-grid a { text-decoration: none; font-size: .8rem; font-weight: 800; }
.tourism-planner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, .65fr); margin-top: 1.2rem; overflow: hidden; border-radius: 23px; box-shadow: var(--mys-shadow); }
.tourism-planner > section { padding: clamp(1.3rem, 4vw, 2.5rem); background: #fff; }
.tourism-planner h2 { margin: .4rem 0 .7rem; color: var(--mys-navy); font-size: clamp(1.8rem, 4vw, 3rem); }
.tourism-planner > section > p { color: #6d7d90; }
.planner-result { display: grid; place-content: center; padding: clamp(1.5rem, 4vw, 2.5rem); color: rgba(255,255,255,.7); text-align: center; background: var(--mys-navy); }
.planner-result > i { color: rgba(255,255,255,.16); font-size: 6rem; }
.planner-result h3 { color: #fff; }
.planner-result.has-result { text-align: left; }
.planner-result-icon { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 1rem; border-radius: 18px; color: var(--mys-gold); background: rgba(255,255,255,.08); font-size: 1.8rem; }
.planner-result ol { display: grid; gap: .55rem; padding: 0; list-style: none; }
.planner-result li { display: flex; align-items: center; gap: .6rem; }
.planner-result li span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; color: var(--mys-gold); background: rgba(255,255,255,.08); font-size: .72rem; font-weight: 900; }
.integration-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 1.2rem; overflow: hidden; border: 1px solid var(--mys-border); border-radius: 18px; background: var(--mys-border); }
.integration-strip > div { display: flex; align-items: center; gap: .8rem; padding: 1rem; background: #fff; }
.integration-strip > div > i { color: var(--mys-blue); font-size: 1.3rem; }
.integration-strip span { display: grid; }
.integration-strip small { color: #7d8999; }

/* Admin services */
.service-admin-hero { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem; margin-bottom: 1rem; border-radius: 20px; color: #fff; background: radial-gradient(circle at 90% 20%, rgba(0,151,218,.3), transparent 32%), linear-gradient(125deg, #06152b, #0b3153); }
.service-admin-hero h2 { margin: .3rem 0; }
.service-admin-hero p { margin: 0; color: rgba(255,255,255,.63); }
.service-admin-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .7rem; margin-bottom: 1rem; }
.service-admin-kpis > div { display: grid; padding: 1rem; border: 1px solid var(--mys-border); border-radius: 15px; background: #fff; }
.service-admin-kpis i { color: var(--mys-blue); font-size: 1.25rem; }
.service-admin-kpis span { margin-top: .7rem; color: #6c7b8e; font-size: .72rem; }
.service-admin-kpis strong { color: var(--mys-navy); font-size: 1.7rem; }
.service-admin-kpis small { color: #8b96a5; }
.service-source-health { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; }
.service-source-health > div { display: flex; align-items: center; gap: .7rem; padding: .8rem; border: 1px solid var(--mys-border); border-radius: 13px; }
.service-source-health > div > span { display: grid; flex: 1; }
.service-source-health i { color: var(--mys-blue); }
.service-source-health small { color: #748295; }
.admin-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.admin-card-heading h2 { margin: .2rem 0; }
.admin-count { color: #748295; font-size: .8rem; }
.service-admin-table td > small { display: block; color: #7d8998; }
.table-kind { display: flex; gap: .4rem; max-width: 350px; font-weight: 750; }
.inline-status-form { display: grid; grid-template-columns: 150px minmax(120px, 1fr) auto; gap: .4rem; min-width: 420px; }
.service-admin-appeals { display: grid; gap: .8rem; }
.service-admin-appeals article { padding: 1rem; border: 1px solid var(--mys-border); border-radius: 15px; }
.admin-appeal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.admin-appeal-head h3 { margin: .2rem 0; color: var(--mys-navy); font-size: 1.05rem; }
.admin-appeal-head small { color: #778497; }
.service-admin-appeals article > p { padding: .8rem; color: #5f6f82; border-radius: 10px; background: #f5f7f9; }
.admin-appeal-contact { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: .8rem; color: #69798b; font-size: .8rem; }
.admin-appeal-contact span { display: inline-flex; gap: .35rem; }

.muted-copy { color: #728195; }
.empty-actions { display: flex; justify-content: center; gap: .6rem; margin-top: 1rem; }

@media (max-width: 1199.98px) {
  .service-hero-grid, .account-guest-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, .5fr); }
  .service-group-grid, .service-card-grid, .opportunity-grid, .facility-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-admin-kpis { grid-template-columns: repeat(3, 1fr); }
  .tourism-route-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 991.98px) {
  .service-hero-grid, .account-grid, .account-auth-grid, .account-guest-grid, .facility-detail-grid, .event-detail-layout, .appeal-hero-grid, .tourism-hero-grid, .athlete-passport-grid, .athlete-passport-content { grid-template-columns: 1fr; }
  .athlete-passport-photo { width: min(340px, 100%); }
  .service-hero-panel, .account-preview, .tourism-visual { max-width: 620px; width: 100%; }
  .service-filter-form, .facility-filter { grid-template-columns: 1fr 1fr; }
  .service-filter-search { grid-column: 1 / -1; }
  .account-two-column, .event-registration-grid, .appeal-workspace, .tourism-planner, .digital-pass-layout { grid-template-columns: 1fr; }
  .digital-pass-card { width: min(480px, 100%); margin-inline: auto; }
  .account-stat-grid { grid-template-columns: repeat(2, 1fr); }
  .facility-detail-panels, .integration-strip { grid-template-columns: 1fr; }
  .service-source-health { grid-template-columns: 1fr; }
  .service-admin-hero { align-items: flex-start; flex-direction: column; }
  .facility-nearby-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767.98px) {
  .mys-one-page .page-hero { padding: 3.5rem 0; }
  .mys-one-page .page-hero h1 { font-size: clamp(2.2rem, 12vw, 4rem); }
  .service-hero, .account-guest-hero, .appeal-hero, .tourism-hero { padding: 3.8rem 0; }
  .service-hero h1, .account-guest-hero h1, .appeal-hero h1, .tourism-hero h1 { font-size: clamp(2.55rem, 14vw, 4.3rem); }
  .service-heading { align-items: flex-start; flex-direction: column; gap: .7rem; }
  .service-group-grid, .service-card-grid, .service-mini-grid, .opportunity-grid, .facility-card-grid, .tourism-route-grid { grid-template-columns: 1fr; }
  .service-filter-form, .facility-filter { grid-template-columns: 1fr; padding: .65rem; }
  .service-filter-search { grid-column: auto; }
  .service-filter-form .btn { width: 100%; }
  .account-shell-head, .account-head-actions { align-items: flex-start; flex-direction: column; }
  .profile-completion { width: 100%; }
  .account-workspace { padding-inline: 0; }
  .account-workspace > .alert, .account-workspace > .account-tabs, .account-workspace > .account-stat-grid, .account-workspace > .account-two-column, .account-workspace > .account-panel { margin-left: .75rem; margin-right: .75rem; }
  .account-workspace > .account-tabs a { min-width: 94px; }
  .account-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .account-stat-grid a { min-height: 92px; padding: .8rem; }
  .account-stat-grid a > i { width: 40px; height: 40px; }
  .account-stat-grid strong { font-size: 1.35rem; }
  .form-grid.two { grid-template-columns: 1fr; }
  .panel-heading { align-items: flex-start; flex-direction: column; }
  .status-timeline, .appeal-status-timeline { display: grid; }
  .status-timeline li, .appeal-status-timeline li { padding: 0 0 1rem 1.5rem; }
  .status-timeline li::before, .appeal-status-timeline li::before { left: 5px; right: auto; top: 5px; bottom: -5px; width: 2px; height: auto; }
  .status-timeline li:last-child::before, .appeal-status-timeline li:last-child::before { display: none; }
  .application-actions, .certificate-search > div, .certificate-actions { align-items: stretch; flex-direction: column; }
  .pass-list article, .certificate-list article { align-items: flex-start; flex-wrap: wrap; }
  .certificate-list article .btn { width: 100%; }
  .facility-map { height: 480px; }
  .facility-map-toolbar { align-items: flex-start; }
  .facility-map-toolbar button span { display: none; }
  .facility-nearby-grid { grid-template-columns: 1fr; }
  .facility-nearby-heading { align-items: stretch; flex-direction: column; }
  .facility-nearby-heading .btn { width: 100%; }
  .facility-card-media { height: 230px; }
  .participation-steps { grid-template-columns: 1fr; }
  .certificate-border { border-width: 8px; outline-offset: -13px; }
  .athlete-profile-data div { grid-template-columns: 1fr; gap: .2rem; }
  .certificate-brand b { display: none; }
  .certificate-footer { flex-direction: column; }
  .appeal-success { align-items: flex-start; flex-wrap: wrap; }
  .appeal-success .btn { width: 100%; }
  .tracked-appeal-head { align-items: flex-start; flex-wrap: wrap; }
  .service-admin-kpis { grid-template-columns: repeat(2, 1fr); }
  .inline-status-form { grid-template-columns: 1fr; min-width: 260px; }
  .service-admin-hero form, .service-admin-hero .btn { width: 100%; }
}

@media (max-width: 420px) {
  .account-stat-grid { grid-template-columns: 1fr 1fr; gap: .55rem; }
  .account-stat-grid a { display: grid; gap: .45rem; }
  .account-user-lockup { align-items: flex-start; }
  .account-avatar { width: 56px; height: 56px; border-radius: 16px; }
  .service-admin-kpis { grid-template-columns: 1fr; }
  .pass-check-card { padding: 1rem; border-radius: 18px; }
  .verification-data div { align-items: flex-start; flex-direction: column; gap: .2rem; }
  .verification-data dd { text-align: left; }
}

@media (min-width: 1200px) {
  .mys-one-page .container { max-width: 1320px; }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  .navbar-guide-compact { display: inline-flex; }
}

@media print {
  .site-header, .site-footer, .bottom-nav, .assistant-panel, .scroll-top-button, .certificate-search, .certificate-actions { display: none !important; }
  body { padding: 0; background: #fff; }
  .certificate-workspace { max-width: none; padding: 0; }
  .certificate-border { box-shadow: none; break-inside: avoid; }
}

@media (prefers-reduced-motion: reduce) {
  .tourism-orbit.two { animation: none; }
  .service-card, .facility-card-media img, .facility-marker { transition: none; }
  .facility-filter [data-use-location][aria-busy="true"] i { animation: none; }
}
