:root{font-family:'Segoe UI',Arial,sans-serif;color-scheme:dark;--text:#f2f6f8;--muted:#b5c3ce;--card:rgba(4,21,29,.93);--field:rgba(18,36,46,.7);--line:#365360;--accent:#00e4a0;--shade:rgba(0,13,22,.13);--error:#ffd4d4}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;background:#05151d url(background.png) center/cover fixed no-repeat;color:var(--text)}body:before{content:'';position:fixed;inset:0;background:var(--shade);pointer-events:none;z-index:-1}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.sprite{position:absolute;width:0;height:0;overflow:hidden}.page-top{position:absolute;top:28px;left:4.7%;right:3.8%;display:flex;align-items:flex-start;justify-content:space-between;z-index:3}.brand{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1;letter-spacing:-2.5px}.brand>span{font-size:60px;font-weight:750}.brand b{color:#00e5a0;font-weight:750}.brand small{font-size:21px;letter-spacing:5px;font-weight:550;margin:9px 0 0}.layout{display:grid;grid-template-columns:1.12fr 1fr;gap:5vw;max-width:1800px;margin:auto;padding:90px 6.2% 72px 4.7%;min-height:100vh;min-height:100dvh;align-items:center}.intro{align-self:stretch;position:relative;padding-top:66px;display:flex;flex-direction:column;min-height:620px;color:#e9f0f5;text-shadow:0 1px 12px #0008}.accent-line{width:49px;height:5px;background:#00e6a1;border-radius:4px;margin-bottom:21px}.intro h1{font-size:20px;letter-spacing:3px;line-height:1.55;font-weight:450;margin:0 0 24px}.intro>p{font-size:19px;line-height:1.4;color:#c9d3df;margin:0}.benefits{display:grid;grid-template-columns:repeat(4,1fr);max-width:530px;margin-top:46px}.benefits>div{border-left:1px solid #6c92984d;text-align:center;padding:0 12px}.benefits svg{width:28px;height:28px;color:#00e5a0;margin-bottom:8px}.benefits span{display:block;font-size:11px;letter-spacing:.7px;line-height:1.5}.tagline{margin-top:auto;padding-top:160px;font-size:12px;letter-spacing:1.6px;line-height:1.7}.tagline i{display:block;width:46px;height:4px;background:#00e5a0;margin-top:13px;border-radius:3px}.login-card{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:45px clamp(25px,4.5vw,74px) 35px;box-shadow:0 12px 60px #0002;backdrop-filter:blur(14px);text-align:center;min-width:0}.card-brand>span{font-size:52px}.card-brand small{font-size:18px;letter-spacing:4px}.login-card h2{font-size:23px;font-weight:650;margin:27px 0 10px}.description{color:var(--muted);font-size:15px;line-height:1.5;margin:0 0 24px}.role-switch{display:flex;gap:4px;border:1px solid var(--line);padding:4px;border-radius:10px;background:var(--field);margin-bottom:22px}.role-switch a{flex:1;padding:9px 8px;border-radius:7px;font-size:13px;color:var(--muted)}.role-switch a[aria-current=page]{background:#00df9d20;color:var(--accent);font-weight:600}.field{display:flex;align-items:center;gap:15px;padding:0 17px;min-height:54px;margin-bottom:15px;border:1px solid var(--line);border-radius:11px;background:var(--field);color:var(--text)}.field:focus-within{border-color:var(--accent)}.field input{width:100%;min-width:0;min-height:52px;padding:12px 0;background:none;border:0;color:var(--text);outline:none;font-size:15px}.field input::placeholder{color:var(--muted);opacity:.8}.field button{border:0;background:none;color:var(--text);padding:8px;margin-right:-8px;display:flex}.field input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--autofill,#12242e) inset}.form-options{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0 25px;font-size:13px;text-align:left}.form-options label{display:flex;align-items:center;gap:8px;cursor:pointer}.form-options input{width:18px;height:18px;accent-color:#00dfa0;margin:0;flex-shrink:0}.text-button{border:0;background:none;color:var(--accent);padding:4px 0;font-size:13px}.submit{display:flex;justify-content:center;align-items:center;gap:18px;width:100%;min-height:56px;border:1px solid #00edaa;border-radius:12px;background:linear-gradient(110deg,#16c98c,#078958);color:white;font-size:19px;font-weight:600;box-shadow:inset 0 0 16px #00ec9830}.submit:hover{filter:brightness(1.08)}.submit:disabled{opacity:.65;cursor:wait}.account-note{margin:25px 0 0;color:var(--muted);font-size:12px}.error,.help-text{text-align:left;padding:12px 14px;border-radius:9px;font-size:13px;line-height:1.5;margin:0 0 18px}.error{color:var(--error);border:1px solid #d4717166;background:#9e222220}.help-text{color:var(--muted);background:var(--field);border:1px solid var(--line)}footer{position:absolute;bottom:17px;left:4.7%;right:4.7%;display:flex;justify-content:flex-end;gap:24px;color:#c5d4dc;font-size:10px}footer i{font-style:normal;margin:0 9px;color:#78929b}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
:root[data-theme=light]{color-scheme:light;--text:#163139;--muted:#526b75;--card:rgba(248,252,251,.96);--field:#f1f7f5;--line:#c9dbd6;--accent:#08794f;--shade:rgba(0,13,22,.08);--error:#a42132;--autofill:#f1f7f5}:root[data-theme=light] .page-top>.brand{color:#f2f6f8}:root[data-theme=light] .card-brand b{color:#00b879}:root[data-theme=light] .submit{border-color:#009c6c}:root[data-theme=light] .role-switch a[aria-current]{background:#dff2e8}
@media(min-width:1700px){.layout{padding-top:110px}.login-card{padding-top:55px;padding-bottom:45px}.field{min-height:58px}.login-card h2{margin-top:32px}.role-switch{margin-top:26px;margin-bottom:26px}}
@media(max-width:1100px){.layout{gap:4vw;padding-right:4.7%;grid-template-columns:1fr 1fr}.login-card{padding:35px 27px 28px}.intro h1{font-size:17px;letter-spacing:2px}.intro>p{font-size:16px}.benefits>div{padding:0 7px}.benefits span{font-size:9px}.brand>span{font-size:48px}.brand small{font-size:16px}.card-brand>span{font-size:43px}.description{font-size:13px}.form-options{font-size:11px}.text-button{font-size:11px}}
@media(max-width:760px){.page-top{position:relative;top:auto;left:auto;right:auto;padding:22px 22px 0;align-items:center}.page-top .brand>span{font-size:32px}.page-top .brand small{font-size:10px;letter-spacing:3px;margin-top:5px}.layout{display:block;min-height:0;padding:30px 20px 28px}.intro{display:none}.login-card{max-width:480px;margin:auto;padding:32px 25px;border-radius:22px}.card-brand>span{font-size:44px}.card-brand small{font-size:15px}.login-card h2{font-size:22px}.description{font-size:14px}.form-options,.text-button{font-size:12px}footer{position:static;padding:0 22px 22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}body{background-position:33% center}.desktop{display:none}}
@media(max-width:360px){.login-card{padding:28px 18px}.form-options{align-items:flex-start;flex-direction:column;gap:13px}.page-top{padding-left:16px;padding-right:16px}}
@media(max-height:800px) and (min-width:761px){.page-top{top:20px}.page-top>.brand>span{font-size:44px}.page-top>.brand small{font-size:15px}.layout{padding-top:82px;padding-bottom:45px}.intro{padding-top:40px;min-height:530px}.login-card{padding-top:25px;padding-bottom:25px}.card-brand>span{font-size:40px}.card-brand small{font-size:14px}.login-card h2{margin-top:20px;font-size:21px}.description{margin-bottom:16px}.role-switch{margin-bottom:16px}.form-options{margin:16px 0 20px}.account-note{margin-top:18px}.tagline{padding-top:110px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

.brand img{display:block;width:270px;height:auto;max-width:100%}.brand .logo-light{display:none}.card-brand img{width:245px}:root[data-theme=light] .card-brand .logo-dark{display:none}:root[data-theme=light] .card-brand .logo-light{display:block}@media(max-width:1100px){.brand img{width:230px}.card-brand img{width:215px}}@media(max-height:800px) and (min-width:761px){.page-top .brand img{width:215px}.card-brand img{width:200px}}@media(max-width:760px){.page-top .brand img{width:150px}.card-brand img{width:210px}}

/* LOGIN V2: controle fixo dentro do cartão, sem deslocamento no hover. */
.login-card{position:relative}
.theme-toggle{position:absolute;top:24px;left:24px;width:36px;height:36px;padding:7px;display:flex;align-items:center;justify-content:center;background:var(--field);color:var(--text);border:1px solid var(--line);border-radius:50%;transform:none}
.theme-toggle svg{width:20px;height:20px;pointer-events:none}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}
.theme-toggle .theme-sun{display:none}
:root[data-theme=light] .theme-toggle .theme-sun{display:block}
:root[data-theme=light] .theme-toggle .theme-moon{display:none}
