:root{--navy:#06101d;--text:#142238;--blue:#1579e9;--blue-dark:#0c66ca;--muted:#66778c;--canvas:#f5f7fa;--card:#fff;--line:#dfe5ec;--soft:#f1f4f8;--green:#16865c;--amber:#9a6900;font-family:Inter,"Segoe UI",Arial,sans-serif;color-scheme:light}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased}.portal-nav{height:64px;padding:0 clamp(18px,4vw,54px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fff}.portal-brand{display:flex;align-items:center}.portal-brand img{width:108px;height:40px;object-fit:contain;object-position:left center;display:block}.back-link,.help-link,.support-copy a{color:var(--blue);text-decoration:none;font-size:13px;font-weight:600}.back-link:hover,.support-copy a:hover{text-decoration:underline}.portal-wrap{width:min(1120px,calc(100% - 36px));margin:auto}.login-layout{min-height:calc(100vh - 110px);display:grid;place-items:center;padding:48px 0}.login-shell{width:min(380px,100%)}.login-heading{margin-bottom:24px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.17em;color:var(--blue)}.login-heading h1,.dashboard-head h1{margin:8px 0 7px;font-size:28px;line-height:1.15;letter-spacing:-.025em}.login-heading p,.dashboard-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}.login-card{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 1px 2px rgba(6,16,29,.04),0 12px 35px -25px rgba(6,16,29,.36)}label{display:block;margin-top:17px;color:var(--text);font-size:13px;font-weight:650}label:first-child{margin-top:0}input{width:100%;height:44px;margin-top:7px;padding:0 13px;border:1px solid #cfd7e2;border-radius:9px;color:var(--text);background:#fff;font:inherit;outline:none}input::placeholder{color:#96a2b0}input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,121,233,.12)}label small{display:block;margin-top:7px;color:var(--muted);font-size:11px;font-weight:500}.password-field{position:relative}.password-field input{padding-right:48px}.password-field button{position:absolute;right:4px;top:10px;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:8px;color:#718095;background:transparent;cursor:pointer}.password-field button:hover{color:var(--text);background:var(--soft)}.password-field button:focus-visible{outline:2px solid var(--blue);outline-offset:1px}.password-field button svg{position:absolute;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.password-field .eye-closed{display:none}.password-field button.revealed .eye-open{display:none}.password-field button.revealed .eye-closed{display:block}.primary,.secondary{min-height:42px;padding:0 15px;border-radius:9px;font-weight:700;cursor:pointer;font-size:13px}.primary{width:100%;margin-top:20px;border:1px solid var(--blue);color:#fff;background:var(--blue)}.primary:hover{background:var(--blue-dark)}.primary:focus-visible,.secondary:focus-visible{outline:3px solid rgba(21,121,233,.18);outline-offset:2px}.secondary{border:1px solid var(--line);color:var(--text);background:#fff}.secondary:hover{background:var(--soft)}.secure-note{margin-top:18px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.secure-note span{margin-right:7px;color:var(--green);font-weight:800}.support-copy{margin:17px 0 0;color:var(--muted);font-size:13px;text-align:center}.message{display:none;margin-top:14px;padding:11px;border-radius:8px;font-size:12px}.message.error{display:block;color:#a32635;background:#fff1f2;border:1px solid #f3c2c8}.hidden{display:none!important}.dashboard{padding:38px 0 64px}.dashboard-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.dashboard-head h1{font-size:26px}.status-banner{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 1px 2px rgba(6,16,29,.04);overflow:hidden}.status-banner>div{padding:19px 20px;border-right:1px solid var(--line)}.status-banner>div:last-child{border:0}small{color:var(--muted);font-size:9px;letter-spacing:.11em}.status-banner strong{display:block;margin-top:7px;font-size:18px}.pulse{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#27b67a}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:18px}.panel{padding:22px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 1px 2px rgba(6,16,29,.035)}.panel.wide{grid-column:1/-1}.panel h2{margin:7px 0 17px;font-size:18px}.speed{display:flex;align-items:end;gap:7px}.speed strong{font-size:42px;letter-spacing:-.045em}.speed span{margin-bottom:7px;color:var(--muted)}.plan-panel .primary{max-width:150px}.panel dl{margin:5px 0}.panel dl div{padding:13px 0;border-bottom:1px solid var(--line)}.panel dl div:last-child{border:0}dt{color:var(--muted);font-size:11px}dd{margin:5px 0 0;font-size:13px}.panel-title{display:flex;justify-content:space-between;align-items:center}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 9px;border-bottom:1px solid var(--line);text-align:left;font-size:12px}th{color:var(--muted);font-size:10px;letter-spacing:.04em;text-transform:uppercase}.tickets{display:grid;gap:9px}.ticket{display:flex;justify-content:space-between;padding:13px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd}.ticket small{display:block;margin-top:4px}.empty{padding:20px;color:var(--muted);text-align:center}.force-password{min-height:calc(100vh - 110px);display:grid;place-items:center}.force-password .login-card{width:min(400px,100%)}footer{height:46px;display:grid;place-items:center;border-top:1px solid var(--line);color:#8390a0;background:#fff;font-size:10px}@media(max-width:760px){.portal-wrap{width:min(100% - 26px,1120px)}.dashboard{padding-top:28px}.status-banner{grid-template-columns:1fr}.status-banner>div{border-right:0;border-bottom:1px solid var(--line)}.dashboard-grid{grid-template-columns:1fr}.dashboard-head{align-items:flex-start;flex-direction:column;gap:15px}.panel{padding:18px}.panel.wide{grid-column:auto}.panel-title{align-items:flex-start;gap:12px}.table-wrap table{min-width:620px}}@media(max-width:460px){.portal-nav{height:58px;padding:0 14px}.portal-brand img{width:96px;height:34px}.login-layout{padding:32px 0}.login-heading h1{font-size:24px}.login-card{padding:20px}.back-link{font-size:12px}.status-banner>div{padding:17px}}

/* Blue fiber-network atmosphere */
body{
  position:relative;
  isolation:isolate;
  background:
    radial-gradient(circle at 18% 22%,rgba(0,153,255,.24),transparent 28rem),
    radial-gradient(circle at 82% 68%,rgba(30,104,255,.18),transparent 32rem),
    linear-gradient(135deg,#031426 0%,#06294a 52%,#03182d 100%);
  background-attachment:fixed;
}
body::before{
  content:"";
  position:fixed;
  z-index:-2;
  inset:0;
  pointer-events:none;
  opacity:.36;
  background-image:
    radial-gradient(circle,rgba(89,198,255,.95) 0 1.4px,transparent 1.8px),
    linear-gradient(30deg,transparent 49.55%,rgba(62,170,244,.24) 49.8% 50.2%,transparent 50.45%),
    linear-gradient(150deg,transparent 49.55%,rgba(62,170,244,.16) 49.8% 50.2%,transparent 50.45%);
  background-size:82px 82px,164px 142px,164px 142px;
  mask-image:linear-gradient(to bottom,black,rgba(0,0,0,.42));
}
body::after{
  content:"";
  position:fixed;
  z-index:-1;
  width:42vw;
  height:42vw;
  min-width:340px;
  min-height:340px;
  left:-15vw;
  bottom:-24vw;
  border-radius:50%;
  border:1px solid rgba(83,195,255,.18);
  box-shadow:0 0 90px rgba(0,136,255,.18),0 0 0 70px rgba(44,163,255,.025),0 0 0 140px rgba(44,163,255,.018);
  pointer-events:none;
}
.portal-nav{
  border-color:rgba(117,195,255,.16);
  background:rgba(3,17,32,.82);
  box-shadow:0 10px 32px rgba(0,0,0,.16);
  backdrop-filter:blur(18px);
}
.back-link{color:#65c7ff}
.login-heading .eyebrow{color:#67ccff}
.login-heading h1{color:#fff;text-shadow:0 5px 28px rgba(0,111,255,.22)}
.login-heading p{color:#afc8df}
.login-card{
  border-color:rgba(120,202,255,.28);
  box-shadow:0 28px 70px -34px rgba(0,111,255,.58),inset 0 1px rgba(255,255,255,.8);
}
.support-copy{color:#a9c1d7}
.support-copy a{color:#70ceff}
.dashboard-head h1{color:#fff}
.dashboard-head p{color:#b2c8dc}
.dashboard .panel,.dashboard .status-banner{box-shadow:0 18px 50px -34px rgba(0,90,180,.5)}
footer{
  border-color:rgba(117,195,255,.14);
  color:#8eabc4;
  background:rgba(3,17,32,.78);
  backdrop-filter:blur(14px);
}
@media (prefers-reduced-motion:no-preference){
  body::before{animation:network-drift 28s linear infinite}
  @keyframes network-drift{to{background-position:82px 82px,164px 142px,-164px 142px}}
}
@media(max-width:460px){
  body::before{opacity:.25;background-size:64px 64px,128px 110px,128px 110px}
}


/* Marketing hero video reused as the secure portal backdrop */
.portal-bg-video,
.portal-video-shade{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
}
.portal-bg-video{
  z-index:0;
  object-fit:cover;
  opacity:0;
  animation:portalVideoFade 1.35s ease-out .12s forwards;
}
.portal-video-shade{
  z-index:1;
  background:
    linear-gradient(180deg,rgba(2,10,21,.64),rgba(2,10,21,.76)),
    radial-gradient(circle at 50% 42%,rgba(0,126,255,.08),transparent 42%);
}
.portal-nav,
.portal-wrap,
body > footer{
  position:relative;
  z-index:3;
}
body::before,
body::after{z-index:2}
@keyframes portalVideoFade{
  from{opacity:0;transform:scale(1.025)}
  to{opacity:1;transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .portal-bg-video{opacity:1;animation:none}
}


/* Minimal portal chrome: floating return link, no header/footer bars */
.floating-back{
  position:fixed;
  z-index:5;
  top:22px;
  right:clamp(18px,3vw,42px);
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 15px;
  border:1px solid rgba(137,211,255,.24);
  border-radius:999px;
  color:#bfe9ff;
  background:rgba(3,17,32,.18);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.floating-back:hover{
  color:#fff;
  text-decoration:none;
  background:rgba(3,17,32,.34);
  border-color:rgba(137,211,255,.42);
}
.portal-wrap{min-height:100vh}
.login-layout{min-height:100vh;padding:78px 0 42px}
body > footer{display:none!important}
@media(max-width:460px){
  .floating-back{top:14px;right:14px;min-height:36px;padding:0 12px;font-size:11px}
  .login-layout{padding:70px 0 30px}
}


/* YouTube-only portal background */
body{
  background:#020a13!important;
  background-image:none!important;
}
body::before,
body::after,
.portal-bg-video,
.portal-video-shade{
  display:none!important;
  content:none!important;
  animation:none!important;
  background:none!important;
  box-shadow:none!important;
}
.portal-youtube-bg{
  position:fixed;
  z-index:0;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  background:#020a13;
}
.portal-youtube-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(2,10,19,.42);
  pointer-events:none;
}
.portal-youtube-bg iframe{
  position:absolute;
  top:50%;
  left:50%;
  width:max(100vw,177.78vh);
  height:max(56.25vw,100vh);
  border:0;
  transform:translate(-50%,-50%) scale(1.02);
  opacity:0;
  animation:youtubeBackgroundFade 1.35s ease-out .15s forwards;
}
.portal-wrap{position:relative;z-index:3}
@keyframes youtubeBackgroundFade{
  to{opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .portal-youtube-bg iframe{opacity:1;animation:none}
}


/* Reliable background fade and working request dialogs */
.portal-youtube-bg{opacity:0;transition:opacity 1.25s ease;background:#020a13}
.portal-youtube-bg.is-ready{opacity:1}
.portal-youtube-bg iframe{opacity:1!important;animation:none!important}
.portal-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100svh - 28px);padding:0;border:0;border-radius:18px;background:transparent;overflow:auto;box-shadow:0 30px 90px rgba(0,0,0,.42)}
.portal-dialog::backdrop{background:rgba(1,8,16,.66);backdrop-filter:blur(7px)}
.dialog-card{padding:24px;border:1px solid rgba(154,211,255,.32);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:inset 0 1px #fff}
.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.dialog-head h2{margin:6px 0 0;font-size:23px}
.dialog-card>p{margin:13px 0;color:var(--muted);font-size:13px;line-height:1.55}
.icon-close{width:38px;height:38px;border:0;border-radius:10px;color:#536477;background:#edf2f7;font-size:24px;cursor:pointer}
.request-summary{display:grid;gap:4px;margin:17px 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:#f5f8fc}
.request-summary strong{font-size:14px}
textarea,select{width:100%;margin-top:7px;border:1px solid #cfd7e2;border-radius:9px;color:var(--text);background:#fff;font:inherit;outline:none}
textarea{min-height:105px;padding:12px 13px;resize:vertical}
select{height:44px;padding:0 12px}
textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(21,121,233,.12)}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}
.dialog-actions .primary,.dialog-actions .secondary{width:auto;margin:0}
.primary.compact{padding-inline:18px}
.form-status{display:none;margin-top:14px;padding:10px 11px;border-radius:8px;font-size:12px}
.form-status.error{display:block;color:#a32635;background:#fff1f2;border:1px solid #f3c2c8}
.form-status.success{display:block;color:#126b4b;background:#ecfbf5;border:1px solid #bcebd8}
.ticket>span{align-self:center;padding:5px 8px;border-radius:999px;color:#126b4b;background:#e7f8f1;font-size:10px;font-weight:700}
@media(max-width:460px){.dialog-card{padding:19px}.dialog-head h2{font-size:20px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .primary,.dialog-actions .secondary{width:100%}}
