/* admin.css — estilos do painel (Apaixonados pela Italia) */
/* Autocontido: traz os tokens da marca + estilos do painel. 2026-07-02 */

:root{
  --terracota:#C94B3A; --terracota-prof:#9B3125; --terracota-claro:#F5EAE8;
  --ouro:#B8933F; --tinta:#1C1A17; --tinta-suave:#6B6459;
  --creme:#FAF7F2; --branco:#FFFFFF; --verde:#009246; --vermelho:#CE2B37;
  --linha:#ECE6DD; --raio:12px; --raio-peq:8px;
  --display:'Cormorant Garamond',Georgia,serif; --ui:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--ui); color:var(--tinta); background:var(--creme); font-size:15px; line-height:1.5;}
a{color:var(--terracota); text-decoration:none;}
a:hover{color:var(--terracota-prof);}

/* Faixa tricolor */
.tricolor{height:4px;width:100%;display:flex;}
.tricolor i{flex:1;display:block;}
.tricolor .v{background:var(--verde);} .tricolor .b{background:var(--branco);} .tricolor .r{background:var(--vermelho);}

/* ---------- Login ---------- */
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.login-card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);
  width:100%;max-width:380px;overflow:hidden;box-shadow:0 8px 30px rgba(28,26,23,.06);}
.login-card .topo{padding:34px 34px 8px;text-align:center;}
.login-card .marca{font-family:var(--display);font-style:italic;font-size:26px;color:var(--terracota);line-height:1.1;}
.login-card .sub{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--tinta-suave);margin-top:4px;}
.login-card .corpo{padding:18px 34px 30px;}
.login-card h1{font-family:var(--display);font-weight:600;font-size:20px;text-align:center;margin:6px 0 18px;color:var(--tinta);}
label{display:block;font-size:12px;font-weight:500;color:var(--tinta-suave);margin-bottom:6px;}
input[type=text],input[type=password],input[type=email],input[type=number],input[type=date],select,textarea{
  width:100%;padding:10px 12px;border:1px solid var(--linha);border-radius:var(--raio-peq);
  font-family:var(--ui);font-size:14px;color:var(--tinta);background:var(--branco);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--terracota);box-shadow:0 0 0 3px var(--terracota-claro);}
.btn{display:inline-block;border:none;cursor:pointer;background:var(--terracota);color:#fff;
  padding:11px 18px;border-radius:var(--raio-peq);font-family:var(--ui);font-size:14px;font-weight:500;width:100%;}
.btn:hover{background:var(--terracota-prof);}
.btn-sec{background:var(--branco);color:var(--tinta);border:1px solid var(--linha);width:auto;}
.btn-sec:hover{background:var(--creme);color:var(--tinta);}
.erro{background:#FCEBEA;border:1px solid #F1C7C2;color:var(--terracota-prof);
  padding:10px 12px;border-radius:var(--raio-peq);font-size:13px;margin-bottom:14px;}

/* ---------- Layout do painel ---------- */
.top{background:var(--branco);border-bottom:1px solid var(--linha);}
.top .barra{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:22px;padding:14px 22px;}
.top .marca{font-family:var(--display);font-style:italic;font-size:22px;color:var(--terracota);white-space:nowrap;}
.top nav{display:flex;gap:6px;margin-left:8px;}
.top nav a{padding:7px 12px;border-radius:var(--raio-peq);color:var(--tinta-suave);font-size:14px;font-weight:500;}
.top nav a:hover{background:var(--creme);color:var(--tinta);}
.top nav a.ativo{background:var(--terracota-claro);color:var(--terracota-prof);}
.top .dir{margin-left:auto;display:flex;align-items:center;gap:10px;}
.top .sair{font-size:13px;color:var(--tinta-suave);}

/* Botao Atualizar (forca atualizacao do PWA) */
.btn-atualizar{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;}
.btn-atualizar svg{width:15px;height:15px;display:block;}
.btn-atualizar.girando svg{animation:girar .8s linear infinite;}
@keyframes girar{to{transform:rotate(360deg);}}

