
:root{--ec-navy:#052d52;--ec-navy-2:#071f3c;--ec-green:#2bb673;--ec-teal:#17c4c7;--ec-gold:#d6a84b;--ec-text:#10243e;--ec-muted:#6b7b90}
body.ec-auth-page{display:block!important;padding:0!important;min-height:100vh!important;background:#071f3c!important;color:var(--ec-text);overflow-x:hidden}
.ec-auth-shell{min-height:calc(100vh - 88px);display:grid;grid-template-columns:minmax(480px,1.08fr) minmax(420px,.92fr);background:radial-gradient(circle at 85% 18%,rgba(23,196,199,.18),transparent 31%),linear-gradient(125deg,#061d38 0%,#07365d 62%,#099b89 130%)}
.ec-auth-showcase{position:relative;padding:clamp(36px,5vw,76px);color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-height:720px}.ec-auth-showcase:after{content:"";position:absolute;inset:auto -160px -210px auto;width:520px;height:520px;border:1px solid rgba(45,212,191,.2);border-radius:50%;box-shadow:0 0 0 40px rgba(45,212,191,.03),0 0 0 80px rgba(45,212,191,.025)}
.ec-auth-brand{display:flex;flex-direction:column;gap:9px;position:relative;z-index:2}.ec-auth-brand img{width:min(380px,76%);max-height:92px;object-fit:contain;object-position:left center}.ec-auth-brand span{text-transform:uppercase;letter-spacing:.24em;font-size:12px;font-weight:750;color:#d6e9f5;margin-left:76px}
.ec-auth-copy{margin-top:42px;position:relative;z-index:2}.ec-auth-copy i{display:block;width:68px;height:3px;border-radius:4px;background:linear-gradient(90deg,var(--ec-teal),var(--ec-green));margin-bottom:30px}.ec-auth-copy h1{font-size:clamp(30px,3.5vw,54px);line-height:1.08;margin:0 0 22px;letter-spacing:-.035em}.ec-auth-copy h1 strong{color:#2fd2a1}.ec-auth-copy p{max-width:610px;font-size:17px;line-height:1.65;color:#d4e3ee;margin:0}
.ec-auth-benefits{display:grid;gap:15px;margin-top:32px;width:min(520px,80%);position:relative;z-index:2}.ec-auth-benefits article{display:flex;align-items:center;gap:14px}.ec-auth-benefits b{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:rgba(13,148,136,.18);border:1px solid rgba(45,212,191,.16);color:#42dab2;font-size:20px}.ec-auth-benefits strong,.ec-auth-benefits small{display:block}.ec-auth-benefits strong{font-size:14px;margin-bottom:3px}.ec-auth-benefits small{font-size:12px;color:#c4d8e5}
.ec-auth-device{position:absolute;z-index:1;width:330px;height:235px;right:3%;bottom:14%;transform:perspective(700px) rotateY(-10deg);opacity:.75}.ec-auth-device .screen{height:185px;border:8px solid rgba(6,23,45,.9);border-radius:14px;background:linear-gradient(135deg,#073969,#0b2442);box-shadow:0 28px 65px rgba(0,0,0,.36);position:relative;overflow:hidden}.ec-auth-device .screen>span{position:absolute;left:18px;right:18px;top:17px;height:15px;border-radius:5px;background:rgba(23,196,199,.18)}.ec-auth-device .bars{position:absolute;left:28px;bottom:28px;display:flex;gap:10px;align-items:flex-end;height:90px}.ec-auth-device .bars i{width:21px;background:linear-gradient(var(--ec-teal),#159e91);border-radius:4px 4px 0 0}.ec-auth-device .bars i:nth-child(1){height:33%}.ec-auth-device .bars i:nth-child(2){height:56%}.ec-auth-device .bars i:nth-child(3){height:43%}.ec-auth-device .bars i:nth-child(4){height:86%}.ec-auth-device .ring{position:absolute;width:68px;height:68px;border-radius:50%;border:13px solid rgba(23,196,199,.22);border-top-color:#24d3b0;right:35px;top:52px}.ec-auth-device .base{width:370px;height:20px;margin-left:-20px;border-radius:2px 2px 20px 20px;background:#07182d}
.ec-auth-cloud{display:flex;align-items:center;gap:14px;width:min(420px,70%);padding:14px 18px;border:1px solid rgba(45,212,191,.18);border-radius:15px;background:rgba(4,24,48,.36);margin-top:30px;position:relative;z-index:2}.ec-auth-cloud>b{display:grid;place-items:center;width:48px;height:48px;background:linear-gradient(145deg,var(--ec-green),var(--ec-teal));clip-path:polygon(50% 0,90% 18%,90% 66%,50% 100%,10% 66%,10% 18%)}.ec-auth-cloud strong,.ec-auth-cloud small{display:block}.ec-auth-cloud strong{font-size:13px}.ec-auth-cloud small{font-size:11px;line-height:1.5;color:#c7dce9;margin-top:3px}
.ec-auth-access{display:flex;align-items:center;justify-content:center;padding:48px clamp(28px,5vw,82px);background:linear-gradient(145deg,rgba(245,250,253,.98),rgba(232,251,248,.96));position:relative}.ec-auth-access .card.ec-auth-card{width:min(590px,100%);padding:42px 44px!important;border-radius:24px!important;box-shadow:0 30px 85px rgba(5,45,82,.17)!important;border:1px solid rgba(207,221,232,.85)!important;margin:0;background:#fff!important}
.ec-auth-profile-head{display:flex;align-items:center;gap:15px;margin-bottom:20px}.ec-auth-profile-head img{width:62px;height:62px;border-radius:17px;padding:10px;background:#071f3c}.ec-auth-profile-head>div{min-width:0;flex:1}.ec-profile-label{display:block;font-size:25px;font-weight:850;letter-spacing:-.025em;color:#10243e}.ec-auth-profile-head small{display:block;color:#718096;margin-top:4px;white-space:normal}.ec-auth-profile-head em{font-style:normal;border-radius:999px;background:#d8f5ed;color:#078b6d;padding:7px 10px;font-size:11px;font-weight:850;white-space:nowrap}
.ec-profile-switch{display:grid;grid-template-columns:1fr 1fr;background:#f1f5f9;padding:4px;border-radius:12px;margin:0 0 22px}.ec-profile-switch a{text-align:center;padding:10px 8px;border-radius:9px;text-decoration:none;color:#64748b;font-size:12px;font-weight:800}.ec-profile-switch a.active{background:#fff;color:#075985;box-shadow:0 3px 12px rgba(15,23,42,.08)}
.ec-auth-card>.ec-login-logo{display:none!important}.ec-auth-card>.logo{max-width:170px!important;max-height:62px!important;margin:0 auto 10px!important;display:block}.ec-auth-card>.brandmark{display:none}.ec-auth-card>.sub{font-size:13px;text-align:center;margin-bottom:18px!important}.ec-auth-card .field{margin-bottom:16px}.ec-auth-card label{font-size:12px;color:#10243e;margin-bottom:7px}.ec-auth-input{position:relative}.ec-auth-input>span{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:#718096;z-index:2}.ec-auth-input input{height:53px;padding:12px 48px 12px 43px!important;border-radius:12px!important;border:1px solid #d7e0e8!important;background:#fff!important}.ec-auth-input input:focus{border-color:var(--ec-teal)!important;box-shadow:0 0 0 4px rgba(23,196,199,.12)!important}.ec-auth-password-toggle{position:absolute!important;right:6px;top:6px;width:41px!important;height:41px!important;padding:0!important;background:transparent!important;color:#718096!important}.ec-auth-submit{height:54px!important;border-radius:12px!important;background:linear-gradient(90deg,#0875b9,var(--ec-green))!important;display:flex!important;align-items:center;justify-content:center;gap:18px;font-weight:850!important;box-shadow:0 10px 25px rgba(16,185,129,.18)}.ec-auth-submit b{font-size:22px}.ec-auth-card .remember-device{margin:6px 0 16px}.ec-auth-card .login-links{display:flex;justify-content:space-between;gap:12px;margin-top:8px}.ec-auth-card .link{font-size:12px}.ec-auth-card .foot{border-top:1px solid #edf2f7;padding-top:17px;margin-top:22px!important}
.ec-auth-footer{min-height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:30px;padding:18px clamp(28px,5vw,76px);background:#061a31;color:#bcd0df;font-size:11px}.ec-auth-footer strong{text-align:center;font-size:20px;color:#9eb2c4}.ec-auth-footer strong small{display:block;font-size:11px;font-weight:500;margin-top:5px}.ec-auth-footer>span:last-child{text-align:right}
@media(max-width:1050px){.ec-auth-shell{grid-template-columns:1fr}.ec-auth-showcase{min-height:auto;padding:32px 40px 38px}.ec-auth-copy{margin-top:28px}.ec-auth-copy h1{font-size:34px}.ec-auth-benefits{grid-template-columns:1fr 1fr;width:100%}.ec-auth-device{display:none}.ec-auth-cloud{width:100%;max-width:500px}.ec-auth-access{padding:42px 24px}.ec-auth-footer{grid-template-columns:1fr 1fr}.ec-auth-footer strong{display:none}}
@media(max-width:640px){body.ec-auth-page{background:#f3f7fa!important}.ec-auth-shell{display:block;min-height:calc(100vh - 58px);background:linear-gradient(160deg,#052d52 0,#0c526b 28%,#f3f7fa 28.2%)}.ec-auth-showcase{padding:24px 20px 48px;min-height:245px;display:block}.ec-auth-brand img{width:230px;max-height:58px}.ec-auth-brand span{font-size:8px;margin-left:49px}.ec-auth-copy{margin-top:20px}.ec-auth-copy i{margin-bottom:14px;width:45px}.ec-auth-copy h1{font-size:25px;margin-bottom:10px}.ec-auth-copy p{font-size:12px;max-width:88%}.ec-auth-benefits,.ec-auth-cloud{display:none}.ec-auth-access{background:transparent;padding:0 14px 30px;margin-top:-24px}.ec-auth-access .card.ec-auth-card{padding:25px 20px!important;border-radius:22px!important;box-shadow:0 17px 48px rgba(15,23,42,.17)!important}.ec-auth-profile-head img{width:50px;height:50px}.ec-profile-label{font-size:19px}.ec-auth-profile-head small{font-size:10px}.ec-auth-profile-head em{font-size:9px}.ec-auth-card>.logo{max-height:48px!important}.ec-auth-footer{min-height:58px;padding:13px 18px;display:flex;justify-content:center;text-align:center}.ec-auth-footer>span:first-child,.ec-auth-footer>span:last-child{font-size:9px}.ec-auth-footer>span:last-child{display:none}.ec-auth-card .login-links{flex-wrap:wrap}.ec-profile-switch a{font-size:10px}.ec-auth-input input{font-size:16px}}
@media(prefers-reduced-motion:no-preference){.ec-auth-card{animation:ecAuthIn .5s ease both}.ec-auth-showcase>*{animation:ecAuthRise .55s ease both}@keyframes ecAuthIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes ecAuthRise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}

/* EduCantina 6.1.6 — melhoria exclusiva para celular/PWA */
@media (max-width: 767px){
  body.ec-auth-page{-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .ec-auth-access{padding-left:10px;padding-right:10px}
  .ec-auth-access .card.ec-auth-card{width:100%!important;max-width:100%!important;padding:28px 22px!important}
  .ec-auth-card .field{margin-bottom:20px!important}
  .ec-auth-card label{font-size:14px!important;line-height:1.35;margin-bottom:9px!important;font-weight:800!important}
  .ec-auth-input input,
  .ec-auth-card input[type="email"],
  .ec-auth-card input[type="password"],
  .ec-auth-card input[type="text"]{
    min-height:62px!important;
    height:62px!important;
    padding:16px 54px 16px 48px!important;
    border-radius:14px!important;
    font-size:16px!important;
    line-height:1.25!important;
    font-weight:600!important;
    color:#10243e!important;
    background:#fff!important;
    border:2px solid #cbd7e3!important;
  }
  .ec-auth-card input::placeholder{font-size:16px!important;color:#7b8ca2!important;opacity:1}
  .ec-auth-input>span{left:17px!important;font-size:20px!important}
  .ec-auth-password-toggle{right:8px!important;top:8px!important;width:46px!important;height:46px!important;font-size:18px!important}
  .ec-auth-input input:focus,
  .ec-auth-card input:focus{border-color:var(--ec-teal)!important;box-shadow:0 0 0 4px rgba(23,196,199,.16)!important}
  .ec-auth-submit{min-height:58px!important;height:58px!important;font-size:16px!important;border-radius:14px!important}
  .ec-profile-switch a{min-height:44px;display:flex;align-items:center;justify-content:center;font-size:12px!important}
  .ec-auth-card .remember-device{font-size:13px!important;line-height:1.4;margin:10px 0 18px!important}
  .ec-auth-card .login-links{font-size:13px!important;gap:14px!important}
  .ec-auth-card .link{font-size:13px!important}
}

@media (max-width: 380px){
  .ec-auth-access .card.ec-auth-card{padding:24px 16px!important}
  .ec-auth-input input,
  .ec-auth-card input[type="email"],
  .ec-auth-card input[type="password"],
  .ec-auth-card input[type="text"]{min-height:60px!important;height:60px!important;padding-left:45px!important;font-size:16px!important}
}
