:root{--bg:#020811;--panel:#071522cc;--line:#124b72;--cyan:#22d6ff;--blue:#1688ff;--green:#20e77b;--text:#ecf8ff;--muted:#8fb3ca}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 8%,#0b3153 0,#03101d 30%,#01060c 70%);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100vh}
a{color:inherit;text-decoration:none}.top{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #0e3551;background:#020812d9;backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.12em}.brandmark{width:42px;height:42px;border:0;border-radius:14px;display:block;background:url("/assets/img/polis-bio-ai-icon.png") center/contain no-repeat;box-shadow:0 0 22px #1acaff66;flex:0 0 42px}.brandmark:before{content:""}.brandlogo-inline{display:block;height:34px;width:auto;filter:drop-shadow(0 0 12px rgba(0,198,255,.25))}.brand.brand-wordmark span:last-child{display:none}.login-wordmark{display:block;max-width:min(100%,300px);height:auto;margin:0 auto 14px;filter:drop-shadow(0 0 20px rgba(0,198,255,.25))}
.nav{display:flex;gap:28px;color:#b9d5e5}.actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid #2c5f80;border-radius:12px;background:#07111d;color:#fff;font-weight:700}.btn.primary{background:linear-gradient(90deg,#08b9ec,#1cdd7a);border:0;color:#001017;box-shadow:0 0 28px #18cc9b38}
.lang{display:flex;gap:7px;font-size:20px;align-items:center}.hero{min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center;padding:70px 6vw;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 49%,#0b5b7a22 50%,transparent 51%);background-size:100% 18px;pointer-events:none}
.kicker{color:var(--cyan);font-weight:900;letter-spacing:.22em;font-size:13px}.hero h1{font-size:clamp(44px,6vw,88px);line-height:.96;margin:18px 0}.hero h1 span{color:var(--green)}.hero p{font-size:19px;line-height:1.65;color:#b9d7e8;max-width:780px}
.visual{position:relative;min-height:560px;display:grid;place-items:center}.visual img{width:min(700px,100%);border-radius:28px;border:1px solid #176293;box-shadow:0 0 70px #0da9ff3d;animation:float 6s ease-in-out infinite}.scanline{position:absolute;width:82%;height:3px;background:linear-gradient(90deg,transparent,var(--green),transparent);box-shadow:0 0 24px var(--green);animation:scan 3.2s linear infinite}.ring{position:absolute;width:72%;aspect-ratio:1;border:1px solid #1fc8ff55;border-radius:50%;animation:spin 14s linear infinite}.ring:after{content:"";position:absolute;inset:8%;border:1px dashed #20e77b66;border-radius:50%}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 6vw 50px}.card{background:linear-gradient(180deg,#081828d9,#04101bd9);border:1px solid #164d70;border-radius:18px;padding:20px;box-shadow:inset 0 0 40px #0a84bb0e}.metric strong{display:block;color:var(--green);font-size:28px;margin:8px 0}.section{padding:80px 6vw}.section h2{text-align:center;font-size:42px}.section .lead{text-align:center;color:var(--muted);max-width:850px;margin:0 auto 38px;line-height:1.6}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.icon{width:48px;height:48px;border-radius:14px;border:1px solid #1e719b;display:grid;place-items:center;color:var(--cyan);font-size:25px;margin-bottom:14px}
.footerline{text-align:center;padding:28px;border-top:1px solid #123753;color:#87a9be}.footerline a{color:#b9eaff}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr .8fr}.login-art{position:relative;background:#020711 center/cover no-repeat}.login-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#020811)}.login-panel{display:grid;place-items:center;padding:30px}.login-card{width:min(440px,100%);background:#071422d9;border:1px solid #154a6e;border-radius:24px;padding:30px;box-shadow:0 0 70px #038ed52a}.field{margin:14px 0}.field label{display:block;color:#a9c7d8;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;background:#020b14;border:1px solid #1c5478;color:white;border-radius:12px;padding:13px}.center{text-align:center}.dash{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.side{background:#030b14;border-right:1px solid #153a55;padding:22px;position:sticky;top:0;height:100vh}.side a{display:block;padding:12px;border-radius:10px;color:#a9c8da;margin:5px 0}.side a:hover{background:#0b2334;color:#fff}.main{padding:28px}.dashgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.bio-stage{margin-top:20px;display:grid;grid-template-columns:1.4fr .6fr;gap:16px}.stage{position:relative;overflow:hidden;min-height:520px}.stage img{width:100%;height:100%;object-fit:cover;opacity:.78}.stage .scanline{left:8%;top:0}.badge{display:inline-block;padding:7px 10px;border-radius:999px;border:1px solid #205d7f;color:var(--cyan)}
@keyframes scan{0%{top:12%}50%{top:82%}100%{top:12%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-10px)}}
@media(max-width:980px){.nav{display:none}.hero{grid-template-columns:1fr;padding-top:45px}.visual{min-height:420px}.metrics,.grid3,.dashgrid{grid-template-columns:1fr 1fr}.login-shell{grid-template-columns:1fr}.login-art{min-height:260px}.dash{grid-template-columns:1fr}.side{height:auto;position:relative}.bio-stage{grid-template-columns:1fr}}
@media(max-width:600px){.top{padding:0 16px}.actions .btn:not(.primary){display:none}.hero{padding:42px 18px}.hero h1{font-size:46px}.metrics,.grid3,.dashgrid{grid-template-columns:1fr;padding-left:18px;padding-right:18px}.section{padding:60px 18px}.visual{min-height:320px}.lang{font-size:18px}.main{padding:16px}}

.impersonation-banner{position:fixed;z-index:9999;left:0;right:0;top:0;background:#ffb21a;color:#111;text-align:center;padding:9px;font-weight:900}.impersonation-banner a{margin-left:15px;text-decoration:underline;color:#111} body.impersonating{padding-top:38px}

.camera-shell{position:relative;min-height:520px;background:#01070c;border-radius:18px;overflow:hidden;border:1px solid #165779;box-shadow:inset 0 0 80px #00aeff12,0 0 50px #00aaff18}
.camera-shell video{width:100%;height:100%;min-height:520px;object-fit:cover;transform:scaleX(-1);filter:saturate(.9) contrast(1.08)}
.bio-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#16d7ff14 1px,transparent 1px),linear-gradient(90deg,#16d7ff14 1px,transparent 1px);background-size:42px 42px}
.face-frame{position:absolute;left:50%;top:50%;width:min(48%,330px);aspect-ratio:.78;transform:translate(-50%,-50%);border:2px solid #38e8ff;border-radius:46% 46% 42% 42%;box-shadow:0 0 30px #2bd9ff55,inset 0 0 30px #2bd9ff22}
.face-frame:before,.face-frame:after{content:"";position:absolute;inset:11%;border:1px dashed #2ee98688;border-radius:50%;animation:spin 12s linear infinite}.face-frame:after{inset:22%;animation-direction:reverse;animation-duration:8s}
.scan-pulse{position:absolute;left:8%;right:8%;height:2px;top:15%;background:linear-gradient(90deg,transparent,#2eff9a,transparent);box-shadow:0 0 20px #2eff9a;animation:scanCam 2.6s ease-in-out infinite}.scan-pulse.captured{background:#fff;box-shadow:0 0 35px #fff}
.hud-corner{position:absolute;width:70px;height:70px;border-color:#20d9ff;border-style:solid}.hud-corner.tl{left:18px;top:18px;border-width:2px 0 0 2px}.hud-corner.tr{right:18px;top:18px;border-width:2px 2px 0 0}.hud-corner.bl{left:18px;bottom:18px;border-width:0 0 2px 2px}.hud-corner.br{right:18px;bottom:18px;border-width:0 2px 2px 0}
.camera-status{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);background:#020a11d9;border:1px solid #1a668e;border-radius:999px;padding:10px 16px;font-weight:800;letter-spacing:.05em;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}
.capture-preview{width:100%;border-radius:14px;border:1px solid #1e5f81;display:none;margin-top:12px}
@keyframes scanCam{0%,100%{top:14%}50%{top:86%}}

.tablewrap{overflow:auto}.tbl{width:100%;border-collapse:collapse}.tbl th,.tbl td{padding:11px;border-bottom:1px solid #143a55;text-align:left;vertical-align:top}.tbl th{color:#7fdcff}.tbl input,.tbl select{background:#020b14;border:1px solid #1c5478;color:#fff;border-radius:8px;padding:8px}


.hero-copy{position:relative;z-index:2}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.mobile-biometric-title,.mobile-hero-visual{display:none}

@media(max-width:600px){
  body{text-align:center}
  .top{
    justify-content:center;
    min-height:72px;
    height:auto;
    padding:12px 14px;
    gap:12px;
    flex-wrap:wrap
  }
  .brand{justify-content:center}
  .brandlogo-inline{max-width:min(80vw,260px);height:auto}
  .brand.brand-wordmark span:last-child{display:none}
  .top .actions{
    width:100%;
    justify-content:center;
    align-items:center
  }
  .lang{justify-content:center}
  .hero{
    display:block;
    min-height:auto;
    padding:28px 16px 34px;
    text-align:center
  }
  .hero-copy{
    width:100%;
    text-align:center
  }
  .desktop-kicker,
  .desktop-hero-visual{
    display:none!important
  }
  .mobile-biometric-title{
    display:block;
    width:100%;
    text-align:center;
    color:var(--cyan);
    font-size:14px;
    font-weight:900;
    letter-spacing:.13em;
    line-height:1.35;
    text-transform:none;
    margin:4px auto 14px
  }
  .mobile-hero-visual{
    display:block;
    position:relative;
    width:100%;
    margin:0 auto 24px;
    overflow:hidden;
    border-radius:20px;
    border:1px solid #176293;
    background:#020913;
    box-shadow:0 0 34px #0da9ff33
  }
  .mobile-hero-visual img{
    display:block;
    width:100%;
    aspect-ratio:1.05/1;
    object-fit:cover;
    object-position:center;
    opacity:.94
  }
  .mobile-hero-visual:after{
    content:"";
    position:absolute;
    inset:0;
    background:
      linear-gradient(180deg,transparent 65%,#020811cc 100%),
      linear-gradient(90deg,#22d6ff10 1px,transparent 1px),
      linear-gradient(#22d6ff10 1px,transparent 1px);
    background-size:auto,28px 28px,28px 28px;
    pointer-events:none
  }
  .mobile-glow{
    position:absolute;
    z-index:2;
    left:50%;
    top:50%;
    width:62%;
    aspect-ratio:1;
    transform:translate(-50%,-50%);
    border:1px solid #38e8ff99;
    border-radius:50%;
    box-shadow:0 0 34px #2bd9ff55,inset 0 0 28px #2bd9ff22;
    animation:spin 13s linear infinite;
    pointer-events:none
  }
  .mobile-glow:after{
    content:"";
    position:absolute;
    inset:13%;
    border:1px dashed #2ee98699;
    border-radius:50%;
    animation:spin 8s linear infinite reverse
  }
  .mobile-scanline{
    position:absolute;
    z-index:3;
    left:7%;
    right:7%;
    height:2px;
    top:16%;
    background:linear-gradient(90deg,transparent,#25ef92,transparent);
    box-shadow:0 0 18px #25ef92;
    animation:scanCam 2.8s ease-in-out infinite;
    pointer-events:none
  }
  .hero h1{
    margin:10px auto 14px;
    text-align:center;
    font-size:42px;
    line-height:1.02;
    max-width:100%
  }
  .hero p{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
    font-size:16px;
    line-height:1.55;
    max-width:94%
  }
  .hero-cta{
    justify-content:center;
    align-items:center;
    width:100%;
    margin-top:22px
  }
  .hero-cta .btn{
    width:min(100%,320px);
    min-height:48px;
    text-align:center
  }
  .metrics{
    display:grid;
    grid-template-columns:1fr;
    padding:0 16px 36px;
    gap:12px;
    text-align:center
  }
  .metric,
  .card,
  .section,
  .section h2,
  .section .lead,
  .grid3,
  .grid3 .card{
    text-align:center
  }
  .grid3 .card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center
  }
  .icon{
    margin-left:auto;
    margin-right:auto
  }
  .section{
    padding:54px 16px
  }
  .section h2{
    font-size:32px;
    line-height:1.08
  }
  .section .lead{
    max-width:95%
  }
  .footerline{
    text-align:center
  }
  .login-card,
  .login-panel,
  .login-card .field,
  .login-card p,
  .login-card h1{
    text-align:center
  }
  .login-card .field label{
    text-align:center
  }
  .login-card .field input,
  .login-card .field select,
  .login-card .field textarea{
    text-align:center
  }
  .dash .main,
  .dashgrid,
  .dashgrid .card,
  .bio-stage,
  .bio-stage .card,
  .side{
    text-align:center
  }
  .side a{
    text-align:center
  }
  .toolbar,
  .tabs{
    justify-content:center
  }
  .badge{
    text-align:center
  }
  .camera-status{
    text-align:center
  }
}

.side .brand{justify-content:flex-start;flex-wrap:wrap}.side .brand .brandmark{margin-right:2px}.side .brand span:last-child{letter-spacing:.08em}


/* POLIS BIO AI — 2FA QR setup */
.twofa-main{max-width:1400px;margin:0 auto;width:100%}
.twofa-heading{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.twofa-heading h1{margin:0 0 6px}.twofa-heading p{margin:0;color:#8fb3ca}
.twofa-shield{width:58px;height:58px;border:1px solid #23c8ff;border-radius:18px;display:grid;place-items:center;font-size:28px;color:#27f08d;box-shadow:0 0 30px #16bdf033;background:linear-gradient(145deg,#08243a,#06131f)}
.twofa-status-grid{margin-bottom:18px}.twofa-on{color:#25ef8e!important}.twofa-off{color:#ffb45f!important}
.twofa-start-card{max-width:850px;margin:26px auto;text-align:center;padding:34px}
.twofa-step-number{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:linear-gradient(145deg,#05b9f1,#1ee17d);color:#00101a;font-weight:900;box-shadow:0 0 22px #17ccaf44}
.twofa-big-btn{min-width:250px;min-height:50px}
.twofa-setup-grid{display:grid;grid-template-columns:minmax(340px,.85fr) minmax(380px,1.15fr);gap:18px;align-items:stretch}
.twofa-qr-card,.twofa-confirm-card{text-align:center;padding:28px}
.twofa-help{color:#9fc5da;line-height:1.55;max-width:560px;margin:0 auto 20px}
.twofa-qr-frame{position:relative;width:min(100%,340px);margin:18px auto 20px;padding:48px 28px 28px;background:radial-gradient(circle at 50% 35%,#0c3556 0,#061521 50%,#02080e 100%);border:1px solid #17628b;border-radius:24px;box-shadow:0 0 45px #00aaff25,inset 0 0 45px #12c8ff10;overflow:hidden}
.twofa-qr-brand{position:absolute;top:12px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:9px;font-weight:900;letter-spacing:.08em;color:#e9f9ff}
.twofa-qr-brand .brandmark{width:26px;height:26px;flex-basis:26px;box-shadow:none}
.twofa-qrcode{width:280px;max-width:100%;min-height:280px;margin:0 auto;background:#fff;padding:10px;border-radius:16px;display:grid;place-items:center;position:relative;z-index:2;box-shadow:0 0 25px #fff2}
.twofa-qrcode img,.twofa-qrcode canvas{display:block!important;margin:auto!important;max-width:100%;height:auto!important}
.twofa-scan-corners{position:absolute;inset:37px 15px 15px;pointer-events:none;z-index:3}
.twofa-scan-corners i{position:absolute;width:38px;height:38px;border-color:#28eaff;border-style:solid}
.twofa-scan-corners i:nth-child(1){top:0;left:0;border-width:2px 0 0 2px}
.twofa-scan-corners i:nth-child(2){top:0;right:0;border-width:2px 2px 0 0}
.twofa-scan-corners i:nth-child(3){bottom:0;left:0;border-width:0 0 2px 2px}
.twofa-scan-corners i:nth-child(4){bottom:0;right:0;border-width:0 2px 2px 0}
.twofa-account-label{font-size:11px;color:#6f9bb6;letter-spacing:.18em;margin:16px 0 4px}.twofa-account{margin:0 0 18px;font-weight:700;color:#dff7ff;word-break:break-word}
.twofa-code-field input{max-width:280px;margin:0 auto;text-align:center!important;font-size:32px;letter-spacing:.28em;font-weight:900;padding-left:calc(13px + .28em);font-variant-numeric:tabular-nums}
.twofa-manual{margin-top:28px;padding:20px;background:#03101b;border:1px solid #154965;border-radius:16px}
.twofa-manual h3{margin-top:0}.twofa-secret-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.twofa-secret-row code,.twofa-advanced code{display:block;background:#01060c;border:1px solid #1c5678;border-radius:10px;padding:12px;color:#8ee9ff;word-break:break-all;letter-spacing:.08em}
.twofa-copy-btn.copied{border-color:#27e88b;color:#27e88b}
.twofa-advanced{margin-top:16px;text-align:left}.twofa-advanced summary{cursor:pointer;color:#83cde9;margin-bottom:12px}.twofa-advanced .btn{margin-top:10px}
.twofa-security-note{margin-top:22px;border:1px solid #755522;background:#291d08;color:#ffd99b;border-radius:14px;padding:14px;line-height:1.5;text-align:left}
.twofa-active-card{max-width:850px;margin:22px auto;text-align:center;padding:36px}.twofa-active-icon{width:88px;height:88px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:#0d3124;border:1px solid #25ec8d;color:#2cff99;font-size:48px;box-shadow:0 0 40px #1de5842e}
.twofa-active-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0}.twofa-disable-form{max-width:430px;margin:0 auto}.twofa-disable-form input{text-align:center!important;font-size:25px;letter-spacing:.2em}

@media(max-width:900px){
  .twofa-setup-grid{grid-template-columns:1fr}
  .twofa-heading{justify-content:center;text-align:center;flex-direction:column}
  .twofa-status-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .twofa-main,.twofa-main *{text-align:center}
  .twofa-status-grid{grid-template-columns:1fr}
  .twofa-qr-card,.twofa-confirm-card{padding:20px 14px}
  .twofa-qr-frame{width:100%;padding:48px 14px 22px}
  .twofa-qrcode{width:min(280px,90vw);min-height:0}
  .twofa-qrcode canvas,.twofa-qrcode img{width:100%!important;max-width:260px!important}
  .twofa-security-note{text-align:center}
  .twofa-secret-row{flex-direction:column}
  .twofa-secret-row code{width:100%;text-align:center}
  .twofa-big-btn{min-width:0;width:100%}
}


/* POLIS BIO AI V1.6 — tenant creation + enhanced top-left branding */
.brand.brand-sidecard{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:14px 12px 16px;
  border:1px solid #164967;
  border-radius:18px;
  background:linear-gradient(180deg,#081726 0%,#06111b 100%);
  box-shadow:0 0 28px rgba(16,181,255,.12), inset 0 0 30px rgba(22,122,173,.06);
  margin-bottom:12px;
  letter-spacing:.04em;
}
.brandlogo-side{
  display:block;
  width:min(100%,230px);
  max-width:230px;
  height:auto;
  filter:drop-shadow(0 0 20px rgba(25,205,255,.18));
}
.brand-side-title{
  font-size:14px;
  color:#ecfbff;
  font-weight:900;
  letter-spacing:.14em;
}
.brand-side-subtitle{
  color:#75b8d6;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.top-brand-enhanced{
  align-items:center;
  flex-wrap:wrap;
}
.top-brand-subtitle{
  display:block;
  width:100%;
  color:#7ab8d6;
  font-size:10px;
  letter-spacing:.16em;
  margin-left:56px;
  margin-top:-6px;
  text-transform:uppercase;
}
.hero-brand-badge{
  position:absolute;
  top:18px;
  left:18px;
  z-index:4;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(46,206,255,.4);
  border-radius:16px;
  background:rgba(3,17,27,.78);
  box-shadow:0 0 24px rgba(0,170,255,.18);
  backdrop-filter:blur(7px);
}
.hero-brand-badge img{
  width:124px;
  height:auto;
  display:block;
}
.hero-brand-badge b{
  display:block;
  color:#f1fbff;
  letter-spacing:.08em;
  font-size:14px;
}
.hero-brand-badge span{
  display:block;
  color:#91c9e3;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.section-mini-title{
  margin:8px 0 14px;
  color:#87d8f0;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  font-size:12px;
}
.tenant-grid-2{grid-template-columns:1fr 1fr}
.tenant-grid-3{grid-template-columns:1fr 1fr 1fr}
.tenant-create-card{padding:22px}
.toggle-inline{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:10px 0 18px;
  color:#d8eef8;
}
.tenant-plan-note{
  background:linear-gradient(180deg,#07131d,#061019);
}
.tenant-security-note{
  margin-top:18px;
  border:1px solid #205c77;
  background:#071522;
  border-radius:14px;
  padding:14px 16px;
  color:#cbe8f5;
  line-height:1.55;
}
@media(max-width:900px){
  .tenant-grid-2,.tenant-grid-3{grid-template-columns:1fr 1fr}
  .hero-brand-badge{left:14px;right:14px}
}
@media(max-width:600px){
  .brand.brand-sidecard{
    align-items:center;
    text-align:center;
  }
  .brandlogo-side{
    width:min(100%,240px);
  }
  .brand-side-title,.brand-side-subtitle{
    width:100%;
    text-align:center;
  }
  .top-brand-subtitle{
    margin:0;
    text-align:center;
  }
  .hero-brand-badge{
    position:relative;
    top:auto;
    left:auto;
    right:auto;
    margin:0 auto 14px;
    justify-content:center;
    flex-wrap:wrap;
  }
  .hero-brand-badge img{
    width:min(72vw,200px);
  }
  .tenant-grid-2,.tenant-grid-3{
    grid-template-columns:1fr;
  }
  .toggle-inline{
    justify-content:center;
    text-align:center;
  }
}


/* POLIS BIO AI V1.7 — multilingual, SEO login, tenant context, verification flow */
.global-lang-switcher{
  position:fixed;right:18px;bottom:18px;z-index:10050;
  display:flex;gap:6px;padding:6px;background:rgba(2,10,17,.88);
  border:1px solid #1a5576;border-radius:999px;backdrop-filter:blur(9px);
  box-shadow:0 0 24px rgba(0,174,255,.2)
}
.global-lang-switcher a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;font-size:21px;opacity:.65}
.global-lang-switcher a.active{background:#0b2d43;opacity:1;box-shadow:inset 0 0 14px #19bfe733}

.tenant-context-panel{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  margin-bottom:20px;padding:13px 14px;border:1px solid #195978;border-radius:16px;
  background:linear-gradient(90deg,#061725,#07121d);box-shadow:0 0 24px rgba(0,174,255,.08)
}
.tenant-context-panel.fixed{border-color:#1a674c}
.tenant-context-copy{display:flex;flex-direction:column;gap:3px;min-width:240px;flex:1}
.tenant-context-copy b{color:#42ddff;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.tenant-context-copy span{color:#c8e6f4}
.tenant-context-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tenant-context-form select{
  min-width:250px;background:#020b14;border:1px solid #1c5478;color:#fff;border-radius:10px;padding:11px
}

.empty-subject-state,.tenant-required-card{max-width:900px;margin:24px auto;text-align:center;padding:36px}
.empty-subject-icon{width:82px;height:82px;margin:0 auto 14px;display:grid;place-items:center;border:1px solid #22d9ff;border-radius:50%;font-size:46px;color:#29e79a;box-shadow:0 0 38px #17c8f133}
.pending-enrollment-list,.pending-enrollment-details{margin-top:18px}
.pending-enrollment-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #12354e}
.field-help{display:block;margin-top:7px;color:#79a7bf;line-height:1.4}

.seo-login-body{background:#01060b}
.seo-login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr)}
.seo-login-visual{position:relative;overflow:hidden;min-height:100vh;background:#02080e}
.seo-login-hero{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.9) contrast(1.08)}
.seo-login-overlay{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(1,6,11,.08),rgba(1,6,11,.68) 82%,#01060b 100%),
  linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.58));
}
.seo-login-brand{position:absolute;z-index:3;top:32px;left:34px;display:flex;align-items:center;gap:14px;padding:12px 15px;border:1px solid #1a6388;border-radius:16px;background:rgba(2,13,21,.7);backdrop-filter:blur(8px)}
.seo-login-brand img{width:220px;height:auto}.seo-login-brand span{font-size:11px;color:#8ecce4;letter-spacing:.14em;max-width:140px;line-height:1.4}
.seo-login-copy{position:absolute;z-index:3;left:7%;right:8%;bottom:7%;max-width:720px}
.seo-login-copy h2{font-size:clamp(25px,3vw,44px);line-height:1.12;margin:0 0 18px;text-shadow:0 2px 25px #000}
.seo-login-pills{display:flex;gap:8px;flex-wrap:wrap}.seo-login-pills span{padding:8px 11px;border-radius:999px;border:1px solid #28789b;background:rgba(3,17,27,.78);font-size:12px;color:#bfeaff}
.seo-login-panel{display:grid;place-items:center;padding:34px 5vw;background:radial-gradient(circle at 50% 20%,#0b2538,#02080e 58%)}
.seo-login-card{width:min(500px,100%);padding:34px}
.login-page-kicker{color:#30d8ff;font-size:11px;font-weight:900;letter-spacing:.18em;margin:5px 0 16px}
.login-subtitle{color:#9ec6dc;margin-top:-4px}.login-lang{justify-content:center;margin:13px 0}.login-lang a{padding:4px 7px;border-radius:9px;opacity:.55}.login-lang a.active{background:#0c2a3e;opacity:1}
.login-error{background:#38151d;border:1px solid #823145;color:#ffa0ad;padding:11px;border-radius:10px;text-align:center}
.seo-login-submit{width:100%;min-height:50px;font-size:14px;letter-spacing:.08em}
.seo-login-links{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:17px 0}.seo-login-links a{color:#87dafa;font-size:13px}
.seo-login-security{margin:18px 0;padding:12px;border:1px solid #174d68;border-radius:12px;color:#9ac6da;font-size:12px;line-height:1.5;text-align:center}
.security-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#29ea91;box-shadow:0 0 12px #29ea91;margin-right:6px}
.answer-engine-block{margin-top:20px;padding:16px;background:#04111b;border:1px solid #143d58;border-radius:14px}.answer-engine-block h2{font-size:16px;margin:0 0 7px}.answer-engine-block p{font-size:12px;line-height:1.55;color:#8eb8ce;margin:0}

@media(max-width:980px){
  .seo-login-shell{grid-template-columns:1fr}
  .seo-login-visual{min-height:480px}
  .seo-login-panel{padding:28px 18px}
}
@media(max-width:600px){
  .global-lang-switcher{right:50%;transform:translateX(50%);bottom:10px}
  .tenant-context-panel,.tenant-context-form{justify-content:center;text-align:center}
  .tenant-context-copy{align-items:center}
  .tenant-context-form select{min-width:0;width:100%;text-align:center}
  .pending-enrollment-row{flex-direction:column;justify-content:center;text-align:center}
  .seo-login-shell,.seo-login-panel,.seo-login-card,.seo-login-copy,.seo-login-brand{text-align:center}
  .seo-login-visual{min-height:430px}
  .seo-login-brand{top:18px;left:16px;right:16px;justify-content:center;flex-direction:column}
  .seo-login-brand img{width:min(75vw,230px)}
  .seo-login-brand span{max-width:none;text-align:center}
  .seo-login-copy{left:18px;right:18px;bottom:24px}
  .seo-login-pills{justify-content:center}
  .seo-login-card{padding:26px 18px}
  .seo-login-links{justify-content:center;flex-direction:column}
}

/* POLIS BIO AI V1.8 — real biometric engine */
.engine-live{color:#2ef090!important}.engine-offline{color:#ff8e9d!important}
.engine-warning{margin-top:18px;padding:15px 17px;border:1px solid #815d25;background:#2b1e08;border-radius:14px;color:#ffd89b;line-height:1.55}
.engine-result-card{padding:18px;border:1px solid #1c5d7d;background:linear-gradient(180deg,#061825,#041019);border-radius:18px;box-shadow:0 0 26px rgba(0,181,255,.1)}
.engine-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.engine-result-head h3{margin:5px 0 12px}.engine-score{font-size:34px;color:#40eea1;text-shadow:0 0 20px #20df8b44}
.engine-mode{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em}
.engine-mode.live{border:1px solid #1edc82;color:#53f5a9;background:#07301f}.engine-mode.demo{border:1px solid #d79b31;color:#ffd27f;background:#332306}
.engine-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.engine-result-grid>div{padding:11px;background:#020c14;border:1px solid #123c56;border-radius:12px}
.engine-result-grid span{display:block;font-size:10px;color:#78a9c1;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.engine-result-grid b{word-break:break-word}
.human-review-badge{display:inline-block;padding:7px 10px;border-radius:9px;border:1px solid #ebba48;color:#ffd66f;font-size:10px;font-weight:900;letter-spacing:.1em}
@media(max-width:700px){.engine-result-grid{grid-template-columns:1fr 1fr}.engine-result-head{justify-content:center;text-align:center}}

/* POLIS BIO AI V1.8.1 — WAF friendly control center */
.engine-health-inline{margin-top:14px;padding:12px 14px;border:1px solid #174d69;border-radius:12px;background:#04111b;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.engine-health-inline small{color:#83afc5}
.control-tests{align-items:center}
.control-tests form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.waf-note{margin-top:18px;padding:14px 16px;border:1px solid #23627e;border-radius:14px;background:#061725;color:#bfe5f4;line-height:1.5}
@media(max-width:600px){.control-tests,.control-tests form{justify-content:center}.control-tests input{width:100%}}

/* POLIS BIO AI V1.8.2 — Commercial Demo Edition */
.demo-system-banner{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin:0 0 20px;padding:14px 16px;border:1px solid #d89a33;border-radius:16px;background:linear-gradient(90deg,#281b06,#171106 62%,#0d1116);box-shadow:0 0 28px rgba(255,176,49,.10);color:#ffe6ad}
.demo-system-banner>div:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:230px}.demo-system-banner b{font-size:12px;letter-spacing:.10em;color:#ffd26e}.demo-system-banner span{font-size:12px;line-height:1.45;color:#e7cda1}
.demo-system-icon{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:1px solid #f2bd50;color:#ffd46f;font-weight:900;font-size:18px;box-shadow:0 0 18px rgba(255,188,69,.18)}
.demo-system-chip{padding:7px 10px!important;border-radius:999px;border:1px solid #f0bd54;color:#ffd16c!important;background:#352509;font-weight:900;letter-spacing:.12em}.demo-score{font-size:20px!important;color:#ffd16c!important}
.demo-config-explainer{margin:12px 0;padding:13px 15px;border:1px solid #bd862d;border-radius:12px;background:#211706;color:#efd7a6;line-height:1.5}
.engine-result-card{padding:18px;border:1px solid #1c5d7d;background:linear-gradient(180deg,#061825,#041019);border-radius:18px}.engine-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.engine-result-head h3{margin:5px 0 12px}.engine-score{font-size:34px;color:#40eea1}.engine-mode{display:inline-block;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.12em}.engine-mode.live{border:1px solid #1edc82;color:#53f5a9;background:#07301f}.engine-mode.demo{border:1px solid #d79b31;color:#ffd27f;background:#332306}.engine-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.engine-result-grid>div{padding:11px;background:#020c14;border:1px solid #123c56;border-radius:12px}.engine-result-grid span{display:block;font-size:10px;color:#78a9c1;text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}.human-review-badge{display:inline-block;padding:7px 10px;border-radius:9px;border:1px solid #ebba48;color:#ffd66f;font-size:10px;font-weight:900;letter-spacing:.1em}
@media(max-width:600px){.demo-system-banner{justify-content:center;text-align:center}.demo-system-banner>div:nth-child(2){align-items:center}.engine-result-grid{grid-template-columns:1fr 1fr}.engine-result-head{justify-content:center;text-align:center}}


/* ================================================================
   POLIS BIO AI V1.8.3 — PREMIUM PUBLIC LOGIN EXPERIENCE
   ================================================================ */
.polis-login-premium{
  margin:0;
  min-height:100vh;
  background:#01060b;
  color:#edfaff;
  overflow-x:hidden;
}
.polis-login-premium *{box-sizing:border-box}
.polis-login-premium a{text-decoration:none}

.login-skip{
  position:fixed;left:16px;top:-80px;z-index:100000;
  padding:12px 16px;border-radius:10px;background:#fff;color:#00111b;
  font-weight:800;transition:top .2s ease
}
.login-skip:focus{top:16px}

.premium-login-shell{
  min-height:100vh;
  min-height:100dvh;
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(430px,.82fr);
  background:#01060b;
}

/* HERO --------------------------------------------------------- */
.premium-login-hero{
  position:relative;
  min-height:100vh;
  min-height:100dvh;
  overflow:hidden;
  isolation:isolate;
  background:#030a11;
}
.premium-login-image{
  position:absolute;
  inset:-2%;
  width:104%;
  height:104%;
  object-fit:cover;
  object-position:center center;
  transform:scale(1.035);
  transition:transform 1.4s cubic-bezier(.2,.7,.2,1);
  filter:saturate(.86) contrast(1.07) brightness(.78);
  z-index:-5;
}
.premium-login-shade{
  position:absolute;inset:0;z-index:-4;
  background:
    linear-gradient(90deg,rgba(0,6,11,.13) 0%,rgba(0,7,13,.28) 46%,rgba(0,7,13,.82) 100%),
    linear-gradient(180deg,rgba(0,6,12,.24) 0%,rgba(0,6,12,.02) 36%,rgba(0,6,12,.79) 100%),
    radial-gradient(circle at 29% 42%,rgba(0,210,255,.10),transparent 34%);
}
.premium-login-grid{
  position:absolute;inset:0;z-index:-3;opacity:.17;
  background-image:
    linear-gradient(rgba(76,208,255,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(76,208,255,.16) 1px,transparent 1px);
  background-size:52px 52px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.5),transparent 74%);
}
.premium-login-scan{
  position:absolute;left:0;right:0;top:-15%;height:2px;z-index:-2;
  background:linear-gradient(90deg,transparent,rgba(50,229,255,.15),rgba(50,229,255,.75),rgba(50,229,255,.15),transparent);
  box-shadow:0 0 28px rgba(39,210,255,.38);
  animation:premiumLoginScan 7.5s linear infinite;
}
@keyframes premiumLoginScan{0%{top:3%;opacity:0}8%{opacity:1}88%{opacity:.65}100%{top:96%;opacity:0}}

.premium-login-hero-head{
  position:absolute;z-index:4;top:0;left:0;right:0;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:28px clamp(28px,4vw,62px);
}
.premium-login-brand{
  display:flex;align-items:center;gap:15px;
  min-width:0;color:#fff
}
.premium-login-brand img{
  display:block;width:clamp(180px,14vw,245px);height:auto;
  filter:drop-shadow(0 0 22px rgba(0,205,255,.18))
}
.premium-login-brand div{
  display:flex;flex-direction:column;gap:3px;
  padding-left:15px;border-left:1px solid rgba(126,213,242,.34)
}
.premium-login-brand b{
  font-size:12px;letter-spacing:.15em;color:#f2fbff
}
.premium-login-brand span{
  font-size:9px;letter-spacing:.15em;color:#83c4dd
}
.premium-login-hero-actions{
  display:flex;align-items:center;gap:8px
}
.premium-language-button,.premium-public-link{
  min-height:39px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(125,205,235,.27);
  background:rgba(3,14,23,.47);
  backdrop-filter:blur(13px);
  border-radius:999px;
  color:#cbeaf6;
  font-size:11px;font-weight:800;letter-spacing:.05em;
  transition:.22s ease
}
.premium-language-button{padding:0 14px}
.premium-public-link{padding:0 16px}
.premium-language-button:hover,.premium-public-link:hover{
  color:#fff;border-color:rgba(79,225,255,.65);
  background:rgba(6,35,50,.72);
  transform:translateY(-1px)
}

.premium-login-hero-content{
  position:absolute;z-index:3;
  left:clamp(30px,6vw,96px);
  right:clamp(30px,10vw,150px);
  bottom:clamp(76px,10vh,130px);
  max-width:790px;
}
.premium-demo-chip{
  display:inline-flex;align-items:center;gap:8px;
  margin-bottom:18px;padding:7px 11px;
  border:1px solid rgba(255,195,84,.42);
  border-radius:999px;
  background:rgba(50,31,3,.52);
  backdrop-filter:blur(8px);
  color:#ffd98d;font-size:9px;font-weight:900;letter-spacing:.16em
}
.premium-demo-chip>span{
  width:7px;height:7px;border-radius:50%;
  background:#ffc14e;box-shadow:0 0 14px #ffc14e;
  animation:premiumDemoPulse 1.9s ease-in-out infinite
}
@keyframes premiumDemoPulse{50%{opacity:.35;transform:scale(.75)}}

.premium-hero-kicker{
  margin-bottom:12px;color:#63ddff;
  font-size:10px;font-weight:900;letter-spacing:.22em
}
.premium-login-hero-content h1{
  margin:0;max-width:760px;
  font-size:clamp(38px,4.15vw,68px);
  line-height:1.01;
  letter-spacing:-.038em;
  font-weight:800;
  color:#f4fcff;
  text-wrap:balance;
  text-shadow:0 5px 38px rgba(0,0,0,.72)
}
.premium-login-hero-content>p{
  max-width:690px;margin:22px 0 27px;
  font-size:clamp(14px,1.15vw,17px);
  line-height:1.67;color:#bad7e5;
  text-shadow:0 2px 18px rgba(0,0,0,.75)
}
.premium-capability-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:1px;
  width:min(680px,100%);
  border:1px solid rgba(91,184,220,.20);
  border-radius:16px;overflow:hidden;
  background:rgba(2,14,22,.46);
  backdrop-filter:blur(11px)
}
.premium-capability-grid>div{
  min-height:55px;display:flex;align-items:center;gap:13px;
  padding:12px 15px;
  border-right:1px solid rgba(90,184,220,.12);
  border-bottom:1px solid rgba(90,184,220,.12)
}
.premium-capability-grid i{
  font-style:normal;color:#3ddfff;font-size:9px;font-weight:900;letter-spacing:.10em
}
.premium-capability-grid span{
  color:#d6edf6;font-size:11px;font-weight:700
}
.premium-trust-signals{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin-top:20px
}
.premium-trust-signals span{
  display:flex;align-items:center;gap:7px;
  color:#91b8ca;font-size:9px;font-weight:900;letter-spacing:.11em
}
.premium-trust-signals i{
  width:6px;height:6px;border-radius:50%;background:#37efa2;box-shadow:0 0 10px #37efa2
}

.premium-demo-disclaimer{
  position:absolute;z-index:4;left:clamp(28px,4vw,60px);bottom:24px;
  max-width:480px;display:flex;align-items:center;gap:9px;
  color:#a4becc;font-size:9px
}
.premium-demo-disclaimer b{
  color:#f3c873;letter-spacing:.10em;white-space:nowrap
}
.premium-login-mobile-intro{display:none}

/* LOGIN PANEL -------------------------------------------------- */
.premium-login-panel{
  position:relative;
  min-height:100vh;min-height:100dvh;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  padding:78px clamp(30px,4vw,66px) 35px;
  background:
    radial-gradient(circle at 50% 10%,rgba(19,93,129,.20),transparent 32%),
    radial-gradient(circle at 92% 84%,rgba(19,181,154,.08),transparent 27%),
    linear-gradient(180deg,#06101a 0%,#02070d 48%,#01050a 100%);
}
.premium-login-panel:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(100,204,240,.10) .7px,transparent .7px);
  background-size:22px 22px;opacity:.22;
  mask-image:linear-gradient(to bottom,#000,transparent 85%)
}
.premium-panel-topline{
  position:absolute;top:28px;left:clamp(30px,4vw,66px);right:clamp(30px,4vw,66px);
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  z-index:3
}
.premium-status-dot{
  display:flex;align-items:center;gap:7px;
  color:#83afc2;font-size:9px;font-weight:900;letter-spacing:.13em
}
.premium-status-dot>span{
  width:6px;height:6px;border-radius:50%;background:#39eda0;box-shadow:0 0 11px #39eda0
}
.premium-language-inline{
  display:flex;align-items:center;gap:6px;
  color:#40677c;font-size:10px;font-weight:900
}
.premium-language-inline a{
  color:#638da0;padding:6px 4px;transition:.2s ease
}
.premium-language-inline a.active,.premium-language-inline a:hover{color:#edfaff}

.premium-login-card{
  position:relative;z-index:2;
  width:min(500px,100%);
  padding:clamp(28px,3vw,42px);
  border:1px solid rgba(68,156,193,.30);
  border-radius:26px;
  background:
    linear-gradient(145deg,rgba(10,28,42,.86),rgba(3,13,22,.91));
  box-shadow:
    0 30px 90px rgba(0,0,0,.42),
    0 0 50px rgba(0,185,255,.06),
    inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(18px)
}
.premium-login-card:before{
  content:"";position:absolute;left:28px;right:28px;top:0;height:1px;
  background:linear-gradient(90deg,transparent,#50dcff,transparent);opacity:.48
}
.premium-login-card-brand{
  width:54px;height:54px;display:grid;place-items:center;
  margin-bottom:22px;border:1px solid rgba(74,211,248,.29);
  border-radius:17px;background:#071a29;
  box-shadow:0 0 28px rgba(14,202,255,.09)
}
.premium-login-card-brand img{
  width:39px;height:39px;object-fit:contain;
  filter:drop-shadow(0 0 12px rgba(32,218,255,.18))
}
.premium-login-panel-kicker{
  color:#3bdcff;font-size:9px;font-weight:900;letter-spacing:.19em;margin-bottom:8px
}
.premium-login-card h2{
  margin:0;color:#f4fcff;
  font-size:clamp(30px,2.8vw,42px);
  letter-spacing:-.035em;line-height:1.05
}
.premium-login-subtitle{
  margin:10px 0 28px;color:#88afc2;font-size:13px;line-height:1.5
}

.premium-login-error{
  display:flex;align-items:flex-start;gap:10px;
  margin:-4px 0 18px;padding:12px 13px;
  border:1px solid rgba(255,102,123,.42);
  border-radius:12px;background:rgba(68,14,24,.43);
  color:#ffb5c0;font-size:12px;line-height:1.45
}
.premium-login-error>span{
  width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;
  border-radius:50%;background:#8d2436;color:#fff;font-weight:900
}

.premium-login-form{margin:0}
.premium-input-group{margin:0 0 17px}
.premium-input-group label{
  display:block;margin:0 0 7px;
  color:#c4deea;font-size:11px;font-weight:700
}
.premium-label-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px
}
.premium-label-row>a{
  color:#59cfee;font-size:10px;font-weight:700;transition:.2s ease
}
.premium-label-row>a:hover{color:#a8ecff}
.premium-input-shell{position:relative}
.premium-input-shell input{
  width:100%;height:52px;
  padding:0 48px 0 46px;
  border:1px solid #1b465f;
  border-radius:13px;
  outline:none;background:#020a11;
  color:#f1fbff;font:inherit;font-size:13px;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease
}
.premium-input-shell input::placeholder{color:#45697b}
.premium-input-shell input:hover{border-color:#285f7c}
.premium-input-shell input:focus{
  border-color:#32c8ed;
  background:#031019;
  box-shadow:0 0 0 3px rgba(35,200,236,.09),0 0 26px rgba(20,190,230,.06)
}
.premium-input-icon{
  position:absolute;z-index:2;left:15px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;color:#598fa7;pointer-events:none
}
.premium-input-icon svg,.premium-password-toggle svg,.premium-security-shield svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round
}
.premium-password-toggle{
  position:absolute;right:8px;top:50%;transform:translateY(-50%);
  width:38px;height:38px;display:grid;place-items:center;
  border:0;border-radius:10px;background:transparent;color:#547f94;cursor:pointer
}
.premium-password-toggle:hover,.premium-password-toggle:focus-visible{
  color:#b6e9f7;background:#092033;outline:none
}
.premium-password-toggle svg{width:18px;height:18px}
.premium-capslock{
  max-height:0;overflow:hidden;margin-top:0;
  color:#efbd68;font-size:10px;opacity:0;transition:.2s ease
}
.premium-capslock.visible{max-height:25px;margin-top:7px;opacity:1}

.premium-login-submit{
  position:relative;overflow:hidden;
  width:100%;height:54px;
  display:flex;align-items:center;justify-content:center;gap:12px;
  margin-top:8px;border:1px solid rgba(91,228,255,.30);
  border-radius:13px;
  background:linear-gradient(100deg,#11b9e4,#18d3cf 56%,#39e493);
  color:#00131b;font-size:11px;font-weight:950;letter-spacing:.11em;
  cursor:pointer;box-shadow:0 12px 32px rgba(13,200,211,.15);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease
}
.premium-login-submit:before{
  content:"";position:absolute;top:-60%;left:-40%;width:26%;height:220%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  transition:left .6s ease
}
.premium-login-submit:hover:not(:disabled){
  transform:translateY(-1px);filter:brightness(1.055);
  box-shadow:0 15px 36px rgba(13,200,211,.23)
}
.premium-login-submit:hover:before{left:120%}
.premium-login-submit:disabled{cursor:wait;opacity:.78}
.premium-submit-arrow{font-size:17px;transition:transform .2s ease}
.premium-login-submit:hover .premium-submit-arrow{transform:translateX(3px)}
.premium-submit-spinner{
  display:none;width:15px;height:15px;border:2px solid rgba(0,23,31,.24);
  border-top-color:#00171e;border-radius:50%;animation:premiumSpin .75s linear infinite
}
.premium-login-submit.is-loading .premium-submit-arrow{display:none}
.premium-login-submit.is-loading .premium-submit-spinner{display:block}
@keyframes premiumSpin{to{transform:rotate(360deg)}}

.premium-login-secondary{
  margin:16px 0 0;text-align:center
}
.premium-login-secondary>a{
  color:#6bcfe9;font-size:11px;font-weight:700
}
.premium-login-secondary>a span{display:inline-block;margin-left:3px;transition:.2s ease}
.premium-login-secondary>a:hover span{transform:translateX(3px)}

.premium-security-line{
  display:flex;align-items:center;gap:10px;
  margin:24px 0 0;padding:13px 0;
  border-top:1px solid rgba(73,143,173,.16);
  border-bottom:1px solid rgba(73,143,173,.16);
  color:#789fb2;font-size:10px;line-height:1.45
}
.premium-security-shield{
  flex:0 0 25px;width:25px;height:25px;color:#36dca0
}
.premium-enterprise-note{
  margin-top:18px;padding:13px 14px;
  border:1px solid rgba(62,132,162,.18);
  border-radius:12px;background:rgba(2,10,17,.38)
}
.premium-enterprise-note div{display:flex;flex-direction:column;gap:4px}
.premium-enterprise-note b{color:#c5e5f1;font-size:10px;letter-spacing:.04em}
.premium-enterprise-note span{color:#63899c;font-size:10px;line-height:1.5}
.premium-login-legal{
  margin:15px 0 0;color:#496c7d;font-size:9px;line-height:1.55
}

.premium-login-footer{
  position:relative;z-index:2;
  width:min(500px,100%);
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  margin-top:18px;color:#416577;font-size:9px
}
.premium-login-footer a{color:#678fa1;font-weight:700}
.premium-login-footer a:hover{color:#a7dceb}

/* Responsive ---------------------------------------------------- */
@media(max-width:1180px){
  .premium-login-shell{grid-template-columns:minmax(0,1fr) minmax(410px,.92fr)}
  .premium-login-hero-content{right:55px}
  .premium-capability-grid{grid-template-columns:1fr}
  .premium-capability-grid>div{min-height:45px}
}
@media(max-width:980px){
  .premium-login-shell{display:block}
  .premium-login-hero{
    min-height:560px;height:auto;
    padding-top:98px
  }
  .premium-login-hero-head{
    position:absolute;padding:20px 22px
  }
  .premium-login-brand div{display:none}
  .premium-login-brand img{width:210px}
  .premium-public-link{display:none}
  .premium-login-mobile-intro{
    position:relative;z-index:3;
    display:block;
    padding:18px 24px 0;
    text-align:center
  }
  .premium-login-mobile-kicker{
    color:#55dfff;font-size:9px;font-weight:900;letter-spacing:.18em;margin-bottom:9px
  }
  .premium-login-mobile-intro h1{
    max-width:700px;margin:0 auto;
    font-size:clamp(29px,7vw,48px);
    line-height:1.03;letter-spacing:-.035em;color:#f4fcff
  }
  .premium-login-hero-content{
    position:absolute;left:24px;right:24px;bottom:45px;text-align:center;max-width:none
  }
  .premium-hero-kicker,.premium-login-hero-content h1,.premium-login-hero-content>p{display:none}
  .premium-demo-chip{margin-bottom:15px}
  .premium-capability-grid{
    max-width:680px;margin:0 auto;
    grid-template-columns:1fr 1fr;text-align:left
  }
  .premium-trust-signals{justify-content:center}
  .premium-demo-disclaimer{display:none}
  .premium-login-panel{
    min-height:auto;padding:78px 20px 40px
  }
  .premium-panel-topline{top:25px;left:22px;right:22px}
}
@media(max-width:600px){
  .premium-login-hero{
    min-height:535px;padding-top:89px
  }
  .premium-login-hero-head{padding:16px 16px}
  .premium-login-brand img{width:min(62vw,205px)}
  .premium-language-button{min-height:36px;padding:0 12px;font-size:10px}
  .premium-login-mobile-intro{padding:14px 18px 0}
  .premium-login-mobile-intro h1{font-size:clamp(28px,8.4vw,39px)}
  .premium-login-image{object-position:center center}
  .premium-login-hero-content{left:15px;right:15px;bottom:28px}
  .premium-capability-grid{grid-template-columns:1fr 1fr}
  .premium-capability-grid>div{
    min-height:51px;padding:9px 10px;gap:7px
  }
  .premium-capability-grid span{font-size:9px;line-height:1.3}
  .premium-capability-grid i{font-size:8px}
  .premium-trust-signals{gap:10px;margin-top:14px}
  .premium-trust-signals span{font-size:8px}
  .premium-login-panel{padding:72px 14px 30px}
  .premium-panel-topline{top:23px;left:17px;right:17px}
  .premium-login-card{
    width:100%;padding:27px 20px;border-radius:21px;text-align:center
  }
  .premium-login-card-brand{margin:0 auto 18px}
  .premium-login-panel-kicker,.premium-login-subtitle{text-align:center}
  .premium-login-card h2{text-align:center;font-size:32px}
  .premium-input-group{text-align:left}
  .premium-input-shell input{text-align:left}
  .premium-security-line{text-align:left}
  .premium-enterprise-note{text-align:center}
  .premium-login-legal{text-align:center}
  .premium-login-footer{
    flex-direction:column;justify-content:center;text-align:center;gap:6px
  }
}
@media(max-width:390px){
  .premium-capability-grid{grid-template-columns:1fr}
  .premium-login-hero{min-height:610px}
}
@media(prefers-reduced-motion:reduce){
  .premium-login-scan,.premium-demo-chip>span,.premium-submit-spinner{animation:none!important}
  .premium-login-image,.premium-login-submit,.premium-language-button,.premium-public-link{transition:none!important}
}
