/* Portal de projetos Neoenergia · identidade visual Neoenergia (Brand Guidelines V3)
   Fonte oficial: IberPangea Text (proprietária). Reserva oficial do manual: Arial. */
:root{
  --verde:#00A443;      /* Iberdrola Green */
  --floresta:#00402A;   /* Iberdrola Forest */
  --ceu:#0DA9FF;        /* Iberdrola Sky */
  --sol:#FF9C1A;        /* Iberdrola Sunset */
  --areia:#FFF5EC;      /* Iberdrola Sand */
  --bg:#FFFFFF;
  --panel:#FFFFFF;
  --panel-2:#F4F8F5;
  --ink:#00402A;
  --ink-dim:#4A5F56;
  --line:#D7E3DC;
  --erro:#C8102E;
  --radius:12px;
  --font:"IberPangea Text","IberPangea",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{background:var(--verde);color:#fff}
a{color:inherit}
.h1{font-weight:700;font-size:clamp(30px,4.8vw,46px);line-height:1.1;letter-spacing:-.01em;margin:.25em 0 .35em}
.h2{font-weight:700;font-size:clamp(22px,3vw,28px);line-height:1.2;margin:0}
.mono{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.dim{color:var(--ink-dim)}
.stamp{font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--verde);text-transform:uppercase;display:flex;align-items:center;gap:12px;margin:0}
.stamp::after{content:"";flex:1;height:1px;background:var(--line)}
.traco-minuto{width:56px;height:6px;background:var(--verde);border-radius:3px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;
  background:var(--floresta);color:#fff;border:1px solid var(--floresta);font-size:15px;padding:12px 24px;border-radius:999px;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--verde);border-color:var(--verde)}
.btn.ghost{background:#fff;color:var(--floresta);border-color:var(--floresta)}
.btn.ghost:hover{background:var(--floresta);color:#fff}
.btn[aria-disabled="true"]{background:#fff;color:#8A9A92;border:1px dashed #B9C7BF;cursor:default;pointer-events:none}
.btn:focus-visible,.chip:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--ceu);outline-offset:2px}

/* tela de entrada */
body.entrada{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--areia)}
.entrada-box{width:100%;max-width:440px;background:#fff;border-radius:16px;padding:40px 36px;box-shadow:0 12px 40px rgba(0,64,42,.12);border-top:6px solid var(--verde)}
.entrada-box .logo{display:block;margin-bottom:32px;height:auto;width:160px}
.entrada-box form{display:grid;gap:10px;margin-top:24px}
.entrada-box label{color:var(--ink-dim)}
.entrada-box input{font:inherit;font-size:18px;color:var(--ink);background:#fff;border:1px solid #B9C7BF;border-radius:10px;padding:13px 15px}
.entrada-box .btn{margin-top:10px;justify-self:start}
.erro{color:var(--erro);margin:0;font-size:15px}
.assinatura{color:var(--ink-dim);margin-top:40px;font-weight:400;text-transform:none;letter-spacing:0;font-size:13px}

/* topo */
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}
header.topo{background:#fff;border-bottom:1px solid var(--line)}
header.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:16px}
header.topo img{width:150px;height:auto;display:block}
header.topo nav{display:flex;align-items:center;gap:18px}
header.topo nav a,header.topo nav span{text-decoration:none;color:var(--ink-dim)}
header.topo nav a:hover{color:var(--verde)}

/* faixa de abertura */
.faixa{background:var(--floresta);color:#fff;position:relative;overflow:hidden}
.faixa::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(0,164,67,.55),rgba(0,164,67,0) 70%)}
.faixa .stamp{color:#7FE0A4}
.faixa .stamp::after{background:rgba(255,255,255,.18)}
.faixa .dim{color:#CFE6DA}
.faixa strong{color:#fff}
.hero{padding:56px 0 48px;position:relative;z-index:1}
.hero p.dim{max-width:640px;margin:0}
.resumo{display:flex;gap:16px;flex-wrap:wrap;margin-top:32px}
.metrica{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:16px 22px;min-width:150px}
.metrica .v{font-weight:700;font-size:34px;line-height:1;color:#fff}
.metrica .v.lima{color:#7FE0A4}
.metrica .l{font-size:13px;color:#CFE6DA;margin-top:8px}

.filtros{display:flex;gap:10px;flex-wrap:wrap;margin:32px 0 8px}
.chip{font:inherit;font-size:14px;font-weight:700;color:var(--floresta);cursor:pointer;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 18px}
.chip:hover{border-color:var(--verde)}
.chip[aria-pressed="true"]{background:var(--verde);border-color:var(--verde);color:#fff}
.busca{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 18px;min-width:240px;margin-left:auto}

section.grupo{padding:36px 0 8px}
section.grupo .stamp{margin-bottom:20px}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;gap:12px;
  border-top:4px solid var(--verde);transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:0 10px 28px rgba(0,64,42,.10);transform:translateY(-2px)}
.card .area{color:var(--verde)}
.card h3{font-weight:700;font-size:20px;line-height:1.25;margin:0;color:var(--floresta)}
.card p{margin:0;color:var(--ink-dim);font-size:15px}
.card .rodape{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:8px}
.card .botoes{display:flex;gap:8px}
.card .botoes .btn{padding:8px 18px;font-size:14px}
.selo{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.selo::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ceu)}
.selo.andamento::before{background:var(--verde)}
.selo.proposta::before{background:var(--sol)}
.vazio{color:var(--ink-dim);font-size:15px;border:1px dashed #B9C7BF;border-radius:var(--radius);padding:22px;background:var(--panel-2)}

footer{background:var(--floresta);color:#CFE6DA;margin-top:72px}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:26px}
footer .mono{font-weight:400;text-transform:none;letter-spacing:0;font-size:13px}

/* páginas internas de projeto */
.pagina{padding:56px 0}
.pagina .traco-minuto{margin:24px 0}
.voltar{text-decoration:none;color:var(--ink-dim)}
.voltar:hover{color:var(--verde)}
.lista-arquivos{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:10px;max-width:720px}
.lista-arquivos a{display:flex;justify-content:space-between;gap:12px;text-decoration:none;background:#fff;border:1px solid var(--line);border-left:4px solid var(--verde);border-radius:10px;padding:14px 18px}
.lista-arquivos a:hover{border-color:var(--verde)}

@media (max-width:640px){.busca{margin-left:0;width:100%}.hero{padding-top:40px}.metrica{min-width:0;flex:1}}
@media print{
  .faixa,footer{background:#fff;color:var(--ink)}
  .filtros,.botoes,nav{display:none!important}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:640px){header.topo nav .mono{display:none}}
