/* Standalone sign-in layout, scoped to avoid affecting the application theme. */
.login-page{margin:0;background:#f9fafb;color:#182b2b;font-family:"Segoe UI",Arial,sans-serif;min-height:100vh}
.login-page *{box-sizing:border-box}
.login-layout{display:grid;grid-template-columns:49% 51%;min-height:100vh}
.brand-panel{background:#113d36;color:#fff;padding:48px 64px 36px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.brand-panel:after{content:"";position:absolute;width:530px;height:530px;border:1px solid #ffffff0c;border-radius:50%;right:-330px;top:120px;pointer-events:none}
.brand-top{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:2px;font-weight:600;color:#d1e5d9}
.brand-symbol{display:grid;place-items:center;background:#ffffff12;border:1px solid #ffffff20;border-radius:10px;width:36px;height:36px;color:#c8e9a7;font-size:17px}
.brand-story{margin:auto 0;padding:55px 0;max-width:490px}
.brand-eyebrow,.form-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#b9d99f}
.brand-story h1{font-size:clamp(34px,3.6vw,54px);font-weight:600;line-height:1.14;letter-spacing:-2px;margin:20px 0}
.brand-story>p{font-size:15px;line-height:1.8;color:#b9cec7;max-width:350px;margin-bottom:35px}
.workspace-art{position:relative;background:#f9fcf8;border:1px solid #ffffff60;border-radius:13px;box-shadow:0 25px 50px #061f3440;transform:rotate(-3deg);padding-bottom:16px;color:#244b40;max-width:420px;margin:38px 10px 18px 0}
.art-top{height:36px;border-bottom:1px solid #e2eae4;display:flex;align-items:center;gap:35px;font-size:9px;color:#7c9085;padding:0 13px}
.art-dots{color:#b5c9b9;letter-spacing:3px;font-size:7px}
.art-body{display:flex;padding:16px 16px 0 0;gap:16px}
.art-sidebar{display:flex;flex-direction:column;gap:23px;width:45px;align-items:center;color:#89a495;font-size:13px;border-right:1px solid #e6ede7;padding:6px 0}
.art-sidebar i:first-child{color:#28664c}
.art-content{flex:1;min-width:0}
.art-heading{font-weight:600;font-size:12px;display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.art-status{font-size:7px;font-weight:500;background:#e6f1e0;color:#54734c;border-radius:10px;padding:5px 8px}
.art-cards{display:flex;gap:10px}.art-cards>div{position:relative;width:50%;background:#edf3eb;border-radius:7px;padding:12px}.art-cards i{float:right;color:#64886a}.art-cards span{display:block;font-size:9px;color:#748774}.art-cards b{display:block;font-size:12px;margin-top:8px;font-weight:600}
.art-chart{height:80px;display:flex;align-items:flex-end;gap:8px;padding:16px 4px 0;border-bottom:1px solid #dce7dd}.art-chart span{flex:1;background:#b2cd9e;border-radius:3px 3px 0 0;height:32%}.art-chart span:nth-child(3n){height:65%;background:#669775}.art-chart span:nth-child(2n){height:48%}.art-chart span:nth-child(5n){height:85%;background:#356b50}.art-chart span:last-child{height:100%;background:#356b50}
.art-badge{position:absolute;bottom:-20px;right:-16px;background:#e0edc6;padding:12px 17px;border:4px solid #113d36;border-radius:12px;font-size:10px;font-weight:600;transform:rotate(3deg)}.art-badge i{margin-right:7px;font-size:14px}
.brand-bottom{display:flex;gap:10px;align-items:center;color:#a7c1b5;font-size:11px}.brand-line{width:25px;height:1px;background:#a6ca92}
.login-content{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:55px 40px;min-width:0;background:#fcfdfb}
.login-page .login_wrapper{width:100%;max-width:370px;padding:0;box-shadow:none;background:transparent}
.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:54px}.login-brand img{max-width:155px;max-height:58px;object-fit:contain}.login-brand>span{font-size:12px;color:#78877d;border-left:1px solid #dfe5df;padding-left:14px;max-width:150px;overflow-wrap:anywhere}
.login-page .panel-heading,.login-page .panel-body{padding:0;border:0}.login-page .form-eyebrow{color:#758c72;letter-spacing:1.8px}.login-page h2{font-size:36px;letter-spacing:-1.4px;line-height:1.2;margin:13px 0 12px;font-weight:650;color:#192e27}.login-page h2>span{color:#7ba65d}.login-description{color:#869087;font-size:14px;margin:0 0 32px}
.login-page .form-group{margin-bottom:22px}.login-page .control-label{font-size:12px;font-weight:600;color:#36483e;margin-bottom:9px}.login-page .control-label .text-danger{margin-left:4px;color:#83947c;font-size:11px}
.login-page .form-control{height:49px;border:1px solid #dce3dc;border-radius:8px;background:#fff;box-shadow:0 2px 3px #1d3b2502;color:#24392b;font-size:13px;padding:12px 15px}.login-page .form-control::placeholder{color:#a2aaa3}.login-page .form-control:focus{border-color:#718e5a;box-shadow:0 0 0 3px #86a66a1c;outline:none}.password-field{position:relative}.password-field .form-control{padding-right:48px}.password-toggle{position:absolute;right:6px;top:5px;height:39px;width:38px;background:none;border:0;color:#879483;border-radius:5px}.password-toggle:focus-visible,.login-page a:focus-visible,.login-submit:focus-visible{outline:2px solid #78915d;outline-offset:3px}.recovery-link{text-align:right;margin-top:12px;font-size:12px}.recovery-link a{color:#4e7042;font-weight:600}.login-page .login-submit{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;height:49px;border-radius:8px;background:#224e39;border:1px solid #224e39;font-size:13px;font-weight:600;box-shadow:0 5px 10px #224e3912;margin-top:27px;transition:background .15s}.login-page .login-submit:hover,.login-page .login-submit:focus{background:#163d2b;border-color:#163d2b}.login-submit i{font-size:11px}.login-footnote{font-size:10px;color:#96a090;text-align:center;margin:30px 0 0}.login-footnote i{margin-right:7px}.login-page .alert{font-size:12px;margin-bottom:18px;border-radius:8px}.login-page .g-recaptcha{margin-top:20px;max-width:100%;overflow-x:auto}
.login-page .modal-content{border-radius:14px;overflow:hidden;border:0}.login-page .modal-header{background:#f2f6ef}.login-page .modal-body{padding:25px}.login-page .modal-footer{border-color:#edf1e9}.login-page .modal .form-control{width:100%}
@media(min-width:1500px){.brand-panel{padding-left:90px;padding-right:90px}.brand-story{max-width:520px}.workspace-art{max-width:440px}}
@media(max-width:1050px){.brand-panel{padding:35px}.brand-story h1{font-size:40px}.art-heading{font-size:10px}.art-cards b{font-size:10px}.art-top{gap:15px}.login-content{padding:40px 32px}}
@media(max-width:760px){.login-layout{grid-template-columns:1fr}.brand-panel{display:none}.login-content{padding:42px 24px;min-height:100vh}.login-brand{margin-bottom:45px}.login-page h2{font-size:34px}.login-page .login_wrapper{max-width:390px}}
@media(prefers-reduced-motion:reduce){.login-page *{transition:none!important}}

/* Keep both columns inside the visible viewport, including mobile browser chrome. */
.login-page{height:100vh;height:100dvh;min-height:0;overflow:hidden}
.login-layout{height:100%;min-height:0;grid-template-rows:minmax(0,1fr)}
.brand-panel,.login-content{min-height:0}
.brand-panel{padding-top:clamp(20px,4vh,48px);padding-bottom:clamp(18px,3vh,36px)}
.brand-story{padding:clamp(12px,3vh,40px) 0}
.login-content{padding-top:clamp(16px,4vh,45px);padding-bottom:clamp(16px,4vh,45px)}
@media(max-height:800px){
    .brand-story h1{font-size:38px;margin:14px 0}
    .brand-story>p{margin-bottom:20px}
    .workspace-art{margin-top:24px}
    .login-brand{margin-bottom:28px}
    .login-description{margin-bottom:24px}
    .login-footnote{margin-top:22px}
}
@media(max-height:650px){
    .brand-story h1{font-size:32px}
    .brand-story>p{font-size:13px;line-height:1.6;margin-bottom:12px}
    .workspace-art{margin-top:16px}
    .art-chart{height:46px}
    .art-sidebar{gap:16px}
    .login-brand{margin-bottom:18px}
    .login-brand img{max-height:42px}
    .login-page h2{font-size:30px;margin:8px 0}
    .login-description{margin-bottom:18px}
    .login-page #loginForm .form-group{margin-bottom:16px}
    .login-page .login-submit{margin-top:18px}
    .login-footnote{margin-top:16px}
}
@media(max-height:480px){
    .brand-panel{padding-top:16px;padding-bottom:16px}
    .workspace-art,.brand-bottom,.form-eyebrow,.login-footnote{display:none}
    .login-content{padding-top:12px;padding-bottom:12px}
    .login-brand{margin-bottom:10px}
    .login-brand img{max-height:30px;max-width:120px}
    .login-page h2{font-size:25px;margin:5px 0}
    .login-description{margin-bottom:12px;font-size:12px}
    .login-page #loginForm .form-group{margin-bottom:10px}
    .login-page .control-label{margin-bottom:5px}
    .login-page #loginForm .form-control,.login-page .login-submit{height:40px}
    .password-toggle{height:30px}
    .recovery-link{margin-top:6px}
    .login-page .login-submit{margin-top:10px}
}
