.custom-calendar{-webkit-user-select:none;user-select:none;background:#fff;border-radius:12px;width:100%;font-family:Inter,sans-serif;overflow:hidden}.custom-calendar.default-width{max-width:320px}.cal-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.cal-month-year{color:#1e293b;font-size:1.05rem;font-weight:700}.cal-nav{gap:8px;display:flex}.cal-nav button{cursor:pointer;color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:600;transition:all .2s;display:flex}.cal-nav button:hover:not(:disabled){color:#0f172a;background:#f1f5f9}.cal-weekdays{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.5px;grid-template-columns:repeat(7,1fr);padding:12px 10px 8px;font-size:.8rem;font-weight:600;display:grid}.cal-grid{grid-template-columns:repeat(7,1fr);gap:4px;padding:0 10px 16px;display:grid}.cal-cell{aspect-ratio:1;cursor:pointer;color:#334155;border:2px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;font-size:.95rem;transition:all .2s;display:flex;position:relative}.cal-cell.empty{cursor:default;background:0 0}.cal-cell.past-disabled{color:#cbd5e1;cursor:not-allowed;background:0 0!important;border-color:#0000!important}.cal-cell:hover:not(.empty):not(.past-disabled){background:#f1f5f9}.cal-cell.today{color:var(--tp-pink);font-weight:800}.cal-cell.highlighted{color:#1e293b;background:#f0fdf4;font-weight:600}.cal-dot{background-color:#10b981;border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px}.cal-cell.selected{font-weight:700;box-shadow:0 4px 10px #ef67a54d;background:var(--tp-pink)!important;color:#fff!important}.cal-cell.selected .cal-dot{background-color:#fff}.cal-cell.locked-date{opacity:.5;background:#fff1f2!important}.cal-cell.locked-date:hover:not(.past-disabled){opacity:.8}.cal-admin-icon{opacity:.5;transition:opacity .2s}.cal-cell:hover .cal-admin-icon{opacity:1}
