/* Camada visual independente de CDN, restaurando o layout do login original. */
:root{--ec-brand:#c2485f;--ec-brand-hover:#a63649;--ec-ink:#172339;--ec-text:#475569}
*{box-sizing:border-box}
html{min-height:100%}
body.ec-login-page{overflow:auto!important;margin:0;min-height:100vh;color:var(--ec-ink);background:#f9fafb;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ec-login-background{position:fixed;inset:0;background:linear-gradient(135deg,rgba(194,72,95,.1),rgba(194,72,95,.035));pointer-events:none}
.ec-login-stage{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 20px 44px;gap:28px}
.ec-login-card{width:min(100%,930px);min-height:540px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 24px 62px rgba(15,23,42,.16)}
.ec-login-promo{background:var(--ec-brand);color:white;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px;isolation:isolate}
.ec-login-promo:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#c2485f,#aa3f57);z-index:-1}
.ec-login-promo-content{position:relative;z-index:1;max-width:330px}
.ec-login-logo-white{width:150px;height:auto;max-height:154px;object-fit:contain;display:block;margin:0 auto 18px;filter:brightness(0) invert(1)}
.ec-login-promo h2{font-size:25px;font-weight:750;line-height:1.25;margin:0 0 8px;color:#fff}
.ec-login-promo p{font-size:15px;line-height:1.65;margin:0;color:rgba(255,255,255,.91)}
.ec-login-content{display:flex;flex-direction:column;justify-content:center;padding:48px;min-width:0}
.ec-login-intro{margin-bottom:29px}
.ec-login-intro h1{font-size:30px;line-height:1.3;font-weight:780;letter-spacing:-.8px;color:#1f2937;margin:0}
.ec-login-intro p{font-size:14px;line-height:1.5;color:#64748b;margin:7px 0 0}
.ec-login-form{display:flex;flex-direction:column;gap:20px}
.ec-field label{display:block;font-weight:600;font-size:14px;color:#374151;margin-bottom:7px;margin-left:3px}
.ec-input-wrap{position:relative;display:flex;align-items:center;width:100%;height:51px;border:1px solid #d1d5db;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);transition:border-color .15s,box-shadow .15s}
.ec-input-wrap:focus-within{border-color:var(--ec-brand);box-shadow:0 0 0 3px rgba(194,72,95,.16)}
.ec-input-wrap>svg{position:absolute;left:14px;width:19px;height:19px;stroke:#94a3b8;stroke-width:1.8;fill:none;pointer-events:none}
.ec-input-wrap input{font:inherit;width:100%;height:100%;min-width:0;border:0;background:transparent;color:#334155;font-size:15px;outline:0;padding:0 17px 0 43px;border-radius:12px}
.ec-input-wrap input::placeholder{color:#94a3b8}
.ec-password-wrap input{padding-right:50px}
.ec-show-pass{position:absolute;right:7px;top:5px;height:40px;width:40px;display:grid;place-items:center;background:transparent;border:0;color:#94a3b8;cursor:pointer;border-radius:10px}
.ec-show-pass:hover,.ec-show-pass:focus-visible{color:var(--ec-brand);background:#fff1f2}
.ec-show-pass svg{height:19px;width:19px;stroke:currentColor;stroke-width:1.9;fill:none}
.ec-login-options{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.ec-remember{display:inline-flex;align-items:center;gap:8px;color:#475569;cursor:pointer}
.ec-remember input{width:16px;height:16px;margin:0;accent-color:var(--ec-brand)}
.ec-login-options a,.ec-login-register a{color:var(--ec-brand);font-weight:650;text-decoration:none}
.ec-login-options a:hover,.ec-login-register a:hover{text-decoration:underline}
.ec-login-submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 18px;min-height:52px;border:0;border-radius:12px;background:var(--ec-brand);color:white;font-size:17px;font-weight:750;box-shadow:0 10px 22px rgba(194,72,95,.23);cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.ec-login-submit:hover{background:var(--ec-brand-hover);box-shadow:0 12px 25px rgba(194,72,95,.3)}
.ec-login-submit:active{transform:scale(.99)}
.ec-login-submit svg{width:20px;height:20px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
.ec-login-register{text-align:center;color:#64748b;font-size:13px;margin:29px 0 0;line-height:1.5}
.ec-login-footer{text-align:center;font-size:12px;color:#94a3b8}
.ec-login-error{display:flex;align-items:center;gap:10px;margin-bottom:21px;padding:13px 15px;background:#fff1f2;border-left:4px solid #ef4444;color:#b91c1c;font-size:13px;border-radius:3px 8px 8px 3px;line-height:1.45}
.ec-login-error svg{height:17px;width:17px;flex:none}
.ec-login-logo-mobile{display:none}
@media(max-width:760px){.ec-login-stage{padding:22px 16px;gap:22px}.ec-login-card{display:block;width:min(100%,470px);min-height:0}.ec-login-promo{display:none}.ec-login-content{padding:37px 30px 35px}.ec-login-intro{text-align:center;margin-bottom:30px}.ec-login-logo-mobile{display:block;width:88px;height:88px;object-fit:contain;margin:0 auto 16px}}
@media(max-width:400px){.ec-login-stage{padding:16px 12px}.ec-login-content{padding:31px 23px}.ec-login-intro h1{font-size:27px}.ec-login-options{font-size:12px}}
