/* ============================================================================
   LS Inteligência Tributária — Painel de conteúdo (admin.html)
   Reaproveita os tokens de css/style.css e adiciona só o necessário para
   a tela de edição.
   ============================================================================ */

.admin-body{ background:var(--paper); min-height:100vh; }

.admin-bar{
  background:var(--navy-950); color:var(--white);
  padding:16px 0; position:sticky; top:0; z-index:40;
}
.admin-bar .container{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.admin-bar .title-group{ display:flex; align-items:center; gap:12px; }
.admin-bar img{ width:34px; height:34px; border-radius:8px; }
.admin-bar h1{ font-size:16px; color:var(--white); font-family:var(--f-body); font-weight:600; }
.admin-bar .sub{ font-family:var(--f-mono); font-size:11px; color:var(--navy-200); }
.admin-actions{ display:flex; gap:10px; flex-wrap:wrap; }

.admin-help{
  background:#FFF8E1; border-bottom:1px solid var(--line);
}
.admin-help .container{ padding:14px 28px; font-size:13.5px; color:#6B5A16; line-height:1.6; }
.admin-help strong{ color:#4a3d0f; }
.admin-help.dismissed{ display:none; }
.admin-help-close{ float:right; background:none; border:0; cursor:pointer; color:#6B5A16; font-size:13px; font-weight:600; }

.admin-layout{
  display:grid; grid-template-columns:300px 1fr;
  gap:0; align-items:start;
  max-width:1320px; margin:0 auto; padding:28px;
}

.admin-sidebar{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-l);
  padding:16px; position:sticky; top:88px;
  max-height:calc(100vh - 110px); overflow-y:auto;
}
.admin-sidebar h2{ font-size:13px; text-transform:uppercase; letter-spacing:.06em; font-family:var(--f-mono); color:var(--muted-2); margin-bottom:12px; font-weight:500; }
.admin-list{ display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.admin-list-item{
  display:flex; flex-direction:column; gap:2px;
  padding:10px 12px; border-radius:var(--radius-m); cursor:pointer;
  border:1px solid transparent;
}
.admin-list-item:hover{ background:var(--paper); }
.admin-list-item.active{ background:var(--navy-200); border-color:var(--navy-400); }
.admin-list-item .t{ font-size:13.5px; font-weight:600; color:var(--navy-900); line-height:1.35; }
.admin-list-item .c{ font-family:var(--f-mono); font-size:10.5px; color:var(--muted-2); text-transform:uppercase; }
.admin-list-item .badge-featured{ display:inline-block; margin-left:6px; font-size:9.5px; background:var(--navy-700); color:#fff; padding:1px 6px; border-radius:999px; vertical-align:middle; }

.admin-new-btn{ width:100%; justify-content:center; }

.admin-categories{ border-top:1px solid var(--line); padding-top:14px; }
.cat-tag-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 2px; font-size:13px; color:var(--navy-900); }
.cat-tag-row button{ background:none; border:0; color:var(--muted-2); cursor:pointer; font-size:15px; line-height:1; padding:2px 6px; }
.cat-tag-row button:hover{ color:#B3261E; }
.add-cat-row{ display:flex; gap:6px; margin-top:8px; }
.add-cat-row input{ flex:1; font-size:13px; padding:7px 9px; border:1px solid var(--line); border-radius:var(--radius-s); }

.admin-main{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius-l);
  padding:32px; margin-left:24px;
}
.admin-empty{ text-align:center; padding:80px 20px; color:var(--muted); }

.field{ margin-bottom:20px; }
.field label{ display:block; font-size:12.5px; font-weight:600; color:var(--navy-900); margin-bottom:6px; }
.field .hint{ font-size:12px; color:var(--muted-2); font-weight:400; margin-left:6px; }
.field input[type=text], .field input[type=date], .field textarea, .field select{
  width:100%; font-family:var(--f-body); font-size:14.5px; color:var(--ink);
  border:1px solid var(--line); border-radius:var(--radius-s); padding:10px 12px;
  background:var(--white);
}
.field textarea{ resize:vertical; line-height:1.55; }
.field input:focus, .field textarea:focus, .field select:focus{ border-color:var(--navy-600); outline:none; }

.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field-row3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }

.checkbox-row{ display:flex; align-items:center; gap:8px; }
.checkbox-row input{ width:16px; height:16px; }
.checkbox-row label{ margin:0; font-size:13.5px; font-weight:500; color:var(--navy-900); }

.chip-select{ display:flex; flex-wrap:wrap; gap:8px; }
.chip-select label{
  display:flex; align-items:center; gap:6px; font-size:12.5px; font-weight:500;
  border:1px solid var(--line); border-radius:999px; padding:6px 12px; cursor:pointer; color:var(--muted);
}
.chip-select input{ accent-color:var(--navy-700); }
.chip-select input:checked + span{ color:var(--navy-900); font-weight:600; }

.block-list{ display:flex; flex-direction:column; gap:12px; }
.block-item{ border:1px solid var(--line); border-radius:var(--radius-m); padding:14px; background:var(--paper); }
.block-item-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.block-item-head .type{ font-family:var(--f-mono); font-size:10.5px; text-transform:uppercase; color:var(--navy-700); font-weight:600; letter-spacing:.04em; }
.block-item-actions{ display:flex; gap:4px; }
.block-item-actions button{
  background:var(--white); border:1px solid var(--line); border-radius:6px; cursor:pointer;
  width:26px; height:26px; display:flex; align-items:center; justify-content:center; color:var(--muted);
}
.block-item-actions button:hover{ color:var(--navy-900); border-color:var(--navy-400); }
.block-item textarea{ width:100%; border:1px solid var(--line); border-radius:var(--radius-s); padding:9px 11px; font-size:14px; font-family:var(--f-body); }

.add-block-row{ display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }

.admin-footer-bar{
  position:sticky; bottom:0; background:var(--white); border-top:1px solid var(--line);
  margin:28px -32px -32px; padding:16px 32px; display:flex; justify-content:space-between; align-items:center; gap:12px;
  border-radius:0 0 var(--radius-l) var(--radius-l);
}
.save-status{ font-size:12.5px; color:var(--muted-2); font-family:var(--f-mono); }

.danger-btn{ color:#B3261E; border-color:#F3D0CD; background:#FFF5F4; }
.danger-btn:hover{ background:#FCE4E1; }

@media (max-width: 880px){
  .admin-layout{ grid-template-columns:1fr; padding:16px; }
  .admin-sidebar{ position:static; max-height:none; }
  .admin-main{ margin-left:0; margin-top:20px; padding:20px; }
  .field-row, .field-row3{ grid-template-columns:1fr; }
}

/* ---------------------------------------------------------------------------
   Tela de senha simples. Não é segurança de verdade (a senha fica visível
   pra quem olhar o código-fonte de js/admin.js) — é só um filtro contra
   quem cai aqui por acaso ou por curiosidade.
   --------------------------------------------------------------------------- */
.admin-gate{
  position:fixed; inset:0; z-index:200; background:var(--navy-950);
  display:flex; align-items:center; justify-content:center; padding:20px;
}
.admin-gate.hidden{ display:none; }
.admin-gate-box{
  background:var(--white); border-radius:var(--radius-l); padding:36px 32px;
  max-width:340px; width:100%; text-align:center; box-shadow:var(--shadow-card-hover);
}
.admin-gate-box img{ width:52px; height:52px; border-radius:12px; margin:0 auto 16px; }
.admin-gate-box h1{ font-size:19px; margin-bottom:6px; }
.admin-gate-box p{ font-size:13.5px; color:var(--muted); margin:0 0 18px; }
.admin-gate-box form{ display:flex; gap:8px; }
.admin-gate-box input{
  flex:1; font-size:14.5px; padding:10px 12px; border:1px solid var(--line); border-radius:var(--radius-s);
}
.admin-gate-error{ color:#B3261E !important; margin-top:12px !important; display:none; }
.admin-gate-error.show{ display:block; }

/* Editor de imagem de capa */
.cover-editor{ display:flex; gap:16px; align-items:flex-start; flex-wrap:wrap; }
.cover-preview{
  width:220px; height:124px; border-radius:10px; overflow:hidden; flex:none;
  background:linear-gradient(135deg,var(--navy-800),var(--navy-600));
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line);
}
.cover-preview img{ width:100%; height:100%; object-fit:cover; display:block; }
.cover-preview-empty{ color:rgba(255,255,255,.7); font-size:11.5px; text-align:center; padding:0 16px; }
.cover-editor-actions{ display:flex; flex-direction:column; gap:8px; align-items:flex-start; }
.cover-upload-btn{ cursor:pointer; }
