@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");
/* identidade visual CADMO (cadmoengenharia.com.br) */
:root{
  --bg:#F3F7F4; --surface:#fff; --border:#E4EBE6; --ink:#1C2B22;
  --ink-soft:#5C6E63; --accent:#F58634; --accent-press:#D96F1C; --danger:#E5484D;
  --navy:#0D2317; --green-deep:#081610;
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;font-family:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;
  color:var(--ink);display:grid;place-items:center;padding:20px;
  background:radial-gradient(1100px 600px at 85% -10%,rgba(245,134,52,.22),transparent 60%),radial-gradient(900px 500px at -10% 20%,rgba(245,134,52,.10),transparent 55%),linear-gradient(160deg,var(--navy) 0%,var(--green-deep) 100%) fixed}
body::after{content:"";position:fixed;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:48px 48px;
  -webkit-mask-image:radial-gradient(900px 500px at 70% 30%,#000,transparent 80%);mask-image:radial-gradient(900px 500px at 70% 30%,#000,transparent 80%)}
.auth-wrap{width:100%;max-width:400px;position:relative;z-index:1}
.auth-card{background:var(--surface);border:1px solid rgba(255,255,255,.12);border-top:4px solid var(--accent);border-radius:18px;
  padding:32px 28px;box-shadow:0 24px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;gap:4px}
.auth-brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:19px;letter-spacing:-.02em;color:var(--navy)}
.auth-brand .mk{width:38px;height:38px;display:grid;place-items:center;color:var(--navy);font-size:18px}
.auth-brand .mk svg{width:38px;height:38px;display:block}
.auth-brand small{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent-press);font-weight:700;margin-top:3px}
.auth-sub{margin:4px 0 20px;color:var(--ink-soft);font-size:13.5px}
.auth-card label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:600;color:#123A25;
  text-transform:uppercase;letter-spacing:.07em;margin-bottom:14px}
.auth-card label small{text-transform:none;letter-spacing:0;font-weight:500;color:#8A9A90}
.auth-card input{border:1px solid #CBD7CF;border-radius:10px;padding:12px 13px;font-size:15px;color:var(--ink);outline:none;font-family:inherit;transition:.2s}
.auth-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(245,134,52,.18)}
.auth-btn{margin-top:8px;background:var(--accent);color:#fff;border:0;border-radius:999px;padding:13px;font-family:inherit;
  font-size:15px;font-weight:700;cursor:pointer;transition:.25s cubic-bezier(.22,.61,.36,1);box-shadow:0 8px 22px rgba(245,134,52,.35)}
.auth-btn:hover{background:var(--accent-press);transform:translateY(-2px);box-shadow:0 12px 28px rgba(245,134,52,.45)}
.auth-err{background:#FDECEC;border:1px solid #F0C4C6;color:var(--danger);padding:10px 12px;border-radius:10px;
  font-size:13px;font-weight:600;margin-bottom:14px}
.auth-foot{margin:18px 0 0;text-align:center;font-size:13px;color:var(--ink-soft)}
.auth-foot a{color:var(--accent-press);font-weight:700;text-decoration:none}
.auth-foot a:hover{text-decoration:underline}
