/* Shared B2B / CRM / WMS / ERP login layout. Module colors come from theme settings. */
.login-body{display:flex;flex-direction:column;min-height:100vh;margin:0;overflow-x:hidden;background:var(--bg,#f3f6fb);font-family:Aptos,"Segoe UI",system-ui,sans-serif}
.login-body .login-shell,.login-body .login-shell.no-announcements{display:grid;grid-template-columns:minmax(0,58fr) minmax(370px,42fr);width:100%;max-width:none;min-height:calc(100vh - 94px);margin:0;overflow:visible;border-radius:0;background:var(--bg,#f3f6fb);box-shadow:none}
.login-body .login-visual{display:block;min-width:0;min-height:0!important;padding:0!important;overflow:hidden;background:linear-gradient(145deg,var(--secondary,#111b32),color-mix(in srgb,var(--secondary,#111b32) 75%,#000));color:#fff}
.login-body .login-visual:after{display:none}
.login-body .login-visual-watermark{position:absolute;left:50%;top:43%;z-index:3;display:grid;place-items:center;width:min(45vw,480px);height:220px;transform:translate(-50%,-50%);opacity:.11;color:#fff;font-size:clamp(48px,6vw,108px);font-weight:850;letter-spacing:-.07em;pointer-events:none;white-space:nowrap}
.login-body .login-visual-watermark img{display:block;max-width:90%;max-height:190px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1)}
.login-body .login-visual>.login-announcement-slider{position:absolute;inset:0;width:100%;height:100%;min-height:100%!important}
.login-body .login-visual .login-announcement.notice378{position:absolute;inset:0;box-sizing:border-box;align-items:flex-start;justify-content:flex-start;min-height:100%!important;padding:clamp(28px,4vw,74px)!important;color:#fff!important;text-align:left!important}
.login-body .login-visual .login-announcement.notice378:before{background:linear-gradient(180deg,color-mix(in srgb,var(--notice-from,var(--secondary)) 92%,#000) 0%,color-mix(in srgb,var(--notice-to,var(--secondary)) 82%,#000) 100%)!important;opacity:var(--notice-overlay,.92)!important}
.login-body .login-visual .login-announcement-copy{z-index:4;width:min(100%,720px);margin:auto 0 28px}
.login-body .login-visual .login-announcement-copy .eyebrow,.login-body .login-default-intro .eyebrow{display:block;margin:0 0 14px;color:var(--accent,#8bea26)!important;font-size:12px;font-weight:850;letter-spacing:.16em}
.login-body .login-visual .login-announcement h1,.login-body .login-default-intro h1{max-width:740px;margin:0 0 16px;color:#fff!important;font-size:clamp(30px,3.2vw,55px);line-height:1.08;letter-spacing:-.035em}
.login-body .login-visual .login-announcement p,.login-body .login-default-intro p{max-width:590px;margin:0;color:#e5ebf2!important;font-size:clamp(14px,1.05vw,17px);line-height:1.55}
.login-body .login-visual .login-modules{margin-top:20px}
.login-body .login-visual .login-modules span{border-radius:999px;border-color:#ffffff42;background:#ffffff15;font-size:12px}
.login-body .login-visual .slider-controls{z-index:5;right:clamp(24px,4vw,70px);bottom:22px}
.login-body .login-default-intro{position:absolute;left:clamp(28px,4vw,74px);right:clamp(28px,4vw,74px);bottom:54px;z-index:4}
.login-body .login-card,.login-body .login-shell.no-announcements .login-card{display:flex;width:auto;min-width:0;align-items:center;justify-content:center;padding:clamp(20px,3vw,50px);background:color-mix(in srgb,var(--bg,#f3f6fb) 70%,#f0eadf)}
.login-body .login-card-panel{width:min(100%,440px);box-sizing:border-box;padding:clamp(28px,2.8vw,45px);border:1px solid color-mix(in srgb,var(--secondary,#111b32) 8%,transparent);border-radius:24px;background:var(--surface,#fff);box-shadow:0 24px 60px #101a2c16;text-align:center}
.login-body .login-card-panel .logo-wrap{display:flex;justify-content:center;align-items:center;min-height:74px;margin:0 0 17px;overflow:visible}
.login-body .login-card-panel .logo-wrap img{display:block;width:auto;max-width:min(230px,100%)!important;height:auto;max-height:70px!important;object-fit:contain!important;object-position:center!important}
.login-body .login-card-panel .logo-wrap .text-logo{font-size:34px;line-height:1.1}
.login-body .login-card-panel>.eyebrow{display:block;margin-bottom:7px;color:var(--primary,#2457d6);font-size:11px;font-weight:850;letter-spacing:.13em}
.login-body .login-card-panel h2{margin:0;color:var(--secondary,#111b32);font-size:27px;line-height:1.2;letter-spacing:-.025em}
.login-body .login-card-panel>p{max-width:310px;margin:9px auto 24px;color:#67778b;font-size:14px;line-height:1.5}
.login-body .login-card-panel .notice{text-align:left}
.login-body .login-card-panel .form-stack{display:grid;gap:9px;text-align:left}
.login-body .login-card-panel .form-stack>label{display:block;margin-top:7px;color:var(--secondary,#111b32);font-size:13px;font-weight:750}
.login-body .login-card-panel .form-stack>input,.login-body .login-password-control>input{box-sizing:border-box;width:100%;min-width:0;min-height:47px;padding:11px 14px;border:1px solid #cdd6e2;border-radius:10px;background:#fff;color:#15243a;font:inherit;font-size:14px;outline:0}
.login-body .login-card-panel .form-stack>input:focus,.login-body .login-password-control>input:focus{border-color:var(--primary,#2457d6);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary,#2457d6) 18%,transparent)}
.login-body .login-password-control{position:relative}.login-body .login-password-control>input{padding-right:76px}.login-body .login-password-control>button{position:absolute;right:7px;top:6px;min-width:60px;min-height:35px;padding:0 7px;border:0;border-radius:7px;background:transparent;color:#5e6f84;cursor:pointer;font-size:12px;font-weight:700}
.login-body .login-password-control>button:hover{background:#eef3f9;color:var(--primary,#2457d6)}
.login-body .login-card-panel .form-stack>button[type=submit]{width:100%;min-height:49px;margin-top:16px;border:0;border-radius:10px;background:var(--primary,#2457d6);color:#fff;cursor:pointer;font-size:15px;font-weight:750;box-shadow:0 8px 18px color-mix(in srgb,var(--primary,#2457d6) 20%,transparent)}
.login-body .login-card-panel .form-stack>button[type=submit]:hover{filter:brightness(.93)}
.login-body .login-card-panel :is(a,button,input):focus-visible{outline:3px solid var(--accent,#8bea26);outline-offset:2px}
.login-body .login-card-panel .register-link{display:inline-block;margin:19px 0 0;color:var(--primary,#2457d6);font-size:13px;font-weight:700;text-decoration:none}
.login-body .login-card-panel .register-link:hover{text-decoration:underline}
.login-body .login-card-panel>small{display:block;margin:20px auto 0;color:#78889a;font-size:12px;line-height:1.5}
.login-body .login-page-footer{background:var(--secondary,#111b32);color:#e8eef5}
.login-body .login-page-footer-inner{display:flex;width:min(1440px,94vw);min-height:64px;align-items:center;justify-content:space-between;gap:20px;margin:auto;padding:12px 0}
.login-body .login-footer-brand{display:flex;align-items:center;gap:12px;min-width:0}.login-body .login-footer-brand img{max-width:86px;max-height:33px}.login-body .login-footer-brand p,.login-body .login-footer-legal a{margin:0;color:#e8eef5;font-size:12px}.login-body .login-footer-trust{display:block}.login-body .login-footer-legal{display:flex;gap:15px;flex-wrap:wrap}.login-body .login-footer-certificates,.login-body .login-footer-payments{display:none}
@media(max-width:900px){.login-body .login-shell,.login-body .login-shell.no-announcements{grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}.login-body .login-visual .login-announcement.notice378{padding:35px!important}.login-body .login-visual .login-announcement h1{font-size:clamp(29px,3.6vw,40px)}}
@media(max-width:760px){.login-body .login-shell,.login-body .login-shell.no-announcements{grid-template-columns:1fr;min-height:0}.login-body .login-visual{min-height:310px!important}.login-body .login-visual .login-announcement.notice378{padding:28px!important}.login-body .login-visual .login-announcement-copy{margin:auto 0 32px}.login-body .login-visual .login-announcement h1,.login-body .login-default-intro h1{font-size:30px}.login-body .login-visual-watermark{width:70vw;top:36%}.login-body .login-card{padding:26px 18px 38px}.login-body .login-card-panel{max-width:470px}.login-body .login-default-intro{left:28px;right:28px;bottom:40px}}
@media(max-width:480px){.login-body .login-visual{min-height:265px!important}.login-body .login-visual .login-announcement h1,.login-body .login-default-intro h1{font-size:26px}.login-body .login-visual .login-announcement p,.login-body .login-default-intro p{font-size:13px}.login-body .login-card{padding:18px 12px 26px}.login-body .login-card-panel{padding:26px 22px;border-radius:18px}.login-body .login-page-footer-inner{align-items:flex-start;flex-direction:column;padding:20px 0}}
