/* MINDSTATZ — admin.css: dashboard-only styles (loaded after styles.css) */
/* Admin-only extras */
    /* The site-wide foot cursor is off here: restore the normal pointer */
    *, *::before, *::after { cursor: auto !important; }
    a, button, select, label, .admin-nav-item, .color-swatch, .bg-option, .toggle-slider { cursor: pointer !important; }
    input, textarea { cursor: text !important; }
    .cursor, .cursor-follower { display: none; }

    .admin-panel { display: none; }
    .admin-panel.visible { display: grid; }

    .progress-upload {
      height: 3px;
      background: rgba(255,255,255,0.08);
      border-radius: 2px;
      margin-top: 0.75rem;
      overflow: hidden;
    }
    .progress-upload-fill {
      height: 100%;
      background: linear-gradient(90deg, var(--violet), var(--gold));
      width: 0%;
      transition: width 0.4s ease;
    }

    .bg-preview-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 0.75rem;
      margin-top: 0.75rem;
    }
    .bg-option {
      height: 60px;
      border-radius: var(--radius-sm);
      border: 2px solid var(--border);
      cursor: pointer;
      transition: var(--transition-fast);
      position: relative;
      overflow: hidden;
    }
    .bg-option:hover, .bg-option.active {
      border-color: var(--gold);
      transform: scale(1.04);
    }
    .bg-option span {
      position: absolute;
      bottom: 4px; left: 0; right: 0;
      text-align: center;
      font-size: 0.6rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.6);
    }

    .select-input {
      width: 100%;
      background: var(--bg-surface);
      border: 1px solid var(--border);
      border-radius: var(--radius-sm);
      padding: 0.75rem 1rem;
      color: var(--text-primary);
      font-family: var(--font-body);
      font-size: 0.82rem;
      outline: none;
      margin-bottom: 0.75rem;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23998e7a'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 0.75rem center;
      background-size: 18px;
    }
    .select-input:focus { border-color: var(--gold-dim); }

    @keyframes shake { 0%,100%{transform:translateX(0)} 20%,60%{transform:translateX(-8px)} 40%,80%{transform:translateX(8px)} }
    .shake { animation: shake 0.45s ease; }

    /* Mobile admin topbar */
    .admin-mobile-bar {
      display: none;
      align-items: center;
      justify-content: space-between;
      padding: 1rem 1.5rem;
      background: var(--bg-deep);
      border-bottom: 1px solid var(--border);
      position: sticky;
      top: 0;
      z-index: 100;
    }
    @media (max-width: 768px) {
      .admin-mobile-bar { display: flex; }
    }

    .dirty-badge {
      display: none; font-size: 0.62rem; letter-spacing: 0.14em; text-transform: uppercase;
      color: var(--violet-light); border: 1px solid rgba(155,104,212,0.45);
      padding: 0.35rem 0.8rem; border-radius: 2rem;
    }
    .dirty-badge.on { display: inline-block; }
    .hint { font-size: 0.72rem; color: var(--text-muted); margin: -0.4rem 0 0.9rem; line-height: 1.6; }
    .hint code, .guide code { background: var(--bg-elevated); padding: 0.1rem 0.4rem; border-radius: 3px; font-size: 0.72rem; }
    .guide ol { margin: 0.5rem 0 0 1.1rem; color: var(--text-secondary); font-size: 0.8rem; line-height: 1.9; }
    .row-actions { display: flex; gap: 0.35rem; flex-wrap: wrap; }
    .row-actions .btn { padding: 0.3rem 0.65rem; font-size: 0.6rem; }
    .src-row { display: flex; gap: 0.5rem; }
    .src-row .select-input { flex: 1; }
    #admin-panel { display: none; }
    #admin-panel.visible { display: grid; }

