/* Atlas SMIA overrides on top of the Mazer template -- only what Mazer doesn't already provide. */

.sidebar-account {
  display: grid;
  gap: 10px;
  margin: 1rem 2rem 1.5rem;
  padding: 14px;
  border-top: 1px solid var(--bs-border-color);
}

.sidebar-account__user {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--bs-body-color);
}

.sidebar-account__logout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.5rem;
  background: transparent;
  color: var(--bs-body-color);
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
}

.sidebar-account__logout:hover {
  border-color: #dc3545;
  color: #dc3545;
}

.sidebar-item.disabled .sidebar-link {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.content-task-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  margin-left: auto;
  padding: 0 6px;
  border-radius: 999px;
  background-color: #dc3545;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 800;
}

.sidebar-item.has-sub .sidebar-link .content-task-badge {
  margin-right: 1.5rem;
}

.theme-toggle i {
  color: var(--bs-body-color);
  opacity: 0.6;
  font-size: 0.85rem;
}

/* SweetAlert2 toasts (data-swal-message pattern used across page scripts), themed with Bootstrap vars */

.swal2-popup.atlas-alert {
  border: 1px solid var(--bs-border-color);
  border-radius: 1rem;
  color: var(--bs-body-color);
  background: var(--bs-body-bg);
  box-shadow: var(--bs-box-shadow, 0 .5rem 1rem rgba(0, 0, 0, .15));
}

.swal2-popup.atlas-alert .swal2-title {
  color: var(--bs-body-color);
}

.swal2-popup.atlas-alert .swal2-html-container {
  color: var(--bs-secondary-color, var(--bs-body-color));
}

.swal2-popup.atlas-alert .swal2-confirm,
.swal2-popup.atlas-alert .swal2-cancel {
  border-radius: 0.5rem;
  padding: 10px 16px;
  font-weight: 700;
}

.swal2-popup.atlas-alert .swal2-confirm {
  color: #fff;
  background: var(--bs-primary);
}

.swal2-popup.atlas-alert .swal2-cancel {
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg, var(--bs-secondary-bg));
}

/* Client-side table pagination (wwwroot/js/shared/table-pagination.js) hides rows via these.
   Selector is element-agnostic because Social Lab reuses it on a non-table feed list too. */

.is-paged-out,
[data-search-hidden] {
  display: none !important;
}

/* Social Lab: realistic social-network post preview, built to look like the feed the operator
   is actually testing for -- not just a data table. */

.social-filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.filter-chip {
  border: 1px solid var(--bs-border-color);
  border-radius: 999px;
  background: transparent;
  color: var(--bs-body-color);
  padding: 6px 14px;
  font-size: 0.8rem;
  font-weight: 700;
}

.filter-chip.active {
  background: var(--bs-primary);
  border-color: var(--bs-primary);
  color: #fff;
}

.social-feed-list {
  display: grid;
  gap: 0.5rem;
  max-height: 70vh;
  overflow-y: auto;
}

.social-feed-item {
  display: grid;
  gap: 2px;
  text-align: left;
  width: 100%;
  border: 1px solid var(--bs-border-color);
  border-radius: 0.6rem;
  background: var(--bs-body-bg);
  padding: 10px 12px;
  color: var(--bs-body-color);
}

.social-feed-item:hover {
  border-color: var(--bs-primary);
}

.social-feed-item.active {
  border-color: var(--bs-primary);
  background: var(--bs-tertiary-bg, var(--bs-secondary-bg));
}

.social-feed-item strong {
  font-size: 0.9rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.social-feed-item small {
  color: var(--bs-secondary-color, var(--bs-body-color));
  font-size: 0.75rem;
}

.facebook-preview-shell {
  max-width: 480px;
  margin: 0 auto;
}

.facebook-post-card {
  border: 1px solid var(--bs-border-color);
  border-radius: 0.75rem;
  background: var(--bs-body-bg);
  overflow: hidden;
}

.facebook-post-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
}

.social-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--bs-primary);
  color: #fff;
  font-weight: 800;
  font-size: 0.85rem;
  flex-shrink: 0;
}

.facebook-page-meta {
  display: grid;
  line-height: 1.2;
}

.facebook-page-meta strong {
  font-size: 0.9rem;
}

.facebook-page-meta small {
  color: var(--bs-secondary-color, var(--bs-body-color));
  font-size: 0.75rem;
}

.facebook-menu-button {
  margin-left: auto;
  border: none;
  background: transparent;
  color: var(--bs-secondary-color, var(--bs-body-color));
  font-weight: 800;
  padding: 4px 8px;
}

.facebook-copy {
  padding: 0 14px 10px;
  white-space: pre-wrap;
  font-size: 0.9rem;
}

.facebook-caption {
  padding: 0 14px 10px;
  margin-top: -4px;
  white-space: pre-wrap;
  font-size: 0.9rem;
  color: var(--bs-secondary-color, var(--bs-body-color));
}

.facebook-incomplete {
  padding: 0 14px 10px;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--bs-secondary-color, var(--bs-body-color));
}

.hashtag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0 14px 10px;
}

.hashtag-row span {
  color: var(--bs-primary);
  font-size: 0.82rem;
  font-weight: 600;
}

.social-image {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  background: #111;
}

.social-image.synthetic {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  padding: 1.5rem;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}

.social-image.synthetic span {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity: .85;
}

.social-image.synthetic strong {
  font-size: 0.95rem;
  max-width: 90%;
}

.facebook-stats {
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
  color: var(--bs-secondary-color, var(--bs-body-color));
  font-size: 0.8rem;
  border-bottom: 1px solid var(--bs-border-color);
}

.facebook-actions {
  display: flex;
}

.facebook-actions button {
  flex: 1;
  border: none;
  background: transparent;
  color: var(--bs-secondary-color, var(--bs-body-color));
  font-weight: 700;
  font-size: 0.85rem;
  padding: 10px 0;
}

.facebook-actions button:hover {
  background: var(--bs-tertiary-bg, var(--bs-secondary-bg));
}

.empty-phone {
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed var(--bs-border-color);
  border-radius: 0.75rem;
}
