:root {
  --ntm-primary: #2f3b8f;
  --ntm-primary-dark: #1f2765;

  --urgency-low: #198754;
  --urgency-medium: #ffc107;
  --urgency-high: #fd7e14;
  --urgency-critical: #dc3545;

  --status-pending: #6c757d;
  --status-in_progress: #0d6efd;
  --status-completed: #198754;
  --status-not_completed: #dc3545;
}

body {
  background-color: #f4f6fb;
}

/* Navbar */
.ntm-navbar {
  background: linear-gradient(135deg, var(--ntm-primary), var(--ntm-primary-dark));
}

/* Auth pages */
.auth-wrap {
  min-height: 75vh;
}
.auth-card {
  width: 100%;
  max-width: 440px;
  border: none;
  border-radius: 16px;
}

/* Stat cards */
.stat-card {
  border-radius: 14px;
}

/* Task cards, color-coded by urgency */
.task-card {
  border-radius: 14px;
  border-left-width: 8px !important;
  border-left-style: solid !important;
  transition: transform .12s ease, box-shadow .12s ease;
}
.task-card:hover {
  transform: translateY(-2px);
}
.task-card.urgency-low       { border-left-color: var(--urgency-low); }
.task-card.urgency-medium    { border-left-color: var(--urgency-medium); }
.task-card.urgency-high      { border-left-color: var(--urgency-high); }
.task-card.urgency-critical  { border-left-color: var(--urgency-critical); }

/* Urgency badges */
.urgency-badge {
  color: #fff;
  font-weight: 500;
}
.urgency-badge-low       { background-color: var(--urgency-low); }
.urgency-badge-medium    { background-color: var(--urgency-medium); color: #4d3800; }
.urgency-badge-high      { background-color: var(--urgency-high); }
.urgency-badge-critical  { background-color: var(--urgency-critical); }

/* Status badges */
.status-badge {
  color: #fff;
  font-weight: 500;
}
.status-badge-pending        { background-color: var(--status-pending); }
.status-badge-in_progress    { background-color: var(--status-in_progress); }
.status-badge-completed      { background-color: var(--status-completed); }
.status-badge-not_completed  { background-color: var(--status-not_completed); }

/* Progress bars matching urgency color */
.progress-bar-low       { background-color: var(--urgency-low); }
.progress-bar-medium    { background-color: var(--urgency-medium); }
.progress-bar-high      { background-color: var(--urgency-high); }
.progress-bar-critical  { background-color: var(--urgency-critical); }

/* Legend dots */
.legend-dot {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
}
.legend-low       { background-color: var(--urgency-low); }
.legend-medium    { background-color: var(--urgency-medium); }
.legend-high      { background-color: var(--urgency-high); }
.legend-critical  { background-color: var(--urgency-critical); }

/* Feedback box */
.feedback-box {
  background-color: #f1f3fb;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 0.92rem;
}

/* Invite link group */
.invite-link-group input {
  font-family: monospace;
  font-size: 0.78rem;
}

/* Range slider accent follows task urgency where possible */
.form-range::-webkit-slider-thumb {
  background: var(--ntm-primary);
}
.form-range::-moz-range-thumb {
  background: var(--ntm-primary);
}

.save-status.visible {
  opacity: 1;
}
.save-status {
  opacity: 0;
  transition: opacity .3s ease;
}
