:root {
  --bg-1: #edf2ff;
  --bg-2: #e0f2fe;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 10% 10%, #dbeafe 0%, transparent 28%),
    radial-gradient(circle at 90% 0%, #ddd6fe 0%, transparent 26%),
    linear-gradient(135deg, var(--bg-1), var(--bg-2));
}

.app-navbar {
  background: linear-gradient(90deg, #4338ca, #2563eb);
}

.nav-input {
  min-width: 220px;
}

.app-card {
  width: min(850px, 100%);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
}

.form-control,
.btn,
.form-select {
  border-radius: 0.75rem;
}

.list-group-item {
  background: transparent;
}

.item-row {
  padding: 0.25rem 0.5rem;
}

.item-text {
  font-size: 1rem;
  color: #1f2937;
  word-break: break-word;
  cursor: pointer;
  border-radius: 0.5rem;
  padding: 0.25rem 0.35rem;
  transition: background-color 0.15s ease;
}

.item-text:hover {
  background-color: rgba(37, 99, 235, 0.1);
}

.item-text:focus-visible {
  outline: 2px solid rgba(37, 99, 235, 0.45);
  outline-offset: 2px;
}

.list-group-item.done .item-text {
  text-decoration: line-through;
  color: #6b7280;
}

@media (max-width: 991px) {
  .nav-input {
    min-width: 100%;
  }
}

@media (max-width: 576px) {
  .item-row {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .item-row .d-flex.gap-2 {
    width: 100%;
    justify-content: flex-end;
  }
}