:root{ --andy-pill:#103532; --andy-pill-vip:#E7BD6C; }
.andy-tabs{ display:flex; gap:.5rem; flex-wrap:wrap; margin:0 0 .75rem; }
.andy-tabs button{ border:1px solid #ddd; background:#fff; padding:.4rem .7rem; cursor:pointer; }
.andy-tabs button.active{ border-color:#999; }
.andy-month{ margin-bottom:1rem; }
.andy-month-title{ margin:.25rem 0 .5rem; font-weight:600; }
.andy-grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:.35rem; }
.andy-grid .cell{ padding:.4rem; border:1px solid #eee; min-height:64px; border-radius:6px; background:#fff; }
.andy-grid .cell.head{ background:#fafafa; text-align:center; font-weight:600; min-height:auto; }
.andy-grid .day .daynum{ font-size:.85rem; opacity:.7; margin-bottom:.25rem; }
.andy-grid .pill{ display:block; margin:.2rem 0; padding:.25rem .4rem; border-radius:999px;
  background:color-mix(in srgb, var(--andy-pill) 10%, white);
  color:var(--andy-pill); border:1px solid color-mix(in srgb, var(--andy-pill) 40%, white); text-decoration:none; }
.andy-grid .pill-vip{ background:color-mix(in srgb, var(--andy-pill-vip) 10%, white);
  color:var(--andy-pill-vip); border:1px solid color-mix(in srgb, var(--andy-pill-vip) 40%, white); }
.andy-grid .pill-sold{ opacity:.8; filter:grayscale(.3); text-decoration: line-through; pointer-events:none; }

@media (max-width: 768px){
  .andy-grid{ grid-template-columns:repeat(7,1fr); gap:.25rem; }
  .andy-grid .cell{ min-height:52px; padding:.3rem; }
}
