/* SimplePractice — decks dashboard (dashboard.html) */

.db-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 40px 96px;
}

.db-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 32px;
}
.db-head h1 {
  margin: 14px 0 0;
  font: 400 48px/1.05 var(--sp-font-sans);
  letter-spacing: -0.03em;
}
.db-count { font: 400 14px/1 var(--sp-font-body); color: var(--ui-muted); }

/* ── Deck cards ──────────────────────────────────────────── */
.db-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 28px;
}

.db-card {
  position: relative;
  display: block;
  text-align: left;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  font-family: var(--sp-font-body);
}
.db-thumb {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--ui-border);
  border-radius: 16px;
  position: relative;
  background: var(--sp-white);
  pointer-events: none;
}
.db-card:hover .db-thumb { border-color: var(--ui-text); box-shadow: 0 0 0 1px var(--ui-text); }
.db-thumb .gal-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 1080px;
  transform-origin: 0 0;
}
.db-thumb .gal-frame > section { width: 1920px; height: 1080px; }

.db-meta { display: flex; align-items: center; justify-content: space-between; margin-top: 12px; gap: 8px; }
.db-title {
  font: 500 15px/1.3 var(--sp-font-body);
  color: var(--ui-text);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.db-sub { font: 400 12.5px/1.3 var(--sp-font-body); color: var(--ui-muted); margin-top: 3px; }

.db-actions { display: flex; gap: 2px; flex: none; opacity: 0; transition: opacity 0.15s; }
.db-card:hover .db-actions, .db-actions:focus-within { opacity: 1; }
.db-actions button {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ui-muted);
  border-radius: 8px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.db-actions button:hover { background: var(--ui-hover); color: var(--ui-text); }
.db-actions button.db-danger:hover { background: var(--ui-danger-bg); color: var(--ui-danger-text); }
.db-actions svg { width: 16px; height: 16px; fill: currentColor; }

/* "New deck" tile */
.db-new .db-thumb {
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  border-style: dashed;
  color: var(--ui-muted);
  font: 500 14px/1 var(--sp-font-body);
}
.db-new:hover .db-thumb { color: var(--ui-text); border-style: solid; }
.db-new .db-thumb svg { width: 28px; height: 28px; fill: currentColor; }

/* ── Empty state ─────────────────────────────────────────── */
.db-empty {
  text-align: center;
  padding: 96px 0 64px;
}
.db-empty h2 { font: 400 32px/1.1 var(--sp-font-sans); letter-spacing: -0.02em; margin: 0 0 12px; }
.db-empty p { font: 400 16px/1.6 var(--sp-font-body); color: var(--ui-text-2); margin: 0 0 28px; }
.db-empty .ld-btn { text-decoration: none; }
