@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* ── Warm paper theme ────────────────────────────────────── */
:root {
  --background:             40 38% 96%;   /* warm cream #f6f1e9 */
  --foreground:             28 42% 12%;   /* dark warm brown #231a0f */
  --card:                   0 0% 100%;    /* white cards */
  --card-foreground:        28 42% 12%;
  --popover:                0 0% 100%;
  --popover-foreground:     28 42% 12%;
  --primary:                33 82% 50%;   /* warm orange #e87d14 */
  --primary-foreground:     0 0% 100%;
  --secondary:              38 28% 91%;   /* warm light gray #ede7dd */
  --secondary-foreground:   28 30% 22%;
  --muted:                  38 28% 91%;
  --muted-foreground:       30 14% 52%;   /* warm medium gray */
  --accent:                 36 38% 87%;   /* warm tint */
  --accent-foreground:      28 42% 12%;
  --destructive:            0 84.2% 60.2%;
  --destructive-foreground: 0 0% 100%;
  --border:                 36 22% 85%;   /* subtle warm border */
  --input:                  36 22% 85%;
  --ring:                   33 82% 50%;
  --radius:                 0.5rem;

  /* Nav — light warm (matches page bg) */
  --sidebar:                38 32% 93%;   /* #ede7dc */
  --sidebar-fg:             30 16% 54%;   /* inactive nav items */
  --sidebar-fg2:            28 42% 12%;   /* brand text */
  --sidebar-hover:          36 28% 87%;
  --sidebar-active:         33 82% 50%;   /* orange active bg */
  --sidebar-border:         36 20% 88%;
  --sidebar-brand:          33 82% 50%;   /* orange logo bg */
}

*, *::before, *::after { box-sizing: border-box; }

a { color: inherit; text-decoration: none; }

canvas { max-width: 100%; }

/* ── Toast notifications ──────────────────────────────────── */
.toast-container {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  pointer-events: none;
}
.toast {
  padding: 0.75rem 1.25rem;
  border-radius: 0.5rem;
  background: hsl(var(--foreground));
  color: hsl(var(--background));
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.4;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  max-width: 320px;
  pointer-events: auto;
  animation: toast-in 0.22s ease;
}
.toast-exit {
  animation: toast-out 0.22s ease forwards;
}
.toast-error {
  background: hsl(var(--destructive));
  color: hsl(var(--destructive-foreground));
}
@keyframes toast-in {
  from { opacity: 0; transform: translateX(12px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes toast-out {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(12px); }
}

/* Calendar subscription chips */
.cal-chip {
  font-size: 0.65rem;
  background: hsl(var(--primary));
  color: hsl(var(--primary-foreground));
  border-radius: 0.25rem;
  padding: 1px 5px;
  margin-bottom: 1px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  display: block;
}
