:root{
  --bg:#04070b;
  --text:rgba(255,255,255,0.96);
  --muted:rgba(255,255,255,0.60);
  --primary:#5b93ff;
  --primary-dim:#3f7fff;
  --line:rgba(255,255,255,0.09);
  --input-line:rgba(255,255,255,0.07);
  --radius-xl:28px;
  --radius-pill:999px;
  --shadow-panel:0 24px 64px rgba(0,0,0,0.30);
  --shadow-soft:0 12px 28px rgba(0,0,0,0.18);
  --shadow-primary:0 0 30px rgba(91,147,255,0.12);
  --success:rgba(75,181,120,0.18);
  --success-line:rgba(120,255,170,0.28);
  --danger:rgba(255,92,122,0.16);
  --danger-line:rgba(255,120,145,0.25);
}

*{box-sizing:border-box;}
html,body{min-height:100%;}

body{
  margin:0;
  font-family:'Inter',sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 8% 6%, rgba(91,147,255,0.14), transparent 20%),
    radial-gradient(circle at 92% 16%, rgba(91,147,255,0.07), transparent 18%),
    radial-gradient(circle at 88% 84%, rgba(91,147,255,0.05), transparent 20%),
    linear-gradient(180deg, #04070b 0%, #07101a 48%, #04070b 100%);
  overflow-x:hidden;
}

a{text-decoration:none;}

.portal-shell{
  position:relative;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  isolation:isolate;
}

.page-frame{
  width:min(100%, 1040px);
  margin:0 auto;
  padding-inline:12px;
}

.hud-grid,
.hud-scan,
.hud-glow-left,
.hud-glow-right,
.hud-orbit{
  position:absolute;
  pointer-events:none;
  z-index:-1;
}

.hud-grid{
  inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(180deg, rgba(0,0,0,0.25), rgba(0,0,0,0.03));
  opacity:.24;
}

.hud-scan{
  inset:0;
  background:repeating-linear-gradient(
    180deg,
    rgba(255,255,255,0.010) 0,
    rgba(255,255,255,0.010) 1px,
    transparent 2px,
    transparent 6px
  );
  opacity:.12;
}

.hud-glow-left{
  top:-4rem;
  left:-9rem;
  width:18rem;
  height:76vh;
  filter:blur(76px);
  background:linear-gradient(180deg, rgba(91,147,255,0.12), rgba(91,147,255,0.015));
}

.hud-glow-right{
  right:-8rem;
  bottom:0;
  width:13rem;
  height:52vh;
  filter:blur(76px);
  background:linear-gradient(180deg, rgba(91,147,255,0.08), rgba(91,147,255,0.01));
}

.hud-orbit{
  left:50%;
  top:8rem;
  transform:translateX(-50%);
  width:min(860px, 86vw);
  height:400px;
  border-radius:50%;
  border:1px solid rgba(91,147,255,0.06);
  box-shadow:
    0 0 80px rgba(91,147,255,0.05),
    inset 0 0 30px rgba(91,147,255,0.02);
  opacity:.75;
}

.glass{
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.028));
  border:1px solid var(--line);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    var(--shadow-soft);
}

.glass-strong{
  background:linear-gradient(180deg, rgba(255,255,255,0.072), rgba(255,255,255,0.032));
  border:1px solid rgba(255,255,255,0.10);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    var(--shadow-panel),
    var(--shadow-primary);
}

.site-navbar{
  padding:1rem 0 0;
}

.site-navbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  min-height:68px;
  padding:.8rem .9rem;
  position:relative;
  border-radius:var(--radius-pill);
  max-width:900px;
  margin:0 auto;
  flex-wrap:wrap;
}

.site-navbar-inner::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(91,147,255,0.34), transparent);
  opacity:.9;
}

.site-brand{
  display:inline-flex;
  align-items:center;
  gap:.9rem;
  color:var(--primary);
  margin:0;
  padding:0;
  min-width:0;
}

.site-brand:hover{
  color:var(--primary-dim);
}

.site-brand-mark{
  width:2.35rem;
  height:2.35rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 50%, rgba(91,147,255,0.12), transparent 72%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.025));
  border:1px solid rgba(255,255,255,0.10);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 0 18px rgba(91,147,255,0.10);
  flex:0 0 auto;
}

