@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700;800&family=Playfair+Display:wght@700;800&display=swap');
.registration-body{min-height:100vh;display:flex;flex-direction:column;background:#eef7fb;color:#09253a;background-image:radial-gradient(circle at 5% 10%,rgba(20,231,201,.22),transparent 25rem),radial-gradient(circle at 95% 80%,rgba(22,136,216,.15),transparent 28rem)}
.registration-top{padding:1rem 5%;background:#fff;border-bottom:2px solid #d7e6df}
.registration-top>a{display:flex;align-items:center;justify-content:center;gap:.75rem;color:#09253a;font:800 18px 'DM Sans',sans-serif;text-decoration:none}
.registration-top img{width:46px;height:46px}.registration-top span{display:grid}.registration-top small{color:#1688d8;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}
.registration-main{flex:1;display:grid;place-items:center;padding:clamp(2rem,5vw,5rem) 1rem}
.registration-card{width:min(1040px,96%);overflow:hidden;background:#fff;border:2px solid #09253a;border-radius:28px;box-shadow:14px 14px 0 #14e7c9}
.customer-login-card{width:min(620px,96%)}
.registration-intro{padding:clamp(1.7rem,5vw,3.8rem);text-align:center;background:linear-gradient(145deg,#fafffe,#e9f8ff)}
.registration-step{color:#1688d8;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.registration-intro h1{margin:.5rem 0 1.2rem;color:#000;font:800 var(--registration-brand-size,25px) 'DM Sans',sans-serif}
.registration-intro>p{max-width:900px;margin:auto;color:#274e65;font-size:1rem;font-weight:400;line-height:1.75;text-align:center}
.registration-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;max-width:760px;margin:1.8rem auto 0}.registration-flow span{padding:.8rem;background:#fff;border:1px solid #bcd5e0;border-radius:12px;font-weight:800}.registration-flow b{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;margin-right:.35rem;border-radius:50%;background:#1688d8;color:#fff}
.registration-form{padding:clamp(1.5rem,5vw,3rem)}.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.registration-form label{margin:.65rem 0;color:#09253a;font-weight:800}.registration-form input:not([type=checkbox]){background:#fbfefe;border-color:#9db9c6}.registration-check,.registration-form .check{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem;border:2px solid #d7e6df;border-radius:12px;background:#f7fbf8}.registration-check input,.registration-form .check input{width:1.25rem;height:1.25rem;flex:0 0 auto;margin:.12rem 0 0}.registration-check a{color:#0874bd}
.registration-primary{display:flex;align-items:center;justify-content:center;width:min(520px,100%);margin:1.3rem auto 0;padding:.9rem 1.2rem;border:2px solid #09253a;border-radius:12px;background:#09253a;color:#fff;font:800 1rem 'DM Sans',sans-serif;text-align:center;text-decoration:none;box-shadow:5px 5px 0 #14e7c9;cursor:pointer}.registration-primary:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #1688d8}
.registration-links{display:flex;justify-content:center;gap:1.2rem;flex-wrap:wrap;padding:0 1.5rem 2rem;text-align:center}.registration-links a{color:#0874bd;font-weight:800}.registration-alert{margin:1.5rem clamp(1.5rem,5vw,3rem) 0;padding:1rem;border-radius:12px;text-align:center;font-weight:800}.registration-alert.success{background:#c9ffe7;color:#075b3b}.registration-alert.error{background:#ffe0e5;color:#8b1226}
.confirmation-card{padding:clamp(2rem,6vw,5rem);text-align:center}.confirmation-gif{display:block;width:min(360px,80%);height:auto;margin:0 auto 1.5rem}.confirmation-card h1{display:grid;gap:.45rem;margin:0 auto 1.2rem}.confirmation-card h1 span{color:#000;font:800 var(--registration-success-size,18px) 'DM Sans',sans-serif}.confirmation-card h1 strong{color:#1688d8;font:800 var(--registration-success-size,18px) 'DM Sans',sans-serif}.confirmation-card p{color:#587080}.confirmation-error{display:grid;place-items:center;width:110px;height:110px;margin:0 auto 1.5rem;border-radius:50%;background:#e94454;color:#fff;font-size:4rem;font-weight:900}.registration-footer{padding:1.2rem;text-align:center;color:#587080;font-size:.85rem}
@media(max-width:700px){.registration-grid,.registration-flow{grid-template-columns:1fr}.registration-card{width:100%;border-radius:20px;box-shadow:7px 7px 0 #14e7c9}.registration-intro>p{text-align:left}.registration-links{display:grid}}

/* Área do Cliente — composição elétrica, vibrante e totalmente centralizada */
.client-login-page{background:#fff6cf;background-image:radial-gradient(circle at 12% 18%,#ff5d8f 0 7rem,transparent 7.15rem),radial-gradient(circle at 91% 14%,#19dcc5 0 8.5rem,transparent 8.65rem),linear-gradient(135deg,rgba(255,197,27,.92),rgba(255,255,255,.62) 38%,rgba(35,156,255,.34));overflow-x:hidden}
.client-login-page:before,.client-login-page:after{content:"";position:fixed;z-index:0;width:190px;height:190px;border:3px solid #082b59;transform:rotate(24deg);pointer-events:none}.client-login-page:before{left:-95px;bottom:4%}.client-login-page:after{right:-120px;bottom:8%;border-radius:50%;background:#ff7a1a}
.client-login-page .registration-top,.client-login-page .registration-main,.client-login-page .registration-footer{position:relative;z-index:1}.client-login-page .registration-top{background:rgba(255,255,255,.92);border-bottom:3px solid #082b59;box-shadow:0 6px 0 #20d9c5}.client-login-page .registration-main{padding-block:clamp(2rem,5vw,4rem)}
.client-login-page .customer-login-card{width:min(650px,96%);border:3px solid #082b59;border-radius:26px;box-shadow:12px 12px 0 #082b59;isolation:isolate}
.login-color-band{display:grid;grid-template-columns:1.2fr .8fr 1fr .7fr;height:12px}.login-color-band i:nth-child(1){background:#ff3d71}.login-color-band i:nth-child(2){background:#ffc51b}.login-color-band i:nth-child(3){background:#17d6c0}.login-color-band i:nth-child(4){background:#1688d8}
.client-login-page .registration-intro{padding:clamp(1.8rem,5vw,3.3rem) clamp(1.4rem,5vw,3.6rem) 1.4rem;background:linear-gradient(145deg,#fff,#effcff)}
.client-login-page .registration-step{display:inline-block;padding:.48rem .9rem;border:2px solid #082b59;border-radius:999px;background:#ffc51b;color:#082b59;box-shadow:3px 3px 0 #082b59}
.client-login-page .registration-intro h1{margin:1.25rem 0 .35rem;color:#000;font-size:var(--registration-brand-size,25px);line-height:1.2}
.client-login-subtitle{margin:0!important;color:#0874d1!important;font:800 var(--client-subtitle-size,25px)/1.24 'DM Sans',sans-serif!important;text-align:center!important}
.client-login-copy{margin:1.25rem auto 0!important;max-width:500px!important;color:#36556a!important;font-size:.96rem!important;line-height:1.65!important;text-align:center!important}
.client-login-form{padding:1.2rem clamp(1.4rem,5vw,3.3rem) 1.1rem}.client-login-form label:not(.check){display:grid;gap:.45rem;margin:.75rem 0}.client-login-form input:not([type=checkbox]){min-height:50px;border:2px solid #7799aa;border-radius:12px;padding:.78rem 1rem;font:600 1rem 'DM Sans',sans-serif;transition:border-color .2s,box-shadow .2s,transform .2s}.client-login-form input:not([type=checkbox]):focus{border-color:#0874d1;box-shadow:0 0 0 4px rgba(8,116,209,.18);outline:0;transform:translateY(-1px)}
.client-login-form .check{align-items:center;justify-content:center;margin:1rem 0;padding:1rem;border:2px solid #082b59;background:#e8fff8;text-align:center}.client-login-form .check input{accent-color:#0874d1}
.client-login-actions{display:grid;gap:.75rem;margin-top:1.05rem}.client-action{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:.78rem 1rem;border:2px solid #082b59;border-radius:12px;color:#082b59;font:800 1rem 'DM Sans',sans-serif;text-align:center;text-decoration:none;box-shadow:4px 4px 0 #082b59;cursor:pointer;transition:background .2s,color .2s,transform .2s,box-shadow .2s}.client-register-action{background:#ffc51b}.client-access-action,.client-forgot-action{background:#85d4ff}.client-action:hover,.client-action:focus-visible{background:#0759b7;color:#fff;font-weight:800;transform:translate(-2px,-2px);box-shadow:7px 7px 0 #082b59;outline:0}.client-access-action{border-color:#082b59}
.client-back-link{display:block;width:max-content;max-width:90%;margin:.2rem auto 1.8rem;color:#0759b7;font-weight:800;text-align:center}.client-back-link:hover{text-decoration-thickness:2px}.client-login-page .registration-footer{color:#082b59;font-weight:700}
@media(max-width:700px){.client-login-page .customer-login-card{border-radius:18px;box-shadow:7px 7px 0 #082b59}.client-login-page .registration-intro>p{text-align:center}.client-login-page:before,.client-login-page:after{opacity:.32}.client-login-form{padding-inline:1.1rem}}
@media(prefers-reduced-motion:reduce){.client-action,.client-login-form input{transition:none}}
