:root{--bg:#0d1117;--fg:#e6edf3;--muted:#8b949e;--accent:#7ee787;--card:#161b22;--border:#30363d}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.6}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}
header,footer{padding:1.25rem 2rem;border-bottom:1px solid var(--border)}
footer{border-top:1px solid var(--border);border-bottom:none;color:var(--muted);font-size:.9rem}
main{max-width:960px;margin:0 auto;padding:2rem}
h1,h2,h3{line-height:1.25}
.card{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:1.25rem;margin:1rem 0}
nav a{margin-right:1rem}
/* Calendar app theme: suppress default nav/header chrome, ensure clean full-page canvas, add responsive breakpoints */
/* Calenda — suppress renderer chrome */
body > nav,
body > header:not(#app-header),
.site-nav,
.site-header { display: none !important; }

body {
  background: #f4f5fb;
  margin: 0;
  min-height: 100vh;
}

/* Responsive: stack calendar below sidebar on narrow screens */
@media (max-width: 720px) {
  #calenda-app {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "app-header"
      "cal-section"
      "upcoming" !important;
  }
  #upcoming-panel {
    position: static !important;
    max-height: none !important;
  }
}

/* Smooth modal animation */
.modal-overlay:not([hidden]) {
  animation: fadeIn 0.15s ease;
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Ensure today highlight stands out on grid */
.cal-day.today {
  box-shadow: 0 0 0 2px #4F46E5 inset !important;
}
