/* GAZ registration: a short introduction, a clear application and an owner queue. */
.gas-registration { background: #f0f3fb; }
.gas-registration .gas-shell { display: block; padding: 0; }
.gas-registration .workspace { min-height: 100svh; }
.gas-registration .topbar, .gas-registration .footer { display: none; }
.gas-registration .content { display: block; width: 100%; max-width: none; margin: 0; padding: 0; }
.gas-registration .messages { width: min(1120px, calc(100% - 64px)); max-width: none; margin: 24px auto 0; }
.reg-shell { width: min(1232px, 100%); margin: 0 auto; padding: 32px 48px 24px; }
.reg-masthead { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px; padding-bottom: 30px; }
.reg-brand-group { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; min-width: 0; }
.reg-preview { display: inline-block; max-width: 100%; padding: 5px 9px; border: 1px solid #d3daeb; border-radius: 7px; color: #778198; font-size: 10px; line-height: 1.5; }
.reg-brand { display: inline-flex; align-items: center; gap: 17px; color: #151a30; font: 650 34px/1 var(--font-display, "Unbounded", sans-serif); letter-spacing: -2.5px; text-decoration: none; }
.reg-brand:hover { color: #303cee; text-decoration: none; }
.reg-brand > span { padding-left: 17px; border-left: 1px solid #c9cfdf; color: #68728a; font: 500 12px/1.4 var(--font-body, "Manrope", sans-serif); letter-spacing: 0; }
.reg-login-link { color: #717a91; font-size: 12px; line-height: 1.5; }
.reg-login-link > span { margin-left: 8px; color: #303cee; font-weight: 700; }
.reg-stage { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); align-items: stretch; border-radius: 22px; overflow: hidden; }
.reg-stage > * { min-width: 0; }
.reg-intro { position: relative; display: flex; flex-direction: column; padding: 40px 36px 31px; color: #fff; background: #303cee; overflow: hidden; }
.reg-intro::after { position: absolute; width: 330px; height: 330px; bottom: -230px; left: -125px; border: 1px solid #ffffff42; border-radius: 50%; content: ""; pointer-events: none; }
.reg-eyebrow { margin: 0 0 28px; color: #d2d7ff; font-size: 11px; font-weight: 600; }
.reg-intro h2 { position: relative; margin: 0; font: 500 clamp(29px, 3.1vw, 42px)/1.18 var(--font-display, "Unbounded", sans-serif); letter-spacing: -.06em; }
.reg-intro-copy { max-width: 29ch; margin: 22px 0 0; color: #d5dbff; font-size: 13px; line-height: 1.7; }
.reg-flow { display: grid; gap: 25px; margin: 44px 0 0; padding: 0; list-style: none; }
.reg-flow li { display: flex; align-items: flex-start; gap: 15px; }
.reg-step-number { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 29px; height: 29px; border: 1px solid #ffffff4d; border-radius: 50%; color: #c6cdff; font-size: 10px; font-variant-numeric: tabular-nums; }
.reg-flow li:first-child .reg-step-number { border-color: #ffa184; color: #151a30; background: #ffa184; }
.reg-flow strong { display: block; padding-top: 3px; font-size: 13px; font-weight: 650; line-height: 1.5; }
.reg-flow li div > span { display: block; max-width: 26ch; margin-top: 5px; color: #ccd3ff; font-size: 12px; line-height: 1.65; }
.reg-intro-end { position: relative; display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 55px; }
.reg-intro-end > span { color: #ffa184; font-size: 42px; line-height: 1; }
.reg-intro-end p { color: #d3d9ff; font-size: 11px; line-height: 1.6; }
.reg-access { padding: 39px 40px 32px; background: #fff; }
.reg-form-heading h1 { margin: 0; color: #151a30; font: 500 clamp(23px, 2.1vw, 29px)/1.3 var(--font-display, "Unbounded", sans-serif); letter-spacing: -.055em; overflow-wrap: anywhere; }
.reg-form-heading > p { max-width: 43ch; margin: 15px 0 0; color: #69728a; font-size: 13px; line-height: 1.7; }
.reg-form { margin-top: 28px; }
.reg-form-errors { margin-bottom: 22px; padding: 13px 15px; border: 1px solid #efcfca; border-radius: 9px; background: #fff5f3; }
.reg-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 19px 16px; }
.reg-field-wide { grid-column: 1 / -1; }
.reg-field { gap: 7px; }
.reg-field label { color: #343b52; font-size: 12px; font-weight: 650; line-height: 1.45; }
.reg-field input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]), .reg-field select { min-height: 50px; padding: 12px 14px; border: 1px solid #dfe3ed; border-radius: 9px; color: #151a30; background: #f7f8fc; font-size: 16px; box-shadow: none; }
.reg-field input:hover, .reg-field select:hover { border-color: #b6bfd7; }
.reg-field input:focus, .reg-field select:focus { border-color: #303cee; background: #fff; box-shadow: 0 0 0 4px #303cee0d; }
.reg-field input[aria-invalid="true"], .reg-field select[aria-invalid="true"] { border-color: #b92e39; }
.reg-field .reg-help { margin: 0; color: #788197; font-size: 11px; line-height: 1.65; overflow-wrap: anywhere; }
.reg-help ul { display: grid; gap: 3px; margin: 2px 0 0; padding-left: 16px; }
.reg-help li { padding-left: 1px; line-height: 1.55; }
.reg-password-help { grid-column: 1 / -1; margin-top: -6px; color: #788197; font-size: 11px; line-height: 1.6; }
.reg-field .errors { line-height: 1.6; }
.reg-form .reg-submit { display: flex; justify-content: space-between; width: 100%; min-height: 53px; margin-top: 26px; padding: 14px 18px; font-size: 13px; border-radius: 10px; }
.reg-submit svg { width: 20px; height: 20px; flex: 0 0 20px; }
.reg-entry-links { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 23px; padding-top: 20px; border-top: 1px solid #e8ecf4; }
.reg-entry-links a { padding: 3px 0; color: #6f7890; font-size: 11px; }
.reg-entry-links a:hover { color: #303cee; }
.reg-page-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 20px; padding-top: 23px; color: #8790a6; font-size: 10px; }
.gas-registration-sent .reg-shell { display: flex; flex-direction: column; min-height: 100svh; }
.reg-result { width: min(680px, 100%); margin: auto; padding: 52px 58px; border-radius: 22px; background: #fff; }
.reg-result-symbol { width: 76px; height: 76px; margin-bottom: 29px; padding: 5px; border-radius: 20px; color: #303cee; background: #eef0ff; }
.reg-result-symbol svg { display: block; width: 100%; height: 100%; }
.reg-result-label { margin: 0 0 12px; color: #737d95; font-size: 12px; }
.reg-result h1 { max-width: 13ch; font: 500 clamp(29px, 3.2vw, 42px)/1.22 var(--font-display, "Unbounded", sans-serif); letter-spacing: -.055em; overflow-wrap: anywhere; }
.reg-result-copy { max-width: 45ch; margin: 22px 0 0; color: #6d768e; font-size: 14px; line-height: 1.8; }
.reg-result-action { margin-top: 31px; gap: 28px; min-height: 50px; }
.gas-registration-sent .reg-page-footer { margin-top: 32px; }
.reg-queue { min-width: 0; color: #151a30; }
.reg-queue-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.reg-queue-heading > div:first-child { min-width: 0; }
.reg-queue-eyebrow { margin: 0 0 14px; color: #69738d; font-size: 11px; font-weight: 650; }
.reg-queue-heading h1 { max-width: 20ch; overflow-wrap: anywhere; }
.reg-queue-heading h1 + p { max-width: 55ch; margin: 16px 0 0; color: #6d768d; font-size: 13px; line-height: 1.75; }
.reg-queue-count { display: flex; align-items: center; gap: 15px; flex-shrink: 0; padding: 17px 22px; border-radius: 15px; color: #fff; background: #303cee; }
.reg-queue-count strong { font: 450 38px/1.1 var(--font-display, "Unbounded", sans-serif); letter-spacing: -.06em; font-variant-numeric: tabular-nums; }
.reg-queue-count > span { color: #dde1ff; font-size: 11px; line-height: 1.55; }
.reg-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px 25px; margin-bottom: 19px; }
.reg-section-heading h2 { font-size: 19px; font-weight: 750; }
.reg-section-heading > span { max-width: 47ch; color: #778198; font-size: 11px; line-height: 1.6; }
.reg-request-list, .reg-history-list { margin: 0; padding: 0; list-style: none; }
.reg-request-list { display: grid; gap: 13px; }
.reg-request { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 27px; border: 1px solid #e0e5f0; border-radius: 16px; background: #fff; }
.reg-request-person { min-width: 0; }
.reg-role { display: inline-block; max-width: 100%; margin-bottom: 9px; padding: 4px 8px; border-radius: 5px; color: #515bc4; background: #edf0ff; font-size: 10px; line-height: 1.4; }
.reg-request-person h3 { margin: 0; font-size: 18px; font-weight: 750; line-height: 1.4; letter-spacing: -.04em; overflow-wrap: anywhere; }
.reg-contact { margin: 6px 0 0; color: #6b758e; font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.reg-contact a { color: #69738c; }
.reg-username { margin: 5px 0 0; color: #8790a5; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
.reg-username strong { color: #68728b; font-weight: 550; }
.reg-request-decision { display: flex; flex-direction: column; align-items: flex-end; gap: 18px; flex-shrink: 0; }
.reg-request-decision > time { color: #8590a6; font-size: 11px; }
.reg-decision-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.reg-decision-actions form { margin: 0; }
.reg-decision-actions .button { min-height: 44px; min-width: 106px; font-size: 11px; }
.reg-decision-actions .reg-reject { color: #93655c; background: #fff; border-color: #e8dbd7; }
.reg-decision-actions .reg-reject:hover { color: #a44131; background: #fff3ee; border-color: #e5beb2; }
.reg-queue-empty { display: flex; align-items: center; gap: 22px; padding: 30px; border: 1px solid #dce3f0; border-radius: 16px; }
.reg-queue-empty > span { color: #303cee; font-size: 42px; line-height: 1; }
.reg-queue-empty h3 { font-size: 17px; }
.reg-queue-empty p { margin-top: 7px; color: #7b859c; font-size: 12px; line-height: 1.7; }
.reg-history { margin-top: 42px; padding-top: 26px; border-top: 1px solid #dce2ee; }
.reg-history-row { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(105px, .75fr) minmax(0, 1fr); align-items: center; gap: 22px; padding: 21px 0; }
.reg-history-row + .reg-history-row { border-top: 1px solid #e0e5f0; }
.reg-history-person { display: grid; gap: 3px; min-width: 0; overflow-wrap: anywhere; }
.reg-history-person > strong { font-size: 13px; font-weight: 700; line-height: 1.5; }
.reg-history-person > span, .reg-history-person > a { color: #7b859b; font-size: 11px; line-height: 1.5; }
.reg-decision-status { justify-self: start; max-width: 100%; padding: 5px 8px; border-radius: 6px; color: #65718b; background: #e6ebf5; font-size: 11px; line-height: 1.5; overflow-wrap: anywhere; }
.reg-decision-approved { color: #3c6659; background: #e3eee9; }
.reg-decision-rejected { color: #8e6055; background: #f9e6de; }
.reg-reviewed-by { display: grid; gap: 3px; justify-self: end; min-width: 0; text-align: right; overflow-wrap: anywhere; }
.reg-reviewed-by > span { color: #8a93a8; font-size: 10px; }
.reg-reviewed-by strong { color: #69758e; font-size: 11px; font-weight: 600; }
.reg-reviewed-by time { color: #8a93a8; font-size: 11px; }
.reg-history-empty { padding: 15px 0; color: #7b859b; font-size: 13px; }
@media (max-width: 1100px) {
  .reg-shell { padding-right: 32px; padding-left: 32px; }
  .reg-stage { grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr); }
  .reg-intro { padding: 34px 27px; }
  .reg-intro h2 { font-size: 32px; }
  .reg-access { padding: 34px 29px 29px; }
  .reg-form-heading h1 { font-size: 24px; }
  .reg-request { padding: 22px; }
  .reg-request-decision { max-width: 130px; }
  .reg-decision-actions { width: 100%; }
  .reg-decision-actions form, .reg-decision-actions .button { width: 100%; }
}
@media (max-width: 760px) {
  .reg-shell { padding: 24px 22px 22px; }
  .reg-masthead { gap: 16px; padding-bottom: 24px; }
  .reg-brand { gap: 13px; font-size: 29px; letter-spacing: -2px; }
  .reg-brand > span { padding-left: 13px; font-size: 10px; }
  .reg-login-link { font-size: 11px; }
  .reg-stage { grid-template-columns: minmax(0, 1fr); border-radius: 17px; }
  .reg-intro { padding: 28px; }
  .reg-eyebrow { margin-bottom: 18px; }
  .reg-intro h2 { font-size: 32px; }
  .reg-intro h2 br { display: none; }
  .reg-intro-copy { max-width: 42ch; margin-top: 15px; font-size: 12px; }
  .reg-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; margin-top: 28px; }
  .reg-flow li { flex-direction: column; gap: 9px; }
  .reg-flow strong { font-size: 11px; }
  .reg-flow li div > span { font-size: 11px; }
  .reg-intro-end { display: none; }
  .reg-access { padding: 30px 28px; }
  .reg-form-heading h1 { font-size: 25px; }
  .reg-form-heading > p { max-width: 47ch; font-size: 12px; }
  .reg-result { padding: 37px; }
  .reg-result h1 { font-size: 33px; }
  .reg-queue-heading { gap: 20px; margin-bottom: 29px; }
  .reg-queue-heading h1 + p { font-size: 12px; }
  .reg-queue-count { gap: 10px; padding: 16px; }
  .reg-queue-count strong { font-size: 30px; }
  .reg-queue-count > span { font-size: 10px; }
  .reg-section-heading h2 { font-size: 18px; }
  .reg-request { padding: 21px; }
  .reg-history-row { grid-template-columns: minmax(0, 1fr) auto; gap: 13px 20px; }
  .reg-reviewed-by { grid-column: 1 / -1; justify-self: start; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 9px; text-align: left; }
}
@media (max-width: 640px) {
  .reg-brand-group { align-items: flex-start; flex-direction: column; gap: 9px; }
  .reg-preview { padding: 3px 7px; font-size: 9px; }
  .reg-intro { padding-top: 23px; padding-bottom: 24px; }
  .reg-eyebrow { margin-bottom: 12px; }
  .reg-intro-copy { max-width: 42ch; margin-top: 13px; }
  .reg-flow { display: none; }
}
@media (max-width: 480px) {
  .reg-shell { padding: 22px 16px 20px; }
  .reg-masthead { align-items: flex-start; gap: 15px; }
  .reg-brand { gap: 11px; font-size: 27px; }
  .reg-brand > span { max-width: 74px; padding-left: 11px; font-size: 9px; }
  .reg-login-link { max-width: 115px; text-align: right; font-size: 10px; }
  .reg-login-link > span { display: block; margin-left: 0; }
  .reg-intro { padding: 23px 22px 24px; }
  .reg-intro h2 { max-width: none; font-size: clamp(23px, 6.1vw, 29px); }
  .reg-intro-copy { margin-top: 14px; }
  .reg-access { padding: 27px 21px; }
  .reg-form-heading h1 { font-size: 23px; }
  .reg-form { margin-top: 25px; }
  .reg-fields { grid-template-columns: minmax(0, 1fr); gap: 19px; }
  .reg-field-wide { grid-column: auto; }
  .reg-entry-links { gap: 9px 18px; }
  .reg-page-footer { font-size: 9px; }
  .reg-result { padding: 30px 24px; border-radius: 17px; }
  .reg-result-symbol { width: 65px; height: 65px; margin-bottom: 24px; }
  .reg-result h1 { font-size: clamp(26px, 7.3vw, 33px); }
  .reg-result-copy { margin-top: 19px; font-size: 12px; }
  .reg-result-action { width: 100%; margin-top: 25px; }
  .reg-queue-heading { align-items: flex-start; flex-direction: column; gap: 21px; }
  .reg-queue-heading h1 { font-size: 25px; }
  .reg-queue-count { align-items: baseline; width: 100%; padding: 14px 18px; }
  .reg-queue-count > span br { display: none; }
  .reg-request { align-items: stretch; flex-direction: column; gap: 18px; padding: 21px; }
  .reg-request-person h3 { font-size: 17px; }
  .reg-request-decision { align-items: stretch; gap: 13px; max-width: none; padding-top: 15px; border-top: 1px solid #eef0f6; }
  .reg-decision-actions { flex-wrap: nowrap; gap: 8px; }
  .reg-decision-actions form { flex: 1; min-width: 0; }
  .reg-decision-actions .button { min-width: 0; padding: 11px 10px; }
  .reg-queue-empty { align-items: flex-start; gap: 17px; padding: 23px 20px; }
  .reg-queue-empty > span { font-size: 33px; }
  .reg-history { margin-top: 33px; padding-top: 24px; }
  .reg-history-row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 0; }
  .reg-reviewed-by { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) { .reg-form .reg-submit, .reg-decision-actions .button { transition: none; } }
