/* Controle de Frota • entrada 2.8.4. Estilos exclusivos do login. */
:root{--ink:#152641;--muted:#66758c;--blue:#3568d4;--line:#dce3ee;--navy:#101e35;--font:Inter,"Segoe UI",Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:#090c12;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}a{color:#2858b5;text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}.login-shell{display:grid;grid-template-columns:1.08fr 1fr;min-height:100svh}
.presentation{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:44px;background:var(--navy);color:#fff;padding:45px clamp(38px,5.6vw,102px) 34px}.presentation::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 95% 5%,#2947788f,transparent 54%),radial-gradient(ellipse at 0 85%,#25457d70,transparent 50%),linear-gradient(140deg,#101e35,#12223e 65%,#182d4e)}.presentation::after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#a9c5f506 1px,transparent 1px),linear-gradient(90deg,#a9c5f506 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(160deg,#000,transparent 90%)}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:43px;height:48px;fill:none;flex-shrink:0}.brand-name{display:block;font-size:15px;letter-spacing:-.25px;font-weight:700}.brand-agency{display:block;font-size:10px;letter-spacing:.16em;color:#9bb0d0;margin-top:5px;text-transform:uppercase}.presentation-main{width:100%;max-width:510px;margin:auto 0;animation:arrive .7s ease-out both}.eyebrow{display:flex;align-items:center;gap:9px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:#a9c4ef;margin-bottom:22px}.eyebrow::before{content:"";width:23px;height:2px;background:#7da8fa}.presentation h1{font-size:clamp(34px,3.4vw,54px);line-height:1.1;letter-spacing:-.055em;font-weight:650;margin:0 0 21px}.presentation h1 span{color:#a4c3ff}.presentation-copy{font-size:13px;line-height:1.85;color:#aebdd4;max-width:390px;margin:0 0 28px}.capabilities{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}.capabilities span{border:1px solid #a6bde325;background:#ffffff04;color:#cbd8ec;padding:7px 10px;border-radius:6px;font-size:10px;display:inline-flex;align-items:center;gap:6px}.capabilities .icon{width:13px;height:13px}
.network{position:relative;border:1px solid #bad2fc25;border-radius:17px;background:linear-gradient(135deg,#ffffff09,#ffffff02);padding:19px 19px 15px;box-shadow:0 20px 60px #030b181f;overflow:hidden}.network-head{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#d1def2;font-size:10px;font-weight:500}.network-head small{font-size:8px;letter-spacing:.08em;color:#91a9cb;text-transform:uppercase}.network-canvas{position:relative;height:135px;margin:13px 0 0}.network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.network-lines path{fill:none;stroke:#83aaf14d;stroke-width:1.25}.network-lines .route{stroke:#8fb8ff;stroke-dasharray:3 8;animation:travel 17s linear infinite;opacity:.6}.hub{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid #91b9ff75;border-radius:15px;display:grid;place-items:center;background:#203b64;box-shadow:0 0 0 10px #8db9ff05,0 0 35px #4275ce1f}.hub .icon{width:28px;height:28px;color:#bad4ff}.hub::before{content:"";position:absolute;inset:-9px;border:1px solid #91b9ff20;border-radius:22px;animation:breathe 5s ease-in-out infinite}.node{position:absolute;display:flex;align-items:center;gap:6px;color:#b7c9e3;font-size:9px;background:#182b48;border:1px solid #a3c3f333;border-radius:7px;padding:8px 10px;white-space:nowrap}.node .icon{width:14px;height:14px;color:#9bbcf3}.node.left{left:0;top:9px}.node.right{right:0;top:9px}.node.bottom{left:50%;bottom:2px;transform:translateX(-50%)}.network-caption{border-top:1px solid #a9c9f416;padding-top:11px;font-size:9px;color:#92a9cb;line-height:1.5}.presentation-footer{display:flex;gap:15px;justify-content:space-between;align-items:center;font-size:9px;line-height:1.7;color:#91a6c6}.public-count{font-variant-numeric:tabular-nums;white-space:nowrap;color:#c0d2ef}.public-count b{font-size:17px;letter-spacing:-.6px;color:#fff;margin-right:5px;font-weight:600}
.access{position:relative;display:flex;flex-direction:column;padding:35px clamp(28px,5vw,86px) 25px;min-width:0;background:radial-gradient(ellipse at 95% 100%,#17243b80,transparent 60%),#0b0e14;color:#eef2f8;border-left:1px solid #ffffff08}.access-top{display:flex;align-items:center;justify-content:flex-end;gap:7px;font-size:10px;color:#9ba8bb}.access-top .icon{width:13px;height:13px}.access-inner{width:100%;max-width:410px;margin:auto;animation:arrive .7s .08s ease-out both;padding:42px 0}.mobile-brand{display:none}.access-kicker{font-size:10px;letter-spacing:.12em;font-weight:600;text-transform:uppercase;color:#94acd1;margin-bottom:13px}.access h2{font-size:31px;line-height:1.2;letter-spacing:-1px;margin:0 0 10px;font-weight:650}.intro{font-size:12px;line-height:1.8;color:#a4b0c2;max-width:345px;margin:0 0 26px}.login-card{background:linear-gradient(145deg,#171d28,#121720);border:1px solid #dfe6f0;border-radius:20px;padding:29px;box-shadow:0 22px 65px #00000040,0 1px 0 #ffffff05 inset;border-color:#2b3444}.field{margin-bottom:21px}.field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.field label{font-size:11px;font-weight:600;color:#d7e0ed}.field-head a{font-size:10px;font-weight:500;color:#9dbfff}.input-wrap{display:flex;align-items:center;position:relative;min-height:50px;background:#0c111a;border:1px solid #d9e1ec;border-radius:9px;transition:box-shadow .18s,border-color .18s,background .18s;border-color:#344054}.input-wrap:focus-within{background:#0e1521;border-color:#7aa5f7;box-shadow:0 0 0 3px #6598ff1a}.input-wrap>.icon{margin-left:14px;width:17px;height:17px;color:#95a7c0}.input-wrap input{border:0;outline:0;min-width:0;flex:1;width:100%;font-size:13px;line-height:1.4;color:#f0f4fc;padding:15px 12px;background:transparent;border-radius:9px;caret-color:#9bbfff}.input-wrap input::placeholder{color:#98a7bd}.input-wrap input:-webkit-autofill{-webkit-box-shadow:0 0 0 40px #0c111a inset;-webkit-text-fill-color:#f0f4fc}.password-toggle{display:grid;place-items:center;border:0;background:transparent;flex:none;width:43px;min-height:45px;color:#9dafca;border-radius:7px;margin-right:2px}.password-toggle:hover{background:#243149;color:#d2e1ff}.password-toggle .icon{width:17px;height:17px}.password-toggle[hidden]{display:none}.caps-warning{font-size:10px;line-height:1.6;color:#f1c980;margin:7px 0 0}.enter{width:100%;min-height:49px;border:1px solid #2d5ec6;border-radius:9px;background:linear-gradient(100deg,#3265cc,#4380ed);box-shadow:0 5px 18px #2160db26;color:#fff;display:flex;align-items:center;justify-content:center;gap:10px;font-size:12px;font-weight:600;transition:transform .18s,box-shadow .18s,background .18s;border-color:#5a8de5}.enter:hover{background:linear-gradient(100deg,#3e72df,#528cf3);box-shadow:0 7px 16px #3267ca30;transform:translateY(-1px)}.enter:active{transform:translateY(0)}.enter .icon{width:17px;height:17px}.enter:disabled{cursor:wait;opacity:.78;transform:none}.enter.busy .icon{animation:spin 1s linear infinite}.first-access{display:flex;gap:10px;align-items:flex-start;padding-top:18px;margin-top:21px;border-top:1px solid #e8edf4;color:#aab7cb;font-size:10px;line-height:1.65;border-color:#2c3544}.first-access .icon{width:15px;height:15px;margin-top:1px;color:#8ca8d1}.first-access b{font-weight:600;color:#d6e0f0}.error-box{padding:12px;border:1px solid #efccd0;border-radius:8px;background:#341b25;color:#ffc3ce;font-size:11px;line-height:1.65;margin-bottom:19px;border-color:#6d3547}.error-box:focus{outline:2px solid #c77788;outline-offset:2px}.preview-box{background:#1a2942;border:1px solid #d1def7;color:#c0d4f6;padding:10px 13px;border-radius:8px;margin-top:14px;font-size:11px;line-height:1.6;border-color:#364c71}.form-help{text-align:center;font-size:10px;line-height:1.7;color:#a3b1c6;margin:21px 10px 0}.form-help strong{color:#a3b1c6;font-weight:500}.access-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:9px;color:#9ba8bb;line-height:1.6}.access-footer time{font-variant-numeric:tabular-nums}.preview-label{display:inline-flex;font-size:9px;color:#b2c8eb;padding:5px 8px;border:1px solid #cfdbee;border-radius:5px;margin-bottom:18px;border-color:#34435c;background:#142035}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
:focus-visible{outline:3px solid #88a7e9;outline-offset:4px}.input-wrap input:focus-visible{outline:none}[hidden]{display:none!important}
@keyframes arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes travel{to{stroke-dashoffset:-220}}@keyframes breathe{50%{opacity:.4;transform:scale(1.08)}}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1600px){.presentation-main{max-width:560px}.presentation-copy{font-size:14px;max-width:430px}.network{max-width:490px}.access-inner{max-width:425px}}
@media(max-width:1050px){.presentation{padding:35px 34px 26px;gap:32px}.access{padding:28px 34px 24px;background:radial-gradient(ellipse at 100% 0,#1a2a4680,transparent 50%),#0b0e14;color:#eef2f8;border-left:1px solid #ffffff08}.presentation h1{font-size:38px}.presentation-copy{font-size:12px}.brand-name{font-size:14px}.network{padding:15px}.network-head small{display:none}.node{padding:7px;font-size:8px}.node .icon{width:12px}.presentation-footer{flex-direction:column;align-items:flex-start;gap:10px}.login-card{padding:24px;background:linear-gradient(145deg,#171d28,#121720);border-color:#2b3444;box-shadow:0 22px 65px #00000040,0 1px 0 #ffffff05 inset}}
@media(max-width:760px){.login-shell{grid-template-columns:1fr}.presentation{display:none}.access{min-height:100svh;padding:25px max(22px,env(safe-area-inset-left)) max(20px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 100% 0,#1a2a4680,transparent 50%),#0b0e14;color:#eef2f8;border-left:1px solid #ffffff08}.access-top{display:none;color:#9ba8bb}.access-inner{max-width:410px;padding:15px 0 28px;margin:auto}.mobile-brand{display:flex;margin-bottom:40px}.mobile-brand .brand-name{font-size:15px}.mobile-brand .brand-agency{color:#a0b2cf;font-size:9px}.mobile-brand .brand-mark{width:34px;height:40px}.access h2{font-size:30px}.intro{font-size:12px;max-width:330px;margin-bottom:23px;color:#a4b0c2}.access-kicker{font-size:9px;color:#94acd1}.login-card{padding:24px;border-radius:17px;background:linear-gradient(145deg,#171d28,#121720);border-color:#2b3444;box-shadow:0 22px 65px #00000040,0 1px 0 #ffffff05 inset}.input-wrap input{font-size:16px;padding:15px 11px;color:#f0f4fc;caret-color:#9bbfff}.field-head a{font-size:11px;color:#9dbfff}.enter{min-height:50px;font-size:13px;background:linear-gradient(100deg,#3265cc,#4380ed);border-color:#5a8de5;box-shadow:0 5px 18px #2160db26}.form-help{font-size:10px;margin-top:18px;color:#a3b1c6}.access-footer{max-width:410px;width:100%;margin:0 auto;flex-wrap:wrap;font-size:9px;color:#9ba8bb}.first-access{font-size:10px;border-color:#2c3544;color:#aab7cb}.public-count{display:none}}
@media(max-width:370px){.access{padding:19px 17px;background:radial-gradient(ellipse at 100% 0,#1a2a4680,transparent 50%),#0b0e14;color:#eef2f8;border-left:1px solid #ffffff08}.login-card{padding:20px;background:linear-gradient(145deg,#171d28,#121720);border-color:#2b3444;box-shadow:0 22px 65px #00000040,0 1px 0 #ffffff05 inset}.mobile-brand{margin-bottom:30px}.access h2{font-size:27px}.field-head a{font-size:10px;color:#9dbfff}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
