/* =============================================================================
   Yah Digital — dashboard theme
   Minimal, high-contrast, calm. Tune the brand tokens below to match yah.digital
   exactly once you have the official hex values.
   ============================================================================= */

:root {
  /* --- Brand tokens (adjust to match yah.digital) --- */
  --yah-ink: #0e0f13;          /* near-black text / dark surfaces */
  --yah-ink-soft: #2a2d36;
  --yah-accent: #6c5ce7;       /* primary action colour */
  --yah-accent-strong: #5a49d6;
  --yah-bg: #f6f7f9;           /* app background */
  --yah-surface: #ffffff;
  --yah-border: #e6e8ec;
  --yah-muted: #6b7280;

  /* Status + weight colours */
  --yah-todo: #94a3b8;
  --yah-progress: #3b82f6;
  --yah-done: #10b981;
  --yah-weight-low: #94a3b8;
  --yah-weight-medium: #3b82f6;
  --yah-weight-high: #f59e0b;
  --yah-weight-urgent: #ef4444;

  --bs-primary: var(--yah-accent);
}

body {
  background: var(--yah-bg);
  color: var(--yah-ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

/* --- Auth screens --- */
.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem;
}
.auth-card {
  width: 100%;
  max-width: 420px;
  background: var(--yah-surface);
  border: 1px solid var(--yah-border);
  border-radius: 16px;
  box-shadow: 0 10px 40px rgba(14, 15, 19, 0.06);
  padding: 2rem;
}
.brand-mark {
  font-weight: 800;
  letter-spacing: -0.02em;
  font-size: 1.35rem;
  color: var(--yah-ink);
}
.brand-mark span { color: var(--yah-accent); }

/* --- App chrome --- */
.app-sidebar {
  background: var(--yah-ink);
  color: #d7d9e0;
  min-height: 100vh;
  padding: 1.25rem 1rem;
}
.app-sidebar .brand-mark { color: #fff; }
.app-sidebar .nav-link {
  color: #b9bcc7;
  border-radius: 10px;
  padding: 0.55rem 0.75rem;
  font-weight: 500;
}
.app-sidebar .nav-link:hover { color: #fff; background: rgba(255, 255, 255, 0.06); }
.app-sidebar .nav-link.active { color: #fff; background: var(--yah-accent); }

.app-main { padding: 1.75rem; }

.card {
  border: 1px solid var(--yah-border);
  border-radius: 14px;
}

/* --- Board / tickets --- */
.board-column { min-width: 300px; }
.board-column-header {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--yah-muted);
  font-weight: 700;
}
.ticket-card {
  background: var(--yah-surface);
  border: 1px solid var(--yah-border);
  border-radius: 12px;
  padding: 0.85rem 0.95rem;
  cursor: pointer;
  transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.ticket-card:hover { box-shadow: 0 6px 18px rgba(14, 15, 19, 0.08); transform: translateY(-1px); }
.ticket-title { font-weight: 600; line-height: 1.3; }

.badge-weight { font-weight: 600; }
.badge-weight-low { background: var(--yah-weight-low); }
.badge-weight-medium { background: var(--yah-weight-medium); }
.badge-weight-high { background: var(--yah-weight-high); }
.badge-weight-urgent { background: var(--yah-weight-urgent); }

.progress-slim { height: 8px; border-radius: 999px; }

.empty-state {
  border: 1px dashed var(--yah-border);
  border-radius: 14px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  color: var(--yah-muted);
}

.skeleton {
  background: linear-gradient(90deg, #eee 25%, #f5f5f5 37%, #eee 63%);
  background-size: 400% 100%;
  animation: shimmer 1.3s ease infinite;
  border-radius: 8px;
}
@keyframes shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

.btn-primary {
  --bs-btn-bg: var(--yah-accent);
  --bs-btn-border-color: var(--yah-accent);
  --bs-btn-hover-bg: var(--yah-accent-strong);
  --bs-btn-hover-border-color: var(--yah-accent-strong);
  --bs-btn-active-bg: var(--yah-accent-strong);
}
