/* Matches the existing Hub identity. No framework required. */
.admin-main { max-width: 960px; }
.admin-main .rede-box { margin: 26px 0; }
.admin-main .rede-box h2 { font-size: clamp(24px,3.5vw,34px); }
.admin-links { margin:24px 0; }
.admin-gallery { display:grid; gap:16px; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); margin-top:22px; }
.admin-photo { border:1px solid #51565b; border-radius:12px; overflow:hidden; background:#222427; }
.admin-photo img { display:block; width:100%; height:160px; object-fit:cover; }
.admin-photo p { padding:10px 14px; margin:0; overflow-wrap:anywhere; }
#cms-copy-form textarea { min-height:150px; }
.admin-main [hidden] { display:none !important; }

.admin-tabs {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:24px 0;
}
.admin-tabs [aria-selected="true"] {
  border-color:#f05a28;
  color:#ff7a45;
}
.admin-panel[hidden] { display:none; }
.admin-pages-list,.cms-page-list {
  display:grid;
  gap:14px;
  grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr));
  margin-top:18px;
}

.admin-request-filters {
  display:flex;
  align-items:end;
  flex-wrap:wrap;
  gap:10px;
  margin:18px 0;
}
.admin-request-filters label { display:grid; gap:6px; }
.admin-overview-metrics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr)); gap:12px; margin:18px 0 28px; }
.admin-overview-card { display:grid; gap:8px; padding:16px; border:1px solid #51565b; border-radius:12px; background:#222427; }
.admin-overview-card strong { color:#ff7a45; font-size:clamp(1.8rem,4vw,2.4rem); }
.admin-overview-card span { color:#dedede; }
.admin-overview-activity { display:grid; gap:8px; }
.admin-overview-activity p { margin:0; overflow-wrap:anywhere; }
.admin-requests-list { display:grid; gap:14px; margin-top:18px; }
.admin-request-card {
  border:1px solid #51565b;
  border-radius:12px;
  padding:16px;
  background:#222427;
}
.admin-request-card h3 { margin:0 0 8px; }
.admin-request-meta { display:flex; flex-wrap:wrap; gap:8px 16px; color:#c6c9cc; }
.admin-request-detail { white-space:pre-wrap; overflow-wrap:anywhere; margin:14px 0; }
.admin-request-actions { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.admin-request-actions label { display:grid; gap:6px; }
.admin-request-dialog {
  width:min(680px,calc(100% - 24px));
  max-height:min(85vh,760px);
  overflow:auto;
  color:#f4f4f4;
  background:#202225;
  border:1px solid #f05a28;
  border-radius:14px;
  padding:22px;
}
.admin-request-dialog::backdrop { background:rgb(0 0 0 / 75%); }
.admin-request-dialog-head { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.admin-request-dialog h3,.admin-request-dialog h4 { margin-top:0; }
.admin-request-history { display:grid; gap:8px; }
.admin-request-history p { margin:0; }
@media (max-width:560px) {
  .admin-request-filters { align-items:stretch; }
  .admin-request-filters label,.admin-request-filters select,.admin-request-filters button { width:100%; }
  .admin-request-dialog { padding:16px; }
  .admin-request-dialog-head { align-items:center; }
}
.admin-page-card,.cms-page-card {
  border:1px solid #51565b;
  border-radius:12px;
  padding:16px;
  background:#17191b;
}
.admin-page-card h4,.cms-page-card h2 { margin:0 0 8px; }
.admin-page-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.cms-page-nav {
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding:10px 0;
  border-bottom:1px solid #51565b;
  scrollbar-width:thin;
}
.cms-page-nav a {
  flex:0 0 auto;
  border:1px solid #51565b;
  border-radius:999px;
  padding:8px 14px;
}
.cms-page-shell { padding-block:clamp(32px,7vw,88px); }
.cms-page-shell h1 { font-size:clamp(2.2rem,7vw,5rem); max-width:18ch; }
.cms-page-summary { font-size:clamp(1.1rem,2vw,1.35rem); max-width:68ch; color:#dedede; }
.cms-page-body {
  max-width:72ch;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.75;
}
.cms-page-cover { margin:28px 0; max-width:100%; }
.cms-page-cover img { display:block; width:100%; max-height:580px; object-fit:cover; border-radius:14px; }
@media (max-width:600px) {
  .admin-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .admin-tabs .button { width:100%; }
}


#admin-panel-team .admin-page-card,#admin-access-manager .admin-page-card { overflow-wrap:anywhere; }
#admin-panel-team .rede-controls { flex-wrap:wrap; }
#admin-access-manager input[type="email"] { width:min(100%,560px); }
@media (max-width:600px) {
  .admin-tabs { gap:8px; }
  .admin-tabs .button { min-height:44px; }
}
