/* CloudVault // Gateway Theme
   Futuristic "another world" interface. No external assets required. */

:root{
  --void:#02040a;
  --void-2:#050815;
  --glass:rgba(9,14,29,.68);
  --glass-strong:rgba(10,16,34,.86);
  --line:rgba(159,224,255,.13);
  --line-hot:rgba(112,236,255,.42);
  --ice:#86f7ff;
  --aqua:#42dff5;
  --violet:#8d73ff;
  --magenta:#c866ff;
  --lime:#70ffbc;
  --danger:#ff6178;
  --world-text:#edfaff;
  --world-muted:#7891a9;
  --portal-shadow:0 30px 90px rgba(0,0,0,.48),0 0 80px rgba(62,198,255,.08);
}

/* ========================= AUTH GATEWAY ========================= */
body.gateway-auth{
  --accent:var(--brand-accent, #6c72ff);
  min-height:100vh;
  margin:0;
  overflow:hidden;
  color:var(--world-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 18% 14%,rgba(57,205,255,.13),transparent 24%),
    radial-gradient(circle at 82% 82%,rgba(138,86,255,.14),transparent 28%),
    linear-gradient(135deg,#02040a 0%,#050817 48%,#02040a 100%);
  padding:0;
  display:block;
}

.gateway-auth *{box-sizing:border-box}
.gateway-auth a{text-decoration:none}

.auth-cosmos,.realm-cosmos{
  position:fixed;
  inset:0;
  overflow:hidden;
  pointer-events:none;
}
.auth-cosmos{z-index:0}
.realm-cosmos{z-index:-1}

#authSpace,#spaceCanvas,#warpCanvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.cosmic-noise{
  position:absolute;
  inset:0;
  opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
  mix-blend-mode:soft-light;
}

.horizon-grid{
  position:absolute;
  left:-20vw;
  right:-20vw;
  bottom:-31vh;
  height:72vh;
  transform:perspective(620px) rotateX(66deg);
  transform-origin:center top;
  background-image:linear-gradient(rgba(91,220,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(91,220,255,.11) 1px,transparent 1px);
  background-size:62px 62px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 28%,#000 68%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,#000 28%,#000 68%,transparent 100%);
  animation:gridDrift 9s linear infinite;
  opacity:.55;
}
@keyframes gridDrift{to{background-position:0 62px,62px 0}}

.gateway-shell{
  position:relative;
  z-index:2;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);
  align-items:stretch;
}

.gateway-world{
  position:relative;
  min-height:100vh;
  padding:clamp(34px,5vw,74px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
}

.gateway-brand{
  display:flex;
  align-items:center;
  gap:13px;
  color:#cdefff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.gateway-brand-mark{
  width:38px;height:38px;border-radius:13px;position:relative;
  background:linear-gradient(145deg,rgba(100,246,255,.18),rgba(111,74,255,.2));
  border:1px solid rgba(116,235,255,.35);
  box-shadow:inset 0 0 22px rgba(89,229,255,.06),0 0 32px rgba(66,208,255,.08);
}
.gateway-brand-mark::before,.gateway-brand-mark::after{
  content:"";position:absolute;border-radius:50%;inset:8px;border:1px solid rgba(137,241,255,.48)
}
.gateway-brand-mark::after{inset:13px;background:var(--ice);box-shadow:0 0 18px var(--aqua);border:0}

.world-stage{
  position:relative;
  display:grid;
  grid-template-columns:minmax(280px,580px);
  align-content:center;
  min-height:62vh;
}

.world-orb-wrap{
  position:absolute;
  width:min(58vw,690px);
  aspect-ratio:1;
  left:50%;
  top:49%;
  transform:translate(-39%,-50%);
  opacity:.92;
  filter:drop-shadow(0 0 70px rgba(69,214,255,.16));
}
.world-orb{
  position:absolute;
  inset:16%;
  border-radius:50%;
  background:
    radial-gradient(circle at 34% 28%,rgba(207,252,255,.92) 0 1.6%,transparent 2.2%),
    radial-gradient(circle at 61% 42%,rgba(121,237,255,.52) 0 1%,transparent 1.7%),
    radial-gradient(circle at 40% 70%,rgba(112,181,255,.32) 0 1.4%,transparent 2%),
    radial-gradient(circle at 34% 30%,rgba(70,229,255,.26),transparent 15%),
    radial-gradient(circle at 50% 52%,#0b3551 0%,#07182f 48%,#050a18 73%);
  border:1px solid rgba(115,234,255,.32);
  box-shadow:inset -42px -34px 80px rgba(0,0,0,.62),inset 18px 12px 48px rgba(67,227,255,.15),0 0 80px rgba(52,206,255,.15);
  overflow:hidden;
  animation:worldBreathe 5s ease-in-out infinite;
}
.world-orb::before{
  content:"";position:absolute;inset:-15%;border-radius:45%;
  background:repeating-linear-gradient(90deg,transparent 0 23px,rgba(100,230,255,.13) 24px 25px),repeating-linear-gradient(0deg,transparent 0 23px,rgba(100,230,255,.08) 24px 25px);
  transform:rotate(18deg) scale(1.08);
  opacity:.6;
  animation:orbMap 18s linear infinite;
}
.world-orb::after{
  content:"";position:absolute;width:42%;height:180%;top:-40%;left:-30%;transform:rotate(22deg);
  background:linear-gradient(90deg,transparent,rgba(154,247,255,.18),transparent);
  animation:orbScan 6s ease-in-out infinite;
}
@keyframes worldBreathe{50%{transform:scale(1.018);box-shadow:inset -42px -34px 80px rgba(0,0,0,.62),inset 18px 12px 48px rgba(67,227,255,.2),0 0 110px rgba(52,206,255,.21)}}
@keyframes orbMap{to{transform:rotate(378deg) scale(1.08)}}
@keyframes orbScan{0%,20%{left:-45%}70%,100%{left:110%}}

.orbit-ring{
  position:absolute;border-radius:50%;border:1px solid rgba(109,228,255,.22);
  box-shadow:inset 0 0 32px rgba(80,215,255,.03)
}
.orbit-ring.r1{inset:5%;transform:rotateX(68deg) rotateZ(16deg);animation:orbitPulse 5s ease-in-out infinite}
.orbit-ring.r2{inset:0 11%;transform:rotateY(64deg) rotateZ(-30deg);border-style:dashed;animation:orbitSpin 14s linear infinite}
.orbit-ring.r3{inset:23% 1%;transform:rotateX(74deg) rotateZ(-48deg);border-color:rgba(158,103,255,.23);animation:orbitSpinReverse 19s linear infinite}
@keyframes orbitPulse{50%{opacity:.35;transform:rotateX(68deg) rotateZ(21deg) scale(1.04)}}
@keyframes orbitSpin{to{transform:rotateY(64deg) rotateZ(330deg)}}
@keyframes orbitSpinReverse{to{transform:rotateX(74deg) rotateZ(-408deg)}}

.world-copy{position:relative;z-index:4;max-width:630px;padding-top:8vh}
.world-kicker{
  display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid rgba(113,230,255,.2);border-radius:999px;
  color:#9eeeff;background:rgba(64,222,255,.055);backdrop-filter:blur(12px);font:600 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;text-transform:uppercase
}
.world-kicker i{width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 13px var(--lime);animation:nodePulse 1.8s ease-in-out infinite}
@keyframes nodePulse{50%{opacity:.35;box-shadow:0 0 4px var(--lime)}}
.world-copy h2{
  margin:22px 0 16px;max-width:620px;font-size:clamp(46px,6vw,92px);line-height:.91;letter-spacing:-.058em;font-weight:760;
  text-wrap:balance;
}
.world-copy h2 span{display:block;color:transparent;background:linear-gradient(95deg,#dffeff 0%,#75eaff 38%,#927cff 76%,#d27aff 100%);background-clip:text;-webkit-background-clip:text;text-shadow:0 0 50px rgba(83,218,255,.1)}
.world-copy p{max-width:540px;color:#7893aa;font-size:14px;line-height:1.75}
.world-telemetry{display:flex;gap:28px;flex-wrap:wrap;color:#59758b;font:500 10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}
.world-telemetry strong{display:block;color:#a6dceb;font-size:11px;font-weight:600;margin-top:3px}

.gateway-auth-panel{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(22px,4vw,54px);
  background:linear-gradient(90deg,transparent,rgba(2,5,14,.22) 12%,rgba(2,5,14,.52));
  border-left:1px solid rgba(148,226,255,.07);
  backdrop-filter:blur(3px);
}
.auth-card{
  width:min(100%,520px);
  position:relative;
  border:1px solid rgba(143,222,255,.14);
  border-radius:30px;
  padding:clamp(28px,4.1vw,46px);
  background:linear-gradient(145deg,rgba(13,20,39,.78),rgba(5,9,22,.84));
  box-shadow:var(--portal-shadow),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(28px) saturate(135%);
  overflow:hidden;
}
.auth-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,rgba(121,242,255,.46),transparent 28%,transparent 68%,rgba(155,98,255,.35));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none
}
.auth-card::after{content:"";position:absolute;top:-140px;right:-120px;width:300px;height:300px;border-radius:50%;background:rgba(72,222,255,.08);filter:blur(70px);pointer-events:none}
.auth-card.is-error{animation:authGlitch .38s ease}
@keyframes authGlitch{20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}

.auth-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px;color:#617c91;font:600 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}
.auth-channel{display:flex;align-items:center;gap:8px}.auth-channel::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime)}
.auth-step{padding:6px 8px;border:1px solid rgba(124,219,255,.12);border-radius:7px;background:rgba(116,228,255,.035)}
.auth-symbol{
  width:68px;height:68px;margin-bottom:24px;border-radius:22px;display:grid;place-items:center;position:relative;
  background:linear-gradient(145deg,rgba(88,231,255,.14),rgba(126,80,255,.18));border:1px solid rgba(116,232,255,.27);box-shadow:inset 0 0 26px rgba(91,224,255,.06),0 0 44px rgba(76,213,255,.09);font-size:0
}
.auth-symbol::before{content:"";width:19px;height:25px;border:2px solid #92f4ff;border-radius:7px;box-shadow:0 0 16px rgba(82,231,255,.42)}
.auth-symbol::after{content:"";position:absolute;width:8px;height:8px;border:2px solid #92f4ff;border-bottom:0;border-radius:8px 8px 0 0;top:15px}
.auth-card h1{margin:0;color:#f3fbff;text-align:left;font-size:clamp(28px,3.4vw,42px);line-height:1.04;letter-spacing:-.038em;font-weight:730}
.auth-card .sub{margin:11px 0 30px;text-align:left;color:#71899e;font-size:13px;line-height:1.65}
.auth-card label{display:block;margin:18px 0 7px;color:#7d98ad;font-size:11px;font-weight:650;letter-spacing:.025em}
.auth-card input:not(.otp-digit){
  width:100%;height:50px;padding:0 15px;color:#eafdff;font-size:14px;outline:none;border:1px solid rgba(127,207,239,.14);border-radius:13px;
  background:rgba(3,8,20,.66);box-shadow:inset 0 0 18px rgba(0,0,0,.16);transition:.22s ease
}
.auth-card input:not(.otp-digit):focus{border-color:rgba(101,232,255,.52);box-shadow:0 0 0 3px rgba(73,218,255,.05),0 0 28px rgba(60,202,255,.07);background:rgba(7,15,31,.78)}
.auth-card .btn{
  min-height:50px;width:100%;margin-top:12px;border-radius:13px;border:1px solid transparent;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;font-size:12px;font-weight:720;letter-spacing:.04em;transition:.22s ease;position:relative;overflow:hidden
}
.auth-card .btn::after{content:"";position:absolute;top:-80%;left:-30%;width:24%;height:260%;transform:rotate(23deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transition:left .65s ease}
.auth-card .btn:hover::after{left:115%}
.auth-card .btn-primary{color:#031018;background:linear-gradient(100deg,#80f7ff,#59d9ff 42%,#9b8aff 100%);box-shadow:0 14px 34px rgba(56,207,255,.15),inset 0 1px 0 rgba(255,255,255,.6)}
.auth-card .btn-primary:hover{filter:none;transform:translateY(-2px);box-shadow:0 19px 42px rgba(56,207,255,.2)}
.auth-card .btn-passkey,.auth-card .btn-ghost{color:#b7cddd;background:rgba(13,22,39,.62);border-color:rgba(128,203,232,.14)}
.auth-card .btn-passkey:hover,.auth-card .btn-ghost:hover{border-color:rgba(99,232,255,.35);background:rgba(49,196,230,.055);color:#e8fcff}
.auth-card .divider{display:flex;align-items:center;gap:12px;margin:18px 0}.auth-card .divider::before,.auth-card .divider::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(128,209,239,.15),transparent)}.auth-card .divider span{color:#526c80;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.auth-card .links{display:flex;justify-content:space-between;margin-top:22px;font-size:12px}.auth-card .links a{color:#72dff3}.auth-card .links a:hover{color:#b4f8ff}
.auth-card .msg{padding:11px 13px;margin:0 0 18px;border-radius:11px;font-size:12px;line-height:1.5}.auth-card .msg.err{color:#ff93a3;background:rgba(255,73,104,.07);border:1px solid rgba(255,90,116,.22)}.auth-card .msg.ok{color:#8affc7;background:rgba(78,255,166,.07);border:1px solid rgba(88,255,174,.22)}
#passkeyStatus{font-size:11px!important;color:#6e879a!important;min-height:17px!important;margin-top:9px!important}

/* OTP = gateway coordinates */
.otp-wrap{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px!important;margin:25px 0 12px!important;position:relative}
.otp-wrap::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:1px;background:rgba(137,218,240,.28);transform:translate(-50%,-50%)}
.otp-wrap .otp-digit{
  width:100%!important;height:66px!important;padding:0!important;margin:0!important;border-radius:15px!important;text-align:center;font:700 25px/1 ui-monospace,SFMono-Regular,Menlo,monospace!important;
  color:#bffaff!important;background:rgba(2,9,22,.72)!important;border:1px solid rgba(126,213,240,.14)!important;outline:none;caret-color:var(--ice);box-shadow:inset 0 0 20px rgba(0,0,0,.2);transition:.22s cubic-bezier(.2,.7,.2,1)
}
.otp-wrap .otp-digit:focus{transform:translateY(-4px);border-color:rgba(105,238,255,.7)!important;background:rgba(13,48,63,.34)!important;box-shadow:0 10px 30px rgba(52,213,255,.09),0 0 0 3px rgba(72,216,255,.045);text-shadow:0 0 12px rgba(108,241,255,.55)}
.otp-wrap .otp-digit.filled{border-color:rgba(109,237,255,.38)!important;text-shadow:0 0 13px rgba(108,241,255,.52)}
.auth-card.transmitting .otp-wrap{animation:otpCharge .85s ease-in-out infinite alternate}.auth-card.transmitting .otp-digit{border-color:rgba(105,239,255,.5)!important;box-shadow:0 0 24px rgba(67,218,255,.1)}
@keyframes otpCharge{to{filter:brightness(1.22);transform:scale(1.012)}}
.backup-link{display:block;margin-top:17px;color:#5f7d91!important;text-align:center;font-size:11px!important;text-decoration:none!important;cursor:pointer}.backup-link:hover{color:#9fefff!important}
#backupInput{display:none;margin-top:13px}

.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid rgba(132,213,241,.08);color:#4e6a7e;font:600 9px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}
.auth-footer span:first-child{display:flex;align-items:center;gap:7px}.auth-footer i{width:5px;height:5px;border-radius:50%;background:var(--lime);box-shadow:0 0 9px var(--lime)}

@media(max-width:980px){
  body.gateway-auth{overflow:auto}
  .gateway-shell{grid-template-columns:1fr;min-height:100vh}
  .gateway-world{position:absolute;inset:0;min-height:100vh;padding:28px;pointer-events:none;opacity:.58}
  .world-stage{min-height:100%}.world-copy,.world-telemetry{display:none}.world-orb-wrap{width:780px;left:48%;top:30%;opacity:.3}
  .gateway-brand{opacity:.7}.gateway-auth-panel{z-index:3;border:0;min-height:100vh;background:linear-gradient(rgba(2,5,14,.28),rgba(2,5,14,.66));padding:22px}
  .auth-card{max-width:520px}
}
@media(max-width:560px){
  .gateway-auth-panel{align-items:center;padding:14px}.auth-card{padding:25px 18px;border-radius:23px}.auth-topline{margin-bottom:26px}.otp-wrap{gap:5px!important}.otp-wrap .otp-digit{height:56px!important;border-radius:11px!important;font-size:21px!important}.auth-footer{font-size:8px}.gateway-brand{font-size:10px}
}

/* ========================= DASHBOARD REALM ========================= */
body.portal-dashboard{
  --bg:#030711;
  --sidebar:rgba(6,11,24,.78);
  --card:rgba(11,18,34,.68);
  --card2:rgba(17,27,47,.8);
  --border:rgba(130,205,234,.11);
  --accent:#6be9ff;
  --text:#e9f8ff;
  --muted:#69859b;
  --green:#64f4b2;
  --yellow:#f7cd70;
  background:
    radial-gradient(circle at 28% -8%,rgba(48,184,255,.12),transparent 30%),
    radial-gradient(circle at 90% 75%,rgba(121,77,255,.12),transparent 31%),
    linear-gradient(145deg,#030711,#060a16 46%,#03060d);
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.portal-dashboard::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;background-image:linear-gradient(rgba(255,255,255,.013) 1px,transparent 1px);background-size:100% 4px;opacity:.23;mix-blend-mode:screen}

.portal-dashboard .sidebar{
  margin:14px 0 14px 14px;
  height:calc(100vh - 28px);
  width:246px;
  border:1px solid rgba(137,211,239,.11);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(8,15,31,.84),rgba(4,9,21,.77));
  box-shadow:0 24px 80px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(24px) saturate(135%);
  overflow:hidden;
}
.portal-dashboard .sidebar::before{content:"";position:absolute;inset:-120px auto auto -110px;width:260px;height:260px;border-radius:50%;background:rgba(54,210,255,.07);filter:blur(60px);pointer-events:none}
.portal-dashboard .sidebar-logo{padding:20px 18px 16px;border-bottom:1px solid rgba(130,205,234,.08)}
.portal-dashboard .sidebar-logo .icon{width:39px;height:39px;border-radius:13px;font-size:0;position:relative;background:linear-gradient(145deg,rgba(70,229,255,.12),rgba(130,83,255,.16));border:1px solid rgba(108,226,255,.24);box-shadow:inset 0 0 18px rgba(54,221,255,.04)}
.portal-dashboard .sidebar-logo .icon::before{content:"";position:absolute;inset:10px;border:1px solid #7eeeff;border-radius:50%;box-shadow:0 0 15px rgba(77,226,255,.32)}
.portal-dashboard .sidebar-logo .icon::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#a4f8ff;top:17px;left:17px;box-shadow:0 0 12px #5be8ff}
.portal-dashboard .sidebar-logo .name{font-size:15px;letter-spacing:-.01em;color:#effcff}.portal-dashboard .sidebar-logo .ver{color:#4d6d82;font:600 9px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.portal-dashboard nav{padding:13px 10px}.portal-dashboard .nav-section{font-size:9px;color:#49677d;letter-spacing:.14em;padding:13px 10px 7px}
.portal-dashboard .nav-item{min-height:42px;padding:10px;border-radius:11px;color:#6e899c;font-size:12px;gap:10px;border:1px solid transparent;position:relative}
.portal-dashboard .nav-item:hover{background:rgba(78,216,255,.045);color:#c7eef7;border-color:rgba(104,223,255,.08)}
.portal-dashboard .nav-item.active{background:linear-gradient(90deg,rgba(65,220,255,.1),rgba(110,89,255,.05));color:#a8f5ff;border-color:rgba(96,224,255,.13);box-shadow:inset 3px 0 0 rgba(99,236,255,.7)}
.portal-dashboard .nav-item .icon{font-size:14px;filter:saturate(.72)}
.portal-dashboard .nav-item .badge{background:rgba(72,225,255,.14);color:#9af4ff;border:1px solid rgba(91,230,255,.18)}
.portal-dashboard .sidebar-user{padding:13px;border-top:1px solid rgba(130,205,234,.08)}
.portal-dashboard .user-card{background:rgba(11,22,39,.58);border:1px solid rgba(124,209,237,.08);border-radius:13px;padding:9px}
.portal-dashboard .user-avatar{background:linear-gradient(145deg,#63e7f7,#8070ef);color:#041015;box-shadow:0 0 20px rgba(82,219,243,.12)}
.portal-dashboard .user-name{font-size:12px}.portal-dashboard .user-role{color:#55738a;font-size:9px;letter-spacing:.06em}
.portal-dashboard .quota-bar{background:rgba(115,187,215,.08);height:3px}.portal-dashboard .quota-fill{box-shadow:0 0 10px rgba(88,225,255,.26)}

.portal-dashboard .main{margin-left:274px;position:relative;z-index:2}
.portal-dashboard .topbar{
  height:72px;margin:14px 14px 0 0;padding:0 18px;border:1px solid rgba(132,208,236,.09);border-radius:19px;
  background:rgba(5,11,24,.62);box-shadow:0 16px 50px rgba(0,0,0,.16);backdrop-filter:blur(22px) saturate(130%);top:14px
}
.portal-dashboard .search-wrap{max-width:560px}.portal-dashboard .search-wrap input{height:42px;background:rgba(6,14,29,.62);border:1px solid rgba(125,205,235,.1);border-radius:12px;color:#dff8ff;font-size:12px;padding-left:40px}.portal-dashboard .search-wrap input:focus{border-color:rgba(95,230,255,.38);box-shadow:0 0 0 3px rgba(72,219,255,.035)}.portal-dashboard .search-wrap .si{filter:grayscale(1);opacity:.6}
.portal-dashboard .btn{border-radius:10px;font-size:11px;letter-spacing:.015em}.portal-dashboard .btn-primary{color:#041015;background:linear-gradient(100deg,#76effb,#69dfff 48%,#8e84ff);box-shadow:0 9px 24px rgba(67,218,255,.1)}.portal-dashboard .btn-ghost,.portal-dashboard .icon-btn{background:rgba(12,22,40,.64);border:1px solid rgba(130,205,234,.1);color:#9db8ca}.portal-dashboard .btn-ghost:hover,.portal-dashboard .icon-btn:hover{background:rgba(30,54,75,.54);border-color:rgba(105,228,255,.2)}
.realm-chip{display:flex;align-items:center;gap:9px;min-width:max-content;padding:7px 10px;border:1px solid rgba(98,225,255,.11);border-radius:10px;background:rgba(62,205,255,.035);font:600 9px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;color:#55788d;letter-spacing:.07em;text-transform:uppercase}.realm-chip i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.realm-chip strong{display:block;color:#9beeff;font-size:9px;margin-top:2px}

.portal-dashboard .content{padding:36px 28px 42px}.portal-dashboard .page-header{margin-bottom:22px}.portal-dashboard .page-title{font-size:27px;letter-spacing:-.035em;color:#f1fbff}.portal-dashboard .breadcrumb{font-size:11px;color:#55748a}.portal-dashboard .breadcrumb a{color:#78ddec}
.portal-dashboard .stats-row{gap:12px;margin-bottom:24px}.portal-dashboard .stat-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(12,23,42,.66),rgba(7,14,29,.63));border:1px solid rgba(125,207,237,.1);border-radius:16px;padding:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)}.portal-dashboard .stat-card::after{content:"";position:absolute;right:-28px;bottom:-42px;width:100px;height:100px;border-radius:50%;background:rgba(56,211,255,.05);filter:blur(18px)}.portal-dashboard .stat-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#526f84}.portal-dashboard .stat-value{font-size:25px;letter-spacing:-.04em}.portal-dashboard .stat-sub{font-size:10px;color:#557185}
.portal-dashboard .upload-zone{padding:30px;border:1px dashed rgba(116,215,241,.18);border-radius:17px;background:linear-gradient(145deg,rgba(52,210,255,.025),rgba(111,82,255,.025));}.portal-dashboard .upload-zone:hover,.portal-dashboard .upload-zone.dragover{border-color:rgba(93,235,255,.5);background:rgba(70,216,255,.04);box-shadow:inset 0 0 40px rgba(70,216,255,.025)}.portal-dashboard .upload-zone .icon{filter:saturate(.7);font-size:34px}.portal-dashboard .upload-zone h3{font-size:14px}.portal-dashboard .upload-zone p{font-size:11px}
.portal-dashboard .view-btn,.portal-dashboard .sort-select{background:rgba(10,20,37,.62);border:1px solid rgba(128,204,233,.09);color:#6f8ca0}.portal-dashboard .view-btn.active{background:rgba(76,224,255,.11);color:#a9f6ff;border-color:rgba(96,231,255,.28)}

.portal-dashboard .file-grid{grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:12px}.portal-dashboard .file-card,.portal-dashboard .folder-card{border-radius:16px;background:linear-gradient(145deg,rgba(11,21,39,.72),rgba(6,13,28,.7));border:1px solid rgba(126,207,236,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.015);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease}.portal-dashboard .file-card::before,.portal-dashboard .folder-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(125deg,rgba(103,238,255,.06),transparent 30%,transparent 75%,rgba(132,89,255,.045));opacity:0;transition:.2s}.portal-dashboard .file-card:hover::before,.portal-dashboard .folder-card:hover::before{opacity:1}.portal-dashboard .file-card:hover,.portal-dashboard .folder-card:hover{transform:translateY(-4px);border-color:rgba(101,229,255,.27);box-shadow:0 15px 34px rgba(0,0,0,.2),0 0 30px rgba(67,212,255,.035)}.portal-dashboard .folder-card{background:linear-gradient(145deg,rgba(39,72,99,.19),rgba(72,49,118,.12));border-color:rgba(109,220,255,.13)}.portal-dashboard .file-icon,.portal-dashboard .folder-card .icon{filter:saturate(.68) drop-shadow(0 0 13px rgba(91,220,255,.1))}.portal-dashboard .file-name,.portal-dashboard .folder-card .name{color:#dff5fb;font-size:12px}.portal-dashboard .file-meta,.portal-dashboard .folder-card .count{color:#587389;font-size:9px}.portal-dashboard .file-actions button{background:rgba(10,20,37,.68);border-color:rgba(125,202,232,.08);color:#627f93}.portal-dashboard .file-actions button:hover{color:#a9f0fb;border-color:rgba(99,227,255,.22)}
.portal-dashboard .file-row{background:rgba(10,19,35,.65);border:1px solid transparent;border-radius:11px}.portal-dashboard .file-row:hover{background:rgba(17,31,52,.75);border-color:rgba(112,216,242,.08)}
.portal-dashboard .modal-overlay{background:rgba(0,3,10,.78);backdrop-filter:blur(12px)}.portal-dashboard .modal{background:linear-gradient(145deg,rgba(12,22,40,.95),rgba(5,11,24,.96));border-color:rgba(128,211,240,.13);border-radius:22px;box-shadow:0 30px 100px rgba(0,0,0,.48)}.portal-dashboard .modal-close,.portal-dashboard .form-group input,.portal-dashboard .form-group select,.portal-dashboard .form-group textarea,.portal-dashboard .folder-picker,.portal-dashboard .ai-input-row input{background:rgba(4,11,24,.75);border-color:rgba(127,205,235,.11)}
.portal-dashboard #toast{background:rgba(8,17,32,.92);border-color:rgba(126,206,236,.13);backdrop-filter:blur(18px);color:#cceaf4}
.portal-dashboard .ai-panel{background:linear-gradient(135deg,rgba(48,211,255,.04),rgba(128,84,255,.045));border-color:rgba(105,220,255,.13)}

/* Entry portal after a verified login */
.realm-entry{
  position:fixed;inset:0;z-index:10000;display:grid;place-items:center;overflow:hidden;background:#010309;opacity:1;visibility:visible;transition:opacity .75s ease,visibility .75s ease
}
.realm-entry.done{opacity:0;visibility:hidden;pointer-events:none}
.entry-vignette{position:absolute;inset:0;background:radial-gradient(circle at center,transparent 0 16%,rgba(1,4,11,.2) 35%,rgba(1,3,8,.82) 76%,#010206 100%);z-index:3;pointer-events:none}
.entry-flash{position:absolute;inset:0;background:radial-gradient(circle,#eaffff 0%,rgba(104,238,255,.78) 7%,rgba(90,112,255,.26) 26%,transparent 58%);opacity:0;z-index:6;pointer-events:none}
.realm-entry.open .entry-flash{animation:entryFlash 1.1s 1.7s ease forwards}@keyframes entryFlash{0%{opacity:0}35%{opacity:.85}100%{opacity:0}}
.entry-portal{position:relative;z-index:5;width:min(45vw,430px);aspect-ratio:1;display:grid;place-items:center;transform:scale(.18);opacity:0;filter:drop-shadow(0 0 55px rgba(83,226,255,.35))}.realm-entry.open .entry-portal{animation:portalOpen 2.15s cubic-bezier(.16,.78,.2,1) forwards}@keyframes portalOpen{0%{opacity:0;transform:scale(.1) rotate(-18deg)}28%{opacity:1;transform:scale(.45) rotate(3deg)}72%{transform:scale(1) rotate(0)}100%{opacity:1;transform:scale(3.6);filter:drop-shadow(0 0 100px rgba(173,249,255,.7)) brightness(1.8)}}
.entry-ring{position:absolute;border-radius:50%;border:1px solid rgba(128,239,255,.34)}.entry-ring.a{inset:0;border-top:3px solid #87f5ff;animation:ringA 2.5s linear infinite}.entry-ring.b{inset:10%;border-style:dashed;border-color:rgba(153,115,255,.55);animation:ringB 3.7s linear infinite}.entry-ring.c{inset:22%;border:1px solid rgba(132,235,255,.26);box-shadow:inset 0 0 80px rgba(62,224,255,.14),0 0 50px rgba(72,211,255,.12);animation:ringC 1.8s ease-in-out infinite}.entry-core{position:absolute;inset:30%;border-radius:50%;background:radial-gradient(circle,#efffff 0 2%,#8cf2ff 4%,#345bda 28%,#10182d 57%,#030813 75%);box-shadow:0 0 70px rgba(73,224,255,.35),inset 0 0 45px rgba(189,249,255,.25)}
@keyframes ringA{to{transform:rotate(360deg)}}@keyframes ringB{to{transform:rotate(-360deg)}}@keyframes ringC{50%{transform:scale(1.08);opacity:.5}}
.entry-copy{position:absolute;z-index:7;left:50%;bottom:12vh;transform:translateX(-50%);width:min(90vw,620px);text-align:center;transition:opacity .3s ease}.realm-entry.open .entry-copy{animation:entryCopy 2.05s ease forwards}@keyframes entryCopy{0%{opacity:0;transform:translate(-50%,14px)}25%,66%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-12px)}}
.entry-copy .micro{color:#72eafb;font:700 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.22em;text-transform:uppercase}.entry-copy h2{margin:12px 0 10px;color:#f2feff;font-size:clamp(31px,5vw,58px);line-height:.95;letter-spacing:-.045em}.entry-copy p{color:#6f8da2;font-size:12px;letter-spacing:.02em}.entry-progress{width:min(320px,72vw);height:2px;margin:21px auto 0;background:rgba(113,210,239,.1);overflow:hidden}.entry-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#72f1ff,#8c7cff);box-shadow:0 0 12px #71eaff}.realm-entry.open .entry-progress span{animation:entryProgress 2s ease-in-out forwards}@keyframes entryProgress{0%{width:0}55%{width:67%}100%{width:100%}}

body.portal-dashboard.entry-pending .sidebar,body.portal-dashboard.entry-pending .main{opacity:0;transform:scale(1.02);filter:blur(10px)}body.portal-dashboard.realm-ready .sidebar,body.portal-dashboard.realm-ready .main{animation:realmReveal .8s ease both}@keyframes realmReveal{from{opacity:0;transform:scale(1.015);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}

@media(max-width:768px){
  .portal-dashboard .sidebar{margin:10px 0 10px 10px;height:calc(100vh - 20px);transform:translateX(calc(-100% - 20px))}.portal-dashboard .sidebar.open{transform:translateX(0)}.portal-dashboard .main{margin-left:0}.portal-dashboard .topbar{margin:10px 10px 0;top:10px}.realm-chip{display:none}.portal-dashboard .content{padding:28px 14px}.portal-dashboard .file-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:9px}
}

@media(prefers-reduced-motion:reduce){
  .gateway-auth *, .portal-dashboard *{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.realm-entry{transition:none}.realm-entry .entry-portal{transform:scale(1)!important;opacity:1!important}
}

/* ========================= SECONDARY PAGES ========================= */
body.portal-subpage,body.portal-share{
  --bg:#030711;--card:rgba(11,18,34,.72);--card2:rgba(17,27,47,.78);--border:rgba(130,205,234,.11);--accent:#6be9ff;--text:#e9f8ff;--muted:#69859b;--green:#64f4b2;--red:#ff6178;--yellow:#f7cd70;
  color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:radial-gradient(circle at 20% -10%,rgba(48,184,255,.12),transparent 30%),radial-gradient(circle at 90% 80%,rgba(121,77,255,.12),transparent 30%),linear-gradient(145deg,#030711,#060a16 50%,#03060d);
  position:relative;
}
.portal-subpage>.realm-cosmos,.portal-share>.realm-cosmos{z-index:0}.portal-subpage>*:not(.realm-cosmos),.portal-share>*:not(.realm-cosmos){position:relative;z-index:1}
.portal-subpage .card,.portal-share .card,.portal-subpage .stat{
  background:linear-gradient(145deg,rgba(12,23,42,.72),rgba(6,13,28,.72));border-color:rgba(125,207,237,.1);box-shadow:0 18px 55px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.018);backdrop-filter:blur(16px);border-radius:17px
}
.portal-subpage input,.portal-subpage select,.portal-subpage textarea,.portal-share input{background:rgba(4,11,24,.72)!important;border-color:rgba(127,205,235,.11)!important;color:#e7faff!important}.portal-subpage input:focus,.portal-subpage select:focus,.portal-share input:focus{border-color:rgba(96,231,255,.42)!important;box-shadow:0 0 0 3px rgba(72,219,255,.035)}
.portal-subpage .btn-primary,.portal-share .btn{color:#041015!important;background:linear-gradient(100deg,#76effb,#69dfff 48%,#8e84ff)!important;box-shadow:0 9px 24px rgba(67,218,255,.1)}.portal-subpage .btn-ghost{background:rgba(12,22,40,.7);border-color:rgba(130,205,234,.1);color:#9db8ca}
.portal-subpage .tabs{background:rgba(6,14,29,.7);border-color:rgba(125,205,235,.1);backdrop-filter:blur(16px)}.portal-subpage .tab.active{color:#041015;background:linear-gradient(100deg,#76effb,#78ddff,#9385ff)}
.portal-subpage .passkey-item,.portal-subpage .dl-item,.portal-subpage .chip{background:rgba(12,22,40,.66);border-color:rgba(128,206,235,.09)}
.portal-subpage .sidebar{margin:14px 0 14px 14px;height:calc(100vh - 28px);border:1px solid rgba(137,211,239,.11);border-radius:22px;background:linear-gradient(180deg,rgba(8,15,31,.9),rgba(4,9,21,.84));box-shadow:0 24px 80px rgba(0,0,0,.28);backdrop-filter:blur(22px)}
.portal-subpage .sidebar .logo{color:#a4f7ff}.portal-subpage .sidebar .nav-item{color:#6e899c;border:1px solid transparent}.portal-subpage .sidebar .nav-item:hover,.portal-subpage .sidebar .nav-item.active{background:rgba(65,220,255,.07);border-color:rgba(96,224,255,.1);color:#a8f5ff}.portal-subpage .main{margin-left:270px}.portal-subpage h1{letter-spacing:-.035em;color:#f1fbff}.portal-subpage h2{color:#dff6fc}
.portal-subpage .table th{color:#58758a;border-color:rgba(127,203,232,.09)}.portal-subpage .table td{border-color:rgba(127,203,232,.06)}
.portal-share{display:flex;align-items:center;justify-content:center;padding:20px;min-height:100vh}.portal-share .card{max-width:500px!important;border-radius:27px!important}.portal-share .icon{filter:saturate(.72) drop-shadow(0 0 20px rgba(91,220,255,.12))}.portal-share .meta,.portal-share .info-label{color:#69859b}.portal-share .info-row{border-color:rgba(127,203,232,.08)}
@media(max-width:760px){.portal-subpage .sidebar{margin:0;border-radius:0}.portal-subpage .main{margin-left:0}.portal-subpage{padding-left:0!important;padding-right:0!important}.portal-subpage>.container{padding:0 14px}.portal-share .card{padding:28px 20px!important}}
