
:root{
  --demo-accent:#587161;
  --demo-bg-soft:#fbfaf7;
}
[data-action]{cursor:pointer}
.demo-reset-btn{
  border-style:dashed;
}
.demo-inline-note{
  padding:1rem 1.1rem;
  border-radius:1rem;
  background:#fff;
  border:1px solid rgba(88,113,97,.12);
  color:#5f6d65;
}
.demo-empty-card{
  padding:1.25rem;
  border-radius:1.25rem;
  background:#fff;
  border:1px solid rgba(88,113,97,.12);
  box-shadow:var(--shadow-xs);
}
.demo-credentials{
  display:grid;
  gap:1rem;
}
.demo-credentials .credential-item{
  padding:1rem 1.1rem;
  border-radius:1rem;
  background:rgba(245,239,229,.9);
  border:1px solid rgba(88,113,97,.14);
}
.demo-credentials code{
  display:inline-block;
  padding:.18rem .42rem;
  border-radius:.45rem;
  background:#fff;
  border:1px solid rgba(88,113,97,.16);
  color:#31443a;
}
.demo-upload-preview{
  margin-top:1rem;
  border-radius:1.25rem;
  overflow:hidden;
  border:1px solid rgba(88,113,97,.12);
  background:#fff;
}
.demo-upload-preview img{
  display:block;
  width:100%;
  max-height:320px;
  object-fit:cover;
}
.demo-upload-preview-meta{
  padding:.85rem 1rem;
  font-size:.95rem;
  color:#6d7b72;
}
.demo-mini-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.demo-summary-stack{
  display:grid;
  gap:1rem;
}
.demo-article-meta{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  color:var(--muted);
  font-size:.95rem;
}
.demo-auth-shell{
  max-width:640px;
  margin-inline:auto;
}
.demo-pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.42rem .8rem;
  border-radius:999px;
  background:rgba(245,239,229,.9);
  border:1px solid rgba(88,113,97,.12);
  color:#587161;
  font-size:.85rem;
  font-weight:600;
}
.demo-list-clean{
  margin:0;
  padding-left:1rem;
}
.demo-list-clean li+li{
  margin-top:.45rem;
}
.demo-hidden{
  display:none!important;
}
.demo-footer-note{
  max-width:720px;
}
.demo-cta-grid{
  display:grid;
  gap:1rem;
}
.demo-whatsapp-note{
  font-size:.9rem;
  color:var(--muted);
}
.demo-article-prose p+p{
  margin-top:1rem;
}
.demo-file-badge{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.4rem .75rem;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(88,113,97,.12);
  color:#587161;
  font-size:.85rem;
}
.demo-badge-muted{
  background:rgba(255,255,255,.7);
}
@media (max-width: 991.98px){
  .nav-cta-group{
    margin-top:1rem;
    display:flex;
    flex-wrap:wrap;
    gap:.5rem;
  }
}


.admin-body{
  background:linear-gradient(180deg,#f8f5ee 0%,#fbfaf7 100%);
  min-height:100vh;
}
.admin-auth-page{
  min-height:100vh;
  display:flex;
  align-items:center;
}
.admin-app{
  min-height:100vh;
  display:grid;
  grid-template-columns:320px minmax(0,1fr);
}
.admin-sidebar{
  background:#2f4339;
  color:#f5efe5;
  padding:2rem 1.5rem;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:2rem;
  position:sticky;
  top:0;
  min-height:100vh;
}
.admin-brand{
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.admin-brand h2{
  color:#fff;
  font-size:1.35rem;
  margin:0;
}
.admin-brand p{
  margin:.35rem 0 0;
  color:rgba(255,255,255,.72);
  font-size:.95rem;
}
.admin-nav{
  display:grid;
  gap:.5rem;
  margin-top:2rem;
}
.admin-nav a{
  color:rgba(255,255,255,.78);
  padding:.9rem 1rem;
  border-radius:1rem;
  text-decoration:none;
  transition:all .2s ease;
  border:1px solid transparent;
}
.admin-nav a:hover,
.admin-nav a.is-active{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.08);
  color:#fff;
}
.admin-sidebar-footer .btn{
  border-radius:.9rem;
}
.admin-main{
  padding:2rem;
}
.admin-topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:1.5rem;
}
.admin-topbar h1{
  font-size:2rem;
  margin:0 0 .5rem;
}
.admin-topbar p{
  color:var(--muted);
  margin:0;
  max-width:680px;
}
.admin-stat-card{
  padding:1.25rem;
}
.admin-stat-label{
  color:var(--muted);
  font-size:.92rem;
  margin-bottom:.45rem;
}
.admin-stat-value{
  font-size:2rem;
  font-weight:700;
  color:#22362d;
  line-height:1;
}
.admin-stat-helper{
  color:var(--muted);
  font-size:.92rem;
  margin-top:.65rem;
}
.admin-list-card{
  padding:1rem 1.05rem;
  border-radius:1rem;
  background:#fff;
  border:1px solid rgba(88,113,97,.12);
}
.admin-table th{
  color:#6a776f;
  font-size:.8rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.admin-table td{
  vertical-align:top;
}
.admin-proof-thumb{
  width:92px;
  height:92px;
  object-fit:cover;
  border-radius:.9rem;
  border:1px solid rgba(88,113,97,.12);
  background:#fff;
}
.btn-outline-brand{
  color:#587161;
  border-color:rgba(88,113,97,.25);
}
.btn-outline-brand:hover{
  background:#587161;
  border-color:#587161;
  color:#fff;
}
@media (max-width: 1199.98px){
  .admin-app{
    grid-template-columns:1fr;
  }
  .admin-sidebar{
    position:relative;
    min-height:auto;
  }
}
@media (max-width: 767.98px){
  .admin-main{
    padding:1rem;
  }
  .admin-topbar{
    flex-direction:column;
  }
}
