body,button,input,select,textarea,.dropdown-menu{font-family:'Roboto Condensed',Arial,sans-serif;}
body{min-height:100vh;margin:0;background:#f5f7fb;color:#172033;overflow-x:hidden;}
.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr);}
.auth-visual{position:relative;min-height:100vh;background:linear-gradient(135deg,rgba(237,245,255,.22),rgba(237,245,255,.04)),url('../img/landing/chronos-attendance-hero.png') 72% center/cover no-repeat;overflow:hidden;}
.auth-visual:after{content:"";position:absolute;inset:auto 0 0;height:52%;background:linear-gradient(0deg,rgba(237,245,255,.97),rgba(237,245,255,0));}
.auth-visual-copy{position:absolute;z-index:1;bottom:44px;left:44px;right:44px;max-width:520px;color:#13285f;}
.auth-visual-copy h1{margin:0 0 12px;font-size:42px;font-weight:900;line-height:1.02;text-transform:lowercase;text-shadow:none;}
.auth-visual-copy p{margin:0;max-width:440px;color:#52617f;font-size:17px;font-weight:700;line-height:1.45;}
.auth-panel{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 44px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);}
.auth-card{width:100%;max-width:430px;padding:34px;background:rgba(255,255,255,.96);border:1px solid #e7edf6;border-radius:24px;box-shadow:0 24px 70px rgba(15,23,42,.10);backdrop-filter:blur(12px);}
.auth-card.auth-card-wide{max-width:510px;}
.auth-language{position:fixed;top:22px;right:22px;z-index:20;}
.auth-language-btn{min-height:42px;border:1px solid #e6ebf2;border-radius:12px;background:#fff;color:#344054;display:flex;align-items:center;gap:8px;padding:.45rem .75rem;font-weight:800;text-transform:lowercase;box-shadow:0 12px 34px rgba(15,23,42,.08);}
.auth-language-btn:hover{background:#f8fbff;color:#0d6efd;}
.auth-language-btn .fi,.auth-language-item .fi{border-radius:3px;box-shadow:0 0 0 1px rgba(15,23,42,.08);}
.auth-language-menu{min-width:190px;padding:8px;border:0;border-radius:14px;box-shadow:0 18px 42px rgba(15,23,42,.14);}
.auth-language-item{width:100%;display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:#344054;font-weight:800;text-align:left;text-transform:lowercase;}
.auth-language-item:hover,.auth-language-item.active{background:#eef4ff;color:#0d6efd;}
.auth-brand{display:inline-flex;align-items:center;justify-content:center;}
.brand-logo{display:inline-block;width:auto;max-width:170px;height:50px;object-fit:contain;}
.input-group-text{border-right:0;background:#f8fafc;color:#64748b;}
.form-control{height:46px;border-left:0;font-weight:700;}
.form-control:focus{border-color:#ced4da;box-shadow:none;}
.auth-note{font-size:12px;line-height:1.55;color:#64748b;}
.login-submit,.register-submit,.forgot-submit{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;text-transform:lowercase;}
.login-submit .spinner-border,.register-submit .spinner-border,.forgot-submit .spinner-border{width:1rem;height:1rem;border-width:.16em;}
@media(max-width:991.98px){.auth-shell{grid-template-columns:1fr;}.auth-visual{display:none;}.auth-panel{padding:88px 18px 28px;}.auth-card,.auth-card.auth-card-wide{max-width:520px;}}
@media(max-width:520px){.auth-language{position:absolute;top:14px;right:14px;}.auth-card{padding:24px;}.password-tools{flex-direction:column;align-items:stretch;}.rule-list{grid-template-columns:1fr;}.generate-btn{width:100%;}}