/* ── Hostinger build additions ───────────────────────────── */
[hidden] { display: none !important; }
.admin-sidebar { display: flex; flex-direction: column; }
.admin-sidebar nav { flex: 1; }
.sidebar-foot { padding: 1.5rem 1.75rem; display: grid; gap: 0.6rem; }
.badge-count { margin-left: auto; background: rgba(155,104,212,0.2); color: var(--violet-light); border-radius: 2rem; font-size: 0.6rem; padding: 0.1rem 0.5rem; letter-spacing: 0; }
.toolbar { display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap; margin-bottom: 1rem; }
.toolbar .admin-input { margin: 0; max-width: 280px; }
.btn-sm { padding: 0.35rem 0.75rem !important; font-size: 0.6rem !important; }
.btn-danger { border-color: rgba(220,90,90,0.45) !important; color: #f09595 !important; }
.muted { color: var(--text-muted); font-size: 0.75rem; }
.video-table td .thumb { display: block; }
.video-table .row-actions { display: flex; gap: 0.35rem; flex-wrap: wrap; }
.video-table tr.clickable { cursor: pointer !important; }
.status { display: inline-block; font-size: 0.58rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.2rem 0.6rem; border-radius: 2rem; border: 1px solid; }
.status-paid, .status-live { color: #8fe0b0; border-color: rgba(79,212,138,0.45); background: rgba(79,212,138,0.1); }
.status-pending, .status-draft { color: var(--gold-light); border-color: var(--gold-dim); background: rgba(201,168,76,0.08); }
.status-failed, .status-refunded, .status-disabled { color: #f09595; border-color: rgba(220,90,90,0.45); background: rgba(220,90,90,0.08); }
.file-slots { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-top: 0.5rem; }
.slot { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-md); padding: 1rem; display: grid; gap: 0.6rem; align-content: start; }
.slot h4 { font-family: var(--font-body); font-size: 0.7rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); font-weight: 500; }
.slot-state { font-size: 0.78rem; color: var(--text-secondary); word-break: break-word; }
.slot-state.has { color: #8fe0b0; }
.slot .select-input { margin: 0; }
.slot-btns { display: flex; gap: 0.4rem; flex-wrap: wrap; }
.slot-preview { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--radius-sm); background: #000; }
.progress-upload { display: none; }
.progress-upload.on { display: block; }
.editor-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.form-row-check { display: flex; gap: 0.6rem; align-items: center; font-size: 0.8rem; color: var(--text-secondary); margin-bottom: 0.75rem; }
.form-row-check input { accent-color: var(--gold); }
.code-box { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 0.75rem 0.9rem; font-family: ui-monospace, Menlo, monospace; font-size: 0.72rem; color: var(--gold-light); word-break: break-all; user-select: all; }
.checklist { display: grid; gap: 0.5rem; }
.checklist div { display: flex; gap: 0.6rem; font-size: 0.82rem; color: var(--text-secondary); }
.checklist .ok::before { content: "✓"; color: #8fe0b0; }
.checklist .todo::before { content: "○"; color: var(--gold); }
.placeholder-list { font-size: 0.75rem; color: var(--text-secondary); line-height: 1.9; margin: 0.25rem 0 1rem; }
.placeholder-list code { background: var(--bg-elevated); padding: 0.1rem 0.35rem; border-radius: 3px; color: var(--gold-light); }
.member-panel { margin-top: 1.25rem; }
.login-error { color: #f09595; font-size: 0.78rem; text-align: center; margin-bottom: 0.75rem; }
@media (max-width: 768px) {
  .admin-sidebar { display: flex; position: static; height: auto; padding: 0.5rem 0; }
  .admin-sidebar nav { display: flex; overflow-x: auto; }
  .admin-nav-item { border-left: none; border-bottom: 2px solid transparent; white-space: nowrap; padding: 0.75rem 1rem; }
  .admin-nav-item.active { border-bottom-color: var(--gold); }
  .admin-sidebar-logo, .sidebar-foot { display: none; }
  .admin-main { padding: 1.25rem 16px; }
  .bg-preview-grid { grid-template-columns: repeat(2, 1fr); }
}
