:root{--login-blue:#0754a0;--login-ink:#15334d;--login-muted:#60768a}
body#kt_body{background:#edf5fa;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--login-ink)}
.login-shell{position:relative;width:100%;min-height:100vh;min-height:100svh;z-index:1;max-width:none;margin:0;--login-gutter:clamp(24px,6vw,120px)}
.login-ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(130deg,#e4f3fc,#f4f8fc 60%,#e5f4f2)}
.login-ambient span{position:absolute;width:55vw;height:55vw;border-radius:50%;filter:blur(60px);opacity:.48;animation:login-drift 24s ease-in-out infinite alternate;background:radial-gradient(circle,#a7d9f5,transparent 68%);top:-25%;left:-15%}
.login-ambient span:nth-child(2){background:radial-gradient(circle,#a5e0dc,transparent 68%);left:40%;top:48%;animation-delay:-8s}
.login-ambient span:nth-child(3){left:65%;top:-15%;animation-delay:-16s;opacity:.3}
.login-story{align-items:center;padding:64px 6%}.login-story-inner{max-width:580px}.login-eyebrow{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--login-blue);margin-bottom:32px}
.login-story h1{font-size:clamp(36px,4.5vw,64px);font-weight:700;line-height:1.14;letter-spacing:-2.5px;color:var(--login-ink);margin-bottom:24px}.login-story h1 span{color:var(--login-blue)}
.login-story p{font-size:18px;color:var(--login-muted);line-height:1.6}.login-story-note{font-size:13px;color:var(--login-muted);margin-top:22px}
.login-pulse{max-width:420px;margin-top:52px}.login-pulse svg{width:100%;stroke:#3598b5;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:680;animation:login-pulse 8s ease-in-out infinite}
.login-panel-wrap{align-items:center;padding:48px 5% 48px 0}.login-panel{width:440px;max-width:100%;padding:38px 38px 24px;border-radius:24px;border:1px solid rgba(255,255,255,.8);box-shadow:0 24px 80px #214e7514}
.login-brand{height:100px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.login-brand img{width:280px;max-width:100%;height:100px;object-fit:contain}
[data-bs-theme=dark] .login-brand img{background:#f4f9fc;border-radius:14px;padding:6px 10px}
.login-heading{font-size:27px;font-weight:700;letter-spacing:-.7px;margin-bottom:8px}.login-intro{font-size:13px;color:var(--login-muted);margin-bottom:22px}
.login-status{display:flex;align-items:center;gap:9px;padding:12px 14px;border:1px solid #d5eae3;background:#f0f9f5;border-radius:10px;font-size:12px;color:#24654b;margin-bottom:26px}.login-status.offline{background:#fff8eb;border-color:#f0dfbc;color:#855b17}.login-status-dot{height:7px;width:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.login-panel .fv-row{margin-bottom:22px!important}.login-panel label{font-size:12px!important;margin-bottom:8px!important;color:var(--login-ink)!important}.login-field{position:relative}.login-field>svg{position:absolute;left:14px;top:16px;width:19px;height:19px;stroke:var(--login-muted);fill:none;stroke-width:1.6;pointer-events:none}.login-field .form-control{padding-left:43px;padding-right:46px}
.login-panel .form-control,.login-panel .form-select{min-height:50px;border-radius:10px;background-color:#f8fafc;border:1px solid #dfe7ef;font-size:14px}.login-panel .form-control:focus{border-color:#5195cd;box-shadow:0 0 0 3px #0754a012}.login-panel .select2-selection{min-height:50px;border-radius:10px!important;background-color:#f8fafc!important;border-color:#dfe7ef!important;display:flex;align-items:center}
.login-reveal{position:absolute;right:6px;top:7px;border:0;background:transparent;color:var(--login-blue);font-size:11px;font-weight:600;padding:10px;cursor:pointer}.login-panel .submitlogin{background:var(--login-blue);border-radius:10px;font-size:14px;min-height:50px;margin-top:4px;box-shadow:0 6px 15px #0754a020}.login-footer{border-top:1px solid #e8edf2;margin-top:16px;padding-top:20px;text-align:center;color:var(--login-muted);font-size:11px}
[data-bs-theme=dark] body#kt_body{--login-ink:#e1edf8;--login-muted:#a4b7c9;--login-blue:#72bafa}[data-bs-theme=dark] .login-ambient{background:#101c2c}[data-bs-theme=dark] .login-ambient span{opacity:.08}[data-bs-theme=dark] .login-panel{border-color:#2b3c50}[data-bs-theme=dark] .login-panel .form-control,[data-bs-theme=dark] .login-panel .select2-selection{background-color:#172638!important;border-color:#35465a!important}[data-bs-theme=dark] .login-status{background:#17382e;color:#a4d7be;border-color:#28513e}[data-bs-theme=dark] .login-status.offline{background:#3a301f;color:#eed09c;border-color:#5b492c}[data-bs-theme=dark] .login-footer{border-color:#35465a}[data-bs-theme=dark] .login-panel .submitlogin{background:#0754a0}
@keyframes login-drift{to{transform:translate(12%,18%) scale(1.12)}}@keyframes login-pulse{0%,100%{stroke-dashoffset:0;opacity:.5}50%{stroke-dashoffset:80;opacity:1}}
@media(max-width:991.98px){.login-story{padding:36px 24px 20px;justify-content:center;text-align:center}.login-story h1{font-size:36px;letter-spacing:-1.2px}.login-eyebrow{margin-bottom:18px}.login-story p{font-size:15px;margin-bottom:0}.login-pulse,.login-story-note{display:none}.login-panel-wrap{padding:12px 20px 36px}.login-panel{padding:26px; width:440px}.login-brand{height:76px;margin-bottom:16px}.login-brand img{height:100px;width:180px}}
@media(prefers-reduced-motion:reduce){.login-ambient span,.login-pulse svg{animation:none}}
.login-toolbar{display:flex;align-items:center;justify-content:space-between;padding:28px 5% 0;gap:16px}.login-wordmark{display:flex;align-items:center;gap:10px;color:var(--login-ink);font-size:14px;font-weight:700;letter-spacing:.2px}.login-wordmark small{display:block;font-size:10px;font-weight:500;color:var(--login-muted);letter-spacing:0}.login-theme-toggle{border:1px solid #a5bfd34d;border-radius:20px;background:transparent;padding:9px 15px;color:var(--login-ink);font:inherit;font-size:12px;cursor:pointer}.login-theme-toggle:hover{background:#75a9cd14}.login-theme-toggle:focus-visible,.login-reveal:focus-visible{outline:2px solid var(--login-blue);outline-offset:3px}.login-shell>.flex-column-fluid{flex:1;min-width:0}.login-panel-wrap{min-width:0}.login-panel{position:relative}.login-panel:before{content:"";position:absolute;top:0;left:38px;right:38px;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#0754a0,#63c6d6)}.login-panel .select2-container{width:100%!important}.login-panel .select2-selection__rendered{width:100%;overflow:hidden;text-overflow:ellipsis}.login-panel .submitlogin:hover{background:#064581;border-color:#064581}.login-panel .submitlogin:focus-visible{outline:2px solid var(--login-blue);outline-offset:3px}.login-panel .form-control::placeholder{color:#778c9e;opacity:1}
@media(max-width:575px){.login-toolbar{padding:20px 22px 0}.login-story{padding-top:28px}.login-story h1{font-size:32px}.login-panel-wrap{padding-left:14px;padding-right:14px}.login-panel{padding:24px}.login-status{line-height:1.6}.login-eyebrow{font-size:10px;letter-spacing:1.8px}}

/* Full-width shell with independent, shrink-safe columns. */
.login-toolbar{padding:24px var(--login-gutter) 0;flex-shrink:0}
.login-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);align-items:center;gap:clamp(40px,7vw,140px);flex:1;width:100%;min-width:0;padding:40px var(--login-gutter) 48px}
.login-story{display:flex;align-items:center;min-width:0;padding:0}
.login-story-inner{width:100%;max-width:800px}
.login-story h1{font-size:clamp(42px,4.5vw,80px);letter-spacing:-.045em;overflow-wrap:normal}
.login-panel-wrap{display:flex;align-items:center;justify-content:center;min-width:0;padding:0}
.login-panel{width:100%;max-width:480px}
@media(min-width:1800px){.login-main{grid-template-columns:minmax(0,1fr) minmax(420px,520px)}.login-panel{max-width:520px;padding:40px 44px 28px}}
@media(max-width:991.98px){.login-main{grid-template-columns:minmax(0,1fr);gap:28px;padding:32px var(--login-gutter) 36px;align-content:center}.login-story{justify-content:center;text-align:center}.login-story-inner{max-width:650px}.login-story h1{font-size:clamp(32px,5.5vw,48px);letter-spacing:-.035em;margin-bottom:14px}.login-eyebrow{margin-bottom:16px}.login-panel{max-width:480px}.login-panel-wrap{padding:0}}
@media(max-width:575px){.login-shell{--login-gutter:18px}.login-toolbar{padding-top:18px}.login-main{padding-top:28px;gap:24px}.login-story h1{font-size:clamp(29px,7.5vw,40px)}.login-story p{font-size:13px}.login-panel{padding:24px}.login-brand img{width:230px;height:76px}.login-theme-toggle{white-space:nowrap}}
