.bcal{border:1.5px solid var(--lemonade-border);background:var(--lemonade-white);border-radius:12px;padding:16px}.bcal-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.bcal-month-label{color:var(--lemonade-black);font-size:1rem;font-weight:700}.bcal-nav{border:1px solid var(--lemonade-border);cursor:pointer;width:32px;height:32px;color:var(--lemonade-black);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-family:inherit;transition:all .15s;display:flex}.bcal-nav:hover:not(:disabled){border-color:var(--lemonade-pink);color:var(--lemonade-pink)}.bcal-nav:disabled{opacity:.3;cursor:not-allowed}.bcal-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.bcal-cell{border-radius:8px;justify-content:center;align-items:center;height:38px;font-size:.9rem;display:flex}.bcal-weekday{color:#888;text-transform:uppercase;height:28px;font-size:.75rem;font-weight:600}.bcal-empty{background:0 0}.bcal-day{cursor:pointer;color:var(--lemonade-black);background:0 0;border:none;font-family:inherit;transition:all .15s;position:relative}.bcal-day:hover:not(:disabled){color:var(--lemonade-pink);background:#fff0f2}.bcal-day:disabled{cursor:not-allowed}.bcal-past{color:#ccc}.bcal-unavailable{color:#bbb;background:#f9f9f9;text-decoration:line-through}.bcal-selected{background:var(--lemonade-pink);color:#fff;font-weight:700}.bcal-selected:hover:not(:disabled){background:var(--lemonade-pink-hover);color:#fff}.bcal-in-range{background:#ffe8eb;border-radius:4px}.bcal-range-start{border-radius:8px 4px 4px 8px}.bcal-range-end{border-radius:4px 8px 8px 4px}.bcal-loading{text-align:center;color:#888;margin:8px 0 0;font-size:.8rem}.bcal-legend{border-top:1px solid var(--lemonade-border);gap:16px;margin-top:10px;padding-top:10px;display:flex}.bcal-legend-item{color:#888;align-items:center;gap:6px;font-size:.78rem;display:flex}.bcal-legend-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.bcal-legend-available{background:var(--lemonade-pink)}.bcal-legend-unavailable{background:#ddd;position:relative}.bcal-legend-unavailable:after{content:"";background:#999;height:1px;position:absolute;top:50%;left:0;right:0}@media (max-width:768px){.bcal{padding:12px}.bcal-cell{height:34px;font-size:.85rem}}