.ycb-month-wrapper { --ycb-selected: #ff4757; border: 1px solid #e5e7eb; border-radius: 10px; padding: 8px; background: #fff; }
.ycb-month-headbar { display:flex; align-items:center; justify-content:space-between; margin-bottom:8px; }
.ycb-month-title { font-weight: 600; }
.ycb-nav { border:0; cursor:pointer; font-size:18px; line-height:1; padding:4px 8px; border-radius:6px; background:#f3f4f6; }
.ycb-nav:hover { background:#e5e7eb; }
.ycb-week-head { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; font-size:12px; color:#6b7280; }
.ycb-weeks { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-top:4px; }
.ycb-d { position:relative; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; }
.ycb-d.ycb-empty { background:transparent; }
.ycb-num, .ycb-link { display:inline-flex; align-items:center; justify-content:center; width:100%; height:100%; border-radius:8px; text-decoration:none; background:#f9fafb; }
.ycb-link { background:#f3f4f6; }
.ycb-d.is-selected .ycb-num, .ycb-d.is-selected .ycb-link { outline:2px solid var(--ycb-selected); background:#fff; }
.ycb-d.is-today .ycb-num, .ycb-d.is-today .ycb-link { box-shadow: inset 0 0 0 1px #11182722; }