.site-brand-mark::before{
  content:"";
  position:absolute;
  inset:1px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.04), transparent 58%);
  pointer-events:none;
}

.site-brand-mark svg{
  width:1.02rem;
  height:1.02rem;
  fill:currentColor;
  position:relative;
  z-index:1;
}

.site-brand-text{
  color:#f7fdff;
  font-size:1rem;
  font-weight:900;
  letter-spacing:-0.03em;
  line-height:1;
}

.site-brand-sub{
  display:block;
  margin-top:.18rem;
  color:rgba(255,255,255,0.36);
  font-size:.58rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.22em;
}

.site-nav-collapse{
  flex-grow:0;
}

.site-nav-links{
  display:flex;
  align-items:center;
  gap:.45rem;
  flex-wrap:wrap;
}

.site-nav-link{
  min-height:38px;
  padding:.62rem .88rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,0.64);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  border-radius:var(--radius-pill);
  transition:all .2s ease;
}

.site-nav-link:hover{
  color:#fff;
  background:rgba(255,255,255,0.045);
}

.site-nav-link.is-live{
  color:#061a3d;
  background:linear-gradient(135deg, #8bb4ff 0%, #5b93ff 52%, #3f7fff 100%);
  box-shadow:0 0 22px rgba(91,147,255,0.16);
}

/* Shared Bootstrap navbar toggle for both portal pages */
.site-navbar .site-nav-toggle{
  display:none !important;
  width:46px !important;
  height:46px !important;
  padding:0 !important;
  border:1px solid rgba(255,255,255,0.10) !important;
  border-radius:16px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    0 10px 24px rgba(0,0,0,0.18),
    0 0 18px rgba(91,147,255,0.08) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  align-items:center;
  justify-content:center;
  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease !important;
}

.site-navbar .site-nav-toggle:hover{
  transform:translateY(-1px);
  border-color:rgba(91,147,255,0.30) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.04)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 12px 28px rgba(0,0,0,0.22),
    0 0 22px rgba(91,147,255,0.14) !important;
}

.site-navbar .site-nav-toggle:focus,
.site-navbar .site-nav-toggle:focus-visible{
  outline:none;
  border-color:rgba(91,147,255,0.34) !important;
  box-shadow:
    0 0 0 3px rgba(91,147,255,0.14),
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 12px 28px rgba(0,0,0,0.22) !important;
}

.site-navbar .site-nav-toggle[aria-expanded="true"]{
  border-color:rgba(91,147,255,0.34) !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10), rgba(255,255,255,0.05)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06),
    0 12px 28px rgba(0,0,0,0.22),
    0 0 24px rgba(91,147,255,0.16) !important;
}

.site-navbar .site-nav-toggle .navbar-toggler-icon{
  width:20px !important;
  height:20px !important;
  background-size:20px 20px !important;
  background-position:center !important;
  background-repeat:no-repeat !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7.25h16M8 12h12M4 16.75h16' fill='none' stroke='%23F7FDFF' stroke-linecap='round' stroke-width='2.2'/%3E%3C/svg%3E") !important;
  transition:background-image .2s ease !important;
}

.site-navbar .site-nav-toggle:hover .navbar-toggler-icon,
.site-navbar .site-nav-toggle:focus .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7.25h16M8 12h12M4 16.75h16' fill='none' stroke='%235B93FF' stroke-linecap='round' stroke-width='2.2'/%3E%3C/svg%3E") !important;
}

.site-navbar .site-nav-toggle[aria-expanded="true"] .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6l-12 12' fill='none' stroke='%235B93FF' stroke-linecap='round' stroke-width='2.2'/%3E%3C/svg%3E") !important;
}

.portal-main{
  flex:1 0 auto;
  display:flex;
  align-items:center;
  padding:2rem 0 1.25rem;
}

.request-shell{
  max-width:760px;
  margin:0 auto;
}

.request-panel{
  position:relative;
  overflow:hidden;
  border-radius:var(--radius-xl);
  text-align:left;
}

.request-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(91,147,255,0.08), transparent 24%, transparent 74%, rgba(91,147,255,0.05)),
    radial-gradient(circle at top right, rgba(91,147,255,0.12), transparent 28%);
  pointer-events:none;
}

