:root{--night:#080b19;--navy:#11182f;--indigo:#7350da;--purple:#7b47df;--purple-dark:#5130b8;--turquoise:#43e5d1;--ink:#1a1c33;--muted:#858ca5;--line:#e3e5f0;--font:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;background:#eef0f6;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}a{color:#6540c5;text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #6beadd;outline-offset:3px}
.shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.brand-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;background:radial-gradient(ellipse at 90% 20%,#3b276c 0,transparent 45%),radial-gradient(ellipse at 8% 90%,#086b6677,transparent 47%),var(--night);padding:clamp(30px,4.5vw,68px);color:#f7f7ff;isolation:isolate}.brand-panel:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#ffffff06 1px,transparent 1px),linear-gradient(90deg,#ffffff06 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,#000,transparent)}.brand-logo{display:flex;align-items:center;gap:13px;font-size:clamp(20px,2vw,26px);font-weight:800;letter-spacing:-.05em}.q-mark{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;background:linear-gradient(140deg,#9a5ce7,#16d3c2);border-radius:14px;color:white;font-size:29px;box-shadow:0 13px 29px #0003}.brand-logo .sub{color:#acafc6;font-weight:440}.brand-content{margin-top:62px;max-width:510px}.brand-eyebrow{font-size:11px;color:#75e7d7;font-weight:800;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}.brand-content h1{font-size:clamp(40px,5.3vw,72px);letter-spacing:-.074em;line-height:1.09;margin:0 0 24px;font-weight:800}.brand-content h1 span{color:#85efe1}.brand-content p{font-size:clamp(14px,1.3vw,17px);line-height:1.76;color:#bdc4da;max-width:455px}.insight{border:1px solid #ffffff26;background:linear-gradient(120deg,#252847dd,#101a2dde);border-radius:19px;padding:19px 21px;margin:32px 0 0;box-shadow:0 16px 45px #0002}.insight-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:800}.insight-chip{font-size:10px;color:#7cf1d8;background:#0fd6af1a;border:1px solid #4de1cb73;border-radius:99px;padding:7px 10px;white-space:nowrap}.insight-flow{display:flex;align-items:center;gap:10px;margin:22px 0}.insight-node{flex:1;min-width:0;text-align:center;padding:12px 5px;color:#e5e6f5;font-size:12px;background:#ffffff0d;border:1px solid #ffffff1b;border-radius:12px}.insight-node svg{display:block;margin:0 auto 6px;color:#88e8d9}.insight-connector{height:1px;background:#6edfd3;flex:0 0 19px}.insight-foot{font-size:11px;color:#b2c0d9;border-top:1px solid #ffffff1d;padding-top:13px}.brand-foot{font-size:11px;color:#9097b0;margin-top:45px}.form-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;background:linear-gradient(165deg,#fff,#f8f9ff);padding:45px clamp(24px,5vw,88px)}.login-wrap{max-width:420px;width:100%}.topbar{display:flex;justify-content:flex-end;margin-bottom:55px}.language{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;color:#575a72;font-size:12px}.small-q{display:grid;place-items:center;width:53px;height:53px;font-size:32px;font-weight:900;color:#6b44d4;background:#f0e9fe;border-radius:15px;margin:0 0 27px}.login-wrap h2{font-size:clamp(28px,2.6vw,39px);letter-spacing:-.055em;line-height:1.14;margin:0 0 12px}.subtitle{color:var(--muted);line-height:1.68;font-size:14px;margin:0 0 30px}.field{margin-bottom:18px}.field label{display:block;font-size:13px;color:#31374d;font-weight:750;margin:0 0 9px}.input-wrap{height:52px;display:flex;align-items:center;background:#fff;border:1px solid #dfe2ed;box-shadow:0 2px 4px #1e254004;border-radius:12px;overflow:hidden;transition:border-color .16s,box-shadow .16s}.input-wrap:focus-within{border-color:#8664e5;box-shadow:0 0 0 3px #8664e519}.input-wrap input{border:0;min-width:0;width:100%;height:100%;padding:0 15px;background:transparent;color:#23273b;font-size:14px;outline:none}.input-wrap input::placeholder{color:#a0a4b4}.input-wrap:has(input:focus-visible){outline:3px solid #6beadd;outline-offset:3px}.input-wrap .field-icon{color:#9398ab;margin-right:14px;flex:0 0 auto}.show-password{border:0;background:transparent;color:#68708e;padding:10px 14px;font-size:12px;white-space:nowrap}.row-between{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;margin:1px 0 23px}.remember{display:flex;align-items:center;gap:8px;color:#6d7188;cursor:pointer}.remember input{accent-color:#7045cf;width:15px;height:15px;margin:0}.primary-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:51px;padding:11px;background:linear-gradient(112deg,#804be8,#5535b9);border:0;border-radius:12px;color:white;font-weight:750;font-size:14px;box-shadow:0 10px 21px #6a46c52f;transition:filter .16s,transform .16s}.primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.primary-btn:disabled{opacity:.7;cursor:wait;transform:none}.secondary-text{text-align:center;color:#858a9e;font-size:13px;margin:25px 0 0}.bottom-meta{display:flex;align-items:center;justify-content:center;gap:7px;color:#9399ab;font-size:11px;border-top:1px solid #e8e9f0;padding-top:19px;margin-top:55px}.small-note{font-size:12px;color:#858da4;line-height:1.55;margin-top:15px}.secondary-back{display:inline-flex;align-items:center;gap:7px;margin-top:25px;font-size:13px;font-weight:600}.form-message{display:none;align-items:flex-start;gap:9px;margin:0 0 17px;border-radius:10px;padding:12px 13px;font-size:12px;line-height:1.55}.form-message.is-visible{display:flex}.form-message.error{color:#96353f;background:#fff0f0;border:1px solid #f4c5ca}.form-message.success{color:#146252;background:#edfaf6;border:1px solid #b9eadd}.form-message svg{flex:0 0 17px;margin-top:1px}.hidden{display:none!important}.spinner{width:15px;height:15px;border:2px solid #fff8;border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.help-text{font-size:12px;line-height:1.65;color:#8790a2;margin-top:19px}.footer-year{margin-top:23px;text-align:center;color:#adb0c2;font-size:11px}
@media(min-width:1400px){.brand-content{margin-left:auto;margin-right:auto}.brand-logo,.brand-foot{max-width:510px;width:100%;margin-left:auto;margin-right:auto}}@media(max-width:950px){.brand-panel{padding:35px}.insight-node{font-size:10px}.insight-connector{flex-basis:9px}.form-panel{padding:30px 28px}.topbar{margin-bottom:30px}}@media(max-width:680px){.shell{grid-template-columns:1fr}.brand-panel{padding:26px 25px 30px;min-height:245px}.brand-logo{font-size:22px}.q-mark{width:40px;height:40px;flex-basis:40px;font-size:24px}.brand-content{margin-top:30px}.brand-eyebrow{font-size:9px;margin-bottom:12px}.brand-content h1{font-size:36px;line-height:1.1;margin:0 0 12px}.brand-content p{font-size:13px;line-height:1.5;max-width:400px}.insight{display:none}.brand-foot{display:none}.form-panel{padding:25px 26px 42px}.topbar{margin-bottom:23px}.small-q{margin-bottom:21px}.bottom-meta{margin-top:34px}.login-wrap h2{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Gate 17 brand correction: authentic Qellia graphics from approved web project */
.brand-logo{display:flex;flex-direction:column;align-items:flex-start;gap:1px;letter-spacing:normal}
.brand-logo .official-logo{display:block;width:min(300px,100%);height:auto;max-width:100%;object-fit:contain;mix-blend-mode:screen}
.brand-logo .brand-module{display:block;font-size:13px;line-height:1.3;letter-spacing:.21em;color:#72dbed;font-weight:800;margin:2px 0 0 3px;text-transform:uppercase}
.small-q.official-mark{display:block;width:58px;height:58px;object-fit:contain;padding:0;background:#050513;border-radius:15px;box-shadow:0 9px 23px #18112e21;margin-bottom:27px}
@media(max-width:950px){.brand-logo .official-logo{width:min(260px,100%)}}

/* GATE17 MODULE INLINE BRAND — unchanged original Qellia PNG, module follows wordmark. */
.brand-logo{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:clamp(7px,1vw,12px);
  width:100%;
  max-width:510px;
}
.brand-logo .official-logo{
  display:block;
  flex:0 1 285px;
  width:calc(100% - 73px);
  max-width:285px;
  min-width:0;
  height:auto;
  object-fit:contain;
}
.brand-logo .brand-module{
  display:inline-block;
  flex:0 0 auto;
  margin:7px 0 0;
  color:#5BDCEF;
  font-weight:850;
  font-size:clamp(19px,2.15vw,27px);
  line-height:1;
  letter-spacing:.015em;
  text-transform:uppercase;
  white-space:nowrap;
}
@media(max-width:950px){
  .brand-logo .official-logo{width:calc(100% - 68px);max-width:265px}
  .brand-logo .brand-module{font-size:clamp(19px,4.2vw,25px)}
}
@media(max-width:370px){
  .brand-logo{gap:5px}
  .brand-logo .brand-module{font-size:18px}
}


/* GATE23 COMPACT PREMIUM BRAND
   Same unaltered official Qellia image asset, smaller and proportional.
   Standard sizes: auth desktop 180px, header elsewhere 160px, mobile 145px.
   Keep CRM IN THE SAME ROW to the right of the official name, different color.
*/
:root{
  --qellia-brand-auth-width:180px;
  --qellia-brand-header-width:160px;
  --qellia-brand-mobile-width:145px;
  --qellia-brand-mark-size:42px;
}
.brand-logo{
  flex-direction:row;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:nowrap;
  gap:8px;
}
.brand-logo .official-logo{
  flex:0 0 var(--qellia-brand-auth-width);
  width:var(--qellia-brand-auth-width);
  max-width:var(--qellia-brand-auth-width);
  height:auto;
  object-fit:contain;
}
.brand-logo .brand-module{
  flex:0 0 auto;
  margin:3px 0 0;
  font-size:20px;
  font-weight:850;
  line-height:1;
  letter-spacing:.01em;
  color:#5BDCEF;
}
.small-q.official-mark{
  width:var(--qellia-brand-mark-size);
  height:var(--qellia-brand-mark-size);
  min-width:var(--qellia-brand-mark-size);
  min-height:var(--qellia-brand-mark-size);
  border-radius:11px;
  margin-bottom:21px;
}
@media(max-width:950px){
 .brand-logo .official-logo{
  flex-basis:170px;
  width:170px;
  max-width:170px;
 }
 .brand-logo .brand-module{font-size:19px}
}
@media(max-width:680px){
 .brand-logo .official-logo{
  flex-basis:var(--qellia-brand-mobile-width);
  width:var(--qellia-brand-mobile-width);
  max-width:var(--qellia-brand-mobile-width);
 }
 .brand-logo .brand-module{font-size:18px}
 .small-q.official-mark{
   width:40px;height:40px;min-width:40px;min-height:40px;
 }
}
@media(max-width:370px){
 .brand-logo .official-logo{
  flex-basis:135px;width:135px;max-width:135px;
 }
 .brand-logo .brand-module{font-size:17px}
}
