/* v6 - 2026-07-30 */
:root{
  --bg:#0D0C11;
  --bg-2:#151320;
  --gold:#E8B93A;
  --gold-dim:#8A7433;
  --text:#EDEAE2;
  --text-dim:#8D8797;
  --linha:rgba(237,234,226,0.09);
  --danger:#D6564A;
  --danger-dim:#7A3630;
  --sucesso:#6FA97A;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.6; font-size:15px;}
h1,h2,h3,h4{font-family:'Fraunces',serif; font-weight:500; color:var(--text); letter-spacing:-.01em;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
button{font:inherit; color:inherit; background:none; border:none; cursor:pointer;}
.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}

/* Topbar do admin */
.admin-topbar{border-bottom:1px solid var(--linha); background:rgba(13,12,17,0.9); backdrop-filter:blur(8px); position:sticky; top:0; z-index:20;}
.admin-topbar .wrap{display:flex; align-items:center; justify-content:space-between; padding:16px 28px;}
.admin-logo-nav{display:inline-flex; align-items:center;}
.admin-logo-nav img{height:64px; width:auto; max-width:200px; display:block;}
.admin-nav{display:flex; align-items:center; gap:28px;}
.admin-nav a{font-size:14px; color:var(--text-dim);}
.admin-nav a:hover, .admin-nav a.active{color:var(--gold);}

.admin-main{padding:48px 28px 80px;}
.admin-page-head{display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; flex-wrap:wrap;}
.admin-page-head h1{font-size:26px;}
.admin-page-head p{color:var(--text-dim); font-size:14px; margin-top:6px;}

/* Cards e stats */
.admin-card{background:var(--bg-2); border:1px solid var(--linha); border-radius:12px; padding:28px;}
.admin-stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; margin-bottom:36px;}
.admin-stat .num{font-family:'Fraunces',serif; font-size:36px; color:var(--gold);}
.admin-stat .num .admin-stat-sub{font-family:'Inter',sans-serif; font-size:14px; font-weight:400; color:var(--text-dim); margin-left:4px;}
.admin-stat .lbl{font-size:13px; color:var(--text-dim); margin-top:6px;}
.admin-stat .admin-stat-btn{margin-top:16px;}