.request-panel::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:110px;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(91,147,255,0.40), transparent);
  opacity:.85;
  pointer-events:none;
}

.panel-top{
  position:relative;
  z-index:1;
  padding:1rem 1.15rem .9rem;
  border-bottom:1px solid rgba(255,255,255,0.05);
  background:rgba(255,255,255,0.015);
  display:flex;
  justify-content:center;
}

.panel-kicker{
  display:flex;
  align-items:center;
  gap:.45rem;
  color:rgba(255,255,255,0.66);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.24em;
  text-transform:uppercase;
  justify-content:center;
}

.panel-kicker-dot{
  width:.5rem;
  height:.5rem;
  border-radius:999px;
  background:var(--primary);
  box-shadow:0 0 12px rgba(91,147,255,0.42);
}

.panel-body{
  position:relative;
  z-index:1;
  padding:1.2rem 1.15rem 1.2rem;
}

.hero-copy{
  max-width:560px;
  margin:0 auto 1rem;
  text-align:center;
}

.request-title{
  margin:0;
  color:#fff;
  font-size:clamp(2.2rem, 4vw, 3rem);
  line-height:.92;
  letter-spacing:-0.07em;
  font-weight:900;
  text-transform:uppercase;
}

.request-title .accent{
  color:var(--primary);
  text-shadow:0 0 18px rgba(91,147,255,0.16);
}

.request-subtext{
  margin:.9rem auto 0;
  max-width:32rem;
  color:var(--muted);
  font-size:.94rem;
  line-height:1.65;
}

.telemetry-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem;
  margin:1rem auto 1rem;
  max-width:640px;
}

.telemetry-card{
  padding:.8rem .82rem;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  border:1px solid rgba(255,255,255,0.08);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.04);
  text-align:center;
}

.telemetry-label{
  display:block;
  color:rgba(255,255,255,0.34);
  font-size:.58rem;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
  margin-bottom:.34rem;
}

.telemetry-value{
  display:block;
  color:#fff;
  font-size:.80rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.form-shell{
  max-width:640px;
  margin:0 auto;
}

.form-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:.85rem 1rem;
  align-items:start;
  margin-top:.6rem;
}

.form-row:first-of-type{
  margin-top:0;
}

.form-block{
  min-width:0;
  display:grid;
  grid-template-areas:
    "label"
    "control"
    "support";
  grid-template-rows:30px 72px 34px;
  align-items:start;
}

.form-block.is-textarea{
  grid-template-areas:
    "label"
    "control";
  grid-template-rows:30px auto;
}

.form-block-full{
  grid-column:1 / -1;
}

.field-label{
  grid-area:label;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  margin:0;
  color:rgba(255,255,255,0.68);
  font-size:.70rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.18em;
}

.input-shell{
  grid-area:control;
  height:72px;
  display:flex;
  align-items:center;
  padding:0 1rem;
  border-radius:16px;
  border:1px solid var(--input-line);
  background:linear-gradient(180deg, rgba(6,10,15,0.52), rgba(5,8,12,0.70));
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.03),
    0 10px 18px rgba(0,0,0,0.12);
  position:relative;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
  width:100%;
}

.input-shell::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(91,147,255,0.24), transparent);
  opacity:.75;
}

.input-shell:focus-within{
  border-color:rgba(91,147,255,0.28);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.04),
    0 0 0 1px rgba(91,147,255,0.08),
    0 0 16px rgba(91,147,255,0.07);
  transform:translateY(-1px);
}

.textarea-shell{
  height:auto;
  min-height:170px;
  align-items:stretch;
  padding:0 1rem;
}

.form-input,
.form-select,
.form-textarea{
  width:100%;
  min-width:0;
  border:0;
  outline:none;
  background:transparent;
  color:#fff;
  font-size:.92rem;
  font-family:'Inter',sans-serif;
}

.form-input{
  height:100%;
  line-height:1;
  display:block;
}

.form-select{
  height:100%;
  line-height:1;
  display:block;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  padding:0 2.8rem 0 0;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(184,201,230,0.85) 50%),
    linear-gradient(135deg, rgba(184,201,230,0.85) 50%, transparent 50%);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 10px) 50%;
  background-size:8px 8px, 8px 8px;
  background-repeat:no-repeat;
  cursor:pointer;
  color:#fff;
}

