/* Home v2 (2026-10-15) — cleanup + colours. Loaded after components.css; every rule is scoped to .home-unified (Home only). */
.home-unified .home-need-over { color: #c0392b; font-weight: 700; }
.home-unified a.home-stat { text-decoration: none; color: inherit; transition: box-shadow .12s, transform .1s; }
.home-unified a.home-stat:hover { box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.home-unified .home-stat-over { color: #c0392b; }
.home-unified .home-stats-row .home-stat:nth-child(3) { background: linear-gradient(180deg, #fbeed3 0%, #fdf6e7 100%); border-color: #f0d9a8; }
.home-unified .home-stats-row .home-stat:nth-child(4) { background: linear-gradient(180deg, #fde4e1 0%, #fef1ef 100%); border-color: #f3c4bd; }

.home-unified .home-at-card { background: linear-gradient(135deg, #d9e7fd 0%, #e9f1fe 55%, #f4f7fe 100%); border: 1px solid #aecbf1; border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); box-shadow: var(--shadow-xs); }
.home-unified .home-at-list { display: flex; flex-direction: column; gap: var(--space-2); }
.home-unified .home-at-row { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); background: rgba(255, 255, 255, .75); border: 1px solid var(--matrix-border); border-radius: var(--radius-md); text-decoration: none; color: inherit; transition: box-shadow .12s, transform .1s; }
.home-unified .home-at-row:hover { box-shadow: var(--shadow-sm); transform: translateY(-1px); }
.home-unified .home-at-row.is-notice { background: #fff; border-color: #d9c6f3; box-shadow: inset 3px 0 0 #7c3aed; }
.home-unified .home-at-ico { width: 26px; height: 26px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .78rem; flex-shrink: 0; }
.home-unified .home-at-ico-violet { background: #ede4fb; }
.home-unified .home-at-ico-red { background: #fdecea; }
.home-unified .home-at-ico-blue { background: #dbe7fb; color: #2456a6; }
.home-unified .home-at-ico-green { background: #d5eddc; }
.home-unified .home-at-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; flex: 1; }
.home-unified .home-at-title { font-size: var(--text-sm); font-weight: 700; color: var(--matrix-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-unified .home-at-sub { font-size: var(--text-xs); color: var(--matrix-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.home-unified .home-at-cta { flex-shrink: 0; font-size: var(--text-xs); font-weight: 700; color: #6a2fb8; }
.home-unified .home-at-off { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: var(--space-3); }
.home-unified .home-at-off-lbl { font-size: .68rem; font-weight: 700; color: var(--matrix-muted); text-transform: uppercase; letter-spacing: .04em; margin-right: 2px; }
.home-unified .home-at-chip { font-size: .7rem; font-weight: 600; padding: 2px 9px; border-radius: var(--radius-full); background: #fff; border: 1px solid var(--matrix-border); color: var(--matrix-ink-secondary); }
@media (max-width: 720px) { .home-unified .home-stats-row { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px) { .home-unified .home-body > .home-main { width: 100%; } }
/* cleanup: due labels were bigger than the task title */
.home-unified .home-plan-meta .home-due { font-size: .68rem; font-weight: 700; padding: 1px 7px; border-radius: var(--radius-full); background: #f3f1ec; }
.home-unified .home-plan-meta .home-due.is-overdue { background: #fdecea; }
.home-unified .home-plan-meta .home-due.is-today { background: #fdf3e3; }
.home-unified .home-plan-meta { flex-wrap: wrap; row-gap: 4px; }

/* ── v2.1 "prettier": page background + richer colors (scoped to Home only) ── */
.main:has(.home-unified) {
  background:
    radial-gradient(900px 520px at 0% 0%, rgba(16, 185, 129, .16), transparent 60%),
    radial-gradient(800px 520px at 100% 0%, rgba(59, 130, 246, .14), transparent 60%),
    radial-gradient(700px 600px at 85% 100%, rgba(251, 191, 36, .12), transparent 60%),
    radial-gradient(700px 600px at 10% 100%, rgba(167, 139, 250, .12), transparent 60%),
    linear-gradient(180deg, #f3faf6 0%, #f4f7fd 100%);
  min-height: 100vh;
}
.main:has(.home-unified) .top-strip { background: rgba(255, 255, 255, .7); backdrop-filter: blur(10px); }

/* Greeting band: deeper emerald → sky, soft glow orbs */
.home-unified .home-header {
  position: relative; overflow: hidden; border: 1px solid rgba(16, 185, 129, .28);
  background:
    radial-gradient(360px 220px at 92% -10%, rgba(255, 255, 255, .7), transparent 70%),
    radial-gradient(420px 260px at 8% 120%, rgba(16, 185, 129, .28), transparent 65%),
    linear-gradient(120deg, #c9efdc 0%, #d9f3ea 38%, #d7e9fb 75%, #e6e1fb 100%);
  box-shadow: 0 10px 30px -18px rgba(5, 120, 80, .45);
}
.home-unified .home-header::after { content: ""; position: absolute; right: -60px; bottom: -80px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(59, 130, 246, .18), transparent 70%); pointer-events: none; }
.home-unified .home-greeting h1 { color: #063d2a; }
.home-unified .home-quote-box { background: rgba(255, 255, 255, .72); backdrop-filter: blur(6px); border-color: rgba(255, 255, 255, .9); box-shadow: 0 8px 20px -14px rgba(36, 86, 166, .5); }

/* Shared card surface: white glass with a coloured soft shadow */
.home-unified .home-overview,
.home-unified .home-plan-card,
.home-unified .home-daily-card { background: rgba(255, 255, 255, .86); backdrop-filter: blur(8px); border-color: rgba(255, 255, 255, .95); box-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 12px 32px -20px rgba(16, 90, 70, .35); }

/* Stepper */
.home-unified .home-action-green { background: linear-gradient(135deg, #c6ecd6 0%, #def5e8 55%, #f2fbf6 100%); border-color: #a6dcbf; }
.home-unified .step-card.is-active { box-shadow: 0 0 0 3px rgba(16, 185, 129, .14), 0 12px 28px -18px rgba(5, 120, 80, .6); }
.home-unified .home-action-icon-green { background: linear-gradient(135deg, #10b981, #047857); box-shadow: 0 6px 14px -6px rgba(4, 120, 87, .7); }
.home-unified .home-action-btn-green:not(:disabled) { background: linear-gradient(135deg, #0f9f6e, #047857); box-shadow: 0 8px 18px -10px rgba(4, 120, 87, .8); }

/* Overview: gradient ring + vivid stat tiles */
.home-unified .home-progress-fill { stroke: url(#homeRingGrad); }
.home-unified .home-stats-row .home-stat { border: 0; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .6), 0 6px 16px -12px rgba(0, 0, 0, .35); position: relative; overflow: hidden; }
.home-unified .home-stats-row .home-stat::after { content: ""; position: absolute; right: -14px; top: -14px; width: 54px; height: 54px; border-radius: 50%; background: rgba(255, 255, 255, .45); }
.home-unified .home-stats-row .home-stat:nth-child(1) { background: linear-gradient(135deg, #dbeafe 0%, #c7dcfc 100%); }
.home-unified .home-stats-row .home-stat:nth-child(2) { background: linear-gradient(135deg, #d1fae5 0%, #b5ecd0 100%); }
.home-unified .home-stats-row .home-stat:nth-child(3) { background: linear-gradient(135deg, #fef3c7 0%, #fde3a1 100%); }
.home-unified .home-stats-row .home-stat:nth-child(4) { background: linear-gradient(135deg, #ffe4e6 0%, #fecdd3 100%); }
.home-unified .home-stat-lbl { color: rgba(15, 23, 42, .62); }
.home-unified .home-stat-blue { color: #1d4ed8; } .home-unified .home-stat-green { color: #047857; }
.home-unified .home-stat-red { color: #b45309; } .home-unified .home-stat-over { color: #be123c; }

/* Today at MatSpell: sky → lavender */
.home-unified .home-at-card { background: linear-gradient(135deg, #dbeafe 0%, #e4e8fd 50%, #efe7fd 100%); border-color: #c7d2fe; box-shadow: 0 12px 32px -22px rgba(79, 70, 229, .55); }
.home-unified .home-at-card .home-action-icon-blue { background: linear-gradient(135deg, #6366f1, #3b82f6); color: #fff; box-shadow: 0 6px 14px -6px rgba(79, 70, 229, .7); }
.home-unified .home-at-row { background: rgba(255, 255, 255, .82); border-color: rgba(255, 255, 255, .95); }
.home-unified .home-at-ico-violet { background: linear-gradient(135deg, #ede9fe, #ddd6fe); }
.home-unified .home-at-ico-red { background: linear-gradient(135deg, #ffe4e6, #fecdd3); }
.home-unified .home-at-ico-blue { background: linear-gradient(135deg, #dbeafe, #bfdbfe); }
.home-unified .home-at-ico-green { background: linear-gradient(135deg, #d1fae5, #a7f3d0); }

/* Today's Plan rail: coloured top accent + tinted header */
.home-unified .home-plan-card { padding-top: 0; }
.home-unified .home-plan-card::before { content: ""; display: block; height: 4px; margin: 0 calc(-1 * var(--space-5)) var(--space-4); background: linear-gradient(90deg, #10b981, #3b82f6, #8b5cf6); border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.home-unified .home-plan-row { border-bottom-color: rgba(15, 23, 42, .06); border-radius: 8px; padding-left: 6px; padding-right: 6px; }
.home-unified .home-plan-check { border-color: #10b981; }
/* v2.1: Today card always visible — empty line, "Coming up", "Everyone's in" */
.home-unified .home-at-row.is-empty { background: rgba(255, 255, 255, .6); border-style: dashed; border-color: #c7d2fe; }
.home-unified .home-at-upnext { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: var(--space-3); }
.home-unified .home-at-next { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; padding: 3px 10px 3px 3px; border-radius: var(--radius-full); background: #fff; border: 1px solid var(--matrix-border); text-decoration: none; color: var(--matrix-ink); font-size: .72rem; font-weight: 600; }
.home-unified .home-at-next:hover { border-color: #a5b4fc; }
.home-unified .home-at-date { flex-shrink: 0; padding: 1px 8px; border-radius: var(--radius-full); background: linear-gradient(135deg, #e0e7ff, #ede9fe); color: #4338ca; font-size: .66rem; font-weight: 700; }
.home-unified .home-at-next-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 260px; }
.home-unified .home-at-muted { font-size: .72rem; color: var(--matrix-muted); }
