:root{
  --bg:#000000; --bg-panel:#111111; --border:#2a2a2a;
  --text:#e1e1e1; --text-muted:#949494; --accent:#d6df23; --danger:#ff6b6b;
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Titillium Web',Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;}
a{color:var(--accent);}
.dspa{display:flex;font-weight:700;font-size:15px;border-radius:4px;overflow:hidden;flex-shrink:0;}
.dspa span{padding:8px 10px;}
.dspa .ds{background:var(--accent);color:#000;}
.dspa .pa{background:#fff;color:#000;}

/* cartão central (login, esqueci, redefinir) */
.centro{display:flex;align-items:center;justify-content:center;padding:16px;}
.cartao{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:28px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:12px;}
.cartao h1{margin:8px 0 0;font-size:18px;}
.cartao p{margin:0;font-size:13px;color:var(--text-muted);line-height:1.5;}
.cartao .links{display:flex;justify-content:space-between;font-size:13px;}

input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],select{
  width:100%;font-family:inherit;font-size:14px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#000;color:var(--text);}
input:focus,select:focus{outline:none;border-color:var(--accent);}
label{font-size:12px;color:var(--text-muted);display:flex;flex-direction:column;gap:4px;}
label.check{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text);}
label.check input{width:auto;}
.btn{font-family:inherit;font-size:14px;font-weight:600;padding:10px 16px;border-radius:8px;border:0;background:var(--accent);color:#000;cursor:pointer;text-decoration:none;display:inline-block;text-align:center;}
.btn.sec{background:transparent;border:1px solid var(--border);color:var(--text);}
.btn.sec:hover{border-color:var(--text-muted);}
.btn.perigo{background:transparent;border:1px solid var(--danger);color:var(--danger);}
.btn.peq{font-size:12px;padding:6px 10px;}
.msg{font-size:13px;padding:10px 12px;border-radius:8px;border:1px solid var(--border);line-height:1.5;word-break:break-all;}
.msg.ok{border-color:var(--accent);color:var(--accent);}
.msg.erro{border-color:var(--danger);color:var(--danger);}

/* dashboard do cliente */
header.topo{padding:28px 40px 20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;}
.brand{display:flex;align-items:center;gap:16px;}
.logos{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.logo{object-fit:contain;}
.logo-44{height:44px;max-width:140px;}
.logo-88{height:88px;max-width:280px;}
.logos .sep{width:1px;height:36px;background:var(--border);}
.brand .text{display:flex;flex-direction:column;gap:4px;}
.brand .agency{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-weight:700;}
.brand h1{margin:0;font-size:22px;font-weight:600;}
.brand p{margin:2px 0 0;font-size:13px;color:var(--text-muted);}
.conta{font-size:12px;color:var(--text-muted);text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end;}
.conta form{margin:0;}
main.conteudo{padding:32px 40px 60px;max-width:1100px;margin:0 auto;}
.panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:28px;}
.panel h2{margin:0 0 4px;font-size:16px;}
.panel .sub{margin:0 0 20px;font-size:13px;color:var(--text-muted);}
.tabs{display:flex;gap:8px;margin:0 0 20px;flex-wrap:wrap;}
.tab{font-family:inherit;font-size:14px;font-weight:600;padding:10px 18px;border-radius:8px;border:1px solid var(--border);color:var(--text-muted);text-decoration:none;}
.tab:hover{color:var(--text);border-color:var(--text-muted);}
.tab.active{background:var(--accent);border-color:var(--accent);color:#000;}
.dash{width:100%;height:800px;border:0;}
footer.rodape{text-align:center;padding:20px;font-size:12px;color:var(--text-muted);border-top:1px solid var(--border);}

/* admin */
.admin{max-width:1000px;margin:0 auto;padding:28px 20px 60px;}
.admin .barra{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
.admin .barra .esq{display:flex;align-items:center;gap:14px;}
.admin h1{font-size:20px;margin:0;}
.admin h2{font-size:15px;margin:0 0 12px;}
.bloco{background:var(--bg-panel);border:1px solid var(--border);border-radius:14px;padding:20px;margin-bottom:20px;}
table{width:100%;border-collapse:collapse;font-size:13px;}
th{text-align:left;color:var(--text-muted);font-weight:600;padding:8px;border-bottom:1px solid var(--border);}
td{padding:8px;border-bottom:1px solid var(--border);vertical-align:middle;}
td form{margin:0;display:inline;}
.acoes{display:flex;gap:6px;flex-wrap:wrap;align-items:center;}
.linha{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;}
.linha > label{flex:1;min-width:160px;}
.tag{font-size:11px;padding:2px 8px;border-radius:99px;border:1px solid var(--border);color:var(--text-muted);}
.tag.on{border-color:var(--accent);color:var(--accent);}
details summary{cursor:pointer;font-size:12px;color:var(--danger);}
details[open] summary{margin-bottom:6px;}
.logo-previa{max-height:60px;max-width:200px;object-fit:contain;background:#000;border:1px solid var(--border);border-radius:8px;padding:6px;}

@media (max-width:600px){
  header.topo{padding:20px 16px 16px;}
  main.conteudo{padding:20px 16px 40px;}
  .panel{padding:18px;}
  .brand h1{font-size:18px;}
  .brand{flex-wrap:wrap;}
  .conta{align-items:flex-start;text-align:left;}
  .dash{height:600px;}
  table{display:block;overflow-x:auto;}
}

.mt12{margin-top:12px;} .mt16{margin-top:16px;} .mb10{margin-bottom:10px;} .mr10{margin-right:10px;}
.admin .linha > label.w70{flex:0 0 70px;min-width:70px;} .admin .linha > label.w200{flex:0 0 200px;} .admin .linha > label.w240{flex:0 0 240px;} .admin .linha > label.f3{flex:3;}
.nota{font-size:13px;color:var(--text-muted);margin:0;}
.admin .mr10{margin-right:10px;}