.form-select option{
  color:#fff;
  background:#0b1320;
}

.form-textarea{
  min-height:168px;
  resize:vertical;
  padding:1rem 0;
  line-height:1.65;
}

.form-input::placeholder,
.form-textarea::placeholder{
  color:rgba(255,255,255,0.17);
}

.field-support{
  grid-area:support;
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  min-height:34px;
  padding-top:.65rem;
  margin:0;
  color:rgba(255,255,255,0.48);
  font-size:.82rem;
  line-height:1.3;
}

.field-support.is-empty{
  visibility:hidden;
}

.action-row{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:1rem;
  margin-top:.4rem;
}

.cta-button{
  position:relative;
  overflow:hidden;
  min-height:64px;
  border:0;
  border-radius:12px;
  color:#061a3d;
  background:linear-gradient(135deg, #8bb4ff 0%, #5b93ff 52%, #3f7fff 100%);
  font-size:.86rem;
  font-weight:900;
  letter-spacing:.22em;
  text-transform:uppercase;
  box-shadow:
    0 14px 28px rgba(0,0,0,0.20),
    0 0 24px rgba(91,147,255,0.16);
  transition:transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.cta-button:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

.secondary-btn{
  min-height:64px;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  color:rgba(255,255,255,0.82);
  background:linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:all .2s ease;
}

.secondary-btn:hover{
  color:#fff;
  background:rgba(255,255,255,0.05);
}

.notice-box{
  margin:.9rem auto 1rem;
  padding:.9rem 1rem;
  border-radius:12px;
  font-size:.88rem;
  max-width:640px;
  text-align:left;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.notice-success{
  background:var(--success);
  border:1px solid var(--success-line);
  color:#e7fff1;
}

.notice-error{
  background:var(--danger);
  border:1px solid var(--danger-line);
  color:#ffdbe2;
}

.notice-error ul{
  margin:.45rem 0 0 1rem;
  padding:0;
}

.field-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

.site-footer{
  flex:0 0 auto;
  padding:0 0 1rem;
}

.site-footer-inner{
  padding:.9rem 1rem;
  border-radius:18px;
  max-width:900px;
  margin:0 auto;
}

.site-footer-copy{
  color:rgba(255,255,255,0.50);
  font-size:.76rem;
  margin:0;
  text-align:center;
}

.site-footer-links{
  display:flex;
  justify-content:center;
  gap:.45rem;
  flex-wrap:wrap;
  margin-top:.65rem;
}

.site-footer-link{
  min-height:34px;
  padding:.55rem .74rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,0.58);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  border-radius:999px;
  transition:all .2s ease;
}

.site-footer-link:hover{
  color:#fff;
  background:rgba(255,255,255,0.045);
}

@media (min-width:768px){
  .site-navbar .site-nav-collapse{
    display:flex !important;
    justify-content:flex-end;
  }
}

@media (max-width: 767.98px){
  .page-frame{padding-inline:10px;}
  .site-navbar{padding-top:.8rem;}
  .site-navbar-inner{padding:.72rem .75rem; border-radius:22px;}
  .site-navbar .site-nav-toggle{
    display:inline-flex !important;
  }
  .site-navbar .site-nav-collapse{
    width:100%;
    margin-top:.3rem;
  }
  .site-navbar .site-nav-links{
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:.55rem;
    padding-top:.15rem;
  }
  .site-navbar .site-nav-link{
    width:100%;
    min-height:44px;
    padding:.78rem .95rem;
  }
  .portal-main{align-items:flex-start; padding:1.25rem 0 1rem;}
  .panel-top{padding:.9rem .95rem .85rem;}
  .panel-body{padding:1rem .95rem 1rem;}
  .request-title{font-size:2rem;}
  .telemetry-row,
  .form-row,
  .action-row{grid-template-columns:1fr;}
  .form-row{gap:.7rem; margin-top:.45rem;}
  .form-block{grid-template-rows:28px 64px auto;}
  .form-block.is-textarea{grid-template-rows:28px auto;}
  .input-shell{height:64px; padding:0 .9rem;}
  .textarea-shell{min-height:160px; padding:0 .9rem;}
  .field-support{min-height:auto; padding-top:.45rem;}
  .cta-button,
  .secondary-btn{min-height:58px;}
}