:root{--petrol:#0a5771;--petrol-dark:#073b51;--cyan:#1aadd8;--ink:#263840;--muted:#667980;--line:#dce5e8;--soft:#f4f7f8;--green:#008f5a;--font:"Nunito Sans",system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}
html{min-width:320px;min-height:100%;background:#fff}
body{margin:0;min-width:320px;min-height:100vh;font:500 16px/1.5 var(--font);color:var(--ink);-webkit-font-smoothing:antialiased}
button,input{font:inherit}
a{color:inherit;text-decoration:none}
button,a,input{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #39b8dc;outline-offset:3px}
.login-screen{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(400px,.78fr) minmax(0,1.22fr);background:#fff}.login-panel{min-height:100vh;min-height:100svh;padding:clamp(28px,4.2vh,48px) clamp(32px,6.5vw,104px) 23px;display:flex;flex-direction:column;justify-content:flex-start;background:#fff;position:relative;z-index:1}
.login-brand{display:inline-flex;align-items:center;gap:13px;align-self:flex-start}
.login-brand img{display:block;width:clamp(154px,15vw,186px);height:auto;filter:brightness(0) saturate(100%) invert(26%) sepia(23%) saturate(1952%) hue-rotate(151deg) brightness(88%) contrast(94%)}
.brand-divider{width:1px;height:34px;background:#d4e0e4}
.login-brand-label{font-size:8px;font-weight:700;line-height:1.7;letter-spacing:.1em;color:#82949b}
.login-brand-label b{color:var(--petrol);font-size:7px;letter-spacing:.13em}
.login-content{width:min(100%,390px);margin:auto}
.login-kicker{display:flex;align-items:center;gap:9px;color:var(--petrol);font-size:10px;font-weight:800;letter-spacing:.14em}
.login-kicker span{width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #1aadd81c}
.login-content h1{margin:0 0 23px;font-size:clamp(30px,3vw,38px);line-height:1.15;font-weight:800;letter-spacing:-.04em;color:#172f39}
.login-intro{max-width:340px;margin:0 0 28px;color:#60727a;font-size:15px;line-height:1.65}
#login-form,#reset-form,#cadastro-form{display:flex;flex-direction:column}
[hidden]{display:none!important}
#login-form label,#cadastro-form label{margin:0 0 7px;color:#364b53;font-size:13px;font-weight:750}
#login-form input,#reset-form input,#cadastro-form input{width:100%;height:49px;border:1px solid #cad7dc;border-radius:7px;padding:0 14px;background:#fff;color:#1f3036;font-size:14px;transition:border-color .18s,box-shadow .18s}
#login-form input::placeholder,#reset-form input::placeholder,#cadastro-form input::placeholder{color:#93a1a7}
#login-form input:focus,#reset-form input:focus,#cadastro-form input:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px #0a577117}

.login-panel-wide{grid-column:1/-1}
.login-panel-wide .login-content{width:min(100%,640px)}
.form-row{display:flex;gap:16px;margin-bottom:16px}
.form-field{flex:1;min-width:0}
.form-field-small{flex:0 0 110px}
.form-field-shrink{flex:0 0 auto;align-self:flex-end}
.form-section-title{margin:28px 0 14px;font-size:11px;font-weight:800;letter-spacing:.1em;color:#6b7e85}
.form-hint{margin:10px 0 0;font-size:12px;color:#4a5c63}
.photo-upload{display:flex;align-items:center;gap:16px}
.photo-preview{width:56px;height:56px;border-radius:50%;background:#eef2f3 center/cover no-repeat;border:1px solid #cad7dc;flex-shrink:0}
.progress-track{margin-top:22px;height:5px;border-radius:999px;background:#e4ebed;overflow:hidden}
.progress-fill{height:100%;border-radius:999px;background:var(--petrol);transition:width .25s ease}
.icon-field{position:relative}
.icon-field input{padding-left:44px!important}
.icon-field svg{position:absolute;top:50%;left:14px;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:#7c8b91;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.icon-field:focus-within svg{stroke:var(--petrol)}
.login-screen-cadastro{grid-template-columns:minmax(460px,2.1fr) minmax(0,1fr)}
@media(max-width:1080px){.login-screen-cadastro{grid-template-columns:minmax(0,1fr);min-height:0}.login-screen-cadastro .login-visual{display:none}.login-screen-cadastro .login-panel{width:min(100%,680px);margin-inline:auto}}
.doc-type-toggle{display:inline-flex;gap:4px;padding:4px;background:#eef2f3;border-radius:9px;margin-bottom:18px}
.doc-type-option{padding:8px 16px;border:0;border-radius:6px;background:transparent;color:#5c6e75;font-size:13px;font-weight:750;cursor:pointer}
.doc-type-option.is-active{background:#fff;color:var(--petrol);box-shadow:0 1px 4px #0a577126}
.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:20px;border:1.5px solid #cad7dc;border-radius:12px;background:#fff;text-align:left;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.choice-card:hover{border-color:var(--petrol);box-shadow:0 6px 18px #0a577112}
.choice-card svg{width:26px;height:26px;fill:none;stroke:var(--petrol);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.choice-card strong{font-size:14px;color:#1f3036}
.choice-card span{font-size:12px;color:#667a81;line-height:1.5}
@media(max-width:700px){.choice-grid{grid-template-columns:1fr}}
@media(max-width:700px){.form-row{flex-direction:column;gap:0}.form-field-small{flex:1}.form-row .form-field{margin-bottom:16px}.form-field-shrink{align-self:stretch}.form-field-shrink button{width:100%!important}}
#email{margin-bottom:20px}
.password-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.password-label-row a,.link-button{margin-bottom:7px;color:#08718e;font-size:12px;font-weight:700;background:none;border:0;padding:0;font-family:inherit;cursor:pointer}
.password-field{position:relative}
.password-field input{padding-right:52px!important}
.password-field button{position:absolute;top:50%;right:7px;transform:translateY(-50%);height:36px;width:38px;display:grid;place-items:center;border-radius:6px;color:#627780;background:transparent;border:0;cursor:pointer}
.password-field button:hover{background:#eef5f7;color:var(--petrol)}
.password-field button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-submit{min-height:48px;width:100%;margin-top:16px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:7px;background:var(--petrol);color:#fff;font-size:14px;font-weight:800;cursor:pointer;transition:background .2s,transform .2s}
.login-submit:hover{background:#08465c;transform:translateY(-1px)}
.login-submit span{font-size:19px;line-height:1}
.login-status{margin:13px 0 0;padding:10px 12px;border-radius:6px;background:#fff6e8;color:#764c11;font-size:12px;line-height:1.55}
.login-status-error{background:#fdeceb;color:#a3261b}
.strength-meter{display:flex;align-items:center;gap:10px;margin-top:8px}
.strength-bar{flex:1;height:5px;border-radius:3px;background:#e4e9eb;overflow:hidden}
.strength-bar>span{display:block;height:100%;width:0;border-radius:3px;background:#d33;transition:width .2s,background .2s}
.strength-meter[data-level="1"] .strength-bar>span{width:25%;background:#d33}
.strength-meter[data-level="2"] .strength-bar>span{width:50%;background:#e08a1e}
.strength-meter[data-level="3"] .strength-bar>span{width:75%;background:#c9a417}
.strength-meter[data-level="4"] .strength-bar>span{width:100%;background:#0a8f5a}
#strength-label{font-size:11px;font-weight:700;color:#71838a;white-space:nowrap}
.strength-hint{margin:9px 0 0;color:#71838a;font-size:11px;line-height:1.6}
.strength-hint code{background:#f4f7f8;border-radius:4px;padding:1px 5px;font-size:11px;color:#364b53}
.resend-box{display:flex;flex-direction:column;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.resend-box label{margin:0 0 7px;color:#364b53;font-size:13px;font-weight:750}
.resend-box input{width:100%;height:49px;border:1px solid #cad7dc;border-radius:7px;padding:0 14px;background:#fff;color:#1f3036;font-size:14px;margin-bottom:12px}
.resend-box input:focus{outline:none;border-color:var(--petrol);box-shadow:0 0 0 3px #0a577117}
.login-submit-outline{background:#fff;color:var(--petrol);border:1px solid var(--petrol)}
.login-support{margin:17px 0 0;text-align:center;color:#667980;font-size:12px;line-height:1.7}
.login-support a{color:var(--petrol);font-weight:750}
.login-support a:hover,.login-footer a:hover,.password-label-row a:hover,.link-button:hover{text-decoration:underline;text-underline-offset:3px}
.login-footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px 19px;color:#819097;font-size:10px}
.login-footer a:first-child{color:var(--petrol);font-weight:700}
.login-footer span{margin-left:auto}
.login-visual{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-start;padding:35px clamp(36px,5.5vw,88px) 26px;color:#fff;background:linear-gradient(137deg,#062e43 0%,#0a5771 57%,#07506a 100%);isolation:isolate}
.login-visual:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 88% 23%,#27add019,transparent 31%),radial-gradient(ellipse at 15% 90%,#27add01a,transparent 34%),repeating-linear-gradient(132deg,transparent 0 109px,#ffffff08 110px,#ffffff08 111px,transparent 112px 218px)}
.visual-texture{position:absolute;z-index:-1;width:620px;height:620px;right:-300px;top:13%;border:1px solid #b8e9f01c;border-radius:50%;box-shadow:0 0 0 48px #b8e9f008,0 0 0 96px #b8e9f006}
.visual-top,.visual-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#afd1dc;font-size:9px;font-weight:750;letter-spacing:.15em}
.visual-mark{color:#fff;font-size:14px;letter-spacing:.06em}.visual-mark i{padding:0 7px;color:#62c4df;font-style:normal}
.visual-status{display:flex;align-items:center;gap:8px}.visual-status i,.product-card-note i{width:6px;height:6px;border-radius:50%;background:#72d4ad}
.visual-content{width:min(100%,760px);margin:auto;position:relative}
.visual-eyebrow{margin:0 0 14px;color:#80d2e8;font-size:10px;font-weight:800;letter-spacing:.17em}
.visual-content h2{margin:0 0 24px;color:#fff;font-size:clamp(34px,4.2vw,55px);font-weight:700;line-height:1.08;letter-spacing:-.045em}
.visual-content h2 em{color:#88d9ec;font-style:normal}
.visual-description{max-width:490px;margin:14px 0 28px;color:#c4dce3;font-size:14px;line-height:1.65}
.login-product-card{width:min(100%,710px);overflow:hidden;border:1px solid #c1e4ec73;border-radius:12px;background:#f6f9fa;color:#243b44;box-shadow:0 25px 65px #041e2e52,0 0 0 7px #ffffff0a;transform:perspective(1200px) rotateY(-1deg)}
.security-card{position:relative;overflow:hidden;width:min(100%,710px);padding:48px 44px;border-radius:14px;background:linear-gradient(150deg,#0e6883 0%,#0a2f3d 100%);box-shadow:0 25px 65px #041e2e52,0 0 0 7px #ffffff0a}
.security-card:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,#ffffff0d 1px,transparent 1px),linear-gradient(0deg,#ffffff0d 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(ellipse at 50% 30%,#000 40%,transparent 78%)}
.security-card-icon{position:relative;width:60px;height:60px;margin:0 auto 28px;display:grid;place-items:center;border-radius:50%;background:#ffffff17;color:#7fd9ef}
.security-card-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.security-points{position:relative;list-style:none;margin:0;padding:0;display:grid;gap:16px}
.security-points li{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;color:#d3e8ee}
.security-points svg{flex-shrink:0;margin-top:2px;width:17px;height:17px;fill:none;stroke:#59d5ba;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.product-card-top{height:35px;display:flex;align-items:center;gap:10px;padding:0 13px;background:#07394e;color:#d0e2e7;font-size:8px;font-weight:800;letter-spacing:.12em}.product-card-top>span:nth-child(2){flex:1}.product-card-top>span:nth-child(2) b{color:#64c9e2;padding:0 5px}.product-card-top svg{width:12px;height:12px;fill:none;stroke:#92d8e8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.window-dots{display:flex;gap:5px}.window-dots i{width:6px;height:6px;border-radius:50%;background:#80c3d2}.window-dots i:first-child{background:#e49a8a}.window-dots i:nth-child(2){background:#e8c775}
.product-card-body{padding:16px 18px 11px}.product-card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.product-card-heading>div span,.product-metrics article>span{display:block;color:#687e86;font-size:7px;font-weight:800;letter-spacing:.1em}.product-card-heading strong{display:block;margin-top:3px;color:#203b46;font-size:16px;font-weight:800}.product-avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#d9edf2;color:var(--petrol);font-size:8px;font-weight:800}
.product-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.product-metrics article{min-height:69px;padding:10px 11px;border:1px solid #e1e9ec;border-radius:7px;background:#fff}.product-metrics article>b{display:block;margin-top:5px;color:#183a47;font-size:17px;font-weight:800;letter-spacing:-.025em}.product-metrics article>i{display:block;margin-top:1px;color:#07815c;font-size:8px;font-style:normal;font-weight:700}.product-metrics article>i.attention{color:#a7691b}
.product-card-lower{display:grid;grid-template-columns:1.2fr .8fr;gap:9px;margin-top:9px}.mini-chart,.mini-review{min-height:112px;padding:10px 11px;border:1px solid #e1e9ec;border-radius:7px;background:#fff}.mini-chart>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.mini-chart strong{font-size:9px;color:#354e58}.mini-chart>div:first-child span{font-size:7px;color:#6b8088}.mini-bars{height:58px;display:flex;align-items:flex-end;justify-content:space-around;gap:12px;margin-top:6px;background:repeating-linear-gradient(to bottom,transparent 0 calc(33.3% - 1px),#ebf0f2 calc(33.3% - 1px) 33.3%)}.mini-bars i{width:8%;height:var(--bar);border-radius:2px 2px 0 0;background:linear-gradient(0deg,#a5d5e0,#39a9c6)}.mini-bars i:last-child{background:linear-gradient(0deg,#0a5771,#25afd1)}.mini-months{display:flex;justify-content:space-around;margin-top:4px;color:#71838a;font-size:6px;font-weight:700}.mini-review{display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.review-icon{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:#e4f5ed;color:#08784f;font-size:14px;font-weight:800}.mini-review strong{margin-top:8px;color:#344d56;font-size:10px}.mini-review small{margin-top:3px;color:#70828a;font-size:8px;line-height:1.45}.product-card-note{display:flex;align-items:center;gap:6px;margin-top:9px;color:#6e8188;font-size:7px}.product-card-note i{width:5px;height:5px;background:#34a6c0}
.visual-tags{display:flex;align-items:center;gap:13px;margin-top:21px;color:#b1d0d9;font-size:8px;font-weight:800;letter-spacing:.15em}.visual-tags i{width:4px;height:4px;border-radius:50%;background:#64c7df}
.visual-orbit{position:absolute;z-index:-1;border:1px solid #c6edf215;border-radius:50%;pointer-events:none}.orbit-one{width:460px;height:460px;right:-205px;bottom:-205px}.orbit-two{width:330px;height:330px;left:-200px;top:37%}
.visual-bottom{color:#8fb7c3;font-size:8px}
@media(max-width:1080px){.login-screen{grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)}.login-panel{padding-inline:clamp(26px,4vw,50px)}.login-visual{padding-inline:clamp(28px,4vw,50px)}.visual-content h2{font-size:clamp(32px,4vw,45px)}.product-card-lower{grid-template-columns:1.1fr .9fr}}
@media(max-width:960px){.login-screen{grid-template-columns:minmax(0,1fr)}.login-panel{width:min(100%,560px);min-height:100vh;min-height:100svh;margin-inline:auto;padding:25px clamp(24px,7vw,60px) 20px}.login-visual{display:none}}
@media(max-width:480px){.login-panel{padding:22px 24px max(18px,env(safe-area-inset-bottom))}.login-brand img{width:142px}.brand-divider{height:28px}.login-content h1{font-size:clamp(28px,7vw,32px)}#login-form input,#reset-form input{height:50px;font-size:16px}.password-label-row a,.link-button{font-size:11px}.login-support{font-size:11px}}
@media(max-height:760px) and (min-width:961px){.login-panel{padding-top:20px;padding-bottom:18px}.login-content h1{margin-bottom:18px}.login-support{margin-top:12px}.login-visual{padding-top:22px;padding-bottom:18px}.visual-content h2{font-size:clamp(31px,3.5vw,44px);margin-bottom:17px}.product-card-body{padding-block:11px 8px}.mini-chart,.mini-review{min-height:90px}.mini-bars{height:43px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
