:root{
  --auth-bg:#0d1728;
  --auth-bg-2:#111d32;
  --auth-card:rgba(11,22,41,.66);
  --auth-card-border:#34445e;
  --auth-field:rgba(27,40,62,.72);
  --auth-field-border:#405371;
  --auth-text:#e7edf7;
  --auth-muted:#8799b7;
  --auth-accent:#ff7c4d;
  --auth-accent-2:#ff7443;
  --auth-custom-image:none;
}
*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
html{background:var(--auth-bg)}
body.reference-login{min-height:100vh;min-height:100svh;overflow-x:hidden;background:
  radial-gradient(circle at 50% 34%,rgba(37,59,91,.22),transparent 34%),
  linear-gradient(145deg,#14213a 0%,#0d1729 46%,#0a1424 100%);color:var(--auth-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.reference-login.has-custom-login-bg:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(8,18,34,.72),rgba(8,18,34,.84)),var(--auth-custom-image);background-size:cover;background-position:center;z-index:-3}
.login-bg-shapes{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-2}
.login-bg-shapes:before,.login-bg-shapes:after,.login-bg-shapes span{content:"";position:absolute;background:linear-gradient(145deg,rgba(69,96,142,.28),rgba(27,46,78,.12));filter:saturate(.9)}
.login-bg-shapes:before{width:430px;height:560px;left:-210px;top:70px;clip-path:polygon(25% 0,100% 18%,70% 100%,0 75%)}
.login-bg-shapes:after{width:390px;height:570px;right:-180px;top:150px;clip-path:polygon(62% 0,100% 35%,72% 100%,0 70%)}
.login-bg-shapes span:nth-child(1){width:520px;height:640px;left:-170px;bottom:-330px;clip-path:polygon(0 15%,80% 0,100% 62%,45% 100%)}
.login-bg-shapes span:nth-child(2){width:390px;height:520px;right:-145px;bottom:-170px;clip-path:polygon(30% 0,100% 20%,72% 100%,0 70%)}
.login-bg-shapes span:nth-child(3){width:260px;height:540px;left:52%;top:-300px;transform:rotate(-17deg);opacity:.32}
.login-bg-shapes span:nth-child(4){width:250px;height:450px;left:20%;bottom:-330px;transform:rotate(18deg);opacity:.2}
.reference-login-shell{width:100%;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(30px,env(safe-area-inset-top)) 22px max(34px,env(safe-area-inset-bottom));gap:76px}
.reference-login-card{width:min(100%,560px);padding:54px 54px 42px;border:1px solid rgba(72,91,123,.72);border-radius:17px;background:linear-gradient(155deg,rgba(19,33,56,.78),rgba(8,18,34,.60));box-shadow:0 24px 65px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025);backdrop-filter:blur(10px)}
.reference-login-brand{display:flex;align-items:center;justify-content:center;height:100px;margin-bottom:22px}
.reference-login-brand img{display:block;max-width:78%;max-height:100px;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.18))}
.reference-login-brand-fallback{text-align:center;font-size:34px;font-weight:850;letter-spacing:.02em;color:#f1f5fb}
.reference-login-card h1{margin:0 0 38px;text-align:center;font-size:26px;line-height:1.35;font-weight:500;letter-spacing:.015em;color:#dfe6f2}
.reference-login-form{display:flex;flex-direction:column;gap:17px}
.reference-login-field{height:68px;position:relative;display:flex;align-items:center;border:1px solid var(--auth-field-border);border-radius:10px;background:linear-gradient(90deg,rgba(27,40,62,.76),rgba(25,38,60,.62));box-shadow:inset 0 0 20px rgba(6,13,26,.12)}
.reference-login-field>i{position:absolute;left:24px;width:24px;text-align:center;color:#8da2c5;font-size:24px}
.reference-login-field input{width:100%;height:100%;border:0;outline:0;background:transparent;color:#eef3fb;padding:0 64px 0 70px;font:inherit;font-size:18px;letter-spacing:.005em}
.reference-login-field input::placeholder{color:#889bb9;opacity:1}
.reference-login-field:focus-within{border-color:#5d759b;box-shadow:0 0 0 2px rgba(92,120,162,.10),inset 0 0 22px rgba(6,13,26,.13)}
.reference-login-pass{position:absolute;right:14px;width:44px;height:44px;border:0;background:transparent;color:#869abc;font-size:22px;cursor:pointer;border-radius:8px}
.reference-login-pass:hover{color:#b6c6df;background:rgba(255,255,255,.035)}
.reference-login-submit{height:64px;margin-top:27px;border:0;border-radius:10px;background:linear-gradient(180deg,var(--auth-accent),var(--auth-accent-2));color:#0d1726;font:inherit;font-size:19px;font-weight:800;letter-spacing:.015em;cursor:pointer;box-shadow:0 8px 22px rgba(255,116,67,.12)}
.reference-login-submit:hover{filter:brightness(1.04)}
.reference-login-submit:active{transform:translateY(1px)}
.reference-login-submit:disabled{opacity:.66;cursor:wait}
.reference-login-alert{display:none;margin:0 0 18px;padding:12px 14px;border:1px solid rgba(235,99,112,.5);border-radius:8px;background:rgba(158,34,51,.16);color:#ffd6db;text-align:center;font-size:13px}
.reference-login-alert.success{border-color:rgba(66,194,127,.46);background:rgba(34,133,87,.14);color:#d1ffe6}
.reference-login-signature{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;margin:38px 8px 0;color:#7c90b0;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.reference-login-signature span{height:1px;background:#587091;opacity:.72}.reference-login-signature b{font-weight:500;white-space:nowrap}
.reference-login-version{text-align:center;color:#7589a9;font-size:13px;line-height:1.55;margin-top:15px}
.reference-login-languages{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;opacity:.66}.reference-login-languages a{color:#8395b3;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.08em}.reference-login-languages a.active{color:#d4deed}
.reference-login-secure{display:flex;align-items:center;justify-content:center;gap:14px;color:#7f94b5;font-size:15px;letter-spacing:.01em}.reference-login-secure i{font-size:27px;color:#8298bc}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:620px){
  .reference-login-shell{justify-content:center;padding-left:18px;padding-right:18px;gap:54px}
  .reference-login-card{padding:42px 26px 34px;border-radius:14px}
  .reference-login-brand{height:86px;margin-bottom:18px}.reference-login-brand img{max-width:82%;max-height:86px}
  .reference-login-card h1{font-size:23px;margin-bottom:32px}.reference-login-field{height:61px}.reference-login-field input{font-size:16px;padding-left:62px}.reference-login-field>i{left:22px;font-size:21px}.reference-login-submit{height:58px;font-size:18px;margin-top:22px}
  .reference-login-signature{gap:16px;margin-top:32px}.reference-login-secure{font-size:14px}
}
@media(max-width:390px){.reference-login-card{padding-left:20px;padding-right:20px}.reference-login-card h1{font-size:21px}.reference-login-signature{gap:10px}.reference-login-signature b{font-size:11px}.reference-login-field input{font-size:15px}}
@media(max-height:760px) and (min-width:600px){.reference-login-shell{gap:34px;padding-top:24px;padding-bottom:24px}.reference-login-card{padding-top:34px;padding-bottom:30px}.reference-login-brand{height:72px}.reference-login-brand img{max-height:72px}.reference-login-card h1{margin-bottom:24px}.reference-login-submit{margin-top:16px}.reference-login-signature{margin-top:25px}}
