/* Shared admin panel utilities (lightweight, reusable) */

/* Panels */
.panel, .sj-panel {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 4px 16px rgba(0,0,0,.15);
  padding: 1.25rem;
  margin-bottom: 1.5rem;
}

/* Shared container width for admin pages */
.admin-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 clamp(1rem, 3vw, 2rem) 2rem;
}

/* Simple grids */
.grid, .sj-grid { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
.row, .sj-row { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.25rem; }

/* Inputs */
.sj-input, .sj-textarea, .panel input, .panel textarea, .sj-panel input, .sj-panel textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: .75rem;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 1rem;
}

/* Back link button */
.sj-backlink {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  text-decoration: none;
  font-weight: 700;
  color: #111827;
  background: #e5e7eb;
  padding: .45rem .75rem;
  border-radius: 10px;
  border: 1px solid #d1d5db;
  transition: background .15s ease, transform .1s ease;
}
.sj-backlink:hover { background: #d1d5db; transform: translateY(-1px); }
.sj-backlink:focus-visible { outline: 2px solid #111; outline-offset: 2px; }

/* Position helper when used in hero */
.sj-backlink--hero-right { position: absolute; right: 1rem; top: 1rem; }

@media (max-width: 900px){
  .row, .sj-row { grid-template-columns: 1fr; }
}
