:root{
  --bg1:#fff0f6;
  --bg2:#f0f7ff;
  --card:#ffffff;
  --muted:#6b6b6b;
  --primary:#b77aa8;
  --accent:#ffdbe6;
  --mint:#c6efd8;
  --text:#2b2b2b;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,Arial;background:linear-gradient(180deg,var(--bg1),var(--bg2));color:var(--text);-webkit-font-smoothing:antialiased}
.container{max-width:1100px;margin:0 auto;padding:18px}
.header-title{color:var(--primary);font-weight:700}
.card{background:var(--card);border-radius:14px;box-shadow:0 8px 24px rgba(11,12,14,0.06);padding:12px}
.calendar-container{padding:12px}
.day-col{min-width:220px;flex:1;border-radius:12px;background:rgba(255,255,255,0.85);box-shadow:0 4px 12px rgba(11,12,14,0.04);padding:10px;margin:8px}
.day-header{font-weight:700;text-align:center;color:var(--primary);margin-bottom:8px}
.course-card{background:rgba(255,255,255,0.9);border-radius:10px;padding:10px;margin-bottom:10px;border-left:4px solid var(--accent)}
.course-time{font-size:0.9rem;color:var(--muted)}
.btn-pill{border-radius:999px;padding:8px 12px;border:none}
.btn-reserve{background:var(--mint);color:#034;box-shadow:0 6px 12px rgba(0,0,0,0.03)}
.btn-cancel{background:#ffccd5;color:#640;box-shadow:0 6px 12px rgba(0,0,0,0.03)}
.small-muted{color:var(--muted);font-size:0.9rem}
@media (max-width:768px){
  .day-col{min-width:200px;padding:8px}
  .header-title{font-size:1.1rem}
}