:root{
  --bg-principal:#ffffff;
  --grad-ouro:linear-gradient(135deg,#d4af37 0%,#aa7c11 50%,#e6ca65 100%);
  --ouro-escuro:#8a640f;
  --ouro-borda:#c5a059;
  --texto:#1c1a17;
  --texto-suave:#605c56;
  --card:#ffffff;
  --azul:#0d233a;
  --ok:#1e7e34; --erro:#b23a2e;
}
*{box-sizing:border-box}
body{margin:0;background-color:var(--bg-principal);color:var(--texto);
  font-family:'Montserrat',sans-serif;min-height:100vh;display:flex;flex-direction:column;
  background-image:radial-gradient(rgba(197,160,89,.05) 1px,transparent 0);background-size:24px 24px}

/* -------- header -------- */
header{background:linear-gradient(180deg,#1c1a17 0%,#2d2619 100%);border-bottom:3px solid var(--ouro-borda);
  padding:15px 40px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px rgba(0,0,0,.15)}
.brand-wrap{display:flex;align-items:center;gap:15px}
.logo-icon{width:45px;height:45px;background:var(--grad-ouro);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex;align-items:center;justify-content:center;color:#1c1a17;font-size:20px;flex:none}
.logo-texto{display:flex;flex-direction:column;line-height:1.2}
.brand{font-family:'Cinzel',serif;color:#f7e7c4;font-size:20px;letter-spacing:2px;font-weight:700}
.brand-co{font-size:10px;color:var(--ouro-borda);letter-spacing:4px;text-transform:uppercase}
.brand-logo{display:block;height:75px;width:auto}
.versao{font-family:'Cinzel',serif;font-size:.7rem;color:#1c1a17;background:var(--grad-ouro);
  border-radius:20px;padding:3px 11px;font-weight:700;align-self:center}
#userbox{color:#e2d9c8;font-size:13px;display:flex;align-items:center;gap:10px}
#userbox img{width:28px;height:28px;border-radius:50%}
#userbox a{color:var(--ouro-borda);text-decoration:none;font-weight:600}
#userbox a:hover{color:#fff}

main{flex:1;width:100%;max-width:1200px;margin:40px auto;padding:0 20px;display:flex;flex-direction:column;gap:30px}
h1{font-family:'Cinzel',serif;font-size:1.5rem;margin:.2em 0 .6em}
.hidden{display:none !important}
.erro{color:var(--erro)}

/* -------- login -------- */
.card{background:var(--card);border:1px solid #ebdcb9;border-radius:12px;padding:40px;text-align:center;
  box-shadow:0 10px 30px rgba(138,100,15,.04)}
.btn-google{display:inline-flex;align-items:center;gap:10px;background:var(--grad-ouro);color:#1c1a17;
  border:none;border-radius:6px;padding:12px 26px;text-decoration:none;font-weight:600;margin-top:12px;font-family:inherit}
.btn-google .g{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#1c1a17;color:#f7e7c4;font-weight:700}

/* -------- botões -------- */
.btn{background:var(--grad-ouro);color:#1c1a17;border:none;padding:12px 30px;font-size:14px;font-weight:600;
  border-radius:6px;cursor:pointer;box-shadow:0 4px 15px rgba(170,124,17,.2);font-family:inherit;transition:opacity .3s}
.btn:hover{opacity:.9}
.btn.primary{background:var(--azul);color:#fff;box-shadow:none}
.btn.primary:hover{background:#163554;opacity:1}
.btn.primary:disabled{opacity:.5;cursor:not-allowed}
#btn-hist{background:transparent;color:var(--texto);border:1px solid var(--ouro-borda);box-shadow:none}
#btn-hist:hover{background:#fcf6e8}

/* -------- upload -------- */
.upload-wrap{position:relative}
.dropzone{background:var(--card);border:2px dashed var(--ouro-borda);border-radius:12px;padding:50px 30px;
  text-align:center;box-shadow:0 10px 30px rgba(138,100,15,.03);transition:transform .3s,border-color .3s}
.dropzone:hover{transform:translateY(-2px);border-color:var(--ouro-escuro)}
.dropzone.drag{border-color:var(--ouro-escuro);background:#fdfaf2}
.dropzone .upload-icon{font-size:46px;background:var(--grad-ouro);-webkit-background-clip:text;
  -webkit-text-fill-color:transparent;background-clip:text;margin-bottom:14px;display:block}
.dropzone p{margin:.3em 0;color:var(--texto-suave);font-size:14px}
.dropzone p strong{color:var(--texto);font-size:18px;font-family:'Cinzel',serif;font-weight:700}
.ilustracao{display:none}

/* -------- lista (grade) -------- */
.lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.item{background:var(--card);border:1px solid #ebdcb9;border-radius:12px;padding:24px;
  display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 20px rgba(0,0,0,.02)}
.item .nome{font-size:16px;font-weight:600;color:var(--texto);word-break:break-word}
.item .sub{display:block;font-weight:400;color:var(--texto-suave);font-size:12px;line-height:1.5;margin-top:4px}
.item .aviso-perfil{display:block;margin-top:6px;font-size:12px;color:#8a5a12;background:#fff4d4;
  border:1px solid var(--ouro-borda);border-radius:6px;padding:6px 10px;font-weight:600}
.item .campos{display:flex;flex-direction:column;gap:8px}
.item .campos input{padding:9px 12px;border:1px solid var(--ouro-borda);border-radius:6px;font-size:14px;
  font-family:inherit;background:#fdfbf7;color:var(--texto);width:100%}
.item .campos input::placeholder{color:#a89b88}
.item .linha-selo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.item select{flex:1;min-width:150px;padding:9px 16px;border:1px solid var(--ouro-borda);background:#fdfbf7;
  border-radius:6px;font-family:inherit;color:var(--texto);font-weight:600;cursor:pointer}
.item select option:disabled{color:#b9b3a6}
.item .excluir{align-self:flex-start;background:transparent;border:1px solid var(--ouro-borda);color:var(--ouro-escuro);
  border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.item .excluir:hover{background:#fcebe8;color:var(--erro);border-color:var(--erro)}

.badge{background:#fff4d4;border:1px solid var(--ouro-borda);color:var(--ouro-escuro);padding:6px 14px;
  border-radius:20px;font-size:12px;font-weight:600}
.badge.ok{background:#e6f4ea;border-color:#9fd1ad;color:var(--ok)}
.badge.erro{background:#fcebe8;border-color:#e0a59c;color:var(--erro)}

.acoes{display:flex;align-items:center;gap:15px;flex-wrap:wrap}
.status{color:var(--texto-suave);font-size:13px}

/* -------- progresso -------- */
.prog{margin-top:8px}
.prog-bar{background:#f1ebd9;height:12px;border-radius:6px;overflow:hidden}
.prog-fill{background:var(--grad-ouro);height:100%;width:0;border-radius:6px;transition:width .5s ease}
.prog-txt{display:flex;justify-content:space-between;margin-top:6px;font-size:12px;color:var(--ouro-escuro);font-weight:600}
.prog-erro .prog-fill{background:#d23}
.prog .baixar{display:inline-flex;align-items:center;gap:8px;margin-top:12px;text-decoration:none;
  background:var(--azul);color:#fff;border:none;border-radius:6px;padding:9px 18px;font-size:13px;font-weight:600}
.prog .baixar:hover{background:#163554}

/* -------- histórico -------- */
.hist{margin-top:0}
.hist-box{margin-top:14px;background:var(--card);border:1px solid #ebdcb9;border-radius:12px;padding:14px 16px;overflow-x:auto}
.hist-tabela{width:100%;border-collapse:collapse;font-size:13px}
.hist-tabela th,.hist-tabela td{text-align:left;padding:9px 12px;border-bottom:1px solid #ebdcb9;white-space:nowrap}
.hist-tabela th{color:var(--texto-suave);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.hist-tabela td{color:var(--texto)}
.hist-tabela tr:last-child td{border-bottom:none}
.hist-baixar{background:var(--azul);color:#fff;border:none;border-radius:6px;padding:5px 13px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
.hist-baixar:hover{background:#163554}

/* -------- rodapé -------- */
footer#rodape{background:#fff;border-top:1px solid #ebdcb9;padding:30px 40px;margin-top:auto;text-align:center}
.rodape-titulo{font-size:12px;text-transform:uppercase;letter-spacing:3px;color:var(--texto-suave);margin:0 0 20px}
.logos-rodape{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:40px;max-width:1100px;margin:0 auto}
.logos-rodape img{height:28px;object-fit:contain;filter:grayscale(100%);opacity:.5;transition:all .3s}
.logos-rodape img:hover{filter:grayscale(0%);opacity:1}
.copyright{margin-top:22px;font-size:11px;color:var(--texto-suave);letter-spacing:.02em}
@media (max-width:600px){ header{padding:12px 16px} main{margin:20px auto} }
