:root{--login-primary:#315f4b;--login-primary-dark:#194633;--login-accent:#f4d93e;--login-blue:#4e73df;--login-text:#263248;--login-muted:#7c8798}
*{box-sizing:border-box}body.login-page{min-height:100vh;margin:0;background:#f4f6fa;font-family:"Nunito",sans-serif;color:var(--login-text)}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,44%) 1fr}.login-brand{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:48px 56px;background:linear-gradient(145deg,var(--login-primary-dark),var(--login-primary));color:#fff}.login-brand:before,.login-brand:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.login-brand:before{width:480px;height:480px;right:-220px;top:-180px}.login-brand:after{width:360px;height:360px;left:-180px;bottom:-160px}.brand-mark{position:relative;z-index:1;display:flex;align-items:center;gap:15px}.brand-mark img{width:72px;height:72px;object-fit:contain;background:#fff;border-radius:16px;padding:6px;box-shadow:0 10px 30px rgba(0,0,0,.16)}.brand-mark strong{display:block;font-size:1.3rem;letter-spacing:.08em}.brand-mark span{display:block;color:rgba(255,255,255,.7);font-size:.78rem;letter-spacing:.1em}.brand-message{position:relative;z-index:1;max-width:470px}.brand-message .eyebrow{color:var(--login-accent);font-weight:800;font-size:.75rem;letter-spacing:.15em}.brand-message h1{font-size:2.4rem;line-height:1.15;margin:14px 0}.brand-message p{color:rgba(255,255,255,.72);font-size:1rem;line-height:1.7}.brand-footer{position:relative;z-index:1;color:rgba(255,255,255,.55);font-size:.75rem}
.login-content{display:flex;align-items:center;justify-content:center;padding:40px}.login-card{width:100%;max-width:430px}.login-card-header{margin-bottom:30px}.login-card-header .mobile-logo{display:none}.login-card-header h2{font-size:1.8rem;font-weight:800;margin:0 0 8px}.login-card-header p{color:var(--login-muted);margin:0}.login-form label{display:block;color:#4e596b;font-size:.78rem;font-weight:800;margin-bottom:7px}.login-form .form-group{margin-bottom:19px}.input-wrap{position:relative}.input-wrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#9aa3b2}.input-wrap .form-control{height:50px;padding-left:44px;border:1px solid #dce2eb;border-radius:10px;color:var(--login-text);font-size:.92rem;background:#fff;transition:.2s}.input-wrap .form-control:focus{border-color:#7994e7;box-shadow:0 0 0 3px rgba(78,115,223,.12)}.input-wrap.password .form-control{padding-right:48px}.toggle-password{position:absolute;right:7px;top:7px;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#8e98a8;cursor:pointer}.toggle-password:hover{background:#f0f3f8;color:#4e73df}.caps-warning{display:none;color:#b06b12;font-size:.73rem;margin-top:7px}.login-submit{width:100%;height:50px;border:0;border-radius:10px;background:linear-gradient(135deg,#4e73df,#3f62c7);color:#fff;font-weight:800;box-shadow:0 8px 20px rgba(78,115,223,.22);cursor:pointer;transition:.2s}.login-submit:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(78,115,223,.28)}.login-submit:focus{outline:0;box-shadow:0 0 0 3px rgba(78,115,223,.2)}.login-alert{display:flex;align-items:flex-start;gap:10px;background:#fff0f1;color:#a9414b;border:1px solid #ffdadd;border-radius:10px;padding:12px 14px;margin-bottom:20px;font-size:.84rem}.login-security{display:flex;align-items:center;justify-content:center;gap:7px;color:#98a1af;font-size:.72rem;margin-top:22px}.login-security i{color:#58a584}
@media(max-width:900px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-content{padding:28px}.login-card-header .mobile-logo{display:flex;width:82px;height:82px;margin:0 0 26px;background:#fff;border-radius:18px;padding:7px;box-shadow:0 8px 28px rgba(31,45,61,.1)}}
@media(max-width:480px){.login-content{align-items:flex-start;padding:34px 20px}.login-card-header h2{font-size:1.55rem}}
