body { min-height:100%; background:#edf3f4; }
.login-page { display:grid; grid-template-columns:minmax(390px,1.05fr) minmax(430px,.95fr); min-height:calc(100vh - 70px); }
.login-intro { position:relative; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; padding:54px clamp(40px,6vw,90px); color:#fff; background:linear-gradient(145deg,rgba(18,56,78,.96),rgba(29,112,119,.91)),url('/img/fabrica.jpg') center/cover; }
.login-intro:after { position:absolute; right:-150px; bottom:-190px; width:470px; height:470px; border:90px solid rgba(255,255,255,.055); border-radius:50%; content:""; }
.login-intro__logo { position:relative; z-index:1; width:min(330px,80%); padding:10px 16px; border-radius:12px; background:#fff; box-shadow:0 10px 35px rgba(0,0,0,.13); }
.login-intro__content { position:relative; z-index:1; max-width:620px; margin:60px 0 auto; }
.login-eyebrow { color:#f2bc62; font-size:12px; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.login-intro h1 { margin:10px 0 18px; color:#fff; font-size:clamp(38px,4.6vw,62px); line-height:1.03; font-weight:900; letter-spacing:-.035em; }
.login-intro small { position:relative; z-index:1; color:rgba(255,255,255,.66); font-weight:700; letter-spacing:.04em; }
.login-panel { display:flex; flex-direction:column; justify-content:center; padding:45px clamp(28px,6vw,90px); background:#f7fafb; }
.login-card { width:100%; max-width:520px; margin:auto; padding:34px; border:1px solid #dfe8e9; border-radius:22px; background:#fff; box-shadow:0 22px 60px rgba(18,55,70,.12); }
.login-card__heading { display:flex; align-items:center; gap:16px; margin-bottom:23px; }
.login-card__heading img { width:58px; height:58px; object-fit:contain; border-radius:13px; }
.login-card__heading span { color:#c58027; font-size:11px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.login-card__heading h2 { margin:2px 0 0; color:#173f58; font-size:27px; font-weight:900; }
.login-card .panel-body { padding:0; }
.login-card .form-group { margin-bottom:16px; }
.login-card .input-group { width:100%; }
.login-card .input-group-addon { width:48px; border:1px solid #d5e2e4; border-right:0; border-radius:10px 0 0 10px; background:#edf4f4; }
.login-card .form-control { height:50px; border:1px solid #d5e2e4; border-radius:0 10px 10px 0; box-shadow:none; font-size:15px; }
.login-card .form-control:focus { border-color:#207b82; box-shadow:0 0 0 4px rgba(32,123,130,.09); }
.login-btn { width:100%; min-height:50px; border:0; border-radius:10px; color:#fff; background:linear-gradient(110deg,#173f58,#207b82); font-size:15px; font-weight:900; box-shadow:0 10px 24px rgba(32,123,130,.22); }
.login-btn:hover,.login-btn:focus { color:#fff; background:linear-gradient(110deg,#123247,#196b72); transform:translateY(-1px); }
.login-bottom { display:flex; padding-top:4px; }
.login-checkbox { position:relative; padding-left:28px; color:#5f747c; cursor:pointer; user-select:none; }
.login-checkbox input { position:absolute; opacity:0; }
.checkmark { position:absolute; top:0; left:0; width:19px; height:19px; border:2px solid #b8cbce; border-radius:5px; }
.login-checkbox input:checked~.checkmark { border-color:#207b82; background:#207b82; }
.login-checkbox input:checked~.checkmark:after { display:block; }
.checkmark:after { position:absolute; top:1px; left:5px; display:none; width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; content:""; transform:rotate(45deg); }
.download-link { display:flex; align-items:center; justify-content:center; gap:9px; margin-top:8px; padding:12px; border-top:1px solid #ebf0f1; color:#207b82; font-weight:800; text-align:center; }
.download-link:hover { color:#173f58; text-decoration:none; }
.login-support { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 15px; max-width:520px; margin:20px auto 0; color:#6b7e85; }
.login-support a { color:#207b82; font-weight:800; }
.open-button { left:auto!important; right:22px!important; bottom:22px!important; z-index:20!important; width:auto!important; padding:12px 18px!important; border-radius:24px!important; background:#d99b42!important; box-shadow:0 8px 25px rgba(72,49,16,.2); font-weight:900; opacity:1!important; }
.form-popup { right:22px!important; left:auto!important; bottom:78px!important; overflow:hidden; border:0!important; border-radius:16px; box-shadow:0 20px 55px rgba(18,55,70,.22); }
.form-container { width:320px!important; padding:22px!important; }
#footer { position:static!important; }
#footer footer { position:static!important; margin:0!important; padding:12px!important; background:#132f40!important; text-align:center; }
#footer p { margin:0!important; color:rgba(255,255,255,.72)!important; }
@media(max-width:900px){.login-page{grid-template-columns:1fr}.login-intro{min-height:350px;padding:35px 26px}.login-intro__content{margin:42px 0 20px}.login-intro h1{font-size:38px}.login-intro ul,.login-intro small{display:none}.login-panel{padding:30px 18px 80px}.login-card{padding:26px 21px}}
