:root{--navy:#021A33;--coral:#FE5D3F;--coral-ink:#C23A1E;--ink:#021A33;--ink-2:#47536F;--line:#DEE2EA;--bg:#F2F4F8}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:15px/1.5 "Segoe UI",Roboto,Helvetica,Arial,sans-serif;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:32px 28px;width:100%;max-width:400px;box-shadow:0 8px 28px rgba(2,26,51,.08)}
.card.wide{max-width:1000px}
.logo{height:32px;width:auto;display:block;margin-bottom:24px}
.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.top .logo{margin:0}
h1{font-size:20px;margin:0 0 4px}h2{font-size:16px;margin:28px 0 10px}
.sub{color:var(--ink-2);margin:0 0 20px}
form{display:flex;flex-direction:column;gap:14px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ink-2)}
input,select{font:inherit;font-weight:400;padding:10px 12px;border:1px solid #C9D0DC;border-radius:8px;color:var(--ink);background:#fff;width:100%}
input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:2px}
button{font:inherit;font-weight:600;background:var(--coral);color:#fff;border:0;border-radius:8px;padding:11px 16px;cursor:pointer}
button:hover{background:var(--coral-ink)}
button.sec{background:#fff;color:var(--ink);border:1px solid #C9D0DC;padding:7px 10px;font-weight:500}
button.sec:hover{background:var(--bg)}
a{color:var(--coral-ink)}
.err,.ok,.warn{padding:10px 12px;border-radius:8px;font-size:14px;margin:0 0 16px}
.err{background:#F8DEE3;color:#8E1A32}.ok{background:#E2F2E9;color:#155C3B}.warn{background:#FAEFD2;color:#6B4A00}
.foot{font-size:13px;color:var(--ink-2);margin:18px 0 0}
table{width:100%;border-collapse:collapse;font-size:14px;margin-top:16px}
th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);padding:8px;border-bottom:1px solid #C9D0DC}
td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}
td.acts{display:flex;gap:8px;flex-wrap:wrap}
form.inline{flex-direction:row;gap:6px}form.inline input{width:140px;padding:7px 9px}
form.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}
@media (max-width:720px){table,thead,tbody,tr,td,th{display:block}thead{display:none}td{border:0;padding:4px 0}tr{border-bottom:1px solid var(--line);padding:10px 0}}

/* Tela de login dividida */
body.split{display:block;padding:0;background:#fff}
.login{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;gap:16px;padding:16px}
.login-form{display:flex;align-items:center;justify-content:center;padding:32px 16px}
.login-box{width:100%;max-width:360px}
.login .brand img{height:34px;width:auto;display:block;margin:0 auto 28px}
.login h1{font-size:24px;text-align:center;margin:0 0 6px}
.login .sub{text-align:center;margin:0 0 28px;font-size:14px}
.login form{gap:0}
.login label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:0 0 6px}
.field{position:relative;display:flex;align-items:center;margin-bottom:18px}
.field>svg{position:absolute;left:12px;width:16px;height:16px;fill:none;stroke:#8C96AA;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.field input{padding:11px 40px 11px 38px;border-color:var(--line);border-radius:8px}
.field input::placeholder{color:#8C96AA}
.field input:focus{border-color:var(--coral)}
.peek{position:absolute;right:6px;background:none;border:0;padding:6px;border-radius:6px;cursor:pointer;line-height:0}
.peek:hover{background:var(--bg)}
.peek svg{width:17px;height:17px;fill:none;stroke:#8C96AA;stroke-width:1.8}
.go{width:100%;margin-top:6px;padding:12px 16px;display:flex;justify-content:center;gap:8px;align-items:center}
.login .link{color:var(--coral-ink);font-weight:600;font-size:14px;text-decoration:none}
.login .link:hover{text-decoration:underline}
.login-box>.link{display:inline-block;margin-top:16px}
.ask{font-size:14px;margin:32px 0 0;color:var(--ink)}
.legal{font-size:12px;color:var(--ink-2);text-align:center;margin:40px 0 0}
.login-art{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(150deg,#06264A 0%,#021A33 55%,#010F20 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:56px 56px 48px;border:1px solid rgba(254,93,63,.35)}
.login-art .shapes{position:absolute;inset:0;width:100%;height:100%}
.art-top,.art-foot{position:relative}
.login-art h2{font-size:34px;line-height:1.18;margin:0 0 14px;font-weight:700;letter-spacing:-.01em}
.login-art h2 em{font-style:normal;color:var(--coral)}
.art-top p{font-size:20px;margin:0;color:#DCE3EE}
.art-foot p{font-size:14px;font-weight:600;margin:0 0 12px}
.social{display:flex;gap:10px}
.social a{width:34px;height:34px;border-radius:8px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.social a:hover{background:rgba(254,93,63,.3)}
.social svg{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:860px){.login{grid-template-columns:1fr;padding:0}.login-art{display:none}.login-form{min-height:100vh}}