/* Botões */
.btn{display:inline-flex; align-items:center; gap:8px; padding:11px 20px; font-size:13.5px; font-weight:500; border-radius:6px; border:1px solid var(--linha); color:var(--text); transition:.2s;}
.btn:hover{border-color:var(--gold-dim);}
.btn-gold{background:var(--gold); color:#161018; border-color:var(--gold); font-weight:600;}
.btn-gold:hover{background:#F2CB6A;}
.btn-danger{color:var(--danger); border-color:var(--danger-dim);}
.btn-danger:hover{background:rgba(214,86,74,0.12);}
.btn-danger-solido{background:var(--danger); border-color:var(--danger); color:#fff; font-weight:600;}
.btn-danger-solido:hover{background:#C24438;}
.btn-sm{padding:7px 14px; font-size:12.5px;}

/* Alertas / flash */
.admin-alert{padding:14px 18px; border-radius:8px; font-size:13.5px; margin-bottom:24px; border:1px solid var(--linha);}
.admin-alert-success{color:var(--sucesso); border-color:var(--sucesso);}
.admin-alert-error{color:var(--danger); border-color:var(--danger-dim);}

/* Select customizado (usado em todo o admin) */
select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-color:var(--bg); color:var(--text); border:1px solid var(--linha); border-radius:6px;
  padding:9px 32px 9px 14px; font-size:13.5px; font-family:'Inter',sans-serif; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238D8797' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center; background-size:14px;
}
select:focus{outline:none; border-color:var(--gold-dim);}
select option{background:var(--bg); color:var(--text);}

/* Formulários */
.field{margin-bottom:18px;}
.field label{display:block; font-size:13px; color:var(--text-dim); margin-bottom:7px;}
.field input[type="text"], .field input[type="email"], .field input[type="password"], .field input[type="file"]{
  width:100%; padding:12px 16px; border:1px solid var(--linha); background:var(--bg); color:var(--text); font-size:14px; border-radius:6px; font-family:'Inter',sans-serif;
}
.field select{width:100%;}
.field input:focus{outline:none; border-color:var(--gold-dim);}
.field-check{display:flex; align-items:center; gap:10px; font-size:14px; color:var(--text-dim);}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
@media(max-width:700px){ .form-row{grid-template-columns:1fr;} }

/* Tela de login */
.admin-auth{min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px;}
.admin-auth-card{width:100%; max-width:380px;}
.admin-logo-login{height:64px; width:auto; max-width:220px; display:block; margin:0 auto 8px;}
.admin-auth-card h1{font-size:19px; text-align:center; margin-bottom:28px; font-weight:500;}
.admin-auth-card .btn-gold{width:100%; justify-content:center; margin-top:6px;}

/* Tabela */
.admin-table{width:100%; border-collapse:collapse; font-size:13.5px;}
.admin-table th{text-align:left; color:var(--text-dim); font-size:12px; text-transform:uppercase; letter-spacing:.04em; padding:12px 14px; border-bottom:1px solid var(--linha);}
.admin-table td{padding:14px; border-bottom:1px solid var(--linha); vertical-align:middle;}
.admin-table tr:last-child td{border-bottom:none;}
.admin-table .acoes{display:flex; gap:8px; justify-content:flex-end;}
.admin-table .col-handle{width:32px;}
.admin-table .col-posicao{width:120px;}
.posicao-badge{display:inline-flex; align-items:center; padding:5px 12px; border-radius:999px; background:rgba(232,185,58,0.15); color:var(--gold); font-size:12.5px; font-weight:600; white-space:nowrap;}
.arraste-handle{cursor:grab; color:var(--text-dim); font-size:16px; line-height:1; user-select:none;}
.admin-table tr[draggable="true"].linha-arrastando{opacity:.4;}
.admin-table tr[draggable="true"]:active .arraste-handle{cursor:grabbing;}
.badge{display:inline-block; padding:3px 10px; border-radius:999px; font-size:11.5px;}
.badge-gold{background:rgba(232,185,58,0.15); color:var(--gold);}
.badge-dim{background:rgba(141,135,151,0.15); color:var(--text-dim);}

/* Coluna de contato (admin/leads.php) */
.contato-linha{display:flex; align-items:center; gap:8px; margin-top:4px;}
.btn-whatsapp{display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; min-width:28px; min-height:28px; flex-shrink:0; border-radius:6px; border:1px solid var(--linha); color:var(--sucesso);}
.btn-whatsapp:hover{border-color:var(--sucesso); background:rgba(111,169,122,0.12);}
.btn-whatsapp svg{display:block; width:20px; height:20px; min-width:20px; min-height:20px; max-width:20px; max-height:20px; flex-shrink:0;}

/* Paginação */
.admin-pagination{display:flex; gap:10px; justify-content:center; margin-top:32px; font-size:13.5px;}
.admin-pagination a, .admin-pagination span{padding:8px 14px; border:1px solid var(--linha); border-radius:6px; color:var(--text-dim);}
.admin-pagination a:hover{border-color:var(--gold-dim); color:var(--gold);}
.admin-pagination .atual{color:var(--gold); border-color:var(--gold-dim);}

/* Toggle de tipo de foto (substitui o <select>) */
.tipo-toggle{display:flex; gap:10px; flex-wrap:wrap;}
.tipo-toggle-opt{position:relative;}
.tipo-toggle-opt input{position:absolute; inset:0; opacity:0; margin:0; cursor:pointer;}
.tipo-toggle-opt span{display:inline-flex; align-items:center; padding:10px 20px; border:1px solid var(--linha); border-radius:6px; font-size:13.5px; color:var(--text-dim); transition:.2s;}
.tipo-toggle-opt input:checked + span{background:var(--gold); border-color:var(--gold); color:#161018; font-weight:600;}
.tipo-toggle-opt input:focus-visible + span{outline:2px solid var(--gold-dim); outline-offset:2px;}
.tipo-toggle-opt:hover span{border-color:var(--gold-dim);}

/* Zona de arrastar e soltar fotos */
.dropzone{position:relative; border:2px dashed var(--linha); border-radius:10px; padding:36px 20px; text-align:center; transition:.2s; background:var(--bg);}
.dropzone.dropzone-hover{border-color:var(--gold); background:rgba(232,185,58,0.06);}
.dropzone input[type="file"]{position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%;}
.dropzone-msg{pointer-events:none; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--text-dim);}
.dropzone-msg svg{display:block; width:32px; height:32px; min-width:32px; min-height:32px; max-width:32px; max-height:32px; flex-shrink:0; color:var(--gold-dim);}
.dropzone-msg p{font-size:13.5px;}
.dropzone-msg strong{color:var(--text);}
.dropzone-lista{font-size:12.5px; color:var(--gold);}

.visually-hidden{position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important;}
.btn-camera{display:inline-flex; align-items:center; gap:8px; margin-top:12px; padding:11px 20px; font-size:13.5px; font-weight:500; border-radius:6px; border:1px dashed var(--gold-dim); color:var(--gold); cursor:pointer; transition:.2s;}
.btn-camera:hover{background:rgba(232,185,58,0.08); border-color:var(--gold);}
.btn-camera svg{display:block; width:18px; height:18px; min-width:18px; min-height:18px; max-width:18px; max-height:18px; flex-shrink:0;}

/* Galeria de fotos no formulário de projeto */
.foto-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:16px; margin-top:20px;}
.foto-item{position:relative; border:1px solid var(--linha); border-radius:8px; overflow:hidden; background:var(--bg);}
.foto-item img{width:100%; height:120px; object-fit:cover;}
.foto-item .foto-tipo{position:absolute; top:8px; left:8px; background:rgba(13,12,17,0.8); color:var(--gold); font-size:10px; text-transform:uppercase; padding:3px 8px; border-radius:4px;}
.foto-item .foto-badges{position:absolute; top:8px; right:8px; display:flex; flex-direction:column; align-items:flex-end; gap:4px;}
.foto-item .foto-badge{background:var(--gold); color:#161018; font-size:10px; font-weight:600; padding:3px 8px; border-radius:4px; white-space:nowrap;}
.foto-item .foto-overlay{position:absolute; inset:0; display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:flex-end; gap:6px; padding:8px; opacity:0; background:linear-gradient(to top, rgba(13,12,17,0.75), transparent 60%); transition:.2s;}
.foto-item:hover .foto-overlay, .foto-item:focus-within .foto-overlay{opacity:1;}
.foto-item .foto-overlay form{display:contents;}
.foto-acao-btn{width:32px; height:32px; border-radius:6px; background:rgba(13,12,17,0.85); border:1px solid var(--linha); display:flex; align-items:center; justify-content:center; color:var(--text); flex-shrink:0;}
.foto-acao-btn svg{width:16px; height:16px;}
.foto-acao-btn:hover{border-color:var(--gold-dim); color:var(--gold);}
.foto-acao-btn.foto-acao-danger:hover{border-color:var(--danger-dim); color:var(--danger);}
.foto-acao-btn.foto-acao-ativo{background:var(--gold); border-color:var(--gold); color:#161018;}
.foto-acao-btn.foto-acao-ativo:hover{background:#F2CB6A; color:#161018;}

hr.linha{border:none; border-top:1px solid var(--linha); margin:36px 0;}

/* Modal de confirmação (exclusão de projetos/leads) */
.modal-overlay{position:fixed; inset:0; background:rgba(13,12,17,0.75); display:flex; align-items:center; justify-content:center; z-index:100; padding:20px;}
.modal-overlay[hidden]{display:none;}
.modal-card{background:var(--bg-2); border:1px solid var(--linha); border-radius:12px; padding:28px; max-width:420px; width:100%;}
.modal-card h3{font-size:18px; margin-bottom:12px;}
.modal-card p{font-size:14px; color:var(--text-dim); line-height:1.6;}
.modal-acoes{display:flex; justify-content:flex-end; gap:10px; margin-top:26px;}

/* Navegação inferior fixa (mobile only) */
.admin-bottom-nav{display:none;}

/* Responsivo mobile do admin */
@media(max-width:700px){
  .admin-nav{display:none;}
  .admin-topbar .wrap{justify-content:center;}

  body{padding-bottom:76px;}

  .admin-bottom-nav{
    display:flex;
    position:fixed; left:0; right:0; bottom:0; z-index:30;
    background:rgba(13,12,17,0.95); backdrop-filter:blur(8px);
    border-top:1px solid var(--linha);
    padding:6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .admin-bottom-nav a{flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:6px 4px; color:var(--text-dim); font-size:11px;}
  .admin-bottom-nav a svg{display:block; width:22px; height:22px; min-width:22px; min-height:22px; max-width:22px; max-height:22px; flex-shrink:0;}
  .admin-bottom-nav a.active{color:var(--gold);}

  /* Tabelas viram cards empilhados */
  .admin-table thead{display:none;}
  .admin-table, .admin-table tbody, .admin-table tr{display:block; width:100%;}
  .admin-table tr{border:1px solid var(--linha); border-radius:10px; margin-bottom:20px; padding:4px 14px; background:var(--bg-2);}
  .admin-table tr:last-child{margin-bottom:0;}
  .admin-table td{display:flex; flex-direction:column; gap:4px; width:auto; padding:12px 0; border-bottom:1px solid var(--linha);}
  .admin-table td:last-child{border-bottom:none;}
  .admin-table td::before{content:attr(data-label); font-size:11px; text-transform:uppercase; letter-spacing:.04em; color:var(--text-dim);}
  .admin-table td:not([data-label])::before{content:none;}
  .admin-table .col-handle{display:none;}
  .admin-table .acoes{flex-direction:row; flex-wrap:wrap; justify-content:flex-start; gap:8px;}

  /* O vão entre os cards deve mostrar --bg (fundo real da página), não --bg-2 do container */
  .lista-card{background:transparent; border:none; padding:0;}
}
