.beta-application-dialog {
  width: min(1080px, calc(100vw - 32px));
  max-width: none;
  height: min(790px, calc(100dvh - 32px));
  max-height: none;
  margin: auto;
  overflow: hidden;
  border: 1px solid rgba(26, 63, 50, .16);
  border-radius: 28px;
  padding: 0;
  background: #f8fbf9;
  color: #19362d;
  box-shadow: 0 34px 100px rgba(7, 35, 26, .34);
}
.beta-application-dialog::backdrop { background: rgba(8, 28, 22, .64); backdrop-filter: blur(8px); }
.beta-application-shell { display: grid; grid-template-columns: 310px minmax(0, 1fr); width: 100%; height: 100%; max-height: none; gap: 0; overflow: hidden; padding: 0; background: #f8fbf9; }
.beta-program-summary { position: relative; display: flex; flex-direction: column; overflow: hidden; padding: 30px 28px 26px; background: linear-gradient(155deg, #153f34 0%, #1f604b 63%, #2c775b 100%); color: #fff; }
.beta-program-summary::before, .beta-program-summary::after { position: absolute; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; pointer-events: none; }
.beta-program-summary::before { width: 270px; height: 270px; right: -165px; top: -115px; }
.beta-program-summary::after { width: 190px; height: 190px; left: -112px; bottom: 48px; }
.beta-program-brand { position: relative; display: flex; align-items: center; gap: 10px; margin-bottom: 40px; }
.beta-program-brand img { width: 42px; height: 42px; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: rgba(255,255,255,.1); object-fit: contain; }
.beta-program-brand > span { font-size: 1.02rem; font-weight: 850; letter-spacing: -.03em; }
.beta-program-brand > span > span { color: #bde7cf; }
.beta-cohort-chip { position: relative; display: inline-flex; align-items: center; align-self: flex-start; gap: 7px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; padding: 7px 11px; background: rgba(255,255,255,.09); color: #e6f5ec; font-size: .67rem; font-weight: 780; letter-spacing: .035em; text-transform: uppercase; }
.beta-cohort-chip i { width: 7px; height: 7px; border-radius: 50%; background: #9ee2bb; box-shadow: 0 0 0 4px rgba(158,226,187,.13); }
.beta-program-summary h3 { position: relative; margin: 17px 0 12px; color: #fff; font-size: 1.65rem; line-height: 1.12; letter-spacing: -.04em; }
.beta-program-summary > p { position: relative; margin: 0; color: rgba(238,250,243,.75); font-size: .82rem; line-height: 1.62; }
.beta-program-summary ul { position: relative; display: grid; gap: 16px; margin: 28px 0 24px; padding: 0; list-style: none; }
.beta-program-summary li { display: flex; align-items: flex-start; gap: 11px; }
.beta-program-summary li b { display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; border-radius: 50%; background: rgba(171,233,197,.17); color: #b9edce; font-size: .7rem; }
.beta-program-summary li span { display: grid; gap: 3px; }
.beta-program-summary li strong { color: #fff; font-size: .78rem; }
.beta-program-summary li small { color: rgba(238,250,243,.64); font-size: .67rem; line-height: 1.35; }
.beta-program-note { position: relative; margin-top: auto; border: 1px solid rgba(255,255,255,.13); border-radius: 15px; padding: 14px; background: rgba(8,35,27,.2); }
.beta-program-note span { color: #bce9ce; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.beta-program-note p { margin: 6px 0 0; color: rgba(244,252,247,.74); font-size: .68rem; line-height: 1.5; }
.beta-application-main { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; height: 100%; overflow: hidden; background: #fff; }
.beta-application-main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e4ebe7; padding: 25px 30px 20px; background: rgba(255,255,255,.97); }
.beta-application-main > header h2 { margin: 7px 0 5px; color: #18392f; font-size: clamp(1.55rem, 2.4vw, 2rem); line-height: 1.08; letter-spacing: -.04em; }
.beta-application-main > header p { margin: 0; color: #6d7d77; font-size: .78rem; line-height: 1.45; }
.beta-application-time { display: inline-flex; align-items: center; gap: 7px; color: #477565; font-size: .62rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.beta-application-time i { width: 3px; height: 3px; border-radius: 50%; background: #80a294; }
.beta-application-main .icon-button { display: grid; width: 36px; height: 36px; flex: 0 0 auto; place-items: center; border: 1px solid #dce6e1; border-radius: 50%; padding: 0; background: #f8fbf9; color: #536c63; font-size: 1.15rem; cursor: pointer; transition: transform .18s ease, border-color .18s ease, background-color .18s ease, color .18s ease; }
.beta-application-main .icon-button:hover { border-color: #a8c7ba; background: #eef7f2; color: #1f604b; transform: rotate(4deg); }
.beta-application-scroll { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 24px 30px 30px; scrollbar-color: #c4d8cf transparent; scrollbar-width: thin; }
.beta-form-section { display: grid; gap: 17px; padding-bottom: 26px; }
.beta-form-section + .beta-form-section { border-top: 1px solid #e7eeea; padding-top: 24px; }
.beta-section-heading { display: flex; align-items: flex-start; gap: 12px; }
.beta-section-heading > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #e7f4ed; color: #2a7256; font-size: .67rem; font-weight: 850; }
.beta-section-heading > .beta-section-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.9; }
.beta-section-heading h3 { margin: 0; color: #1b3b31; font-size: .93rem; letter-spacing: -.015em; }
.beta-section-heading p { margin: 3px 0 0; color: #7a8984; font-size: .69rem; line-height: 1.4; }
.beta-application-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.beta-application-main label { display: grid; gap: 7px; color: #314d43; font-size: .72rem; font-weight: 760; }
.beta-application-main label small { color: #87948f; font-size: .61rem; font-weight: 620; }
.beta-application-main input:not([type="checkbox"]), .beta-application-main select, .beta-application-main textarea { box-sizing: border-box; width: 100%; border: 1px solid #dce6e1; border-radius: 11px; padding: 10px 12px; outline: none; background: #fbfdfc; color: #1d3a31; font: inherit; font-size: .77rem; font-weight: 620; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }
.beta-application-main input:not([type="checkbox"]), .beta-application-main select { min-height: 42px; }
.beta-application-main input:focus, .beta-application-main select:focus, .beta-application-main textarea:focus { border-color: #65a288; background: #fff; box-shadow: 0 0 0 3px rgba(66,137,106,.11); }
.beta-application-main input::placeholder, .beta-application-main textarea::placeholder { color: #a0aaa6; }
.beta-product-choices { display: block; width: 100%; min-width: 0; margin: 0; border: 0; padding: 0; }
.beta-product-choices > div { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.beta-product-choices label { position: relative; display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 9px; min-height: 66px; border: 1px solid #dfe8e3; border-radius: 12px; padding: 9px 10px; background: #fbfdfc; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background-color .16s ease, box-shadow .16s ease; }
.beta-product-choices label:hover { border-color: #a9ccbd; background: #f5faf7; transform: translateY(-1px); }
.beta-product-choices label:has(input:checked) { border-color: #4d9878; background: #eef8f2; box-shadow: inset 0 0 0 1px rgba(77,152,120,.12); }
.beta-product-choices input { position: absolute; opacity: 0; pointer-events: none; }
.beta-product-choices label > span:last-child { display: grid; min-width: 0; gap: 3px; }
.beta-product-choices strong { overflow: hidden; color: #355247; font-size: .69rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.beta-product-choices label small { display: -webkit-box; overflow: hidden; color: #7e8d87; font-size: .58rem; font-weight: 620; line-height: 1.3; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.beta-product-mark { display: grid; width: 36px; height: 36px; place-items: center; overflow: hidden; border-radius: 10px; background: transparent; }
.beta-product-mark .product-icon-image, .beta-product-mark .product-icon-svg { display: block; width: 36px; height: 36px; object-fit: contain; }
.beta-goal-field { margin-top: 4px; }
.beta-goal-field textarea { min-height: 92px; resize: vertical; line-height: 1.5; }
.beta-feedback-section { padding-bottom: 5px; }
.beta-commitment { display: flex !important; align-items: flex-start; gap: 11px !important; border: 1px solid #cfe1d9; border-radius: 13px; padding: 13px 14px; background: #f4faf6; cursor: pointer; }
.beta-commitment input { width: 17px; height: 17px; flex: 0 0 auto; margin: 2px 0 0; accent-color: #347c5e; }
.beta-commitment > span { display: grid; gap: 4px; }
.beta-commitment strong { color: #284a3d; font-size: .73rem; }
.beta-commitment small { line-height: 1.45; }
.beta-application-main .form-feedback { min-height: 0; margin: 14px 0 0; font-size: .72rem; }
.beta-application-main .form-feedback:empty { display: none; }
.beta-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.beta-application-main > footer { display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid #e1eae5; padding: 15px 30px; background: rgba(251,253,252,.98); box-shadow: 0 -10px 28px rgba(26,64,50,.04); }
.beta-application-main > footer > span { display: flex; align-items: center; max-width: 290px; gap: 7px; color: #788883; font-size: .62rem; line-height: 1.35; }
.beta-application-main > footer svg { width: 16px; height: 16px; flex: 0 0 auto; fill: none; stroke: #5b8b77; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.beta-application-main > footer > div { display: flex; align-items: center; gap: 9px; }
.beta-application-main > footer button { min-height: 39px; padding: 9px 15px; font-size: .72rem; }
.beta-application-main > footer .primary-button { padding-inline: 18px; box-shadow: 0 8px 18px rgba(37,106,78,.17); }
.beta-application-main > footer .primary-button i { margin-left: 5px; font-style: normal; }

@media (max-width: 900px) {
  .beta-application-dialog { width: min(760px, calc(100vw - 24px)); }
  .beta-application-shell { grid-template-columns: 235px minmax(0, 1fr); }
  .beta-program-summary { padding: 25px 20px; }
  .beta-program-brand { margin-bottom: 30px; }
  .beta-program-summary h3 { font-size: 1.35rem; }
  .beta-program-summary ul { gap: 13px; }
}
@media (max-width: 760px) {
  .beta-application-dialog { width: min(680px, calc(100vw - 18px)); height: min(820px, calc(100dvh - 18px)); border-radius: 21px; }
  .beta-application-shell { grid-template-columns: 1fr; }
  .beta-program-summary { display: none; }
  .beta-application-main > header { padding: 21px 22px 17px; }
  .beta-application-scroll { padding: 21px 22px 26px; }
  .beta-application-main > footer { padding: 13px 22px; }
  .beta-product-choices > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .beta-application-dialog { width: calc(100vw - 10px); height: calc(100dvh - 10px); border-radius: 17px; }
  .beta-application-main > header { padding: 18px 17px 15px; }
  .beta-application-main > header h2 { font-size: 1.45rem; }
  .beta-application-main > header p { max-width: 90%; }
  .beta-application-scroll { padding: 18px 17px 24px; }
  .beta-application-grid { grid-template-columns: 1fr; }
  .beta-product-choices > div { grid-template-columns: 1fr; }
  .beta-application-main > footer { align-items: stretch; flex-direction: column; padding: 11px 17px 14px; }
  .beta-application-main > footer > span { max-width: none; }
  .beta-application-main > footer > div { width: 100%; }
  .beta-application-main > footer button { flex: 1; }
}
