/* AdStamp: styles that exist only in this tool. Shared look: ../../shared/css/style.css */

/* Page shell: a one-screen cockpit on desktop; stacked and scrolling below 1024px. */

html, body { min-height: 100%; }

.app-shell { min-height: 100vh; min-height: 100dvh; }

@media (min-width: 1024px) {
  html, body { height: 100%; overflow: hidden; }

  .app-shell { height: 100vh; height: 100dvh; }
}

/* Audio drop box */

.crystal-well-3d.is-drop-target {
  border-color: #6366f1;
  border-style: dashed;
  background: #eef2ff;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.2);
}

/* Upload audio / Paste transcript switch (same as DiePack's IN / MM switch) */

.view-btn { color: #475569; }

.view-btn:hover { color: #0f172a; }

.view-btn.is-active { background: #4f46e5; color: #fff; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15); }

/* Small buttons and number badges (same as HostCheck's rooms and tasks) */

.q-num {
  flex-shrink: 0; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px;
  display: grid; place-items: center; font-size: 9pt; font-weight: 700; color: #fff; background: #4f46e5;
}

.task-btn { color: #94a3b8; font-size: 11pt; line-height: 1; padding: 1px 3px; }
.task-btn:hover { color: #4f46e5; }
.task-btn:disabled { opacity: 0.35; cursor: default; color: #94a3b8; }

.add-task { margin-top: 8px; align-self: flex-start; font-size: 9pt; font-weight: 600; color: #4f46e5; }
.add-task:hover { color: #312e81; text-decoration: underline; }
.add-task:disabled { opacity: 0.4; cursor: default; text-decoration: none; }

/* Sponsor brief cards */

.sponsor-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; }

.sponsor-card textarea { min-height: 3.2em; }

/* Results */

.result-heading {
  margin: 0 0 6px; font-size: 9.5pt; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: #64748b;
}

.result-note { margin: 0; font-size: 9.5pt; color: #64748b; line-height: 1.45; }

.table-wrap { overflow-x: auto; }

.ad-table { width: 100%; border-collapse: collapse; font-size: 10pt; }

.ad-table th {
  text-align: left; padding: 4px 8px; font-size: 8.5pt; font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.04em; color: #64748b; border-bottom: 1px solid #e2e8f0; white-space: nowrap;
}

.ad-table td { padding: 5px 8px; color: #1e293b; border-bottom: 1px solid #f1f5f9; font-variant-numeric: tabular-nums; }

.sponsor-result { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; }

.check-row { display: flex; align-items: flex-start; gap: 8px; padding: 4px 0; border-top: 1px solid #f1f5f9; }

.check-row:first-child { border-top: 0; }

.status-badge {
  flex-shrink: 0; min-width: 52px; text-align: center; margin-top: 1px; padding: 1px 6px; border-radius: 6px;
  font-size: 7.5pt; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em;
}

.status-pass { background: #d1fae5; color: #047857; }
.status-missing { background: #fef3c7; color: #b45309; }
.status-issue { background: #ffe4e6; color: #be123c; }

.score-pill {
  flex-shrink: 0; padding: 1px 8px; border-radius: 999px; font-size: 9pt; font-weight: 700;
  background: #f1f5f9; color: #475569; font-variant-numeric: tabular-nums;
}

.score-good { background: #d1fae5; color: #047857; }
.score-ok { background: #fef3c7; color: #b45309; }
.score-bad { background: #ffe4e6; color: #be123c; }

.chapter-row { display: flex; align-items: center; gap: 10px; padding: 2px 0; }

.chapter-row > span:first-child { min-width: 3.4rem; }

/* Episode section */

.mode-switch { align-self: flex-start; margin-top: 10px; }

.audio-info { word-break: break-all; }

.transcript-box { min-height: 150px; }
