/* Login only. Native Frappe forms, routes and authentication stay intact. */
body:has(.allwin-login) { background:#fff; color:#292c29; }
body:has(.allwin-login) .web-footer, body:has(.allwin-login) .navbar { display:none!important; }
body:has(.allwin-login) .main-section, body:has(.allwin-login) .container, body:has(.allwin-login) .page-content-wrapper, body:has(.allwin-login) .page_content { max-width:none; padding:0; margin:0; width:100%; }
.allwin-login { min-height:100svh; display:grid; grid-template-columns:46% 54%; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.allwin-brand { position:relative; isolation:isolate; overflow:hidden; background:#252d2b; color:#fff; padding:52px 12%; display:flex; flex-direction:column; justify-content:space-between; }
.allwin-brand-top { display:flex; align-items:center; gap:14px; font-size:13px; font-weight:650; letter-spacing:2px; }
.allwin-mark { width:38px; height:42px; display:grid; place-items:center; border:1px solid #ffba19; color:#ffba19; border-radius:12px 12px 3px 3px; font-size:23px; font-weight:500; }
.allwin-brand-caption { display:block; color:#aab5b0; font-size:9px; letter-spacing:2.1px; margin-top:5px; font-weight:400; }
.allwin-brand-message { padding:76px 0 92px; position:relative; z-index:1; }
.allwin-eyebrow { font-size:10px; font-weight:600; letter-spacing:2.2px; color:#ffbf32; }
.allwin-brand h1 { font-size:clamp(36px,4.3vw,66px); line-height:1.12; letter-spacing:-2.5px; font-weight:500; margin:25px 0; color:#fff; }
.allwin-brand h1 em { font-style:normal; color:#ffbc23; }
.allwin-brand-message p { color:#bec8c3; font-size:14px; line-height:1.8; margin:0; }
.allwin-brand-bottom { display:flex; align-items:center; gap:12px; color:#bdc7c1; font-size:11px; }
.allwin-line { width:26px; height:1px; background:#ffbb19; }
.allwin-architecture { position:absolute; width:350px; height:480px; border:1px solid #ffffff0c; border-radius:180px 180px 0 0; right:-100px; bottom:-170px; transform:rotate(-25deg); box-shadow:0 0 0 38px #ffffff03,0 0 0 78px #ffffff03; z-index:-1; }
.allwin-access { padding:46px 9% 28px; display:flex; flex-direction:column; min-width:0; }
.allwin-access-top { display:flex; justify-content:space-between; gap:16px; color:#737c77; font-size:9px; letter-spacing:1.8px; font-weight:600; }
.allwin-access-top span { color:#8d948f; letter-spacing:1px; }
.allwin-form-wrap { width:100%; max-width:370px; margin:auto; padding:35px 0; }
.allwin-logo { height:132px; overflow:hidden; display:flex; justify-content:center; margin-bottom:22px; }
.allwin-logo img { width:180px; height:180px; max-height:none; flex-shrink:0; margin-top:-25px; }
.allwin-login section { padding:0!important; margin:0!important; background:transparent!important; }
.allwin-login .page-card { max-width:none; padding:0; margin:0; border:0; box-shadow:none; border-radius:0; background:transparent; }
.allwin-login .page-card-head { padding:0; margin:0 0 30px; text-align:left; display:block; }
.allwin-login .page-card-head .app-logo { display:none; }
.allwin-login .page-card-head h4 { font-size:28px; font-weight:600; letter-spacing:-.8px; color:#252d2b; margin:0 0 8px; }
.allwin-login .page-card-subtitle { font-size:13px; line-height:1.6; color:#737b76; }
.allwin-login .page-card-body { padding:0; }
.allwin-login .form-group { margin-bottom:20px; }
.allwin-login .form-label { font-size:12px; font-weight:600; color:#37433b; margin-bottom:9px; }
.allwin-login .login-content.page-card .page-card-body .form-control { height:49px; border:1px solid #dde2dc; border-radius:9px; background:#fafbf9; color:#29332d; font-size:13px; padding-left:38px; box-shadow:none; }
.allwin-login .login-content.page-card .page-card-body .form-control:focus { border-color:#af7900; background:white; box-shadow:0 0 0 3px #ffbb1926; }
.allwin-login .login-content.page-card .page-card-body .form-control::placeholder { color:#939b95; }
.allwin-login .field-icon, .allwin-login .toggle-password { top:50%!important; transform:translateY(-50%); }
.allwin-login .password-field .form-control { padding-right:40px; }
.allwin-login .forgot-password-message { margin-top:12px; font-size:12px; }
.allwin-login a { color:#555f58; text-decoration:none; }
.allwin-login a:hover { color:#252d2b; text-decoration:underline; }
.allwin-login .page-card-actions { padding:0; margin-top:25px; }
.allwin-login .page-card-actions .btn { min-height:47px; border-radius:9px; font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.allwin-login .login-content.page-card .page-card-actions button.btn { background:#ffb900; color:#292a22; border:1px solid #ffb900; box-shadow:0 4px 10px #d7970015; }
.allwin-login .login-content.page-card .page-card-actions button.btn:hover { background:#f1ad00; border-color:#f1ad00; }
.allwin-login .page-card-actions .btn-login-option { background:white; border:1px solid #e0e4de; color:#505b53; margin-top:12px; }
.allwin-login :focus-visible { outline:2px solid #996700; outline-offset:3px; }
.allwin-login .login-error-banner { border-radius:8px; font-size:12px; }
.allwin-login .field-error { font-size:12px; }
.allwin-help { color:#7e867f; text-align:center; font-size:11px; line-height:1.8; border-top:1px solid #ecefe9; padding-top:22px; margin:27px 0 0; }
.allwin-access-footer { display:flex; justify-content:space-between; gap:12px; color:#90968f; font-size:10px; }
@media (min-width:1500px) { .allwin-brand { padding-left:17%; } }
@media (max-width:800px) { .allwin-login { grid-template-columns:1fr; } .allwin-brand { display:none; } .allwin-access { min-height:100svh; padding:26px 7% 22px; } .allwin-form-wrap { padding:35px 0 45px; } }
@media (max-width:380px) { .allwin-access { padding-left:22px; padding-right:22px; } .allwin-access-top { letter-spacing:1px; } }
@media (prefers-reduced-motion:reduce) { .allwin-login *, .allwin-login *::before, .allwin-login *::after { animation:none!important; transition:none!important; } }
