.guide-application-page {
  max-width: 820px;
  margin: 0 auto;
}

.guide-application-heading {
  margin-bottom: 20px;
  text-align: center;
}

.guide-application-heading h1 {
  display: inline-block;
  margin: 0;
  padding: 5px 15px 8px;
  border-radius: 8px;
  background: #080714;
  letter-spacing: -.8px;
  font-weight: 900;
}

.guide-application-heading h1 span {
  color: #fff;
  -webkit-text-stroke: .55px #fff;
  text-shadow: 0 2px 0 #5b586b, 0 4px 0 #24212f;
}

.guide-application-heading h1 strong {
  color: #00d118;
  -webkit-text-stroke: .4px #007d0e;
  text-shadow: 0 2px 0 #007d0e;
}

.guide-application-heading p {
  margin: 8px 0 0;
  color: var(--muted);
}

.guide-application-form {
  gap: 24px;
}

.before-apply { margin-bottom: 20px; }
.before-apply li { margin: 8px 0; }
.guide-application-form fieldset { margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 10px; }
.guide-application-form legend { padding: 0 7px; font-weight: 800; }
.style-tags { display: flex; flex-wrap: wrap; gap: 9px; }
.style-tags label { display: flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 18px; background: #faf8fc; }
.private-label { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 10px; background: #eee7f7; color: #5f19bb; font-size: 12px; font-weight: 800; }
.acknowledgments { display: grid; gap: 12px; }
.acknowledgments label { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; }
.application-declined { margin-bottom: 18px; padding: 13px; border: 1px solid #b42318; border-radius: 8px; background: #fff5f4; }
.application-status,.onboarding-status { max-width: 740px; margin: 40px auto; }
.onboarding-status ol { display: grid; gap: 10px; padding: 0; list-style: none; }
.onboarding-status li { display: flex; justify-content: space-between; gap: 15px; padding: 13px; border: 1px solid var(--line); border-radius: 8px; }
.onboarding-status li span { color: var(--muted); font-weight: 700; }

.guide-onboarding-page {
  max-width: 1180px;
  margin: 0 auto;
}

.guide-onboarding-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 24px;
  padding: 28px 30px;
  border: 1px solid #35245c;
  border-radius: 18px;
  background:
    radial-gradient(circle at 92% 8%, rgba(0,209,24,.22), transparent 30%),
    linear-gradient(135deg, #080714 0%, #1b0c35 58%, #34106a 100%);
  color: #fff;
  box-shadow: 0 12px 28px rgba(8,7,20,.18);
}

.guide-onboarding-hero h1 {
  margin: 8px 0 6px;
  font-size: 34px;
}

.guide-onboarding-hero p {
  max-width: 760px;
  margin: 0;
  color: #d8cee5;
}

.guide-onboarding-hero .approval-badge {
  background: rgba(0,209,24,.18);
  color: #66f176;
}

.onboarding-progress {
  overflow: hidden;
  height: 8px;
  margin-top: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,.16);
}

.onboarding-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg,#a472d7,#00d118);
  transition: width .25s ease;
}

.onboarding-steps {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 14px;
}

.onboarding-step {
  min-height: 330px;
  padding: 18px;
  border-top: 5px solid #5f19bb;
  display: flex;
  flex-direction: column;
}

.onboarding-step:nth-child(even) {
  border-top-color: #00d118;
}

.onboarding-step.step-complete {
  border-color: rgba(0,209,24,.65);
  border-top-color: #00d118;
  background: linear-gradient(180deg,rgba(0,209,24,.08),#fff 42%);
}

.onboarding-step .step-top {
  margin-bottom: 16px;
}

.onboarding-step h2 {
  margin: 0 0 9px;
  font-size: 19px;
  line-height: 1.2;
}

.onboarding-step p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 14px;
}

.onboarding-step-status {
  display: inline-block;
  align-self: flex-start;
  margin-top: auto;
  margin-bottom: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .3px;
  text-transform: uppercase;
}

.onboarding-step-status.required { background: #eee3f8; color: #5f19bb; }
.onboarding-step-status.complete,.onboarding-step-status.ready { background: #dff6e2; color: #116b1b; }
.onboarding-step-status.locked { background: #ece9ef; color: #67606f; }

.onboarding-step button {
  width: 100%;
  padding: 9px 10px;
  font-size: 13px;
}

.onboarding-step button:disabled {
  opacity: .62;
  cursor: default;
  transform: none;
}

.onboarding-message {
  min-height: 22px;
  margin: 15px 4px 0;
  color: #5f19bb;
  font-weight: 700;
  text-align: center;
}

.availability-form,
.guide-offerings-form {
  max-width: 760px;
  margin: 20px auto 0;
  padding: 24px;
  border: 1px solid rgba(164,114,215,.68);
  background-color: #130d22;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='52' height='45' viewBox='0 0 52 45'%3E%3Cpath d='M13 1h26l12 21.5L39 44H13L1 22.5Z' fill='none' stroke='%23b8b8c2' stroke-opacity='.07' stroke-width='1'/%3E%3C/svg%3E"),
    radial-gradient(circle at 92% 8%,rgba(0,209,24,.16),transparent 28%),
    linear-gradient(145deg,#130d22,#25103f 70%,#351167);
  background-size: 52px 45px,auto,auto;
  color: #fff;
  box-shadow: 0 16px 38px rgba(8,7,20,.36);
}

.availability-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.availability-heading h2 { margin: 3px 0 0; color: #fff; }
.availability-heading .eyebrow { color: #61ed71; }
.availability-heading button { width: auto; padding: 7px 11px; font-size: 12px; }
.availability-form > p.muted,
.guide-offerings-form > p.muted { color: #d9d0e6; }
.availability-days { display: grid; gap: 10px; }
.availability-row { display: grid; grid-template-columns: minmax(125px,1fr) minmax(165px,180px) auto minmax(165px,180px); align-items: center; gap: 10px; padding: 12px 14px; border: 1px solid rgba(164,114,215,.38); border-radius: 10px; background: rgba(255,255,255,.075); color: #fff; }
.availability-row:hover { border-color: rgba(164,114,215,.72); background: rgba(255,255,255,.1); }
.availability-row:has(input[type="checkbox"]:checked) { border-color: rgba(0,209,24,.62); background: rgba(0,209,24,.09); }
.availability-row label { display: flex; align-items: center; gap: 8px; font-weight: 700; }
.availability-row input[type="checkbox"] { accent-color: #00d118; }
.availability-row input[type="time"] { width: 100%; min-width: 165px; padding: 9px 12px; border: 1px solid #cfc4dc; background: #fff; color: #080714; font-weight: 700; }
.availability-row > span { color: #cfc5da; font-size: 13px; font-weight: 800; text-transform: uppercase; }
.availability-form > button[type="submit"] { background: #00d118; color: #080714; box-shadow: 0 4px 0 #008b10; }
.availability-form #availability-message { color: #eefbef; }

.guide-offerings-form .game-picker { margin: 16px 0; }
.guide-offerings-list { display: grid; gap: 13px; margin-bottom: 18px; }
.guide-offering-entry { display: grid; gap: 13px; padding: 16px; border: 1px solid rgba(164,114,215,.5); border-radius: 11px; background: rgba(255,255,255,.08); }
.guide-offering-entry .guide-game-heading h3,
.guide-offering-entry .field > span,
.guide-offering-entry .game-platforms legend { color: #fff; }
.guide-offering-entry select { background: #fff; color: #080714; }
.guide-offering-entry .game-platforms { border-color: rgba(164,114,215,.5); }
.guide-offering-entry .platform-options label { background: rgba(164,114,215,.2); color: #fff; }
.guide-offering-entry .platform-options input { accent-color: #00d118; }
.remove-guide-offering { width: 29px; height: 29px; padding: 0; border-radius: 50%; background: #fff; color: #5f19bb; box-shadow: 0 2px 0 #080714; font-size: 19px; }
.guide-offerings-form > button[type="submit"] { background: #00d118; color: #080714; box-shadow: 0 4px 0 #008b10; }
.guide-offerings-form #guide-offerings-message { color: #eefbef; }

.application-section h2,
.application-section p {
  margin-top: 0;
}

.guide-games-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.game-picker { position: relative; }
.game-suggestions {
  position: absolute;
  z-index: 20;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  overflow: hidden;
  border: 1px solid #b9a9ca;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(8,7,20,.18);
}
.game-suggestions button {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 13px;
  border: 0;
  border-radius: 0;
  background: #fff;
  color: var(--text, #080714);
  box-shadow: none;
  text-align: left;
}
.game-suggestions button:hover,
.game-suggestions button:focus { background: #f2eafb; }
.game-suggestions button + button { border-top: 1px solid var(--line); }
.game-suggestions small { color: var(--muted); font-weight: 500; }
.game-suggestions .add-catalog-game { color: #5f19bb; }
.catalog-status { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; font-weight: 600; }

.guide-game-entry {
  display: grid;
  gap: 13px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #faf8fc;
}

.guide-game-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.guide-game-heading h3 {
  margin: 0;
}

.remove-guide-game {
  width: 29px;
  height: 29px;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  color: #5f19bb;
  box-shadow: 0 2px 0 #c9bdd5;
  font-size: 19px;
}

.guide-game-entry label {
  display: grid;
  gap: 6px;
}

.guide-game-entry textarea {
  min-height: 105px;
  resize: none;
  line-height: 1.5;
}

.game-platforms{margin:4px 0;padding:12px;border:1px solid var(--line);border-radius:8px}
.game-platforms legend{padding:0 5px;font-weight:800}
.platform-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.platform-options label{padding:8px;border-radius:6px;background:#f4eff9;font-weight:600}
.platform-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.platform-tag{padding:7px 11px;border:1px solid #a472d7;border-radius:999px;background:#eee3f8;color:#5f19bb;font-weight:800}
.guided-game-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.guided-game{padding:14px;border:1px solid var(--line);border-left:4px solid #00d118;border-radius:8px}
.guided-game h3,.guided-game p{margin:0 0 6px}

@media(max-width:1050px){.onboarding-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.onboarding-step{min-height:300px}}
@media(max-width:700px){.platform-options{grid-template-columns:repeat(2,minmax(0,1fr))}.onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.availability-row{grid-template-columns:minmax(115px,1fr) minmax(150px,1fr) minmax(150px,1fr)}.availability-row span{display:none}.availability-row input[type="time"]{min-width:150px}}
@media(max-width:560px){.guide-application-form{padding:17px}.guide-application-heading h1{font-size:30px}.guide-onboarding-hero{padding:24px 18px}.guide-onboarding-hero h1{font-size:28px}.onboarding-steps{grid-template-columns:1fr}.onboarding-step{min-height:auto}.availability-form{padding:18px}.availability-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.availability-row label{grid-column:1/-1}.availability-row input[type="time"]{min-width:0}.availability-heading{flex-direction:column}}
.birthdate-field { display:grid; gap:6px; }
.birthdate-field input { max-width:260px; }
#age-eligibility-message { color:#cfc5db; font-weight:700; }
#age-eligibility-message.age-ineligible { color:#d9293d; }
#age-eligibility-message.age-eligible { color:#00a914; }