.conteudo{max-width:1080px;margin:0 auto;padding:28px 22px 60px;}
.pagina-tit{font-family:var(--display);font-weight:600;font-size:30px;margin:6px 0 4px;color:var(--tinta);}
.pagina-sub{color:var(--tinta-suave);margin:0 0 24px;}

/* Cards do dashboard */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.card{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:22px;
  display:block;transition:border-color .15s, box-shadow .15s;}
.card:hover{border-color:var(--terracota);box-shadow:0 6px 22px rgba(28,26,23,.06);}
.card .ic{font-size:26px;}
.card h3{font-family:var(--display);font-weight:600;font-size:22px;margin:10px 0 4px;color:var(--tinta);}
.card p{margin:0;color:var(--tinta-suave);font-size:14px;}
.card .num{font-size:30px;font-weight:600;color:var(--terracota);font-family:var(--display);}

/* Rodape */
.rodape{max-width:1080px;margin:0 auto;padding:18px 22px;color:var(--tinta-suave);font-size:12px;text-align:center;}

/* ---------- Listagem ---------- */
.barra-acoes{display:flex;align-items:center;gap:12px;margin:6px 0 22px;}
.barra-acoes .pagina-tit{margin:0;}
.barra-acoes .espaco{margin-left:auto;}
table.lista{width:100%;border-collapse:collapse;background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);overflow:hidden;}
table.lista th,table.lista td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--linha);font-size:14px;vertical-align:middle;}
table.lista thead th{background:var(--creme);color:var(--tinta-suave);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.4px;}
table.lista tbody tr:last-child td{border-bottom:none;}
table.lista tbody tr:hover{background:#FBF8F4;}
.acoes-linha{display:flex;gap:8px;justify-content:flex-end;}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:.3px;}
.badge-pub{background:#E7F3EC;color:#1c7a45;}
.badge-rasc{background:var(--terracota-claro);color:var(--terracota-prof);}
.badge-arq{background:#EDEBE8;color:#8a8378;}
.badge-info{background:#E4EEF7;color:#1e5b8f;}
.badge-warn{background:#FBEFD8;color:#8a6412;}
.badge-ok{background:#E7F3EC;color:#1c7a45;}
.badge-danger{background:#FCEBEA;color:#a81f29;}
.badge-neutral{background:#EDEBE8;color:#6b6459;}

/* Detalhe da reserva */
.det-cols{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start;}
.painel-box{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:20px;margin-bottom:18px;}
.painel-box h2{font-family:var(--display);font-weight:600;font-size:19px;margin:0 0 14px;color:var(--tinta);}
.kv{display:grid;grid-template-columns:130px 1fr;gap:6px 12px;font-size:14px;}
.kv dt{color:var(--tinta-suave);}
.kv dd{margin:0;color:var(--tinta);}
.fin-linha{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid var(--linha);font-size:14px;}
.fin-linha.tot{border-bottom:none;font-weight:600;font-size:16px;color:var(--terracota-prof);}
@media(max-width:820px){ .det-cols{grid-template-columns:1fr;} }
.vazio{background:var(--branco);border:1px dashed var(--linha);border-radius:var(--raio);padding:44px;text-align:center;color:var(--tinta-suave);}
.vazio .ic{font-size:32px;}

/* botoes pequenos / variantes */
.btn-mini{padding:6px 11px;font-size:13px;width:auto;border-radius:var(--raio-peq);}
.btn-danger{background:var(--vermelho);color:#fff;border:none;}
.btn-danger:hover{background:#a81f29;color:#fff;}
.msg-ok{background:#E7F3EC;border:1px solid #b9dcc6;color:#1c7a45;padding:11px 14px;border-radius:var(--raio-peq);margin-bottom:16px;font-size:14px;}

/* ---------- Formulario ---------- */
.form-sec{background:var(--branco);border:1px solid var(--linha);border-radius:var(--raio);padding:20px;margin-bottom:18px;}
.form-sec > h2{font-family:var(--display);font-weight:600;font-size:20px;margin:0 0 3px;color:var(--tinta);}
.form-sec > .desc{color:var(--tinta-suave);font-size:13px;margin:0 0 16px;}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px;}
.grid .col-full{grid-column:1 / -1;}
textarea{min-height:96px;resize:vertical;}
.check{display:flex;align-items:center;gap:8px;margin-top:26px;}
.check input{width:auto;}
.check label{margin:0;font-size:14px;color:var(--tinta);font-weight:400;}

/* blocos dinamicos */
.bloco{border:1px solid var(--linha);border-radius:var(--raio-peq);padding:16px;margin-bottom:12px;background:var(--creme);}
.bloco-topo{display:flex;align-items:center;margin-bottom:12px;}
.bloco-topo h4{margin:0;font-family:var(--display);font-size:17px;color:var(--terracota-prof);}
.bloco-topo .btn-rem{margin-left:auto;}
.btn-add{background:var(--branco);color:var(--terracota-prof);border:1px dashed var(--terracota);width:auto;padding:9px 14px;}
.btn-add:hover{background:var(--terracota-claro);color:var(--terracota-prof);}
.sub-titulo{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;color:var(--tinta-suave);margin:14px 0 8px;}
.linha-preco{display:grid;grid-template-columns:1.1fr 1.1fr .7fr auto auto;gap:10px;align-items:end;margin-bottom:8px;}
.linha-incl{display:grid;grid-template-columns:.8fr 1.7fr auto;gap:10px;align-items:end;margin-bottom:8px;}
.linha-simples{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-bottom:8px;}
.form-rodape{display:flex;gap:12px;margin-top:8px;}
.form-rodape .btn{width:auto;padding:12px 26px;}

@media(max-width:640px){
  .grid{grid-template-columns:1fr;}
  .linha-preco,.linha-incl{grid-template-columns:1fr;}
  .check{margin-top:4px;}
  table.lista thead{display:none;}
  table.lista,table.lista tbody,table.lista tr,table.lista td{display:block;width:100%;}
  table.lista tr{border-bottom:1px solid var(--linha);padding:6px 0;}
  table.lista td{border:none;padding:4px 14px;}
  .acoes-linha{justify-content:flex-start;padding:8px 14px;}
}

/* ---------- Fotos ---------- */
.fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;margin-bottom:6px;}
.foto-item{position:relative;border:1px solid var(--linha);border-radius:var(--raio-peq);overflow:hidden;background:var(--branco);}
.foto-item img{width:100%;height:118px;object-fit:cover;display:block;}
.foto-badge{position:absolute;top:6px;left:6px;background:var(--terracota);color:#fff;font-size:10px;font-weight:600;padding:2px 9px;border-radius:12px;letter-spacing:.3px;}
.foto-acoes{display:flex;gap:6px;padding:8px;flex-wrap:wrap;}
.foto-acoes form{display:inline;margin:0;}
.foto-acoes .btn{width:auto;}
.upload-caixa{border:1px dashed var(--terracota);background:var(--terracota-claro);border-radius:var(--raio-peq);padding:14px;margin-top:14px;}
input[type=file]{font-size:13px;padding:8px;border:1px solid var(--linha);border-radius:var(--raio-peq);background:var(--branco);width:100%;}

/* ---------- Responsivo (mobile / PWA) ---------- */
@media (max-width:560px){
  .top .barra{flex-wrap:wrap;gap:8px 12px;padding:12px 16px;}
  .top .marca{font-size:19px;}
  .top nav{margin-left:0;}
  .top .dir{gap:10px;}
  .btn-atualizar .txt{display:none;}
  .btn-atualizar{padding:8px 10px;}
  .conteudo{padding:22px 16px 50px;}
  .pagina-tit{font-size:26px;}
}
