:root{
  --opensto-bg:#02163d;
  --opensto-bg-2:#00102d;
  --opensto-line:rgba(74,158,255,.16);
  --opensto-text:#f4f8ff;
  --opensto-muted:#7f96bd;
  --opensto-cyan:#2ddcff;
  --opensto-blue:#3a83ff;
  --opensto-input:rgba(3,25,67,.72);
  --opensto-border:rgba(75,155,255,.20);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#00102d}
body.mrs-auth-body{font-family:'Inter','Poppins',Arial,sans-serif;color:var(--opensto-text);overflow-x:hidden}
button,input{font:inherit}
a{color:inherit}
.mrs-auth-shell{min-height:100vh}

.opensto-auth-page{
  min-height:100vh;
  position:relative;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:26px 18px;
  background:
    radial-gradient(circle at 16% 4%, rgba(39,205,255,.11), transparent 23%),
    radial-gradient(circle at 90% 18%, rgba(39,119,255,.11), transparent 28%),
    linear-gradient(180deg,#062654 0%,#031944 42%,#001436 72%,#00102d 100%);
}
.opensto-auth-page::before{
  content:"";
  position:absolute;inset:0;
  background:
    linear-gradient(145deg,transparent 0 62%,rgba(0,206,255,.045) 63% 63.6%,transparent 64%),
    linear-gradient(25deg,transparent 0 74%,rgba(0,206,255,.035) 75% 75.5%,transparent 76%);
  pointer-events:none;
}
.opensto-grid{
  position:absolute;inset:0;opacity:.26;pointer-events:none;
  background-image:
    linear-gradient(rgba(83,158,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(83,158,255,.07) 1px,transparent 1px);
  background-size:40px 40px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.25),transparent 48%,rgba(0,0,0,.16));
}
.opensto-glow{position:absolute;border-radius:999px;filter:blur(80px);pointer-events:none}
.opensto-glow-a{width:260px;height:260px;background:rgba(0,213,255,.12);left:-90px;top:12%}
.opensto-glow-b{width:310px;height:310px;background:rgba(48,91,255,.13);right:-120px;bottom:1%}

.opensto-panel{
  width:min(100%,423px);
  min-height:674px;
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  padding:46px 39px 34px;
  border:1px solid rgba(44,149,255,.08);
  border-radius:0;
  background:
    radial-gradient(circle at 50% 100%,rgba(0,176,255,.11),transparent 27%),
    linear-gradient(180deg,rgba(4,29,72,.30),rgba(0,18,54,.18));
  box-shadow:0 28px 80px rgba(0,8,32,.34),inset 0 0 90px rgba(20,112,255,.025);
  backdrop-filter:blur(2px);
}
.opensto-brand{text-align:center;min-height:126px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.opensto-logo{display:block;width:150px;max-height:128px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(0,221,255,.16))}
.opensto-heading{margin-bottom:28px}
.opensto-heading h1{margin:0 0 8px;font-size:21px;line-height:1.25;font-weight:700;letter-spacing:-.02em}
.opensto-heading p{margin:0;color:var(--opensto-muted);font-size:11px;line-height:1.5}
.opensto-form{display:flex;flex-direction:column;gap:19px;position:relative;z-index:2}
.opensto-input-row{
  min-height:52px;
  display:flex;align-items:center;
  position:relative;
  background:var(--opensto-input);
  border:1px solid var(--opensto-border);
  border-radius:8px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 7px 20px rgba(0,7,28,.16);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.opensto-input-row:focus-within{border-color:rgba(45,220,255,.62);box-shadow:0 0 0 3px rgba(45,220,255,.07),0 9px 25px rgba(0,7,28,.18);background:rgba(3,30,77,.84)}
.opensto-input-icon{width:46px;display:grid;place-items:center;flex:0 0 46px;color:#23d7ff}
.opensto-input-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.opensto-input-row input{
  width:100%;height:50px;min-width:0;border:0;outline:0;background:transparent;color:#f5f9ff;
  padding:0 42px 0 0;font-size:13px;font-weight:500;
}
.opensto-input-row input::placeholder{color:#7c90b6;opacity:.88}
.opensto-eye{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:transparent;color:#617da9;display:grid;place-items:center;cursor:pointer;padding:0}
.opensto-eye svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.opensto-eye .mrs-eye-closed{display:none}.opensto-eye.is-visible .mrs-eye-open{display:none}.opensto-eye.is-visible .mrs-eye-closed{display:block}
.mrs-verified-mark{display:none;position:absolute;right:12px;color:#40e6bd}.mrs-field-verified .mrs-verified-mark{display:grid}.mrs-verified-mark svg{width:20px;height:20px;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mrs-field-verified input{padding-right:42px}

.opensto-actions{display:flex;align-items:center;justify-content:space-between;min-height:24px;margin-top:-4px;font-size:10px;color:#8599bb}
.opensto-actions a{color:#26dfff;text-decoration:none;font-weight:700;letter-spacing:.03em}
.opensto-actions a:hover{color:#74eaff}
.opensto-remember{display:flex;align-items:center;gap:7px;cursor:pointer}.opensto-remember input{accent-color:#28cff7;width:13px;height:13px;margin:0}
.opensto-primary{
  width:100%;height:50px;border:0;border-radius:8px;cursor:pointer;color:white;font-size:16px;font-weight:700;
  background:linear-gradient(90deg,#31d8f7 0%,#39aefc 45%,#3c7eff 100%);
  box-shadow:0 10px 24px rgba(24,116,255,.24),inset 0 1px 0 rgba(255,255,255,.24);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.opensto-primary:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 13px 28px rgba(24,116,255,.31)}
.opensto-primary:active{transform:translateY(0)}.opensto-primary:disabled{opacity:.68;cursor:not-allowed;transform:none}
.opensto-forgot{display:block;text-align:center;margin-top:-6px;font-size:10px;color:#6f89b5;text-decoration:none}.opensto-forgot:hover{color:#2ddcff}
.opensto-watermark{position:absolute;left:50%;bottom:-35px;transform:translateX(-50%);width:300px;height:240px;display:grid;place-items:center;opacity:.055;filter:saturate(.6);pointer-events:none;overflow:hidden}
.opensto-watermark img{width:280px;max-height:250px;object-fit:contain}

.opensto-register-panel{min-height:674px;padding-top:30px;padding-bottom:28px}
.opensto-register-panel .opensto-brand{min-height:92px;margin-bottom:14px}
.opensto-register-panel .opensto-logo{width:120px;max-height:96px}
.opensto-register-panel .opensto-heading{margin-bottom:20px}
.opensto-register-panel .opensto-form{gap:14px}
.opensto-register-panel .opensto-input-row{min-height:48px}
.opensto-register-panel .opensto-input-row input{height:46px}
.opensto-register-actions{margin-top:0}

.mrs-toast{position:fixed;z-index:1000;left:50%;bottom:26px;transform:translate(-50%,18px);width:min(calc(100% - 30px),390px);padding:12px 15px;border-radius:10px;font-size:12px;font-weight:600;text-align:center;opacity:0;visibility:hidden;transition:.22s ease;box-shadow:0 18px 50px rgba(0,0,0,.35);backdrop-filter:blur(14px)}
.mrs-toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mrs-toast.error{background:rgba(86,17,35,.94);border:1px solid rgba(255,83,124,.35);color:#ffd8e0}.mrs-toast.success{background:rgba(8,71,61,.94);border:1px solid rgba(58,232,184,.35);color:#d8fff3}

.mrs-page-loader{position:fixed;z-index:2000;inset:0;background:#02163d;display:grid;place-items:center;align-content:center;gap:14px;color:#ddecff;font-size:10px;letter-spacing:.12em;transition:opacity .25s ease,visibility .25s ease}
.mrs-page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.mrs-loader-ring{width:36px;height:36px;border-radius:50%;border:2px solid rgba(45,220,255,.18);border-top-color:#2ddcff;animation:mrsSpin .8s linear infinite}@keyframes mrsSpin{to{transform:rotate(360deg)}}

@media (max-width:520px){
  .opensto-auth-page{padding:0;background:linear-gradient(180deg,#062654 0%,#031944 42%,#001436 72%,#00102d 100%)}
  .opensto-panel{width:100%;min-height:100dvh;border:0;padding:38px 40px 30px;box-shadow:none}
  .opensto-brand{min-height:112px;margin-bottom:18px}.opensto-logo{width:145px;max-height:112px}
  .opensto-heading h1{font-size:20px}.opensto-heading{margin-bottom:27px}
  .opensto-register-panel{padding-top:24px;padding-bottom:24px}.opensto-register-panel .opensto-brand{min-height:78px;margin-bottom:10px}.opensto-register-panel .opensto-logo{width:112px;max-height:82px}
}
@media (max-width:380px){.opensto-panel{padding-left:28px;padding-right:28px}.opensto-heading h1{font-size:18px}.opensto-primary{height:48px}}
@media (max-height:720px) and (min-width:521px){.opensto-panel{transform:scale(.92);transform-origin:center}.opensto-auth-page{padding:10px}}
