:root{--color-primary: #48c6e5;--color-primary-d: #2a3881;--color-primary-l: #303a6f;--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text: #0f172a;--color-text-sec: #475569;--radius: 10px}body{font-family:Inter,system-ui,sans-serif;color:var(--color-text)}[data-coreui-theme=light] body{background:linear-gradient(135deg,#f1f5f9,#e2e8f0)}[data-coreui-theme=dark] body{background:var(--color-bg, #151a23)}.bg-body-tertiary{background:transparent!important}.login-container{display:flex;width:100%;max-width:980px;background:var(--color-surface);border-radius:var(--radius);overflow:hidden;box-shadow:0 20px 50px -12px #0000001f,0 10px 25px -5px #00000014}.branding-side{background:linear-gradient(135deg,#48c6e5,#2a3881);color:#fff;width:42%;padding:3.5rem 3rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.branding-side:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.12) 0%,transparent 60%);pointer-events:none}.logo{font-size:2.1rem;font-weight:700;letter-spacing:-.04em;margin-bottom:.75rem;position:relative;z-index:1}.logo-accent{color:var(--color-primary-l)}.tagline{font-size:1.05rem;opacity:.92;line-height:1.5;max-width:32ch;position:relative;z-index:1}.feature-list{margin-top:2.5rem;font-size:.95rem;opacity:.9;list-style:none;padding:0;position:relative;z-index:1}.feature-list li{margin-bottom:.9rem;display:flex;align-items:center;gap:12px}.feature-list li:before{content:"✓";color:#93c5fd;font-weight:700;font-size:1.1rem}.login-side{flex:1;padding:4rem 3.5rem;background:var(--color-surface)}h1{font-size:1.75rem;font-weight:600;color:var(--color-text);margin-bottom:.5rem}.subtitle{color:var(--color-text-sec);margin-bottom:2.25rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.45rem;color:#334155}[data-coreui-theme=dark] .form-group label{color:var(--color-text)}.form-group .form-control{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;transition:all .2s}.form-group .form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f62e}.forgot-link{display:block;text-align:right;font-size:.875rem;color:var(--color-primary);text-decoration:none;margin-top:.5rem}.forgot-link:hover{text-decoration:underline}.login-side .btn-primary{width:100%;padding:.9rem;background:var(--color-primary)!important;color:#fff!important;border:none!important;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1.25rem}.login-side .btn-primary:hover{background:var(--color-primary-d)!important;transform:translateY(-1px)}.remember-me-row{margin-top:-.25rem;margin-bottom:.25rem}.remember-me-row .form-check-label{color:var(--color-text-sec);font-size:.9rem}.sso-section{margin-top:1.5rem}.sso-divider{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;color:#94a3b8;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.sso-divider:before,.sso-divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.sso-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.65rem;padding:.75rem 1rem;margin-bottom:.65rem;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:.92rem;cursor:pointer;transition:border-color .15s,box-shadow .15s}.sso-btn:hover:not(:disabled){border-color:#94a3b8;box-shadow:0 4px 12px #0f172a0f}.sso-btn:disabled{opacity:.65;cursor:not-allowed}.footer-text{text-align:center;margin-top:2.5rem;font-size:.82rem;color:#64748b}@media (max-width: 860px){.login-container{flex-direction:column}.branding-side{width:100%;padding:3rem 1.5rem}.login-side{padding:2.5rem 1.5rem}}.password-field{position:relative}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .form-control{padding-right:45px}.password-toggle-btn{position:absolute;right:12px;background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;color:#64748b;transition:color .2s;z-index:10}.password-toggle-btn:hover{color:var(--color-primary)}.password-toggle-btn:focus{outline:none;color:var(--color-primary)}.password-toggle-btn svg{stroke:currentColor}.password-toggle-btn:hover svg{stroke:var(--color-primary)}.branding-footer{font-size:.85rem;opacity:.8;position:relative;z-index:1}
