:root{--azul:#172554;--roxo:#6d28d9;--claro:#f8fafc;--texto:#0f172a;--cinza:#64748b;--borda:#e2e8f0;--verde:#16a34a}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:linear-gradient(135deg,#eef2ff,#f8fafc);color:var(--texto)}a{text-decoration:none;color:inherit}.navbar{display:flex;justify-content:space-between;align-items:center;padding:20px 7%;background:white;border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:10}.logo{font-size:24px;font-weight:800;color:var(--azul)}.logo span{color:var(--roxo)}.menu{display:flex;gap:18px;align-items:center}.menu a{color:var(--cinza);font-weight:600}.btn{display:inline-block;padding:12px 18px;border-radius:12px;background:var(--roxo);color:white;font-weight:700;border:none;cursor:pointer}.btn.sec{background:white;color:var(--azul);border:1px solid var(--borda)}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding:70px 7%}.hero h1{font-size:48px;line-height:1.05;margin:0 0 18px}.hero p{font-size:18px;color:var(--cinza);line-height:1.6}.card{background:white;border:1px solid var(--borda);border-radius:22px;padding:26px;box-shadow:0 18px 40px rgba(15,23,42,.08)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:30px 7%}.section{padding:50px 7%}.section h2{text-align:center;font-size:34px}.tag{display:inline-block;background:#ede9fe;color:var(--roxo);padding:8px 12px;border-radius:99px;font-weight:700}.formbox{max-width:560px;margin:40px auto}.input{width:100%;padding:14px;border:1px solid var(--borda);border-radius:12px;margin:8px 0 14px;font-size:15px}.alert{padding:12px;border-radius:12px;margin-bottom:12px}.alert.erro{background:#fee2e2;color:#991b1b}.alert.ok{background:#dcfce7;color:#166534}.dashboard{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{background:var(--azul);color:white;padding:28px}.sidebar a{display:block;padding:12px;border-radius:10px;margin:6px 0;color:#dbeafe}.sidebar a:hover{background:rgba(255,255,255,.1)}.content{padding:32px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat strong{font-size:32px}.footer{text-align:center;padding:30px;color:var(--cinza)}@media(max-width:800px){.hero,.grid,.dashboard,.statgrid{grid-template-columns:1fr}.menu{display:none}.hero h1{font-size:36px}}
