/* KAAFÉ v18 — login e recuperação responsivos */
.kaafe-login-wrap,.auth-shell{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);max-width:1060px;margin:clamp(18px,5vw,65px) auto;box-shadow:0 18px 55px #123c2920;border-radius:22px;overflow:hidden;background:white;border:1px solid #dce8df}
.kaafe-login-aside,.auth-brand{background:linear-gradient(145deg,#123c2f,#246c50);color:white;padding:clamp(25px,5vw,60px);display:flex;flex-direction:column;justify-content:center;min-height:380px}
.kaafe-login-aside img,.auth-brand img{width:80px;height:80px;object-fit:contain;background:white;border-radius:16px;padding:8px;margin-bottom:22px}
.kaafe-login-aside span,.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:800;opacity:.85}
.kaafe-login-aside h2,.auth-brand h1{font-size:clamp(26px,3vw,40px);line-height:1.15;color:white;margin:15px 0}
.kaafe-login-aside p,.auth-brand p{color:#e0eee7;line-height:1.65}
.kaafe-login-aside small,.brand-foot{margin-top:24px;color:#b8d6c8}
.kaafe-login-card,.auth-card{background:white;padding:clamp(24px,4vw,55px)!important;margin:0!important;border:0!important;border-radius:0!important;display:flex;flex-direction:column;justify-content:center;min-width:0}
.kaafe-login-card h2,.auth-card h2{font-size:clamp(24px,3vw,32px);margin:8px 0;color:#183f30}
.auth-kicker{color:#226347;font-size:12px;font-weight:800;letter-spacing:.12em}.auth-sub{color:#687e73;line-height:1.5;margin-bottom:24px}
.kaafe-login-card form,.auth-card form{display:flex;flex-direction:column;gap:15px;margin:0;width:100%}
.kaafe-login-card form>label:not(.show-pass),.auth-card label{display:flex;flex-direction:column;gap:7px;font-weight:650;color:#254939}
.kaafe-login-card input:not([type=checkbox]),.auth-card input{width:100%;min-width:0;max-width:100%;height:48px;border:1px solid #cbded1;border-radius:10px;padding:11px 14px;box-sizing:border-box;margin:0;background:#fff;font:inherit}
.kaafe-login-card input:focus,.auth-card input:focus{outline:3px solid #a4d5b980;border-color:#277a54}
.kaafe-login-card button,.auth-card button{min-height:48px;width:100%;border:0;border-radius:10px;background:#1c6045;color:white;font-weight:750;font-size:15px;cursor:pointer;margin:0;padding:12px}
.kaafe-login-card button:hover,.auth-card button:hover{background:#144832}
.kaafe-login-card .show-pass{display:flex;align-items:center;gap:8px;font-size:13px;color:#5a7065;font-weight:400}.kaafe-login-card .show-pass input{width:17px;height:17px;margin:0}
.back-link{display:inline-block;margin-top:20px;color:#1a6445;font-weight:650;text-decoration:none}.back-link:hover{text-decoration:underline}
.auth-alert{padding:12px 15px;border-radius:9px;line-height:1.4}.auth-alert.error{background:#ffe7e7;color:#8e2020}.auth-alert.success{background:#e3f5e9;color:#165b36}
body.kaafe-auth{margin:0;font:16px system-ui,sans-serif;background:#f3f7f4;color:#213d30}body.kaafe-auth .auth-shell{margin:clamp(20px,8vh,80px) auto}body.kaafe-auth .auth-card{box-sizing:border-box}
@media(max-width:720px){.kaafe-login-wrap,.auth-shell{grid-template-columns:1fr;margin:15px auto;border-radius:16px}.kaafe-login-aside,.auth-brand{min-height:0;padding:22px 24px}.kaafe-login-aside img,.auth-brand img{width:48px;height:48px;margin-bottom:10px}.kaafe-login-aside h2,.auth-brand h1{font-size:23px;margin:8px 0}.kaafe-login-aside p,.auth-brand p{font-size:13px;margin:5px 0}.kaafe-login-aside small,.brand-foot{display:none}.kaafe-login-card,.auth-card{padding:25px 20px!important}}
@media(max-width:400px){.kaafe-login-wrap,.auth-shell{margin:10px auto}.kaafe-login-card,.auth-card{padding:20px 16px!important}}
